All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.4.1 - 2026-03-09
- (ci) guard mlx5_ib removal in test workflow
- (rdmacm) use
or_insert_with()to avoid eagerDeviceContextcreation
- (deps) bump rdma-mummy-sys to 0.2.3
- (cmtime) remove unnecessary unwrap
0.4.0 - 2025-11-29
- (rdmacm) tie identifiers to Arc-based event channel
- (ibverbs) add unsafe accessors for raw ibv handles
- (ibverbs) wrap CompletionQueue in Arc
- (ibverbs) wrap DeviceContext, ProtectionDomain, MemoryRegion in Arc
0.3.2 - 2025-09-13
- (rdmacm) define error types for all RDMA CM methods
- (rdmacm) implement AsRawFd for EventChannel
- remove codecov upload token
- (ibverbs) add more tests for Device and DeviceList
- (rdmacm) add test for using event channel fd in a seperated thread
0.3.1 - 2025-08-16
- (ibverbs) add QueuePair::query for querying QP attributes
- (qp) support send_imm / write_imm and read opcode
- (ibverbs) add elided lifetime marks to make cargo clippy quiet
- add documentations on PD and MR
- add documentation for completion module
- add documentation for device module
- add documentation for device context module
- add documentation for address module
- add documentation for queue pair and access flags
- use variables directly in the
format!string
0.3.0 - 2025-06-15
- use unwrap_uncheck in data path functions
- (ibverbs) derive more attributes for GidType
- (address) derive Serdes for GidType
- (ibverbs) only provide unsafe interface for registering MR
- remove debug configuration type
- (ibverbs) improve Device and DeviceList implementation
- (qp) define CreateQueuePairError for create_qp
- (qp) change ModifyQueuePairError to struct to align the error handling logic
- (qp) define PostRecvError for post_recv
- (ibverbs) define error type for poll cq
- (ibverbs) define more error types for completion
- (ibverbs) return String instead of Option for device name
- rename Infiniband to InfiniBand which is more formal
- (cargo) bump thiserror to v2.0 and postcard to v1.1
- replace lazy_static with std::sync::LazyLock
- define more error types for DeviceContext
0.2.1 - 2025-02-09
- add more APIs for reading device attribute
- (device_context) use ibv_query_gid_ex/table without the prefix underscore
- (devinfo) refactor ibv_devinfo to mimic the original rdma-core implementation
- (rdmacm) correct module names and paths in comments
- (device) split guid as a unique type and use String for fw_ver
- provide description and license for release
- add FujiZ as one of the authors
- provide query_gid_table for convenient GID operations To keep compatibility, we would scan sysfs to get gid table when there is no ibv_query_gid_table symbol in libibverbs, just as what they do in the libibverbs original C implementation.
- implement trait for CQ A trait called CompletionQueue is introduced to interact with other modules in this crate; The original wrapper struct for ibv_cq and ibv_cq_ex are renamed to BasicCompletionQueue and ExtendedCompletionQueue, respectively.
- add setup method for each fields in grh
- add more attr for INIT -> RTR transition Note that the example will fail with current setup.
- implement modify on QueuePair Construct QueuePairAttribute using builder pattern and modify the QP through QueuePair::modify().
- add support for qp and qp_ex
- add create_comp_channel and create_cq_builder
- add support for cq and comp_channel
- implement generic builder for both cq and cq_ex
- implement comp_channel and associate its lifetime with cq
- an initial implementation of safe wrapper on rdmacm
- an initial implementation of safe wrapper on ibverbs
- fix modifying QP to RTR and add modify to RTS
- change rdma-mummy-sys to depend on release version Create a placeholder for changelog at the same time.
- use enum Mtu instead of u32 as parameter
- move comp_channel and cq to completion module
- 23 commits contributed to the release.
- 16 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
view details
- Uncategorized
- Provide description and license for release (
a807a1b) - Change rdma-mummy-sys to depend on release version (
31ba5f5) - Merge pull request #19 from RDMA-Rust/fz/author (
5cece9a) - Add FujiZ as one of the authors (
48c20c6) - Merge pull request #16 from RDMA-Rust/dev/query_gid_table (
75d76a1) - Fix modifying QP to RTR and add modify to RTS (
5112dd1) - Provide query_gid_table for convenient GID operations (
2b20ee9) - Merge pull request #15 from RDMA-Rust/dev/cq-trait (
1dd6999) - Implement trait for CQ (
cc4be2c) - Merge pull request #12 from RDMA-Rust/dev/modify-qp (
e2fe5cd) - Add setup method for each fields in grh (
70a9715) - Use enum Mtu instead of u32 as parameter (
a0d51bb) - Add more attr for INIT -> RTR transition (
b99cabe) - Implement modify on QueuePair (
138dc15) - Merge pull request #11 from RDMA-Rust/dev/qp (
ca4e2f3) - Add support for qp and qp_ex (
8ac2f35) - Merge pull request #10 from RDMA-Rust/dev/comp (
e3da584) - Add create_comp_channel and create_cq_builder (
873dabd) - Move comp_channel and cq to completion module (
19b3773) - Add support for cq and comp_channel (
bbcd507) - An initial implementation of safe wrapper on rdmacm (
d32bc83) - An initial implementation of safe wrapper on ibverbs (
7091540) - Initial commit (
d33fde1)
- Provide description and license for release (