Blame ChangeLog

Packit Service b0a153
For detailed information about the changes below, please see the git log or
Packit Service b0a153
visit: http://log.libusb.info
Packit Service b0a153
Packit Service b0a153
2019-08-28: v1.0.23
Packit Service b0a153
* Add German translation (#446)
Packit Service b0a153
* Add Hungarian translation (#493)
Packit Service b0a153
* Android: Improved support for Android
Packit Service b0a153
* BSD: Remove infinite recursion in OpenBSD backend
Packit Service b0a153
* configure.ac: Fix detection of clock_gettime library (#439)
Packit Service b0a153
* Core: abandon synchronous transfers when device closure is detected.
Packit Service b0a153
* Core: fix error in handling the removal of file descriptors while handling
Packit Service b0a153
  events.
Packit Service b0a153
* Darwin(macOS): Switch from using ResetDevice to USBDeviceReEnumerate (#455)
Packit Service b0a153
* Darwin(macOS): Remove code that changed the device class used (#428)
Packit Service b0a153
* Darwin(macOS): Reduce hotplug timeout to 1ms (from 5s)
Packit Service b0a153
* New API libusb_set_log_cb() to redirect global and per context log
Packit Service b0a153
  messages to the provided log handling function
Packit Service b0a153
* New API libusb_wrap_sys_device to allow the user to specify the
Packit Service b0a153
  usb device to use.
Packit Service b0a153
* Solaris: Break infinite recursion in backend clock_gettime
Packit Service b0a153
* Solaris: Enable timerfd on sunos when available
Packit Service b0a153
* Windows: Add support for isochronous transfers with WinUSB
Packit Service b0a153
* Various other bug fixes and improvements
Packit Service b0a153
Packit Service b0a153
2018-03-24: v1.0.22:
Packit Service b0a153
* New libusb_set_option() API
Packit Service b0a153
* Fix transfer timeout not being cleared upon resubmission
Packit Service b0a153
* Report super speed plus devices on modern Linux and macOS
Packit Service b0a153
* Darwin: Improve support for macOS Sierra and High Sierra
Packit Service b0a153
* Darwin: SDK fixes and improvements
Packit Service b0a153
* Linux: Let initialization succeed when no devices are present
Packit Service b0a153
* Linux: Mark internal file descriptors with CLOEXEC flag
Packit Service b0a153
* Solaris: Add support for attach/detach kernel driver
Packit Service b0a153
* Windows: Add dynamic UsbDk backend selection
Packit Service b0a153
* Windows: Add isochronous transfer support via libusbK
Packit Service b0a153
* Windows: Add Visual Studio 2017 support
Packit Service b0a153
* Windows: Fix enumeration problems on Windows 8 and later
Packit Service b0a153
* Windows: Major rework of poll() emulation
Packit Service b0a153
* Windows: Numerous HID API fixes
Packit Service b0a153
* Windows: Support cancelation of individual transfers (Vista and later)
Packit Service b0a153
* Various other bug fixes and improvements
Packit Service b0a153
Packit Service b0a153
2016-10-01: v1.0.21:
Packit Service b0a153
* Core: Refactor code related to transfer flags and timeout handling
Packit Service b0a153
* Darwin: Ignore root hub simulation devices
Packit Service b0a153
* Darwin: Improved support for OS X El Capitan
Packit Service b0a153
* Darwin: Work around devices with buggy endpoint descriptors
Packit Service b0a153
* Darwin: Do not use objc_registerThreadWithCollector after its deprecation
Packit Service b0a153
* Darwin: Use C11 atomics on 10.12+ as the OS atomics are now deprecated
Packit Service b0a153
* Linux: Support preallocating kernel memory for zerocopy USB
Packit Service b0a153
* Linux: Deal with receiving POLLERR before all transfers have completed
Packit Service b0a153
* Solaris: Add solaris backend
Packit Service b0a153
* Windows: Add Visual Studio 2015 support
Packit Service b0a153
* Windows: Add usbdk backend
Packit Service b0a153
* Prevent attempts to recursively handle events
Packit Service b0a153
* Fix race condition in handle_timeout()
Packit Service b0a153
* Allow transferred argument to be optional in bulk APIs
Packit Service b0a153
* Various other bug fixes and improvements
Packit Service b0a153
Packit Service b0a153
2015-09-13: v1.0.20
Packit Service b0a153
* Add Haiku support
Packit Service b0a153
* Fix multiple memory and resource leaks (#16, #52, #76, #81)
Packit Service b0a153
* Fix possible deadlock when executing transfer callback
Packit Service b0a153
* New libusb_free_pollfds() API
Packit Service b0a153
* Darwin: Fix devices not being detected on OS X 10.8 (#48)
Packit Service b0a153
* Linux: Allow larger isochronous transfer submission (#23)
Packit Service b0a153
* Windows: Fix broken builds Cygwin/MinGW builds and compiler warnings
Packit Service b0a153
* Windows: Fix broken bus number lookup
Packit Service b0a153
* Windows: Improve submission of control requests for composite devices
Packit Service b0a153
* Examples: Add two-stage load support to fxload (#12)
Packit Service b0a153
* Correctly report cancellations due to timeouts
Packit Service b0a153
* Improve efficiency of event handling
Packit Service b0a153
* Improve speed of transfer submission in multi-threaded environments
Packit Service b0a153
* Various other bug fixes and improvements
Packit Service b0a153
The (#xx) numbers are libusb issue numbers, see ie:
Packit Service b0a153
https://github.com/libusb/libusb/issues/16
Packit Service b0a153
Packit Service b0a153
2014-05-30: v1.0.19
Packit Service b0a153
* Add support for USB bulk streams on Linux and Mac OS X (#11)
Packit Service b0a153
* Windows: Add AMD and Intel USB-3.0 root hub support
Packit Service b0a153
* Windows: Fix USB 3.0 speed detection on Windows 8 or later (#10)
Packit Service b0a153
* Added Russian translation for libusb_strerror strings
Packit Service b0a153
* All: Various small fixes and cleanups
Packit Service b0a153
Packit Service b0a153
2014-01-25: v1.0.18
Packit Service b0a153
* Fix multiple memory leaks
Packit Service b0a153
* Fix a crash when HID transfers return no data on Windows
Packit Service b0a153
* Ensure all pending events are consumed
Packit Service b0a153
* Improve Android and ucLinux support
Packit Service b0a153
* Multiple Windows improvements (error logging, VS2013, VIA xHCI support)
Packit Service b0a153
* Multiple OS X improvements (broken compilation, SIGFPE, 64bit support)
Packit Service b0a153
Packit Service b0a153
2013-09-06: v1.0.17
Packit Service b0a153
* Hotplug callbacks now always get passed a libusb_context, even if it is
Packit Service b0a153
  the default context. Previously NULL would be passed for the default context,
Packit Service b0a153
  but since the first context created is the default context, and most apps
Packit Service b0a153
  use only 1 context, this meant that apps explicitly creating a context would
Packit Service b0a153
  still get passed NULL
Packit Service b0a153
* Android: Add .mk files to build with the Android NDK
Packit Service b0a153
* Darwin: Add Xcode project
Packit Service b0a153
* Darwin: Fix crash on unplug (#121)
Packit Service b0a153
* Linux: Fix hang (deadlock) on libusb_exit
Packit Service b0a153
* Linux: Fix libusb build failure with --disable-udev (#124)
Packit Service b0a153
* Linux: Fix libusb_get_device_list() hang with --disable-udev (#130)
Packit Service b0a153
* OpenBSD: Update OpenBSD backend with support for control transfers to
Packit Service b0a153
  non-ugen(4) devices and make get_configuration() no longer generate I/O.
Packit Service b0a153
  Note that using this libusb version on OpenBSD requires using
Packit Service b0a153
  OpenBSD 5.3-current or later. Users of older OpenBSD versions are advised
Packit Service b0a153
  to stay with the libusb shipped with OpenBSD (mpi)
Packit Service b0a153
* Windows: fix libusb_dll_2010.vcxproj link errors (#129)
Packit Service b0a153
* Various other bug fixes and improvements
Packit Service b0a153
Packit Service b0a153
2013-07-11: v1.0.16
Packit Service b0a153
* Add hotplug support for Darwin and Linux (#9)
Packit Service b0a153
* Add superspeed endpoint companion descriptor support (#15)
Packit Service b0a153
* Add BOS descriptor support (#15)
Packit Service b0a153
* Make descriptor parsing code more robust
Packit Service b0a153
* New libusb_get_port_numbers API, this is libusb_get_port_path without
Packit Service b0a153
  the unnecessary context parameter, libusb_get_port_path is now deprecated
Packit Service b0a153
* New libusb_strerror API (#14)
Packit Service b0a153
* New libusb_set_auto_detach_kernel_driver API (#17)
Packit Service b0a153
* Improve topology API docs (#95)
Packit Service b0a153
* Logging now use a single write call per log-message, avoiding log-message
Packit Service b0a153
  "interlacing" when using multiple threads.
Packit Service b0a153
* Android: use Android logging when building on Android (#101)
Packit Service b0a153
* Darwin: make libusb_reset reenumerate device on descriptors change (#89)
Packit Service b0a153
* Darwin: add support for the LIBUSB_TRANSFER_ADD_ZERO_PACKET flag (#91)
Packit Service b0a153
* Darwin: add a device cache (#112, #114)
Packit Service b0a153
* Examples: Add sam3u_benchmark isochronous example by Harald Welte (#109)
Packit Service b0a153
* Many other bug fixes and improvements
Packit Service b0a153
The (#xx) numbers are libusbx issue numbers, see ie:
Packit Service b0a153
https://github.com/libusbx/libusbx/issues/9
Packit Service b0a153
Packit Service b0a153
2013-04-15: v1.0.15
Packit Service b0a153
* Improve transfer cancellation and avoid short read failures on broken descriptors
Packit Service b0a153
* Filter out 8-bit characters in libusb_get_string_descriptor_ascii()
Packit Service b0a153
* Add WinCE support
Packit Service b0a153
* Add library stress tests
Packit Service b0a153
* Add Cypress FX3 firmware upload support for fxload sample
Packit Service b0a153
* Add HID and kernel driver detach support capabilities detection
Packit Service b0a153
* Add SuperSpeed detection on OS X
Packit Service b0a153
* Fix bInterval value interpretation on OS X
Packit Service b0a153
* Fix issues with autoclaim, composite HID devices, interface autoclaim and
Packit Service b0a153
  early abort in libusb_close() on Windows. Also add VS2012 solution files.
Packit Service b0a153
* Improve fd event handling on Linux
Packit Service b0a153
* Other bug fixes and improvements
Packit Service b0a153
Packit Service b0a153
2012-09-26: v1.0.14
Packit Service b0a153
* Reverts the previous API change with regards to bMaxPower.
Packit Service b0a153
  If this doesn't matter to you, you are encouraged to keep using v1.0.13,
Packit Service b0a153
  as it will use the same attribute as v2.0, to be released soon.
Packit Service b0a153
* Note that LIBUSB_API_VERSION is *decreased* to 0x010000FF and the previous
Packit Service b0a153
  guidelines with regards to concurrent use of MaxPower/bMaxPower still apply.
Packit Service b0a153
Packit Service b0a153
2012-09-20: v1.0.13
Packit Service b0a153
* [MAJOR] Fix a typo in the API with struct libusb_config_descriptor where
Packit Service b0a153
  MaxPower was used instead of bMaxPower, as defined in the specs. If your 
Packit Service b0a153
  application was accessing the MaxPower attribute, and you need to maintain
Packit Service b0a153
  compatibility with libusb or older versions, see APPENDIX A below.
Packit Service b0a153
* Fix broken support for the 0.1 -> 1.0 libusb-compat layer
Packit Service b0a153
* Fix unwanted cancellation of pending timeouts as well as major timeout related bugs
Packit Service b0a153
* Fix handling of HID and composite devices on Windows
Packit Service b0a153
* Introduce LIBUSB_API_VERSION macro
Packit Service b0a153
* Add Cypress FX/FX2 firmware upload sample, based on fxload from
Packit Service b0a153
  http://linux-hotplug.sourceforge.net
Packit Service b0a153
* Add libusb0 (libusb-win32) and libusbK driver support on Windows. Note that while
Packit Service b0a153
  the drivers allow it, isochronous transfers are not supported yet in libusb. Also
Packit Service b0a153
  not supported yet is the use of libusb-win32 filter drivers on composite interfaces
Packit Service b0a153
* Add support for the new get_capabilities ioctl on Linux and avoid unnecessary
Packit Service b0a153
  splitting of bulk transfers
Packit Service b0a153
* Improve support for newer Intel and Renesas USB 3.0 controllers on Windows
Packit Service b0a153
* Harmonize the device number for root hubs across platforms
Packit Service b0a153
* Other bug fixes and improvements
Packit Service b0a153
Packit Service b0a153
2012-06-15: v1.0.12
Packit Service b0a153
* Fix a potential major regression with pthread on Linux
Packit Service b0a153
* Fix missing thread ID from debug log output on cygwin
Packit Service b0a153
* Fix possible crash when using longjmp and MinGW's gcc 4.6
Packit Service b0a153
* Add topology calls: libusb_get_port_number(), libusb_get_parent() & libusb_get_port_path()
Packit Service b0a153
* Add toggleable debug, using libusb_set_debug() or the LIBUSB_DEBUG environment variable
Packit Service b0a153
* Define log levels in libusb.h and set timestamp origin to first libusb_init() call
Packit Service b0a153
* All logging is now sent to to stderr (info was sent to stdout previously)
Packit Service b0a153
* Update log messages severity and avoid polluting log output on OS-X
Packit Service b0a153
* Add HID driver support on Windows
Packit Service b0a153
* Enable interchangeability of MSVC and MinGW DLLs
Packit Service b0a153
* Additional bug fixes and improvements
Packit Service b0a153
Packit Service b0a153
2012-05-08: v1.0.11
Packit Service b0a153
* Revert removal of critical Windows event handling that was introduced in 1.0.10
Packit Service b0a153
* Fix a possible deadlock in Windows when submitting transfers
Packit Service b0a153
* Add timestamped logging
Packit Service b0a153
* Add NetBSD support (experimental) and BSD libusb_get_device_speed() data
Packit Service b0a153
* Add bootstrap.sh alongside autogen.sh (bootstrap.sh doesn't invoke configure)
Packit Service b0a153
* Search for device nodes in /dev for Android support
Packit Service b0a153
* Other bug fixes
Packit Service b0a153
Packit Service b0a153
2012-04-17: v1.0.10
Packit Service b0a153
* Public release
Packit Service b0a153
* Add libusb_get_version
Packit Service b0a153
* Add Visual Studio 2010 project files
Packit Service b0a153
* Some Windows code cleanup
Packit Service b0a153
* Fix xusb sample warnings 
Packit Service b0a153
Packit Service b0a153
2012-04-02: v1.0.9
Packit Service b0a153
* First libusbx release
Packit Service b0a153
* Add libusb_get_device_speed (all, except BSD) and libusb_error_name
Packit Service b0a153
* Add Windows support (WinUSB driver only)
Packit Service b0a153
* Add OpenBSD support
Packit Service b0a153
* Add xusb sample
Packit Service b0a153
* Tons of bug fixes
Packit Service b0a153
Packit Service b0a153
2010-05-07: v1.0.8
Packit Service b0a153
* Bug fixes
Packit Service b0a153
Packit Service b0a153
2010-04-19: v1.0.7
Packit Service b0a153
* Bug fixes and documentation tweaks
Packit Service b0a153
* Add more interface class definitions
Packit Service b0a153
Packit Service b0a153
2009-11-22: v1.0.6
Packit Service b0a153
* Bug fixes
Packit Service b0a153
* Increase libusb_handle_events() timeout to 60s for powersaving
Packit Service b0a153
Packit Service b0a153
2009-11-15: v1.0.5
Packit Service b0a153
 * Use timerfd when available for timer management
Packit Service b0a153
 * Small fixes/updates
Packit Service b0a153
Packit Service b0a153
2009-11-06: v1.0.4 release
Packit Service b0a153
 * Bug fixes including transfer locking to fix some potential threading races
Packit Service b0a153
 * More flexibility with clock types on Linux
Packit Service b0a153
 * Use new bulk continuation tracking in Linux 2.6.32 for improved handling
Packit Service b0a153
   of short/failed transfers
Packit Service b0a153
Packit Service b0a153
2009-08-27: v1.0.3 release
Packit Service b0a153
 * Bug fixes
Packit Service b0a153
 * Add libusb_get_max_iso_packet_size()
Packit Service b0a153
Packit Service b0a153
2009-06-13: v1.0.2 release
Packit Service b0a153
 * Bug fixes
Packit Service b0a153
Packit Service b0a153
2009-05-12: v1.0.1 release
Packit Service b0a153
 * Bug fixes
Packit Service b0a153
 * Darwin backend
Packit Service b0a153
Packit Service b0a153
2008-12-13: v1.0.0 release
Packit Service b0a153
 * Bug fixes
Packit Service b0a153
Packit Service b0a153
2008-11-21: v0.9.4 release
Packit Service b0a153
 * Bug fixes
Packit Service b0a153
 * Add libusb_attach_kernel_driver()
Packit Service b0a153
Packit Service b0a153
2008-08-23: v0.9.3 release
Packit Service b0a153
 * Bug fixes
Packit Service b0a153
Packit Service b0a153
2008-07-19: v0.9.2 release
Packit Service b0a153
 * Bug fixes
Packit Service b0a153
Packit Service b0a153
2008-06-28: v0.9.1 release
Packit Service b0a153
 * Bug fixes
Packit Service b0a153
 * Introduce contexts to the API
Packit Service b0a153
 * Compatibility with new Linux kernel features
Packit Service b0a153
Packit Service b0a153
2008-05-25: v0.9.0 release
Packit Service b0a153
 * First libusb-1.0 beta release
Packit Service b0a153
Packit Service b0a153
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit Service b0a153
Packit Service b0a153
APPENDIX A - How to maintain code compatibility with versions of libusb and
Packit Service b0a153
libusb that use MaxPower:
Packit Service b0a153
Packit Service b0a153
If you must to maintain compatibility with versions of the library that aren't
Packit Service b0a153
using the bMaxPower attribute in struct libusb_config_descriptor, the 
Packit Service b0a153
recommended way is to use the new LIBUSB_API_VERSION macro with an #ifdef.
Packit Service b0a153
For instance, if your code was written as follows:
Packit Service b0a153
Packit Service b0a153
  if (dev->config[0].MaxPower < 250)
Packit Service b0a153
Packit Service b0a153
Then you should modify it to have:
Packit Service b0a153
Packit Service b0a153
#if defined(LIBUSB_API_VERSION) && (LIBUSB_API_VERSION >= 0x01000100)
Packit Service b0a153
  if (dev->config[0].bMaxPower < 250)
Packit Service b0a153
#else
Packit Service b0a153
  if (dev->config[0].MaxPower < 250)
Packit Service b0a153
#endif