1*86b64dcbSAndroid Build Coastguard WorkerFor detailed information about the changes below, please see the git log 2*86b64dcbSAndroid Build Coastguard Workeror visit: http://log.libusb.info 3*86b64dcbSAndroid Build Coastguard Worker 4*86b64dcbSAndroid Build Coastguard Worker2024-01-31: v1.0.27 5*86b64dcbSAndroid Build Coastguard Worker* New libusb_init_context API to replace libusb_init 6*86b64dcbSAndroid Build Coastguard Worker* New libusb_get_max_alt_packet_size API 7*86b64dcbSAndroid Build Coastguard Worker* New libusb_get_platform_descriptor API (BOS) 8*86b64dcbSAndroid Build Coastguard Worker* Allow setting log callback with libusb_set_option/libusb_init_context 9*86b64dcbSAndroid Build Coastguard Worker* New WebAssembly + WebUSB backend using Emscripten 10*86b64dcbSAndroid Build Coastguard Worker* Fix regression in libusb_set_interface_alt_setting 11*86b64dcbSAndroid Build Coastguard Worker* Fix sync transfer completion race and use-after-free 12*86b64dcbSAndroid Build Coastguard Worker* Fix hotplug exit ordering 13*86b64dcbSAndroid Build Coastguard Worker* Linux: NO_DEVICE_DISCOVERY option set per context 14*86b64dcbSAndroid Build Coastguard Worker* macOS: Fix missing device list cleanup locking 15*86b64dcbSAndroid Build Coastguard Worker* macOS: Do not clear device data toggle for newer OS versions 16*86b64dcbSAndroid Build Coastguard Worker* macOS: Fix running binaries on older OS than build host 17*86b64dcbSAndroid Build Coastguard Worker* Windows: Allow claiming multiple associated interfaces 18*86b64dcbSAndroid Build Coastguard Worker* Windows: Ignore non-configured devices instead of waiting 19*86b64dcbSAndroid Build Coastguard Worker* Windows: Improved root hub detection 20*86b64dcbSAndroid Build Coastguard Worker 21*86b64dcbSAndroid Build Coastguard Worker2022-04-10: v1.0.26 22*86b64dcbSAndroid Build Coastguard Worker* Fix regression with transfer free's after closing device 23*86b64dcbSAndroid Build Coastguard Worker* Fix regression with destroyed context if API is misused 24*86b64dcbSAndroid Build Coastguard Worker* Workaround for applications using missing default context 25*86b64dcbSAndroid Build Coastguard Worker* Fix hotplog enumeration regression 26*86b64dcbSAndroid Build Coastguard Worker* Fix Windows isochronous transfer regression since 1.0.24 27*86b64dcbSAndroid Build Coastguard Worker* Fix macOS exit crash in some multi-context cases 28*86b64dcbSAndroid Build Coastguard Worker* Build fixes for various platforms and configurations 29*86b64dcbSAndroid Build Coastguard Worker* Fix Windows HID multi-interface product string retrieval 30*86b64dcbSAndroid Build Coastguard Worker* Update isochronous OUT packet actual lengths on Windows 31*86b64dcbSAndroid Build Coastguard Worker* Add interface bound checking for broken devices 32*86b64dcbSAndroid Build Coastguard Worker* Add umockdev tests on Linux 33*86b64dcbSAndroid Build Coastguard Worker 34*86b64dcbSAndroid Build Coastguard Worker2022-01-31: v1.0.25 35*86b64dcbSAndroid Build Coastguard Worker* Linux: Fix regression with some particular devices 36*86b64dcbSAndroid Build Coastguard Worker* Linux: Fix regression with libusb_handle_events_timeout_completed() 37*86b64dcbSAndroid Build Coastguard Worker* Linux: Fix regression with cpu usage in libusb_bulk_transfer 38*86b64dcbSAndroid Build Coastguard Worker* Darwin (macOS): Add support for detaching kernel drivers with authorization. 39*86b64dcbSAndroid Build Coastguard Worker* Darwin (macOS): Do not drop partial data on timeout. 40*86b64dcbSAndroid Build Coastguard Worker* Darwin (macOS): Silence pipe error in set_interface_alt_setting(). 41*86b64dcbSAndroid Build Coastguard Worker* Windows: Fix HID backend missing byte 42*86b64dcbSAndroid Build Coastguard Worker* Windows: Fix segfault with libusbk driver 43*86b64dcbSAndroid Build Coastguard Worker* Windows: Fix regression when using libusb0 driver 44*86b64dcbSAndroid Build Coastguard Worker* Windows: Support LIBUSB_TRANSFER_ADD_ZERO_PACKET on winusb 45*86b64dcbSAndroid Build Coastguard Worker* New NO_DEVICE_DISCOVERY option replaces WEAK_AUTHORITY option 46*86b64dcbSAndroid Build Coastguard Worker* Various other bug fixes and improvements 47*86b64dcbSAndroid Build Coastguard Worker 48*86b64dcbSAndroid Build Coastguard Worker2020-12-09: v1.0.24 49*86b64dcbSAndroid Build Coastguard Worker* Add new platform abstraction (#252) 50*86b64dcbSAndroid Build Coastguard Worker* Add Null POSIX backend 51*86b64dcbSAndroid Build Coastguard Worker* Add support for eventfd 52*86b64dcbSAndroid Build Coastguard Worker* Add support for thread IDs on Haiku, NetBSD and Solaris 53*86b64dcbSAndroid Build Coastguard Worker* New API libusb_hotplug_get_user_data() 54*86b64dcbSAndroid Build Coastguard Worker* Darwin (macOS): Fix race condition that results in segmentation fault (#701) 55*86b64dcbSAndroid Build Coastguard Worker* Darwin (macOS): Fix stale descriptor information post reset (#733) 56*86b64dcbSAndroid Build Coastguard Worker* Darwin (macOS): use IOUSBDevice as darwin_device_class explicitly (#693) 57*86b64dcbSAndroid Build Coastguard Worker* Linux: Drop support for kernel older than 2.6.32 58*86b64dcbSAndroid Build Coastguard Worker* Linux: Provide an event thread name (#689) 59*86b64dcbSAndroid Build Coastguard Worker* Linux: Wait until all URBs have been reaped before freeing them (#607) 60*86b64dcbSAndroid Build Coastguard Worker* NetBSD: Recognize device timeouts (#710) 61*86b64dcbSAndroid Build Coastguard Worker* OpenBSD: Allow opening ugen devices multiple times (#763) 62*86b64dcbSAndroid Build Coastguard Worker* OpenBSD: Support libusb_get_port_number() (#764) 63*86b64dcbSAndroid Build Coastguard Worker* SunOS: Fix a memory leak (#756) 64*86b64dcbSAndroid Build Coastguard Worker* SunOS: Various fixes (#627, #628, #629) 65*86b64dcbSAndroid Build Coastguard Worker* Windows: Add Visual Studio 2019 support 66*86b64dcbSAndroid Build Coastguard Worker* Windows: Drop support for WinCE and Visual Studio older than 2013 67*86b64dcbSAndroid Build Coastguard Worker* Windows: Drop support for Windows XP 68*86b64dcbSAndroid Build Coastguard Worker* Windows: Support building all examples using Visual Studio (#151) 69*86b64dcbSAndroid Build Coastguard Worker* Documentation fixes and improvements 70*86b64dcbSAndroid Build Coastguard Worker* Various other bug fixes and improvements 71*86b64dcbSAndroid Build Coastguard Worker 72*86b64dcbSAndroid Build Coastguard Worker2019-08-28: v1.0.23 73*86b64dcbSAndroid Build Coastguard Worker* Add German translation (#446) 74*86b64dcbSAndroid Build Coastguard Worker* Add Hungarian translation (#493) 75*86b64dcbSAndroid Build Coastguard Worker* Android: Improved support for Android 76*86b64dcbSAndroid Build Coastguard Worker* BSD: Remove infinite recursion in OpenBSD backend 77*86b64dcbSAndroid Build Coastguard Worker* configure.ac: Fix detection of clock_gettime library (#439) 78*86b64dcbSAndroid Build Coastguard Worker* Core: abandon synchronous transfers when device closure is detected. 79*86b64dcbSAndroid Build Coastguard Worker* Core: fix error in handling the removal of file descriptors while handling 80*86b64dcbSAndroid Build Coastguard Worker events. 81*86b64dcbSAndroid Build Coastguard Worker* Darwin(macOS): Switch from using ResetDevice to USBDeviceReEnumerate (#455) 82*86b64dcbSAndroid Build Coastguard Worker* Darwin(macOS): Remove code that changed the device class used (#428) 83*86b64dcbSAndroid Build Coastguard Worker* Darwin(macOS): Reduce hotplug timeout to 1ms (from 5s) 84*86b64dcbSAndroid Build Coastguard Worker* New API libusb_set_log_cb() to redirect global and per context log 85*86b64dcbSAndroid Build Coastguard Worker messages to the provided log handling function 86*86b64dcbSAndroid Build Coastguard Worker* New API libusb_wrap_sys_device to allow the user to specify the 87*86b64dcbSAndroid Build Coastguard Worker usb device to use. 88*86b64dcbSAndroid Build Coastguard Worker* Solaris: Break infinite recursion in backend clock_gettime 89*86b64dcbSAndroid Build Coastguard Worker* Solaris: Enable timerfd on sunos when available 90*86b64dcbSAndroid Build Coastguard Worker* Windows: Add support for isochronous transfers with WinUSB 91*86b64dcbSAndroid Build Coastguard Worker* Various other bug fixes and improvements 92*86b64dcbSAndroid Build Coastguard Worker 93*86b64dcbSAndroid Build Coastguard Worker2018-03-24: v1.0.22 94*86b64dcbSAndroid Build Coastguard Worker* New libusb_set_option() API 95*86b64dcbSAndroid Build Coastguard Worker* Fix transfer timeout not being cleared upon resubmission 96*86b64dcbSAndroid Build Coastguard Worker* Report super speed plus devices on modern Linux and macOS 97*86b64dcbSAndroid Build Coastguard Worker* Darwin: Improve support for macOS Sierra and High Sierra 98*86b64dcbSAndroid Build Coastguard Worker* Darwin: SDK fixes and improvements 99*86b64dcbSAndroid Build Coastguard Worker* Linux: Let initialization succeed when no devices are present 100*86b64dcbSAndroid Build Coastguard Worker* Linux: Mark internal file descriptors with CLOEXEC flag 101*86b64dcbSAndroid Build Coastguard Worker* Solaris: Add support for attach/detach kernel driver 102*86b64dcbSAndroid Build Coastguard Worker* Windows: Add dynamic UsbDk backend selection 103*86b64dcbSAndroid Build Coastguard Worker* Windows: Add isochronous transfer support via libusbK 104*86b64dcbSAndroid Build Coastguard Worker* Windows: Add Visual Studio 2017 support 105*86b64dcbSAndroid Build Coastguard Worker* Windows: Fix enumeration problems on Windows 8 and later 106*86b64dcbSAndroid Build Coastguard Worker* Windows: Major rework of poll() emulation 107*86b64dcbSAndroid Build Coastguard Worker* Windows: Numerous HID API fixes 108*86b64dcbSAndroid Build Coastguard Worker* Windows: Support cancellation of individual transfers (Vista and later) 109*86b64dcbSAndroid Build Coastguard Worker* Various other bug fixes and improvements 110*86b64dcbSAndroid Build Coastguard Worker 111*86b64dcbSAndroid Build Coastguard Worker2016-10-01: v1.0.21 112*86b64dcbSAndroid Build Coastguard Worker* Core: Refactor code related to transfer flags and timeout handling 113*86b64dcbSAndroid Build Coastguard Worker* Darwin: Ignore root hub simulation devices 114*86b64dcbSAndroid Build Coastguard Worker* Darwin: Improved support for OS X El Capitan 115*86b64dcbSAndroid Build Coastguard Worker* Darwin: Work around devices with buggy endpoint descriptors 116*86b64dcbSAndroid Build Coastguard Worker* Darwin: Do not use objc_registerThreadWithCollector after its deprecation 117*86b64dcbSAndroid Build Coastguard Worker* Darwin: Use C11 atomics on 10.12+ as the OS atomics are now deprecated 118*86b64dcbSAndroid Build Coastguard Worker* Linux: Support preallocating kernel memory for zerocopy USB 119*86b64dcbSAndroid Build Coastguard Worker* Linux: Deal with receiving POLLERR before all transfers have completed 120*86b64dcbSAndroid Build Coastguard Worker* Solaris: Add solaris backend 121*86b64dcbSAndroid Build Coastguard Worker* Windows: Add Visual Studio 2015 support 122*86b64dcbSAndroid Build Coastguard Worker* Windows: Add usbdk backend 123*86b64dcbSAndroid Build Coastguard Worker* Prevent attempts to recursively handle events 124*86b64dcbSAndroid Build Coastguard Worker* Fix race condition in handle_timeout() 125*86b64dcbSAndroid Build Coastguard Worker* Allow transferred argument to be optional in bulk APIs 126*86b64dcbSAndroid Build Coastguard Worker* Various other bug fixes and improvements 127*86b64dcbSAndroid Build Coastguard Worker 128*86b64dcbSAndroid Build Coastguard Worker2015-09-13: v1.0.20 129*86b64dcbSAndroid Build Coastguard Worker* Add Haiku support 130*86b64dcbSAndroid Build Coastguard Worker* Fix multiple memory and resource leaks (#16, #52, #76, #81) 131*86b64dcbSAndroid Build Coastguard Worker* Fix possible deadlock when executing transfer callback 132*86b64dcbSAndroid Build Coastguard Worker* New libusb_free_pollfds() API 133*86b64dcbSAndroid Build Coastguard Worker* Darwin: Fix devices not being detected on OS X 10.8 (#48) 134*86b64dcbSAndroid Build Coastguard Worker* Linux: Allow larger isochronous transfer submission (#23) 135*86b64dcbSAndroid Build Coastguard Worker* Windows: Fix broken builds Cygwin/MinGW builds and compiler warnings 136*86b64dcbSAndroid Build Coastguard Worker* Windows: Fix broken bus number lookup 137*86b64dcbSAndroid Build Coastguard Worker* Windows: Improve submission of control requests for composite devices 138*86b64dcbSAndroid Build Coastguard Worker* Examples: Add two-stage load support to fxload (#12) 139*86b64dcbSAndroid Build Coastguard Worker* Correctly report cancellations due to timeouts 140*86b64dcbSAndroid Build Coastguard Worker* Improve efficiency of event handling 141*86b64dcbSAndroid Build Coastguard Worker* Improve speed of transfer submission in multi-threaded environments 142*86b64dcbSAndroid Build Coastguard Worker* Various other bug fixes and improvements 143*86b64dcbSAndroid Build Coastguard WorkerThe (#xx) numbers are libusb issue numbers, see ie: 144*86b64dcbSAndroid Build Coastguard Workerhttps://github.com/libusb/libusb/issues/16 145*86b64dcbSAndroid Build Coastguard Worker 146*86b64dcbSAndroid Build Coastguard Worker2014-05-30: v1.0.19 147*86b64dcbSAndroid Build Coastguard Worker* Add support for USB bulk streams on Linux and Mac OS X (#11) 148*86b64dcbSAndroid Build Coastguard Worker* Windows: Add AMD and Intel USB-3.0 root hub support 149*86b64dcbSAndroid Build Coastguard Worker* Windows: Fix USB 3.0 speed detection on Windows 8 or later (#10) 150*86b64dcbSAndroid Build Coastguard Worker* Added Russian translation for libusb_strerror strings 151*86b64dcbSAndroid Build Coastguard Worker* All: Various small fixes and cleanups 152*86b64dcbSAndroid Build Coastguard Worker 153*86b64dcbSAndroid Build Coastguard Worker2014-01-25: v1.0.18 154*86b64dcbSAndroid Build Coastguard Worker* Fix multiple memory leaks 155*86b64dcbSAndroid Build Coastguard Worker* Fix a crash when HID transfers return no data on Windows 156*86b64dcbSAndroid Build Coastguard Worker* Ensure all pending events are consumed 157*86b64dcbSAndroid Build Coastguard Worker* Improve Android and ucLinux support 158*86b64dcbSAndroid Build Coastguard Worker* Multiple Windows improvements (error logging, VS2013, VIA xHCI support) 159*86b64dcbSAndroid Build Coastguard Worker* Multiple OS X improvements (broken compilation, SIGFPE, 64bit support) 160*86b64dcbSAndroid Build Coastguard Worker 161*86b64dcbSAndroid Build Coastguard Worker2013-09-06: v1.0.17 162*86b64dcbSAndroid Build Coastguard Worker* Hotplug callbacks now always get passed a libusb_context, even if it is 163*86b64dcbSAndroid Build Coastguard Worker the default context. Previously NULL would be passed for the default context, 164*86b64dcbSAndroid Build Coastguard Worker but since the first context created is the default context, and most apps 165*86b64dcbSAndroid Build Coastguard Worker use only 1 context, this meant that apps explicitly creating a context would 166*86b64dcbSAndroid Build Coastguard Worker still get passed NULL 167*86b64dcbSAndroid Build Coastguard Worker* Android: Add .mk files to build with the Android NDK 168*86b64dcbSAndroid Build Coastguard Worker* Darwin: Add Xcode project 169*86b64dcbSAndroid Build Coastguard Worker* Darwin: Fix crash on unplug (#121) 170*86b64dcbSAndroid Build Coastguard Worker* Linux: Fix hang (deadlock) on libusb_exit 171*86b64dcbSAndroid Build Coastguard Worker* Linux: Fix libusb build failure with --disable-udev (#124) 172*86b64dcbSAndroid Build Coastguard Worker* Linux: Fix libusb_get_device_list() hang with --disable-udev (#130) 173*86b64dcbSAndroid Build Coastguard Worker* OpenBSD: Update OpenBSD backend with support for control transfers to 174*86b64dcbSAndroid Build Coastguard Worker non-ugen(4) devices and make get_configuration() no longer generate I/O. 175*86b64dcbSAndroid Build Coastguard Worker Note that using this libusb version on OpenBSD requires using 176*86b64dcbSAndroid Build Coastguard Worker OpenBSD 5.3-current or later. Users of older OpenBSD versions are advised 177*86b64dcbSAndroid Build Coastguard Worker to stay with the libusb shipped with OpenBSD (mpi) 178*86b64dcbSAndroid Build Coastguard Worker* Windows: fix libusb_dll_2010.vcxproj link errors (#129) 179*86b64dcbSAndroid Build Coastguard Worker* Various other bug fixes and improvements 180*86b64dcbSAndroid Build Coastguard Worker 181*86b64dcbSAndroid Build Coastguard Worker2013-07-11: v1.0.16 182*86b64dcbSAndroid Build Coastguard Worker* Add hotplug support for Darwin and Linux (#9) 183*86b64dcbSAndroid Build Coastguard Worker* Add superspeed endpoint companion descriptor support (#15) 184*86b64dcbSAndroid Build Coastguard Worker* Add BOS descriptor support (#15) 185*86b64dcbSAndroid Build Coastguard Worker* Make descriptor parsing code more robust 186*86b64dcbSAndroid Build Coastguard Worker* New libusb_get_port_numbers API, this is libusb_get_port_path without 187*86b64dcbSAndroid Build Coastguard Worker the unnecessary context parameter, libusb_get_port_path is now deprecated 188*86b64dcbSAndroid Build Coastguard Worker* New libusb_strerror API (#14) 189*86b64dcbSAndroid Build Coastguard Worker* New libusb_set_auto_detach_kernel_driver API (#17) 190*86b64dcbSAndroid Build Coastguard Worker* Improve topology API docs (#95) 191*86b64dcbSAndroid Build Coastguard Worker* Logging now use a single write call per log-message, avoiding log-message 192*86b64dcbSAndroid Build Coastguard Worker "interlacing" when using multiple threads. 193*86b64dcbSAndroid Build Coastguard Worker* Android: use Android logging when building on Android (#101) 194*86b64dcbSAndroid Build Coastguard Worker* Darwin: make libusb_reset reenumerate device on descriptors change (#89) 195*86b64dcbSAndroid Build Coastguard Worker* Darwin: add support for the LIBUSB_TRANSFER_ADD_ZERO_PACKET flag (#91) 196*86b64dcbSAndroid Build Coastguard Worker* Darwin: add a device cache (#112, #114) 197*86b64dcbSAndroid Build Coastguard Worker* Examples: Add sam3u_benchmark isochronous example by Harald Welte (#109) 198*86b64dcbSAndroid Build Coastguard Worker* Many other bug fixes and improvements 199*86b64dcbSAndroid Build Coastguard WorkerThe (#xx) numbers are libusbx issue numbers, see ie: 200*86b64dcbSAndroid Build Coastguard Workerhttps://github.com/libusbx/libusbx/issues/9 201*86b64dcbSAndroid Build Coastguard Worker 202*86b64dcbSAndroid Build Coastguard Worker2013-04-15: v1.0.15 203*86b64dcbSAndroid Build Coastguard Worker* Improve transfer cancellation and avoid short read failures on broken descriptors 204*86b64dcbSAndroid Build Coastguard Worker* Filter out 8-bit characters in libusb_get_string_descriptor_ascii() 205*86b64dcbSAndroid Build Coastguard Worker* Add WinCE support 206*86b64dcbSAndroid Build Coastguard Worker* Add library stress tests 207*86b64dcbSAndroid Build Coastguard Worker* Add Cypress FX3 firmware upload support for fxload sample 208*86b64dcbSAndroid Build Coastguard Worker* Add HID and kernel driver detach support capabilities detection 209*86b64dcbSAndroid Build Coastguard Worker* Add SuperSpeed detection on OS X 210*86b64dcbSAndroid Build Coastguard Worker* Fix bInterval value interpretation on OS X 211*86b64dcbSAndroid Build Coastguard Worker* Fix issues with autoclaim, composite HID devices, interface autoclaim and 212*86b64dcbSAndroid Build Coastguard Worker early abort in libusb_close() on Windows. Also add VS2012 solution files. 213*86b64dcbSAndroid Build Coastguard Worker* Improve fd event handling on Linux 214*86b64dcbSAndroid Build Coastguard Worker* Other bug fixes and improvements 215*86b64dcbSAndroid Build Coastguard Worker 216*86b64dcbSAndroid Build Coastguard Worker2012-09-26: v1.0.14 217*86b64dcbSAndroid Build Coastguard Worker* Reverts the previous API change with regards to bMaxPower. 218*86b64dcbSAndroid Build Coastguard Worker If this doesn't matter to you, you are encouraged to keep using v1.0.13, 219*86b64dcbSAndroid Build Coastguard Worker as it will use the same attribute as v2.0, to be released soon. 220*86b64dcbSAndroid Build Coastguard Worker* Note that LIBUSB_API_VERSION is *decreased* to 0x010000FF and the previous 221*86b64dcbSAndroid Build Coastguard Worker guidelines with regards to concurrent use of MaxPower/bMaxPower still apply. 222*86b64dcbSAndroid Build Coastguard Worker 223*86b64dcbSAndroid Build Coastguard Worker2012-09-20: v1.0.13 224*86b64dcbSAndroid Build Coastguard Worker* [MAJOR] Fix a typo in the API with struct libusb_config_descriptor where 225*86b64dcbSAndroid Build Coastguard Worker MaxPower was used instead of bMaxPower, as defined in the specs. If your 226*86b64dcbSAndroid Build Coastguard Worker application was accessing the MaxPower attribute, and you need to maintain 227*86b64dcbSAndroid Build Coastguard Worker compatibility with libusb or older versions, see APPENDIX A below. 228*86b64dcbSAndroid Build Coastguard Worker* Fix broken support for the 0.1 -> 1.0 libusb-compat layer 229*86b64dcbSAndroid Build Coastguard Worker* Fix unwanted cancellation of pending timeouts as well as major timeout related bugs 230*86b64dcbSAndroid Build Coastguard Worker* Fix handling of HID and composite devices on Windows 231*86b64dcbSAndroid Build Coastguard Worker* Introduce LIBUSB_API_VERSION macro 232*86b64dcbSAndroid Build Coastguard Worker* Add Cypress FX/FX2 firmware upload sample, based on fxload from 233*86b64dcbSAndroid Build Coastguard Worker http://linux-hotplug.sourceforge.net 234*86b64dcbSAndroid Build Coastguard Worker* Add libusb0 (libusb-win32) and libusbK driver support on Windows. Note that while 235*86b64dcbSAndroid Build Coastguard Worker the drivers allow it, isochronous transfers are not supported yet in libusb. Also 236*86b64dcbSAndroid Build Coastguard Worker not supported yet is the use of libusb-win32 filter drivers on composite interfaces 237*86b64dcbSAndroid Build Coastguard Worker* Add support for the new get_capabilities ioctl on Linux and avoid unnecessary 238*86b64dcbSAndroid Build Coastguard Worker splitting of bulk transfers 239*86b64dcbSAndroid Build Coastguard Worker* Improve support for newer Intel and Renesas USB 3.0 controllers on Windows 240*86b64dcbSAndroid Build Coastguard Worker* Harmonize the device number for root hubs across platforms 241*86b64dcbSAndroid Build Coastguard Worker* Other bug fixes and improvements 242*86b64dcbSAndroid Build Coastguard Worker 243*86b64dcbSAndroid Build Coastguard Worker2012-06-15: v1.0.12 244*86b64dcbSAndroid Build Coastguard Worker* Fix a potential major regression with pthread on Linux 245*86b64dcbSAndroid Build Coastguard Worker* Fix missing thread ID from debug log output on cygwin 246*86b64dcbSAndroid Build Coastguard Worker* Fix possible crash when using longjmp and MinGW's gcc 4.6 247*86b64dcbSAndroid Build Coastguard Worker* Add topology calls: libusb_get_port_number(), libusb_get_parent() & libusb_get_port_path() 248*86b64dcbSAndroid Build Coastguard Worker* Add toggleable debug, using libusb_set_debug() or the LIBUSB_DEBUG environment variable 249*86b64dcbSAndroid Build Coastguard Worker* Define log levels in libusb.h and set timestamp origin to first libusb_init() call 250*86b64dcbSAndroid Build Coastguard Worker* All logging is now sent to to stderr (info was sent to stdout previously) 251*86b64dcbSAndroid Build Coastguard Worker* Update log messages severity and avoid polluting log output on OS-X 252*86b64dcbSAndroid Build Coastguard Worker* Add HID driver support on Windows 253*86b64dcbSAndroid Build Coastguard Worker* Enable interchangeability of MSVC and MinGW DLLs 254*86b64dcbSAndroid Build Coastguard Worker* Additional bug fixes and improvements 255*86b64dcbSAndroid Build Coastguard Worker 256*86b64dcbSAndroid Build Coastguard Worker2012-05-08: v1.0.11 257*86b64dcbSAndroid Build Coastguard Worker* Revert removal of critical Windows event handling that was introduced in 1.0.10 258*86b64dcbSAndroid Build Coastguard Worker* Fix a possible deadlock in Windows when submitting transfers 259*86b64dcbSAndroid Build Coastguard Worker* Add timestamped logging 260*86b64dcbSAndroid Build Coastguard Worker* Add NetBSD support (experimental) and BSD libusb_get_device_speed() data 261*86b64dcbSAndroid Build Coastguard Worker* Add bootstrap.sh alongside autogen.sh (bootstrap.sh doesn't invoke configure) 262*86b64dcbSAndroid Build Coastguard Worker* Search for device nodes in /dev for Android support 263*86b64dcbSAndroid Build Coastguard Worker* Other bug fixes 264*86b64dcbSAndroid Build Coastguard Worker 265*86b64dcbSAndroid Build Coastguard Worker2012-04-17: v1.0.10 266*86b64dcbSAndroid Build Coastguard Worker* Public release 267*86b64dcbSAndroid Build Coastguard Worker* Add libusb_get_version 268*86b64dcbSAndroid Build Coastguard Worker* Add Visual Studio 2010 project files 269*86b64dcbSAndroid Build Coastguard Worker* Some Windows code cleanup 270*86b64dcbSAndroid Build Coastguard Worker* Fix xusb sample warnings 271*86b64dcbSAndroid Build Coastguard Worker 272*86b64dcbSAndroid Build Coastguard Worker2012-04-02: v1.0.9 273*86b64dcbSAndroid Build Coastguard Worker* First libusbx release 274*86b64dcbSAndroid Build Coastguard Worker* Add libusb_get_device_speed (all, except BSD) and libusb_error_name 275*86b64dcbSAndroid Build Coastguard Worker* Add Windows support (WinUSB driver only) 276*86b64dcbSAndroid Build Coastguard Worker* Add OpenBSD support 277*86b64dcbSAndroid Build Coastguard Worker* Add xusb sample 278*86b64dcbSAndroid Build Coastguard Worker* Tons of bug fixes 279*86b64dcbSAndroid Build Coastguard Worker 280*86b64dcbSAndroid Build Coastguard Worker2010-05-07: v1.0.8 281*86b64dcbSAndroid Build Coastguard Worker* Bug fixes 282*86b64dcbSAndroid Build Coastguard Worker 283*86b64dcbSAndroid Build Coastguard Worker2010-04-19: v1.0.7 284*86b64dcbSAndroid Build Coastguard Worker* Bug fixes and documentation tweaks 285*86b64dcbSAndroid Build Coastguard Worker* Add more interface class definitions 286*86b64dcbSAndroid Build Coastguard Worker 287*86b64dcbSAndroid Build Coastguard Worker2009-11-22: v1.0.6 288*86b64dcbSAndroid Build Coastguard Worker* Bug fixes 289*86b64dcbSAndroid Build Coastguard Worker* Increase libusb_handle_events() timeout to 60s for powersaving 290*86b64dcbSAndroid Build Coastguard Worker 291*86b64dcbSAndroid Build Coastguard Worker2009-11-15: v1.0.5 292*86b64dcbSAndroid Build Coastguard Worker * Use timerfd when available for timer management 293*86b64dcbSAndroid Build Coastguard Worker * Small fixes/updates 294*86b64dcbSAndroid Build Coastguard Worker 295*86b64dcbSAndroid Build Coastguard Worker2009-11-06: v1.0.4 release 296*86b64dcbSAndroid Build Coastguard Worker * Bug fixes including transfer locking to fix some potential threading races 297*86b64dcbSAndroid Build Coastguard Worker * More flexibility with clock types on Linux 298*86b64dcbSAndroid Build Coastguard Worker * Use new bulk continuation tracking in Linux 2.6.32 for improved handling 299*86b64dcbSAndroid Build Coastguard Worker of short/failed transfers 300*86b64dcbSAndroid Build Coastguard Worker 301*86b64dcbSAndroid Build Coastguard Worker2009-08-27: v1.0.3 release 302*86b64dcbSAndroid Build Coastguard Worker * Bug fixes 303*86b64dcbSAndroid Build Coastguard Worker * Add libusb_get_max_iso_packet_size() 304*86b64dcbSAndroid Build Coastguard Worker 305*86b64dcbSAndroid Build Coastguard Worker2009-06-13: v1.0.2 release 306*86b64dcbSAndroid Build Coastguard Worker * Bug fixes 307*86b64dcbSAndroid Build Coastguard Worker 308*86b64dcbSAndroid Build Coastguard Worker2009-05-12: v1.0.1 release 309*86b64dcbSAndroid Build Coastguard Worker * Bug fixes 310*86b64dcbSAndroid Build Coastguard Worker * Darwin backend 311*86b64dcbSAndroid Build Coastguard Worker 312*86b64dcbSAndroid Build Coastguard Worker2008-12-13: v1.0.0 release 313*86b64dcbSAndroid Build Coastguard Worker * Bug fixes 314*86b64dcbSAndroid Build Coastguard Worker 315*86b64dcbSAndroid Build Coastguard Worker2008-11-21: v0.9.4 release 316*86b64dcbSAndroid Build Coastguard Worker * Bug fixes 317*86b64dcbSAndroid Build Coastguard Worker * Add libusb_attach_kernel_driver() 318*86b64dcbSAndroid Build Coastguard Worker 319*86b64dcbSAndroid Build Coastguard Worker2008-08-23: v0.9.3 release 320*86b64dcbSAndroid Build Coastguard Worker * Bug fixes 321*86b64dcbSAndroid Build Coastguard Worker 322*86b64dcbSAndroid Build Coastguard Worker2008-07-19: v0.9.2 release 323*86b64dcbSAndroid Build Coastguard Worker * Bug fixes 324*86b64dcbSAndroid Build Coastguard Worker 325*86b64dcbSAndroid Build Coastguard Worker2008-06-28: v0.9.1 release 326*86b64dcbSAndroid Build Coastguard Worker * Bug fixes 327*86b64dcbSAndroid Build Coastguard Worker * Introduce contexts to the API 328*86b64dcbSAndroid Build Coastguard Worker * Compatibility with new Linux kernel features 329*86b64dcbSAndroid Build Coastguard Worker 330*86b64dcbSAndroid Build Coastguard Worker2008-05-25: v0.9.0 release 331*86b64dcbSAndroid Build Coastguard Worker * First libusb-1.0 beta release 332*86b64dcbSAndroid Build Coastguard Worker 333*86b64dcbSAndroid Build Coastguard Worker~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 334*86b64dcbSAndroid Build Coastguard Worker 335*86b64dcbSAndroid Build Coastguard WorkerAPPENDIX A - How to maintain code compatibility with versions of libusb and 336*86b64dcbSAndroid Build Coastguard Workerlibusb that use MaxPower: 337*86b64dcbSAndroid Build Coastguard Worker 338*86b64dcbSAndroid Build Coastguard WorkerIf you must to maintain compatibility with versions of the library that aren't 339*86b64dcbSAndroid Build Coastguard Workerusing the bMaxPower attribute in struct libusb_config_descriptor, the 340*86b64dcbSAndroid Build Coastguard Workerrecommended way is to use the new LIBUSB_API_VERSION macro with an #ifdef. 341*86b64dcbSAndroid Build Coastguard WorkerFor instance, if your code was written as follows: 342*86b64dcbSAndroid Build Coastguard Worker 343*86b64dcbSAndroid Build Coastguard Worker if (dev->config[0].MaxPower < 250) 344*86b64dcbSAndroid Build Coastguard Worker 345*86b64dcbSAndroid Build Coastguard WorkerThen you should modify it to have: 346*86b64dcbSAndroid Build Coastguard Worker 347*86b64dcbSAndroid Build Coastguard Worker#if defined(LIBUSB_API_VERSION) && (LIBUSB_API_VERSION >= 0x01000100) 348*86b64dcbSAndroid Build Coastguard Worker if (dev->config[0].bMaxPower < 250) 349*86b64dcbSAndroid Build Coastguard Worker#else 350*86b64dcbSAndroid Build Coastguard Worker if (dev->config[0].MaxPower < 250) 351*86b64dcbSAndroid Build Coastguard Worker#endif 352