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