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
InterfaceDetails
to include CAN-specific parameters - Better integration of low-level types with
neli
- Significant cleanup of the
nl
module - Split the
nl
module 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-tokio
build feature. - #41 Added initial support for
async-io
for use withasync-std
andsmol
- Split
SocketOptions
trait out ofSocket
trait for use with async (breaking) - Added cargo build features for
tokio
orasync-io
. - Also created specific build features for
async-std
andsmol
which just bring in theasync-io
module and alias the module name toasync-std
orsmol
, 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
CanAddr
pulic and added functions to help interact with low-level sockaddr types. Sockets can now be opened with an address. - Can create an
Error
directly from aCanErrorFrame
orstd::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 CanErrorFrame
to 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
CanFrame
and/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
neli
v0.6 - Updates
nix
dependency 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