Skip to content

Commit 5aa409f

Browse files
fastrevmd-labclaude
andcommitted
Bump rustnetconf to v0.12.1 + document v0.12.1 changes
Security/robustness patch: re-escape reconstructed XML, clear yanked aes dependency (russh 0.60->0.61), and warn on non-Unix state-file perms. rustnetconf 0.12.0->0.12.1, rustnetconf-cli 0.3.0->0.3.1. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent eba9e5e commit 5aa409f

4 files changed

Lines changed: 15 additions & 7 deletions

File tree

Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ resolver = "2"
44

55
[package]
66
name = "rustnetconf"
7-
version = "0.12.0"
7+
version = "0.12.1"
88
edition = "2021"
99
authors = ["fastrevmd-lab"]
1010
description = "An async-first NETCONF 1.0/1.1 client library for Rust"

README.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ A Rust network automation platform: async NETCONF client library, YANG code gene
1010

1111
Built on [tokio](https://tokio.rs), [russh](https://crates.io/crates/russh), and [rustls](https://crates.io/crates/rustls) — pure Rust, no OpenSSL, no libssh2.
1212

13-
> **Latest release — [v0.12.0](https://github.com/fastrevmd-lab/rustnetconf/releases/tag/v0.12.0)** (OpenSSH `known_hosts` host-key pinning).
14-
> Now on crates.io: `rustnetconf` 0.12.0 · `rustnetconf-cli` 0.3.0 · `rustnetconf-yang` 0.1.3.
15-
> See [What's New in v0.12.0](#whats-new-in-v0120) below for the `HostKeyVerification::KnownHosts` variant and `known_hosts_path` inventory key.
13+
> **Latest release — [v0.12.1](https://github.com/fastrevmd-lab/rustnetconf/releases/tag/v0.12.1)** (security/robustness patch).
14+
> Now on crates.io: `rustnetconf` 0.12.1 · `rustnetconf-cli` 0.3.1 · `rustnetconf-yang` 0.1.3.
15+
> See [What's New in v0.12.1](#whats-new-in-v0121) below for the XML re-escaping fix, cleared yanked dependency, and non-Unix state-file warning.
1616
1717
## Workspace
1818

@@ -22,6 +22,14 @@ Built on [tokio](https://tokio.rs), [russh](https://crates.io/crates/russh), and
2222
| **rustnetconf-yang** | YANG model code generation (compile-time config validation) |
2323
| **rustnetconf-cli** | Terraform-like CLI tool (`netconf` binary) |
2424

25+
## What's New in v0.12.1
26+
27+
Security and robustness patch for `rustnetconf` (0.12.1) and `rustnetconf-cli` (0.3.1). No API changes.
28+
29+
- **Well-formed reconstructed XML:** the RPC reply parser now re-escapes decoded entities (`&`, `<`, `>`) when reconstructing `<data>`, `error-info`, and Junos inner content. Previously `unescape()`-decoded text was re-emitted raw, which could yield malformed XML for device data containing special characters. Covered by new regression tests.
30+
- **Cleared yanked dependency:** bumped `russh` 0.60 → 0.61 and `aes` to 0.9.1, clearing the `cargo audit` yanked-crate warning (and reducing the dependency count).
31+
- **Non-Unix state-file safety:** on non-Unix platforms (no portable `chmod`), `netconf` now emits a warning that saved state snapshots are not guaranteed owner-only and documents the caveat, since snapshots may contain sensitive device config.
32+
2533
## What's New in rustnetconf-yang v0.1.3
2634

2735
Documentation-only patch release of the `rustnetconf-yang` crate (closes #30). No API or behavior changes.

rustnetconf-cli/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "rustnetconf-cli"
3-
version = "0.3.0"
3+
version = "0.3.1"
44
edition = "2021"
55
authors = ["fastrevmd-lab"]
66
description = "Terraform-like CLI for declarative NETCONF network config management"

0 commit comments

Comments
 (0)