- 🔧 Avoid task spawning in client FFI methods. See #136.
- 🔧 Requests in the client API now fail immediately while the client is connecting.
- 🐛 Fix issue with master channels not properly exiting and thrashing CPU. See #120.
- 🔧 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.
- ⭐ Add a mechanism to the bindings to shut down the Runtime with a timeout. See #110.
- ⭐ 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.
- ⭐ Add Modbus Security (TLS) support. See #52.
- ⭐ Add RTU support. See #56.
- ⭐ Dynamic protocol decoding. See #61.
- ⭐ Resolve host names on client. See #68.
- ⭐ Add communication channel state callbacks. See #77.
- ⭐ TCP/TLS server can now filter incoming connections based on IP. See #87.
- 🐛 Properly reset TCP connection retry timeout on success. See #82.
- Client callbacks are now not blocking. See #53.
- 🐛 Fix leak of
tracing::Span
in bindings. See #53. - ⭐ Add Linux AArch64 support in Java and .NET. See #51.
- 🎉 First official release