Skip to content

Release 0.3.0

Compare
Choose a tag to compare
@ryan-summers ryan-summers released this 13 Nov 14:02
· 57 commits to master since this release
6021f1c

[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)