Repository navigation
Releases: madprogrammer/busmust-rs
Release list
v0.2.1 — License correction and concise README
Correct the native driver's license to GPL-2.0-or-later to reflect its derivation from python-can-busmust and bmsocketcan. Include the GPL text, upstream attribution, and dated Rust adaptation notices; retain the original project's historical MIT/Apache notices. Version 0.2.0 mistakenly carried the old license metadata; use 0.2.1 or later.
Shorten the README to a quick start, API documentation link, migration table, internal loopback command, and license. Move platform setup and hardware coverage notes into the crate documentation. No driver behavior changes.
Validation: formatting, documentation with warnings denied, and package verification; GitHub CI checks Linux, macOS, Windows, and Rust 1.85. The unchanged driver previously passed 74 hardware cases between two connected Gen2 X1 adapters.
busmust 0.2.0 — Native Rust USB driver
License correction: This release incorrectly retained MIT OR Apache-2.0 metadata. The native USB driver derives from the GPL-2.0-or-later python-can-busmust and bmsocketcan implementations. Use v0.2.1, which supplies corrected package metadata, the GPL text, and attribution notices. The original 0.2.0 archive is unchanged.
BUSMUST 0.2.0 replaces the vendor C SDK bindings with a native Rust USB driver using nusb. No vendor library, libusb, global initialization, or async runtime is required.
This is a breaking release. The obsolete busmust-sys crate is removed; applications should use DeviceInfo/Device, ChannelConfig, Id, Frame, Duration timeouts, and structured errors. See the README and migration guide.
Changes:
- Validated classic CAN, CAN FD, and remote frames; inline payloads and explicit channel ownership.
- Hardware acceptance filters with host-side enforcement for Gen2 firmware flag limitations.
- Legacy Gen2 bus-off recovery with configuration restoration and receive-buffer handling.
- Error-state indication is received metadata supplied by the CAN controller.
- Automatic cleanup, incremental USB decoding, timestamp metadata, and explicit transfer failure handling.
- GitHub CI for Linux, macOS, Windows, Rust 1.85, formatting, Clippy, docs, and package verification; automated GitHub release archives.
Validation: 41 software tests and a 74-case hardware sweep passed with two connected Gen2 X1 adapters on firmware 2.2.4.10. The hardware sweep covers classic CAN from 10 kbit/s to 1 Mbit/s, CAN FD data rates through 8 Mbit/s, termination combinations, filters, payload lengths, echoes, and induced bus-off recovery. Other models and firmware generations have not been hardware-tested.
Minimum supported Rust version: 1.85. See the license correction above and use busmust = "0.2.1" or later.