Release
This checklist is for maintainers preparing a Reforge release.
Pre-Release Checks
Confirm the crate metadata in Cargo.toml:
versionrust-versiondescriptionlicensereadmerepositoryhomepagedocumentationkeywordscategories
Run validation:
cargo fmt --check
cargo test
cargo clippy --all-targets --all-features
cargo run -- scan . --output json --progress never --churn off
Review the generated JSON for unexpected schema or detector changes.
Schema Review
If serialized report shape changed:
- Increment
SCAN_REPORT_SCHEMA_VERSIONinsrc/model/mod.rs. - Update
docs/report-schema.md. - Update README references to the schema version.
- Add or update output tests.
If only detector behavior or scoring changed without report shape changes, do not increment the schema version solely for ranking changes unless consumers need a compatibility boundary.
Documentation Review
Before tagging, check:
README.mdquick start still works.docs/user-guide.mdincludes all current CLI flags.docs/configuration.mdmatches config keys inscan/mod.rs.docs/report-schema.mdmatches the serializedScanReportmodel.docs/detectors.mdlists currentFindingKindvalues and detector families.
Packaging
Build a release binary:
cargo build --release
Install locally from the release candidate:
cargo install --path .
reforge scan . --progress never
Release Notes
Release notes should include:
- New detector or CLI capabilities.
- Changed thresholds, scoring, output, or schema.
- Bug fixes that affect scan results.
- Any compatibility notes for JSON/YAML consumers.