The change log for the Rust socketcan library.
Version 3.3.0 (2023-10-27)
- #53 Added CanFD support for tokio
- Serialized tokio unit tests and put them behind the "vcan_tests" feature
Version 3.2.0 (2023-10-16)
- #32 Further expanded netlink functionality:
- Added setters for most additional interface CAN parameters
- Ability to query back interface CAN parameters
- Expanded
InterfaceDetailsto include CAN-specific parameters - Better integration of low-level types with
neli - Significant cleanup of the
nlmodule - Split the
nlmodule into separate sources for higher and lower-level code
Version 3.1.0 (2023-10-12)
- #32 Added a number of netlink commands to modify the CAN interface parameters. including: setting the bitrate and (for FD) setting the data bitrate, setting control modes, manually restarting the interface, and setting the automatic restart delay time.
- PR #50 Add set_bitrate method
- PR #45 Dump handles extended IDs
- PR #44 Fix clippy warnings
- PR #43 Implement AsPtr for CanAnyFrame
Version 3.0.0 (2023-09-19)
- Support for Rust async/await
- All of tokio-socketcan has been merged into this crate and will be available with an
async-tokiobuild feature. - #41 Added initial support for
async-iofor use withasync-stdandsmol - Split
SocketOptionstrait out ofSockettrait for use with async (breaking) - Added cargo build features for
tokioorasync-io. - Also created specific build features for
async-stdandsmolwhich just bring in theasync-iomodule and alias the module name toasync-stdorsmol, respectively, and build examples for each.
- All of tokio-socketcan has been merged into this crate and will be available with an
Version 2.1.0 (2023-09-19)
- Made
CanAddrpulic and added functions to help interact with low-level sockaddr types. Sockets can now be opened with an address. - Can create an
Errordirectly from aCanErrorFrameorstd::io::ErrorKind. - #46 Applications can create error frames:
CanErrorFrame::new()now works.CanErrorFrame::new_error()is similar but more intuitive using a raw ID word.From<CanError> for CanErrorFrameto create an error frame from aCanError.
- Added
Frame::from_raw_id()andFrame::remote_from_raw_id() - Bumped MSRV to 1.65.0
Extensive rework of the crate to cleanup, refactor, and modernize the library and add some new features like CAN FD support.
- Moved to Rust Edition 2021 w/ MSRV 1.64
- Refactored frames into differnt types: Data, Remote, Error (and now FD), that can be managed through enumeraed wraper types
CanFrameand/orCanFdFrame - Pushed some implementation upsream to the libc and nix crates, and/or adapted upstream types.
- CAN 2.0 frames based on
libc::can_frame - CAN FD frames based on
libc::canfd_frame
- CAN 2.0 frames based on
- #33 Netlink extensions
- Creating and deleting interfaces
- Setting MTU (to/from FD)
- #21 New CI using GitHub Actions
- #20 Composite PR with some modernization
- Pulls in #13, and updates to the latest
neliv0.6 - Updates
nixdependency to latest v0.23 - Moves to Rust 2018 w/ MSRV 1.54
- Errors conform to std::error::Error
- Pulls in #13, and updates to the latest
- #16 Add CAN FD support
- #24 Embedded HAL Traits
- Plus some source refactoring into more coherent modules