Releases: PrazwalR/Apiforge
Releases · PrazwalR/Apiforge
Apiforge v0.4.0
[0.4.0] - 2026-06-10
Added
- SSM secret resolution:
${ssm:/path/to/param}references in secret-bearing config fields (GitHub token, notification URLs/headers/bodies, health-check URL) resolve from AWS SSM Parameter Store with decryption at release time. No AWS credentials needed when unused or in--dry-run. - CloudFront invalidation step: new optional
[cloudfront]config (distribution_id,pathsdefaulting to/*) adds acloudfront-invalidatestep after the Kubernetes rollout;--skip-cloudfrontflag to bypass. aws-sdk-ssmandaws-sdk-cloudfrontdependencies now power real features instead of being unused.
Apiforge v0.3.0
[0.3.0] - 2026-06-10
Added
apiforge rollbackauto-detects the rollback target when--tois omitted: newest version older than the currently deployed image tag, sourced from successful audit-history releases with semver git tags as fallback.rollbacknow verifies the configured health check after the rollout and supports--yesto skip the confirmation prompt.- Live terminal spinners for pipeline steps with streaming progress from Docker build/push, Kubernetes rollout (replica counts), and health-check attempts. Renders only on interactive terminals; CI/piped output keeps the plain line format, and JSON output on stdout stays clean.
apiforge initadds.apiforge/to.gitignore.
Fixed
- Apiforge's own
.apiforge/state directory no longer trips therequire_cleanpreflight check (first release's audit write used to block every subsequent release). release --output jsonnow emits only the JSON document on stdout; the release plan and step progress go to stderr, so output can be piped straight intojq/CI parsers.${VAR}environment variable references inapiforge.toml(GitHub token/repository, Slack/webhook notification fields, health-check URL) are now resolved at config load; missing variables fail fast naming the variable.- Notifications now use the Slack and generic webhook notification steps, fire on both success and failure (honoring
notify_on), and sanitize error text. Previously only an inline Slack-only success path existed. - Audit records now capture the real outcome: per-step name/status/duration, total duration, and
success/failed/rolled_backstatus. Failed releases are recorded, sohistory --filter failedworks (and includes rolled-back releases). --dry-runno longer writes audit records or creates.apiforge/(dry-runs are side-effect free).- Removed double Kubernetes rollback: only
k8s-updatereverts the deployment revision;k8s-rolloutrollback is a no-op, preventing an over-rollback to two revisions back. k8s-rolloutno longer divides by zero when a deployment is scaled to 0 replicas.git-commitonly stagesCHANGELOG.mdwhen the changelog step actually ran, fixing failures with--no-changelogor missing changelog files.- Changelog generation inserts new sections before existing release sections (header/description stay on top) and includes full history on the first release instead of an empty section.
historyapplies status filters before the--limit, and no longer creates the audit directory just to read it.release --output jsonnow includes step names, textual statuses,rolled_back, anderrorfields.[github].create_release = falseis now honored (release step is skipped).- Fixed potential panic when truncating multi-byte webhook URLs in
config validateoutput. - Release workflow action versions aligned with CI (checkout@v6, upload-artifact@v7, download-artifact@v8).
- CONTRIBUTING.md MSRV corrected to Rust 1.91.1.
Apiforge v0.2.6
[0.2.6] - 2026-05-21
Fixed
- rustfmt formatting across dry-run previews and config validation output.
- README MSRV badge and prerequisite text aligned to Rust 1.91.1+.
- cargo-audit config updated to ignore RUSTSEC-2026-0104 (transitive rustls-webpki CRL parsing panic).
Apiforge v0.2.5
CI/Docs Stabilization Release (May 21, 2026)
🔧 What's New
- CI Actions Updated: checkout@v6, upload-artifact@v7, download-artifact@v8
- MSRV Updated: Rust 1.91.1 minimum (from 1.70.0)
- Security Audit: Hardened with documented advisory ignores
- Documentation: Comprehensive README with all features
📦 Installation
cargo install apiforge@0.2.5🔗 Links
- Crates.io: https://crates.io/crates/apiforge/0.2.5
- GitHub: https://github.com/PrazwalR/Apiforge/releases/tag/v0.2.5
✅ Quality
- 61/61 unit tests passing
- Clippy clean
- cargo audit passing with documented ignores
Apiforge v0.2.4
[0.2.4] - 2026-04-12
Fixed
- Release workflow now targets
macos-15-intelforx86_64-apple-darwinso the amd64 macOS artifact builds on a native Intel runner. - Prevents x86_64 macOS link failures caused by building that target on arm64-hosted
macos-latest.