Reference
Release 1.0.3
Nidus 1.0.3 release notes and proof boundaries.
Release 1.0.3
Nidus 1.0.3 is a production-DX patch release focused on app composition, production error behavior, guard ergonomics, observed jobs/events, and the generated starter.
Highlights
Nidus::create::<AppModule>().with_router(router).build().awaitandApiDefaults::production(...).apply(router)installs the NidusGuardContextnow includesheader_str,bearer_token, andapi_keynidus-jobsincludesjob_observer_channel,JobObserverChannel, andEventBus::observed(...),Observability::observed_event_bus::<T>(), andcargo nidus newnow generates asrc/lib.rsandsrc/main.rssplit,
build_with_router(router) attach manual Axum routers through the facade builder without requiring application code to import ApplicationHttpExt.
not_found_fallback by default, so unmatched routes return the production JSON error envelope with statusCode: 404, code: "not_found", request ID, path, timestamp, and default security headers.
helpers for common explicit auth guards.
ObservedJobEvent for off-thread job telemetry export.
Observability::job_runner() reduce observer boilerplate while keeping the existing explicit primitives available.
first-party TestApp HTTP tests, health/readiness coverage through ApiDefaults, and no explicit metrics disabling in the starter.
Deferred
SQLx migrations and schema setup remain application-owned. This release keeps nidus-sqlx focused on clean pool registration, health, and observability integration.
Verification
Before publishing, run:
cargo fmt --all --check
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test --workspace --all-features
cargo doc --workspace --all-features --no-deps
cargo test -p cargo-nidus --test cli_new -- --nocapture
bash scripts/package-publishable-crates.sh --list-only
After publishing, verify crates.io visibility and regenerate a starter from the published cargo-nidus package before creating the v1.0.3 tag.