diff --git a/CHANGELOG.md b/CHANGELOG.md index b21edd4b..2de3c31e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,9 @@ +### 1.7.0-RC3 ### +* :star: 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](https://github.com/stepfunc/dnp3/pull/433). +* :star: 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](https://github.com/stepfunc/dnp3/pull/433). +* :wrench: 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](https://github.com/stepfunc/dnp3/pull/433). + ### 1.7.0-RC2 ### * :star: 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](https://github.com/stepfunc/dnp3/issues/427). * :shield: Update `rustls-webpki` to 0.103.13 to resolve [RUSTSEC-2026-0098](https://rustsec.org/advisories/RUSTSEC-2026-0098) and [RUSTSEC-2026-0099](https://rustsec.org/advisories/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. diff --git a/Cargo.lock b/Cargo.lock index dbbce8e0..75296a35 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -391,7 +391,7 @@ dependencies = [ [[package]] name = "dnp3" -version = "1.7.0-RC2" +version = "1.7.0-RC3" dependencies = [ "assert_matches", "chrono", @@ -409,7 +409,7 @@ dependencies = [ [[package]] name = "dnp3-bindings" -version = "1.7.0-RC2" +version = "1.7.0-RC3" dependencies = [ "dnp3-schema", "oo-bindgen", @@ -428,7 +428,7 @@ dependencies = [ [[package]] name = "dnp3-ffi" -version = "1.7.0-RC2" +version = "1.7.0-RC3" dependencies = [ "dnp3", "dnp3-schema", @@ -446,7 +446,7 @@ dependencies = [ [[package]] name = "dnp3-ffi-java" -version = "1.7.0-RC2" +version = "1.7.0-RC3" dependencies = [ "dnp3-ffi", "dnp3-schema", @@ -456,7 +456,7 @@ dependencies = [ [[package]] name = "dnp3-schema" -version = "1.7.0-RC2" +version = "1.7.0-RC3" dependencies = [ "oo-bindgen", "sfio-tokio-ffi", diff --git a/conformance/pom.xml b/conformance/pom.xml index bccca688..3995d2ca 100644 --- a/conformance/pom.xml +++ b/conformance/pom.xml @@ -11,7 +11,7 @@ UTF-8 2.13.4 - 1.7.0-RC2 + 1.7.0-RC3 0.1.0-SNAPSHOT 4.4.0 diff --git a/dnp3/Cargo.toml b/dnp3/Cargo.toml index a29b85a6..3740b70d 100644 --- a/dnp3/Cargo.toml +++ b/dnp3/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "dnp3" -version = "1.7.0-RC2" +version = "1.7.0-RC3" authors = ["Step Function I/O LLC "] description = "Rust implementation of DNP3 (IEEE 1815) with idiomatic bindings for C, C++, .NET, and Java" diff --git a/dnp3/codegen/pom.xml b/dnp3/codegen/pom.xml index 589fc9a1..cf47cd66 100644 --- a/dnp3/codegen/pom.xml +++ b/dnp3/codegen/pom.xml @@ -4,7 +4,7 @@ dev.gridio.dnp3 dnp3-model - 1.7.0-RC2 + 1.7.0-RC3 jar dnp3-rs model diff --git a/ffi/bindings/c/CMakeLists.txt b/ffi/bindings/c/CMakeLists.txt index fcf09348..a192bb29 100644 --- a/ffi/bindings/c/CMakeLists.txt +++ b/ffi/bindings/c/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.12) project(dnp3_c LANGUAGES C CXX) -set(DNP3_BACKUP_VERSION 1.7.0-RC2) +set(DNP3_BACKUP_VERSION 1.7.0-RC3) # Determine the architecture if(WIN32 AND CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64|AMD64" AND CMAKE_SIZEOF_VOID_P EQUAL 8) diff --git a/ffi/bindings/dotnet/examples/master/Master.csproj b/ffi/bindings/dotnet/examples/master/Master.csproj index caf398d8..1c83bf5a 100644 --- a/ffi/bindings/dotnet/examples/master/Master.csproj +++ b/ffi/bindings/dotnet/examples/master/Master.csproj @@ -13,7 +13,7 @@ - + diff --git a/ffi/bindings/dotnet/examples/outstation/Outstation.csproj b/ffi/bindings/dotnet/examples/outstation/Outstation.csproj index b56ac247..acbbd998 100644 --- a/ffi/bindings/dotnet/examples/outstation/Outstation.csproj +++ b/ffi/bindings/dotnet/examples/outstation/Outstation.csproj @@ -13,7 +13,7 @@ - + diff --git a/ffi/bindings/java/examples/pom.xml b/ffi/bindings/java/examples/pom.xml index 4db0483d..f2e15869 100644 --- a/ffi/bindings/java/examples/pom.xml +++ b/ffi/bindings/java/examples/pom.xml @@ -4,7 +4,7 @@ io.stepfunc.dnp3 examples - 1.7.0-RC2 + 1.7.0-RC3 1.8 @@ -16,7 +16,7 @@ io.stepfunc dnp3 - 1.7.0-RC2 + 1.7.0-RC3 diff --git a/ffi/bindings/java/pom.xml b/ffi/bindings/java/pom.xml index 7b822a66..9f5bccb7 100644 --- a/ffi/bindings/java/pom.xml +++ b/ffi/bindings/java/pom.xml @@ -4,7 +4,7 @@ io.stepfunc dnp3-parent - 1.7.0-RC2 + 1.7.0-RC3 pom diff --git a/ffi/dnp3-bindings/Cargo.toml b/ffi/dnp3-bindings/Cargo.toml index 02fb622c..a8c4ddc1 100644 --- a/ffi/dnp3-bindings/Cargo.toml +++ b/ffi/dnp3-bindings/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dnp3-bindings" -version = "1.7.0-RC2" +version = "1.7.0-RC3" # inherit from workspace rust-version.workspace = true diff --git a/ffi/dnp3-ffi-java/Cargo.toml b/ffi/dnp3-ffi-java/Cargo.toml index 9e971c55..c0a02800 100644 --- a/ffi/dnp3-ffi-java/Cargo.toml +++ b/ffi/dnp3-ffi-java/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dnp3-ffi-java" -version = "1.7.0-RC2" +version = "1.7.0-RC3" build = "build.rs" # inherit from workspace diff --git a/ffi/dnp3-ffi/Cargo.toml b/ffi/dnp3-ffi/Cargo.toml index a47e3676..2cd035f0 100644 --- a/ffi/dnp3-ffi/Cargo.toml +++ b/ffi/dnp3-ffi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dnp3-ffi" -version = "1.7.0-RC2" +version = "1.7.0-RC3" # inherit from workspace rust-version.workspace = true diff --git a/ffi/dnp3-schema/Cargo.toml b/ffi/dnp3-schema/Cargo.toml index e6b83b7c..d74141b8 100644 --- a/ffi/dnp3-schema/Cargo.toml +++ b/ffi/dnp3-schema/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "dnp3-schema" # this version is what gets applied to the FFI libraries -version = "1.7.0-RC2" +version = "1.7.0-RC3" # inherit from workspace rust-version.workspace = true diff --git a/guide/sitedata.json b/guide/sitedata.json index be1a15f2..d515ff14 100644 --- a/guide/sitedata.json +++ b/guide/sitedata.json @@ -1,4 +1,4 @@ { - "version": "1.7.0-RC2", + "version": "1.7.0-RC3", "github_url": "https://github.com/stepfunc/dnp3" } \ No newline at end of file