Skip to content

Releases: stepfunc/dnp3

1.7.0-RC3

1.7.0-RC3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 Jul 21:49
0e64405
  • ⭐ Add unstable, non-spawning master and outstation task APIs behind the semver-exempt unstable feature, allowing applications to obtain runnable tasks/futures without the library calling tokio::spawn internally. See #433.
  • ⭐ Add EndpointList::into_connect_handler() and EndpointList::into_connect_handler_with_options() to build a ClientConnectionHandler from an endpoint list, e.g. for use with spawn_master_tcp_client_3. See #433.
  • 🔧 The no-spawn TCP outstation server APIs (Server::add_outstation_no_spawn and Server::bind_no_spawn) no longer attach a tracing span to the futures they return. This is intentional so that non-spawning callers retain full control over instrumentation. Rust callers that relied on the previous automatic dnp3-outstation-tcp / tcp-server spans should now wrap the returned future in their own span before spawning it. The prebuilt bindings (C/C++, .NET, Java) are unaffected. See #433.

1.7.0-RC2

1.7.0-RC2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Jul 19:43
bde57d3
  • ⭐ Add Database::discard_unselected_events() to drop undelivered events of selected classes on demand, e.g. from a disconnect handler. Returns per-class discard counts. Opt-in and lossy by design. See #427.
  • 🛡️ Update rustls-webpki to 0.103.13 to resolve RUSTSEC-2026-0098 and RUSTSEC-2026-0099, both concerning incorrect acceptance of X.509 name constraints. Exposure is limited to TLS configurations using CertificateMode::AuthorityBased; SelfSigned mode bypasses the affected code path.
  • 🔔 This update only affects the prebuilt binary distributions of the bindings (C/C++, .NET, Java). Rust consumers of the dnp3 crate pick up the patched rustls-webpki automatically on rebuild.

1.7.0-RC1

1.7.0-RC1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 14 Nov 00:12
553bc17
  • ⭐ Add outstation ConnectionManager with fine-grained connection control for TCP and TLS clients. See #381, #406.
    • New Rust API: spawn_outstation_tcp_client_2() and spawn_outstation_tls_client_2() functions with ClientConnectionHandler trait
    • New FFI API: outstation_create_tcp_client_with_handler() and outstation_create_tls_client_with_handler() functions
    • Provides dynamic endpoint selection, custom retry logic, connection lifecycle notifications, and DNS resolution handling
    • Per-connection master address override via ConnectionInfo::set_master_address() for failover scenarios
  • ⭐ Add DirectWriteAbsTime time sync procedure for non-conformant outstations. See #403.
    • Writes Group 50 Var 1 directly without delay measurement for outstations that don't properly implement IEEE-1815 time sync
  • ⭐ Add optional support for parsing and transmission of zero-length octet strings via global setting. See #379.
  • ⭐ Add optional support for AWS libcrypto (aws-lc-rs) as TLS backend. See #378.
  • ⭐ Make OctetString constructor public in Java bindings. See #402.
  • ⭐ Make HeaderInfo constructor public for mockability in tests. See #404.
  • 🛡️ Add security policy and automated supply chain scanning. See #394.
  • 🔧 Add quality gate to prevent releases when tests fail. See #393.
  • 🔧 Automate cargo publish to crates.io in CI release process. See #407.
  • 🔧 Better CLI examples with improved organization and documentation. See #375.
  • 🔧 Refactor release workflow into separate idempotent jobs for improved reliability.
  • 📖 Update TLS documentation to clarify empty string behavior for certificate passwords and improve grammar. See #389.

1.6.0

Choose a tag to compare

@github-actions github-actions released this 24 Jun 19:22
f94d087
  • ⭐ Add master station support for writing files to the outstation. See #338.
  • ⭐ Add master station support for command events (groups 13 and 43). See #332.
  • ⭐ Add master station support for group 102. See #335.
  • ⭐ Add master and outstation support for UDP. See #353.
  • ⭐ Add master station support for acting as a TCP server. See #358.
  • ⭐ Add ability to update flags and timestamp without knowing the current value. See #365.
  • ⭐ Obtain TCP port from server in Rust API. #331.

1.5.2

Choose a tag to compare

@github-actions github-actions released this 16 Jan 15:13
7f8bcf1
  • 🐛 Fix bug where the outstation would sleep before all unsolicited data was transmitted. See #341.

1.6.0-M1

1.6.0-M1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 06 Jan 16:39
  • ⭐ Add master station support for writing files to the outstation. See #338.
  • ⭐ Add master station support for command events (groups 13 and 43). See #332.
  • ⭐ Add master station support for group 102. See #335.
  • ⭐ See TCP port from server in Rust API. #335.

1.5.1

Choose a tag to compare

@github-actions github-actions released this 20 Dec 21:35
386339b
  • 🔧 Update to oo-bindgen 0.8.6 to improve Java native library loading. See oo-bindgen #124.
  • 🔔 This release only affects the Java distribution. It is equivalent to 1.5.0 for other distributions.

1.5.1-rc2

1.5.1-rc2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 Dec 15:58
dc18952
  • 🔧 Update to oo-bindgen 0.8.5 to improve Java native library loading. See oo-bindgen #124.

1.5.0

Choose a tag to compare

@github-actions github-actions released this 13 Sep 05:24
820f46d
  • ⭐ Add configuration option that allows outstation to respond to any master. See #316.
  • ⭐ Add optional serde support for public config types in Rust. See #303.
  • 🔧 Fix cmake download when building C/C++ examples. See #307.
  • 📖 Fix FFI docs for g12v1 and remove g12v0 and g41v0. See #308
  • 🐛 Fix master task scheduling CPU thrashing under certain conditions. See #312.
  • 🐛 Fix bug where AssociationInformation::task_fail was not properly being called for some tasks. See #313.
  • 🐛 Update rx509 to 0.2.1 to fix ASN.1 GeneralizedTime parsing. See RASN #2.

1.5.0-rc1

1.5.0-rc1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 15 Aug 22:58
047d478
  • ⭐ Add configuration option that allows outstation to respond to any master. See #316.
  • ⭐ Add optional serde support for public config types in Rust. See #303.
  • 🔧 Fix cmake download when building C/C++ examples. See #307.
  • 📖 Fix FFI docs for g12v1 and remove g12v0 and g41v0. See #308
  • 🐛 Fix master task scheduling CPU thrashing under certain conditions. See #312.
  • 🐛 Fix bug where AssociationInformation::task_fail was not properly being called for some tasks. See #313.