Skip to content

Releases: PrazwalR/Apiforge

Apiforge v0.4.0

10 Jun 23:57
66763d0

Choose a tag to compare

[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, paths defaulting to /*) adds a cloudfront-invalidate step after the Kubernetes rollout; --skip-cloudfront flag to bypass.
  • aws-sdk-ssm and aws-sdk-cloudfront dependencies now power real features instead of being unused.

Apiforge v0.3.0

10 Jun 23:40
f1c109b

Choose a tag to compare

[0.3.0] - 2026-06-10

Added

  • apiforge rollback auto-detects the rollback target when --to is omitted: newest version older than the currently deployed image tag, sourced from successful audit-history releases with semver git tags as fallback.
  • rollback now verifies the configured health check after the rollout and supports --yes to 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 init adds .apiforge/ to .gitignore.

Fixed

  • Apiforge's own .apiforge/ state directory no longer trips the require_clean preflight check (first release's audit write used to block every subsequent release).
  • release --output json now emits only the JSON document on stdout; the release plan and step progress go to stderr, so output can be piped straight into jq/CI parsers.
  • ${VAR} environment variable references in apiforge.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_back status. Failed releases are recorded, so history --filter failed works (and includes rolled-back releases).
  • --dry-run no longer writes audit records or creates .apiforge/ (dry-runs are side-effect free).
  • Removed double Kubernetes rollback: only k8s-update reverts the deployment revision; k8s-rollout rollback is a no-op, preventing an over-rollback to two revisions back.
  • k8s-rollout no longer divides by zero when a deployment is scaled to 0 replicas.
  • git-commit only stages CHANGELOG.md when the changelog step actually ran, fixing failures with --no-changelog or 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.
  • history applies status filters before the --limit, and no longer creates the audit directory just to read it.
  • release --output json now includes step names, textual statuses, rolled_back, and error fields.
  • [github].create_release = false is now honored (release step is skipped).
  • Fixed potential panic when truncating multi-byte webhook URLs in config validate output.
  • 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

21 May 15:38
8cca0d0

Choose a tag to compare

[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

21 May 04:09
1b4f486

Choose a tag to compare

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

✅ Quality

  • 61/61 unit tests passing
  • Clippy clean
  • cargo audit passing with documented ignores

Apiforge v0.2.4

12 Apr 13:07
3c9c358

Choose a tag to compare

[0.2.4] - 2026-04-12

Fixed

  • Release workflow now targets macos-15-intel for x86_64-apple-darwin so 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.