PackageTrack
Sign in Get early access

usb-device

USB stack for embedded devices.

0.3.2 4.6M downloads/mo #4705 most downloaded on crates.io rust-embedded-community/usb-device

What this package is like to depend on

Last release 2 years ago

no release in 18 months

Release timing varies

gaps range from 8 days to 1.4 years

Some releases are documented

notes for 5 of 13 stable releases

1 version withdrawn

withdrawn after publishing

8 years old

14 releases · first in 2018

0 releases in the last 12 months

see the full history below

Release timeline

14 releases · Dec 2018 to Mar 2024
2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 14
  1. 0.3.2 06 Mar 2024
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v0.3.1...v0.3.2

    Open source →
    Release notes

    Added

    • A new log feature can be enabled to provide logging and tracing information about the USB interface.

    Changed

    • [breaking] LangIDs no longer implement TryFromPrimitive. The minor version has not been bumped as this was not intended to be used in the public API.
      • If this is problematic, please open an issue in the main usb-device repository.
    • Changed handling of EP0 state to eliminate unexpected issues with device enumeration
    Open source →
    Release notes

    Added

    • A new log feature can be enabled to provide logging and tracing information about the USB interface.

    Changed

    • [breaking] LangIDs no longer implement TryFromPrimitive. The minor version has not been bumped as this was not intended to be used in the public API.
      • If this is problematic, please open an issue in the main usb-device repository.
    • Changed handling of EP0 state to eliminate unexpected issues with device enumeration
    Open source →
  2. 0.3.1 15 Nov 2023
    Release notes

    [0.3.1] - 2023-11-15

    Added

    • BuilderError, LangID, StringDescriptors now in prelude
    • LangID now in class_prelude

    Changed

    • Updated documentation, including example code
    Open source →
    Release notes

    Added

    • BuilderError, LangID, StringDescriptors now in prelude
    • LangID now in class_prelude

    Changed

    • Updated documentation, including example code
    Open source →
  3. 0.3.0 13 Nov 2023
    Release notes

    [0.3.0] - 2023-11-13

    Fixed

    • Fixed a defect where enumeration may fail due to timing-related issues (#128)

    Added

    • New enums and allocators for Isochronous endpoints (#60).
    • Ability to select USB revision (#116).
    • Added support for alternate settings on interfaces (#114).
    • Added support for architectures without atomics (#115).
    • Added support for multi-language STRING desc (#122).
      • UsbDeviceBuilder has a public .extra_lang_ids() method to specify LANGIDs besides ENGLISH_US(0x0409)

    Breaking

    • Acess numeric form of EndpointType variants now require a .to_bm_attributes(). (#60)
    • DescriptorWriter::iad() now requires a Option<StringIndex> to optionally specify a string for describing the function (#121)
    • .manufacturer(), .product() and .serial_number() of UsbDeviceBuilder are now replaced with the strings() function that accepts a StringDescriptor list to allow multilanguage support (#122)
    • Various methods of the UsbDeviceBuilder now return Result<> types instead of internally panicking.

    Changed

    • EndpointType enum now has fields for isochronous synchronization and usage (#60).
    • descriptor_type::STRING of fn get_descriptor() will send the LANGIDs supported by device, and respond STRING Request with specified LANGID. (#122)
    • UsbError is now copyable and comparable (#127)
    Open source →
    Release notes

    Fixed

    • Fixed a defect where enumeration may fail due to timing-related issues (#128)

    Added

    • New enums and allocators for Isochronous endpoints (#60).
    • Ability to select USB revision (#116).
    • Added support for alternate settings on interfaces (#114).
    • Added support for architectures without atomics (#115).
    • Added support for multi-language STRING desc (#122).
      • UsbDeviceBuilder has a public .extra_lang_ids() method to specify LANGIDs besides ENGLISH_US(0x0409)

    Breaking

    • Acess numeric form of EndpointType variants now require a .to_bm_attributes(). (#60)
    • DescriptorWriter::iad() now requires a Option<StringIndex> to optionally specify a string for describing the function (#121)
    • .manufacturer(), .product() and .serial_number() of UsbDeviceBuilder are now replaced with the strings() function that accepts a StringDescriptor list to allow multilanguage support (#122)
    • Various methods of the UsbDeviceBuilder now return Result<> types instead of internally panicking.

    Changed

    • EndpointType enum now has fields for isochronous synchronization and usage (#60).
    • descriptor_type::STRING of fn get_descriptor() will send the LANGIDs supported by device, and respond STRING Request with specified LANGID. (#122)
    • UsbError is now copyable and comparable (#127)
    Open source →
  4. 0.2.9 02 Aug 2022
    Release notes

    Fixed

    • Fixed an issue where USB devices were not enumerating on Windows (#32)
    • Add optional support for defmt (#76)
    • Fixed Suspend state transition so it goes back to the previous state, not just Default (#97)
    Open source →
    Release notes

    Added

    • Optional support for defmt (#76).

    Fixed

    • Fixed an issue where USB devices were not enumerating on Windows (#32)
    • Fixed Suspend state transition so it goes back to the previous state, not just Default (#97)
    Open source →
  5. 0.2.8 13 Mar 2021

    Nothing published for this version

  6. 0.2.7 03 Oct 2020

    Nothing published for this version

  7. 0.2.6 22 Sep 2020

    Nothing published for this version

  8. 0.2.5 10 Feb 2020

    Nothing published for this version

  9. 0.2.4 01 Feb 2020 withdrawn

    Nothing published for this version

  10. 0.2.3 27 Aug 2019

    Nothing published for this version

  11. 0.2.2 27 Jul 2019

    Nothing published for this version

  12. 0.2.1 07 Jun 2019

    Nothing published for this version

  13. 0.2.0 20 Jan 2019

    Nothing published for this version

  14. 0.1.0 24 Dec 2018
    Release notes

    This is the initial release to crates.io.

    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive