Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Release Checklist

Steps for publishing 0.8.x.

Pre-release

  1. Confirm CHANGELOG.md, README.md, docs/ are in sync with current code.
  2. Confirm orion-error and orion-error-derive have matching versions.
  3. Run:
    • cargo fmt --all
    • cargo clippy --all-targets --all-features -- -D warnings
    • cargo test --all-features -- --test-threads=1
    • cargo test --doc --no-default-features
    • bash scripts/check-feature-matrix.sh
    • bash scripts/check-doc-code.sh
    • bash scripts/check-v3-policy.sh
  4. In a networked environment:
    • cargo package --manifest-path orion-error-derive/Cargo.toml
    • cargo package
    • cargo publish --manifest-path orion-error-derive/Cargo.toml --dry-run
    • cargo publish --dry-run

Pre-release Boundary Checks

  1. src/lib.rs root surface compile-fail doctests still pass.
  2. tests/test_layered_exports.rs, tests/test_versioned_namespaces.rs still cover current layered export boundaries.
  3. README / tutorial / reason identity guide code blocks match current source.
  4. New or migrated public surface: add tests / compile guards first, then update README / docs, then update changelog.

Publishing Order

  1. Publish orion-error-derive first.
  2. Wait for crates.io index propagation.
  3. Publish orion-error.

The GitHub Actions release workflow is already configured in this order.

Post-release

  1. Confirm both crates are visible on crates.io.
  2. Confirm the default derive feature correctly resolves orion-error-derive.
  3. Confirm docs.rs pages generate:
    • orion-error
    • orion-error-derive