Reference
Release 1.0.14
Nidus 1.0.14 typed-configuration and lifecycle-startup allocation improvements.
Release 1.0.14
Nidus 1.0.14 is a public-API-compatible patch release focused on removing avoidable allocation and cloning from typed configuration reads and lifecycle startup.
Typed configuration reads
- Typed top-level, nested, and whole-document reads now deserialize directly
- Required nested reads resolve their path once rather than rebuilding the same
- Public method signatures, owned output types, error variants, and repeated
from the stored serde_json::Value instead of cloning the complete value first.
owned path inside a second lookup.
read behavior are unchanged. Focused tests prove that borrowed deserialization does not consume or mutate the stored configuration.
Two paired 150-sample Criterion comparisons, run in opposite execution orders against the exact 1.0.13 source commit, classified the 128-service configuration row as 86.04%-86.74% faster. These are isolated in-memory microbenchmarks, not application-throughput guarantees.
Lifecycle startup bookkeeping
- Sequential startup no longer allocates a vector containing every successful
- When hook
nfails, the existing sequential contract means hooks0..n - Expanded regression coverage preserves reverse-order shutdown for multiple
hook index solely for failure rollback.
completed; rollback now traverses that exact range in reverse.
successful hooks followed by a failure.
Two paired 150-sample Criterion comparisons, also run in opposite execution orders, classified the 32-hook startup row as 18.48%-21.65% faster. Hooks that perform substantial application work may see a much smaller relative effect.
Verification boundary
The release candidate is checked with workspace formatting, warnings-denied Clippy, all-feature tests, rustdoc warnings as errors, dependency policy and RustSec audits, semver checks for every publishable library, package file-list preflights, website verification, benchmark-harness compilation, and standalone external examples using temporary local patches.
After publication, verify all 25 registry artifacts, docs.rs pages, and the two standalone external examples against crates.io with:
bash scripts/verify-published-release.sh 1.0.14