Releases: stepfunc/rodbus
Releases · stepfunc/rodbus
Release list
1.5.0
- ⭐ Add non-spawning
create_tcp_client_task_with_options(),create_tls_client_task_with_options(), andcreate_rtu_client_task()that return aClientTaskfor the caller to spawn, enabling custom task instrumentation. See #180. - 🔒 Update
rustls-webpkito 0.103.13 to resolve RUSTSEC-2026-0098, RUSTSEC-2026-0099, and RUSTSEC-2026-0104. The two name-constraint advisories (0098, 0099) are theoretically reachable during TLS handshake but require certificate misissuance to exploit; the CRL panic (0104) is unreachable as Rodbus does not use CRLs. - ⭐ TCP client performance optimizations: ~33% fewer heap allocations and ~3.4% fewer instructions per request, including an iterative MBAP parser and
ExactSizeIteratorimpls for the response iterators. See #177. - 🐛 Fix a
ReadBuffershift condition that, in a rare buffer-full edge case, caused a spurious disconnect (no data corruption). See #177. - ⭐ Add configurable limit on consecutive client response timeouts. See #166.
- 🔧 Use aws-lc-rs crypto provider for TLS on most platforms. See #164.
- 🔧 Tunable connection logging to reduce verbosity during disrupted communication. See #163.
- ⭐ Add
spawn_tcp_client_task_with_options()with extensibleClientOptionsbuilder API. See #161. - 🐛 Fix bad default upper limit in retry strategy. See #158.
- 🔧 PartialEq and Debug consistently applied to public API. See #157.
- ⭐ Support serde on configuration types with new
serializationfeature. See #156. - 🔧 rodbus-client modernization with serial support and improved error handling. See #152.
1.4.0
- 🔧 Avoid task spawning in client FFI methods. See #136.
- 🔧 Requests in the client API now fail immediately while the client is connecting.
1.4.0-RC1
- 🔧 Avoid task spawning in client FFI methods. See #136.
- 🔧 Requests in the client API now fail immediately while the client is connecting.
1.4.0-M1
1.3.1
- 🐛 Fix issue with master channels not properly exiting and thrashing CPU. See #120.
1.3.0
- 🔧 Update to rustls 0.21 which allows peer names with IP addresses in the SAN extension.
- 🔧 Move common TLS configuration to its own crate shared with our Modbus library.
- ⭐ PEM parser now supports extracting PKCS#1 private keys, i.e. PEM files with
BEGIN RSA PRIVATE KEY. - 📖 Documentation improvements in the bindings via oo-bindgen 0.8.3.
1.3.0-rc1
- 🔧 Update to rustls 0.21.0 which allows peer names with IP addresses in the SAN extension.
- 🔧 Move common TLS configuration to its own crate shared with our Modbus library.
- ⭐ PEM parser now supports extracting PKCS#1 private keys, i.e. PEM files with
BEGIN RSA PRIVATE KEY. - 📖 Documentation improvements in the bindings via oo-bindgen 0.8.3.
1.2.0
- ⭐ Add a mechanism to the bindings to shut down the Runtime with a timeout. See #110.
1.2.0-rc1
1.1.0
- ⭐ Enable TCP_NODELAY for client and server sockets. See #99.
- ⭐ Enable full link-time optimization (LTO) in release builds. See #103.
- ⭐ Add support for 3 MUSL Linux targets to C/C++ and .NET. See #104.
- ⭐ Use only dependencies from crates.io allowing first release there. See #106.
- ⭐ Internal refactoring to promote code reuse with DNP3. See: #100, #101, #102.