Skip to content

Releases: socketcan-rs/socketcan-rs

Version 3.3.0

27 Oct 11:53
Compare
Choose a tag to compare

CanFD support for Tokio

  • #53 Added CanFD support for tokio
  • Serialized tokio unit tests and put them behind the "vcan_tests" feature

Version 3.2.0

17 Oct 04:30
Compare
Choose a tag to compare

Expanded Netlink functionality to configure and query the CAN interface.

  • #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

12 Oct 13:50
Compare
Choose a tag to compare

Additional netlink implementation

  • 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

19 Sep 21:15
Compare
Choose a tag to compare

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 with async-std and smol
  • Split SocketOptions trait out of Socket trait for use with async (breaking)
  • Added cargo build features for tokio or async-io.
  • Also created specific build features for async-std and smol which just bring in the async-io module and alias the module name to async-std or smol, respectively, and build examples for each.

Version 2.1.0

19 Sep 19:41
Compare
Choose a tag to compare

Some usability improvements.

  • 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 a CanErrorFrame or std::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 a CanError.
  • Added Frame::from_raw_id() and Frame::remote_from_raw_id()
  • Bumped MSRV to 1.65.0

Version 2.0.0

06 Apr 13:15
Compare
Choose a tag to compare

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/or CanFdFrame
  • 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
  • #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
  • #16 Add CAN FD support
  • #24 Embedded HAL Traits
    • Plus some source refactoring into more coherent modules