v0.1.0 release boundary
This page is the release-candidate boundary for v0.1.0. It describes what should become stable when the tag is cut; it is not evidence that the tag has already shipped.
v0.1.0 is scoped to the spec-aligned core plus the operator tooling needed to build, run, and verify that core. Extension and research work stays available in the workspace, but does not inherit the same stability promise unless called out below.
Stability promise
| Scope | v0.1.0 status | Promise |
|---|---|---|
spec | In release boundary | Wire behavior and public APIs should follow the cited NDN specs and remain SemVer-stable across v0.1.x. |
tooling | In release boundary where it supports the core | CLIs keep sensible exit codes, help text, and machine-readable output stable across v0.1.x. |
extension | Out of stable boundary by default | Useful engineering surfaces; may change while the core settles. |
draft / research | Out of stable boundary | Exploratory code. Buildable does not mean stable. |
Candidate contents
Develop tier
For application authors. The stable promise is the umbrella crate
ndn-rs-prelude with library name ndn:
Consumer::fetchandConsumer::fetch_object.Producer::publish_objectandResponder.Subscriberas a read-only multi-publisher stream.KeyChain,SigningInfo, and the packet/name builders needed by ordinary applications.IpcConnectionfor an external forwarder andInProcConnectionfor embedded-engine tests.
Extend tier
For protocol, strategy, and face authors:
Strategywithregister_strategy!and scheduled events.RoutingProtocol/RoutingHandlewith typed status.Transport + LinkService = Face, including the NDNLPv2LpLinkService.DiscoveryProtocol,MgmtModule,NotificationStream,TrustPolicy,ValidationPolicy,Signer, andVerifier.
Instrument tier
For researchers and measurement tooling. The tier is opt-in via
experimental-instrument and intentionally looser than Develop or
Extend:
- Engine table accessors for FIB, RIB, PIT, CS, strategy table, measurements, routing, and discovery context.
TapFace,CallbackFace, and custom in-process face kinds.ContextEnricherand tracing target taxonomy.
Forwarder and core tooling
ndn-fwdstandalone forwarder.ndn-toolsbinaries:ndn-peek,ndn-put,ndn-ping,ndn-sec,ndn-ctl,ndn-traffic, andndn-iperf.enroll-ndncertfor enrollment flows.ndn-bench,ndn-otel-bridge, and the audit/testbed scripts as operator and verification tooling.
Out of stable boundary
These areas may be built, documented, or demoed in the repository, but should not be treated as v0.1-stable unless promoted by a later release note:
- Browser and SharedWorker engine topology, WebRTC/WebBLE, and browser-specific persistence.
- Embedded/mobile/FFI surfaces.
- In-network compute, network coding, CCLF, ABE, simulation, and research substrates.
- Dashboard UX and TrustContext/onboarding flows currently under active development.
Release blockers
The release-audit and interop blockers have been cleared in the 2026-05-28 readiness pass:
- The tracker-driven audit harness
RESULTS_DIR=/private/tmp/ndn-audit-results bash testbed/tests/audit/run_all.shreported 54 PASS / 0 FAIL / 0 SKIP, with 0 divergences. Transcript:testbed/tests/audit/transcripts/release_audit_run_all_after.txt. - The cross-implementation interop harness from the
interopimage reported 8 passed, 0 failed, 0 skipped. - The release docs and
testbed/EXPECTED_FAILURES.mdnow agree on the closed blocker set.
Remaining pre-tag checks are the normal repository-wide verification floor below, plus any maintainer review needed for the already-dirty worktree.
Recently closed blockers:
A.15KeyLocator rules now passa15_keylocator_rules.sh.C.09SafeBag portability now passes against referencendnsec.C.12management command signing and fresh dataset reads now pass Rust and Docker NFD witnesses.C.13NDNCERT enrollment now passes the live upstream CA witness.D.02/localhopscope now passes remote-drop/local-Unix-accept live interop; the witness waits for the local producer route before fetching.E.04management datasets now pass version/segment/FinalBlockId live interop with retry for dataset availability.G.03,G.04, andG.06now pass PSync, NLSR, and AutoConfig live interop witnesses.N.05Nack without reason now passesn05_nack_no_reason.sh.N.02andN.09now include live UDP shared-medium witnesses.- The interop image now fails its build if
ndnpeek,ndnpoke,ndncat, or the ndn-rs peer tools are absent.
Verification floor
Before tagging, run at least:
cargo build
cargo clippy -- -D warnings
mdbook build docs/wiki
Run scoped tests or audit witnesses for the crates touched by release blocker fixes. A full workspace test run is intentionally not the default development loop for this repository.
Post-v0.1 candidates
- Develop-tier publish into a sync group.
- Custom ContentStore example and non-default implementation witness.
- Structured packet-trace export for
TapFace. - Promotion criteria for selected extension crates once their APIs and threat models settle.