Skip to content

Releases: kevinmehall/nusb

v0.1.12

21 Nov 06:10
Compare
Choose a tag to compare

Fixes

  • Fix race condition that could lose a transfer completion wakeup. (#92)
  • windows: Use a different method to obtain DeviceInfo::serial_number that properly handles lowercase letters, spaces, and duplicate serial numbers. (77b195c)

Contributors

@kevinmehall

v0.1.11

03 Nov 21:45
Compare
Choose a tag to compare

Fixes

  • macOS: Fix Device::set_configuration and Device::reset (#88)
  • macOS: Fix detection of TransferError::Stall (#88)

New Features

  • Hotplug events: nusb::watch_devices() API for device connect / disconnect event notifications, supported on Windows, macOS, and Linux. (#20)
  • Device::from_fd for wrapping an already-opened usbfs file descriptor. This can be used with the Android APIs for requesting USB device permissions on a non-rooted Android device. (#80)
  • Device::detach_kernel_driver and Device::attach_kernel_driver for controlling kernel drivers on Linux without claiming an interface (#65)

Contributors

@kevinmehall @TroyNeubauer @TheButlah

v0.1.10

28 Jul 16:12
Compare
Choose a tag to compare

Fixes

New Contributors

Full Changelog: v0.1.9...v0.1.10

v0.1.9

30 Apr 05:18
Compare
Choose a tag to compare

Fixes

  • macOS: Update endpoints when interface alt setting is changed by @alexmoon in #50
  • macOS: Don't panic when passed an invalid endpoint address

Improvements

  • Extend the lifetime of objects returned from Configuration::descriptors, Configuration::interface_alt_settings, and Configuration::interfaces by @kevinmehall in #51
  • Add Interface::interface_number and Interface::descriptors methods by @kevinmehall in #51

Full Changelog: v0.1.8...v0.1.9

v0.1.8

21 Apr 17:24
Compare
Choose a tag to compare

Fixes

  • Fix RequestBuffer::reuse (#49). This bug leads to a transfer writing out-of-bounds if RequestBuffer::reuse is called with a larger len than the passed Vec's capacity.

v0.1.7

03 Mar 22:04
Compare
Choose a tag to compare

New features

  • Add Interface::clear_halt and Queue::clear_halt - #46

Fixes

  • windows: Allow opening interfaces of a composite device that use the registry key DeviceInterfaceGUID rather than DeviceInterfaceGUIDs - #39
  • windows: Fix crash when calling Interface::set_alt_setting
  • windows: Improve error message when attempting to claim an interface not associated with WinUSB driver - #41
  • windows: Document and warn on case where WinUSB changes the passed control transfer index field to the interface number - #45
  • linux: Fix build on s390x and when using rustix libc backend - #44
  • Lower log level to debug!() for errors in enumeration. - #40

Contributors

@elfmimi @jonlamb-gh @kevinmehall

Full Changelog: v0.1.6...v0.1.7

v0.1.6

02 Feb 06:13
Compare
Choose a tag to compare

Fixes

  • Fix interface string on macOS 14 and/or Apple Silicon by @cstrahan in #37

Full Changelog: v0.1.5...v0.1.6

v0.1.5

31 Jan 04:03
Compare
Choose a tag to compare

New Features

Fixes

  • Retry epoll::wait on EINTR in Linux event loop

Full Changelog: v0.1.4...v0.1.5

v0.1.4

15 Jan 21:29
Compare
Choose a tag to compare

Fixes

  • Add sysfs_path returning &Path, deprecate path() by @Dirbaio in #21
  • windows: Return correct product string. by @Dirbaio in #27
  • windows: Stop returning incorrect manufacturer string by @kevinmehall in #32
  • Mark Queue::next_complete Future Unpin + Send + Sync @kevinmehall in #30

New features

Full Changelog: v0.1.3...v0.1.4

v0.1.3

27 Dec 18:00
Compare
Choose a tag to compare

New features

  • Add Device::active_configuration, Device::configurations, Configuration, InterfaceGroup, InterfaceAltSetting, Endpoint, Descriptor for obtaining configuration descriptors and parsing them by @kevinmehall in #13
  • Add Device::get_descriptor, Device::get_string_descriptor, Device::get_string_descriptor_supported_languages for fetching additional descriptors from the device by @kevinmehall in #15
  • Add Device::control_in_blocking, Device::control_out_blocking, Interface::control_in_blocking, Interface::control_out_blocking for non-async control transfers.

Fixes

  • macOS: Allow event loop to re-start after closing all devices then opening another by @jamesmunns in #19
  • macOS: Prevent opening the wrong device if you hold onto a DeviceInfo while another device is plugged into the same port by @kevinmehall in #14
  • Move futures-lite to dev-dependencies by @jwnrt in #16

Other

New Contributors

Full Changelog: v0.1.2...v0.1.3