282837093d593a9339e1b43b7e4aa6a31cbddec1
[platform/upstream/libusb.git] / NEWS
1 This file lists notable changes in each release. 
2 For fine grained history, please see the git log at:
3 http://log.libusbx.org
4
5 2012-09-16: v1.0.13-rc1
6 * [MAJOR] Fix a typo in the API with struct libusb_config_descriptor where
7   MaxPower was used instead of bMaxPower, as defined in the specs. If your 
8   application was accessing the MaxPower attribute, and you need to maintain
9   compatibility with libusb or older versions, see APPENDIX A below.
10 * Fix broken support for the 0.1 -> 1.0 libusb-compat layer
11 * Fix unwanted cancellation of pending timeouts as well as major timeout related bugs
12 * Fix handling of HID and composite devices on Windows
13 * Introduce LIBUSBX_API_VERSION macro
14 * Add Cypress FX/FX2 firmware upload sample, based fxload from
15   http://linux-hotplug.sourceforge.net
16 * Add libusb0 (libusb-win32) and libusbK driver support on Windows. Note that
17   isochronous transfers are not supported yet for these drivers, and that using the
18   libusb-win32 filter driver against a composite member devices is also not supported
19 * Add support for the new get_capabilities ioctl on Linux and avoid unnecessary
20   splitting of bulk transfers
21 * Improve support for newer Intel and Renesas USB 3.0 controllers on Windows
22 * Harmonize the device number for root hubs accross platforms
23 * Other bug fixes and improvements
24
25 2012-06-15: v1.0.12
26 * Fix a potential major regression with pthread on Linux
27 * Fix missing thread ID from debug log output on cygwin
28 * Fix possible crash when using longjmp and MinGW's gcc 4.6
29 * Add topology calls: libusb_get_port_number(), libusb_get_parent() & libusb_get_port_path()
30 * Add toggleable debug, using libusb_set_debug() or the LIBUSB_DEBUG environment variable
31 * Define log levels in libusb.h and set timestamp origin to first libusb_init() call
32 * All logging is now sent to to stderr (info was sent to stdout previously)
33 * Update log messages severity and avoid polluting log output on OS-X
34 * Add HID driver support on Windows
35 * Enable interchangeability of MSVC and MinGW DLLs
36 * Additional bug fixes and improvements
37
38 2012-05-08: v1.0.11
39 * Revert removal of critical Windows event handling that was introduced in 1.0.10
40 * Fix a possible deadlock in Windows when submitting transfers
41 * Add timestamped logging
42 * Add NetBSD support (experimental) and BSD libusb_get_device_speed() data
43 * Add bootstrap.sh alongside autogen.sh (bootstrap.sh doesn't invoke configure)
44 * Search for device nodes in /dev for Android support
45 * Other bug fixes
46
47 2012-04-17: v1.0.10
48 * Public release
49 * Add libusb_get_version
50 * Add Visual Studio 2010 project files
51 * Some Windows code cleanup
52 * Fix xusb sample warnings 
53
54 2012-04-02: v1.0.9
55 * First libusbx release
56 * Add libusb_get_device_speed (all, except BSD) and libusb_error_name
57 * Add Windows support (WinUSB driver only)
58 * Add OpenBSD support
59 * Add xusb sample
60 * Tons of bug fixes
61
62 2010-05-07: v1.0.8
63 * Bug fixes
64
65 2010-04-19: v1.0.7
66 * Bug fixes and documentation tweaks
67 * Add more interface class definitions
68
69 2009-11-22: v1.0.6
70 * Bug fixes
71 * Increase libusb_handle_events() timeout to 60s for powersaving
72
73 2009-11-15: v1.0.5
74  * Use timerfd when available for timer management
75  * Small fixes/updates
76
77 2009-11-06: v1.0.4 release
78  * Bug fixes including transfer locking to fix some potential threading races
79  * More flexibility with clock types on Linux
80  * Use new bulk continuation tracking in Linux 2.6.32 for improved handling
81    of short/failed transfers
82
83 2009-08-27: v1.0.3 release
84  * Bug fixes
85  * Add libusb_get_max_iso_packet_size()
86
87 2009-06-13: v1.0.2 release
88  * Bug fixes
89
90 2009-05-12: v1.0.1 release
91  * Bug fixes
92  * Darwin backend
93
94 2008-12-13: v1.0.0 release
95  * Bug fixes
96
97 2008-11-21: v0.9.4 release
98  * Bug fixes
99  * Add libusb_attach_kernel_driver()
100
101 2008-08-23: v0.9.3 release
102  * Bug fixes
103
104 2008-07-19: v0.9.2 release
105  * Bug fixes
106
107 2008-06-28: v0.9.1 release
108  * Bug fixes
109  * Introduce contexts to the API
110  * Compatibility with new Linux kernel features
111
112 2008-05-25: v0.9.0 release
113  * First libusb-1.0 beta release
114
115 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
116
117 APPENDIX A - How to maintain code compatibility with versions of libusb and
118 libusbx that use MaxPower:
119
120 If you must to maintain compatibility with versions of the library that aren't
121 using the bMaxPower attribute in struct libusb_config_descriptor, the 
122 recommended way is to use the new LIBUSBX_API_VERSION macro with an #ifdef.
123 For instance, if your code was written as follows:
124
125   if (dev->config[0].MaxPower < 250)
126
127 Then you should modify it to have:
128
129 #if defined(LIBUSBX_API_VERSION) && (LIBUSBX_API_VERSION >= 0x01000100)
130   if (dev->config[0].bMaxPower < 250)
131 #else
132   if (dev->config[0].MaxPower < 250)
133 #endif