What's new in v0.7.0
Changelog
Features
- 189db08 add stage-appimage crate (AppDir + linuxdeploy + harvest) (TJ Smith)
- bbd58fd wire AppImageStage into the pipeline + docs (TJ Smith)
- 95b00f9 SLSA build-provenance for binaries + archives (TJ Smith)
- a8f98fb add builder: prebuilt for imported binaries (TJ Smith)
- aa11201 close B17 single-target build audit gaps (TJ Smith)
- 2bb4266 make tag/bump changelog refresh opt-in via --changelog (TJ Smith)
- c304c0e close B15 advanced + B16 preview audit gaps (TJ Smith)
- dfa53d6 exclude version-sync bump commits from notes by default (TJ Smith)
- a2489a7 route tag/bump changelog to root vs per-crate destination (TJ Smith)
- bc670fd unify changelog into refresh/notes/json command (TJ Smith)
- c8342c5 wire AI release-note enhancement end-to-end (TJ Smith)
- 4d819db add
check version-filesdrift guard (TJ Smith) - f937cae publish coverage badge from master CI runs (TJ Smith)
- 70a3241 add --preflight, --no-preflight, --strict-preflight flags (TJ Smith)
- 1ffda6f add --resume-release and --replace-existing release-stage overrides (TJ Smith)
- 0152834 add resolve-tag subcommand for monorepo tag→crate mapping (TJ Smith)
- 41b9b6f close B24 release workflow separation audit gaps (TJ Smith)
- 13e9fbb config loading, pipeline assembly, and command stubs (TJ Smith)
- 15bb0ed init, check commands, change detection, hooks, colored output (TJ Smith)
- 96b24d8 wire token type resolution from config/env into Context (TJ Smith)
- b28f64f anodize check determinism harness (TJ Smith)
- 2a131ba restructure anodize check + add core::git::worktree (TJ Smith)
- d5c7fdf add release-resilience flags (--no-gate-submitter, --rollback, --simulate-failure, --rollback-only, --from-run, --allow-nondeterministic, --summary-json) (TJ Smith)
- 1d9a13e exit non-zero when required publishers fail (TJ Smith)
- 08c8a36 WAVE 2 — defaults system foundation (path-mirror inheritance) (TJ Smith)
- 19c4d2e WAVE 3 — cargo publisher rename + flag expansion (DEC-1/10, ITEM-3, FOLL-1) (TJ Smith)
- bf5fb68 accept GR back-compat archive/snapshot/build aliases (F3) (TJ Smith)
- 10af9cf conditional if: across publishers, hooks, announcers, archives, blob (TJ Smith)
- 1868af6 deprecate publish.homebrew (Formula) — migrate to homebrew_casks (TJ Smith)
- d0aff91 deprecation aliases for v2.12.6-v2.15.3 GR renames (TJ Smith)
- 578c7c5 derive publisher metadata from Cargo.toml [package] (TJ Smith)
- 42eb1ff recursive includes, strict template_vars, meta_ propagation, after.hooks alias (TJ Smith)
- aeba670 reject GR V1 dockers: block with migration error (M3) (TJ Smith)
- 6161409 rename docker_v2 -> dockers_v2 for GoReleaser parity (TJ Smith)
- d37419c validate archives/universal_binaries id uniqueness (Q-arch2) (TJ Smith)
- 1d42574 warn on legacy disable: alias; rename to skip: (TJ Smith)
- 7de69a4 warn when required: true set on Submitter publishers (TJ Smith)
- 891c4a9 wire defaults.env into per-crate env resolution (TJ Smith)
- 4c6d86c Session L — config defaults, ANODIZE_FORCE_TOKEN, announce provider parity (TJ Smith)
- b60e737 wire brontes path-dep for dogfooding (TJ Smith)
- 40e55b9 --inject-drift test hook + --allow-nondeterministic end-to-end wiring (TJ Smith)
- 684f465 --preserve-dist= copies run-0 dist + context.json (TJ Smith)
- fe5aa28 auto-detect tag commits + project-version-aware hint (TJ Smith)
- 5f6a49c run sign hermetically with ephemeral cosign + GPG keys (TJ Smith)
- 9e6f452 close B21 podman support audit gaps (TJ Smith)
- f61e0a4 publish anodizer's MCP server entry (TJ Smith)
- ae7718b add GoReleaser env list form and env_files structured token files (TJ Smith)
- 2335dae implement gemfury publisher (B8 net-new) + furies alias (TJ Smith)
- 91527e8 wire GitConfig fields to tag discovery behavior (TJ Smith)
- 6e02c24 docker BuildKit reproducibility stage (TJ Smith)
- 8ae3fa5 installer-tool determinism sweep (D3) (TJ Smith)
- ea1adb6 add --version-files enrollment flow (TJ Smith)
- 3dec67d self-contained version updates via krew-release-bot webhook (TJ Smith)
- a96cf29 Session M — missing stages, milestones, cross-cutting parity (TJ Smith)
- 1e3c830 wire brontes as anodizer MCP server (TJ Smith)
- 7842752 pre-flight repo resolution at validate time (TJ Smith)
- 84b00fb close GR parity gaps (extra_files dir, hook scoping, format:binary) (TJ Smith)
- 959fbdc add publish_repo + retention.keep_last config knobs (TJ Smith)
- e261bec add stateless NightlyBuild + Base template vars (TJ Smith)
- c49c879 unified logger, CI section grouping, Cargo-style theming (TJ Smith)
- a1ece19 generate per-crate README.md so crates.io renders pages (TJ Smith)
- f9ec8d5 GoReleaser v2.16 A3 deltas — nightly tag_name templates + srpm Format/Ext parity (TJ Smith)
- c61640a remove npm publisher — Node-only, not for a Rust release tool (TJ Smith)
- 0b0f2ad aursources install field, snapcraft command default, cask manpage shim (TJ Smith)
- d1b2920 close B7/B9/B10/B11/B13 audit gaps (TJ Smith)
- 11a10b2 add changelog + announce to publish-only pipeline (TJ Smith)
- 9c13daf per-crate dist subdir layout for workspace release (TJ Smith)
- 7389b93 runtime SHA256 verify of preserved-dist before re-sign (TJ Smith)
- 52a04d7 --publish-only loads preserved dist + re-signs with prod keys (TJ Smith)
- a33249f add --host-targets for host-scoped real prepush builds (TJ Smith)
- bc35263 close B18 split/merge audit gaps (TJ Smith)
- b314c59 close B22 nightly builds audit gaps (TJ Smith)
- 3ee4886 eliminate redundant build job via --publish-only (TJ Smith)
- 86f50ab fail loud when a binary-requiring crate produces no binary (TJ Smith)
- d27aea1 guard templates before any irreversible publisher fires (TJ Smith)
- a94ab91 per-artifact iteration + ids/artifacts filters for before_publish (TJ Smith)
- 2e55c3f pre-publishing hooks (B12 net-new) (TJ Smith)
- ae73269 validate anodize-only emissions in snapshot + auto-derive binstall metadata (TJ Smith)
- c343841 inject buildx-version probe through DockerStage for test seam (TJ Smith)
- 7c8cd03 implement --rollback-only --from-run replay (TJ Smith)
- 376a762 poll chocolatey moderation + winget PR validation after publish (TJ Smith)
- a5f7e3d swap PublishStage to Result + Submitter gate (TJ Smith)
- 7911326 check rollback token scopes (TJ Smith)
- c649b3e probe gpg --faked-system-time at pipeline start (TJ Smith)
- 88e401d add --push flag family to push the bump commit atomically (TJ Smith)
- 3a27f92 add tag rollback subcommand + fix all 596e1a3 review findings (TJ Smith)
- 617e851 default default_bump to none; document bump precedence (TJ Smith)
- 7d2315b make bump-commit [skip ci] opt-in via skip_ci_on_bump (TJ Smith)
- 7735448 per-crate workspace-aware tag + release tags-at-HEAD default (TJ Smith)
- dfbc248 pre-1.0 bump demotion (bump_minor_pre_major / bump_patch_for_minor_pre_major) (TJ Smith)
- d6f0b9b refresh CHANGELOG.md on tag across all 3 config modes (TJ Smith)
- 713b1f6 rewrite enrolled version_files in the bump commit (TJ Smith)
- 2d3d0da scope change detection to crate path for monorepo workspaces (TJ Smith)
- c1de526 version_sync Cargo.toml before tagging #none (TJ Smith)
- a691cb2 add 8 Pro template variables for GoReleaser parity (TJ Smith)
- 9e3e8ea add ArtifactExt, Target, Checksums, Outputs template variables (TJ Smith)
- 0f0a384 add custom template variables (.Var.*) for user-defined values (TJ Smith)
- 4e5187d add template_files config section and rendering stage (TJ Smith)
- a37e23d wire stage as final pipeline step + skip + docs (TJ Smith)
- 0c7d61d GoReleaser parity — Session 6 gap closures + specs (TJ Smith)
- e41e6be README, config reference, GitHub Action, integration tests, dotfile config default (TJ Smith)
- 1b9bee4 Session 5.5 observability + deep audit fixes across entire codebase (TJ Smith)
- 19801c9 SkipMemento wiring + BinarySignStage + anodize build parity #none (TJ Smith)
- 571de80 add --config / -f global flag to specify config file path (TJ Smith)
- d711d39 add --nightly flag for automated rolling releases (TJ Smith)
- 9e4cde8 add --timeout flag to release and build commands (TJ Smith)
- afa159e add --workspace flag to build and check commands (TJ Smith)
- 843fdb6 add E2E test infrastructure for integration testing (TJ Smith)
- 10a9988 add UPX binary compression stage (TJ Smith)
- 10388fb add
anodize tagcommand for auto-tagging based on commit directives (TJ Smith) - ec6ad18 add cloud storage upload (S3/GCS/Azure) and split/merge CI fan-out (TJ Smith)
- bdd2322 add completion, healthcheck commands and new CLI flags for release/build (TJ Smith)
- e39f142 add config includes with deep merge support (TJ Smith)
- 68e4930 add custom publishers for generic post-release artifact publishing (TJ Smith)
- 6d8b2ad add filters.include, abbrev, and use: github-native to changelog config (TJ Smith)
- 20fd04a add jsonschema command, env_files, config versioning, build ignore/overrides (TJ Smith)
- 01030a6 add make_latest, changelog header/footer, and disable fields to config (TJ Smith)
- a192a15 add monorepo workspace support for independent project roots (TJ Smith)
- af16415 add platform-specific packaging stages — snapcraft, dmg, msi, pkg (TJ Smith)
- 30d4392 add report_sizes, metadata.json output, and env config fields (TJ Smith)
- 191b5c2 add sha1, sha224, sha384, blake2b, blake2s algorithms and extra_files/ids to checksum stage (TJ Smith)
- 26a9e35 add shared test helpers module and mock GitHub client trait (TJ Smith)
- 468c266 add source archive and SBOM generation stage (TJ Smith)
- 9876572 anodize bump --commit bundles changelog + --strict version-pin gate #none (TJ Smith)
- 2925006 auto-detect GitHub owner/name from git remote when release.github is omitted (TJ Smith)
- cc098a9 complete Phase 1 parity tasks 1-9 (1,736 tests pass) (TJ Smith)
- 1267439 comprehensive --strict mode across all stages (TJ Smith)
- 9214ddb integration tests and README (TJ Smith)
- 56bea2d migrate sign to signs[] array with backward compat and new fields (TJ Smith)
- 009a145 populate all template variables from git info and time (TJ Smith)
- 42117bb replace blob CLI-shelling with object_store SDK (TJ Smith)
- 70a256f rewrite SBOM stage to subprocess model and update source archive (TJ Smith)
- 18f300c scaffold workspace with core and stage crate stubs (TJ Smith)
- 1c70bc9 shared parallelism + skip-memento + tag hooks + ignore_tags wiring #none (TJ Smith)
- 3d1e30a split/merge rewrite for GoReleaser Pro parity (TJ Smith)
- e575fa8 v0.1.0 release preparation (TJ Smith)
- 809ddae wire NSIS and AppBundle stages into workspace, CLI, and pipeline (TJ Smith)
Bug Fixes
- d55f3e5 plug 4 GoReleaser-parity gaps in announcers (TJ Smith)
- 86ecb94 match GoReleaser report_sizes behavior with type filter and size storage (TJ Smith)
- 41947cb SHA-derived branch, docker_v2, workflow hardening (part 2) (TJ Smith)
- 5a1cb32 drain B20 review findings (TJ Smith)
- 694d74a inject per-target builds[].env into build hooks (TJ Smith)
- 5a7f94d preserve harness-injected RUSTFLAGS so Windows PE is reproducible (TJ Smith)
- 95df109 drain Group D review findings (TJ Smith)
- 8205e26 inference uses .anodize.yaml tag_template, not name-v fallback #none (TJ Smith)
- c17643b route full-Config deserialization through an 8 MiB worker thread (TJ Smith)
- 5140ceb bind AuthorUsername alias to Login for GR-default-format parity (TJ Smith)
- 5a3a10c build multitrack root aggregate from config topology (TJ Smith)
- a094286 bump resolves tag prefix from tag_template, not {crate}-v (TJ Smith)
- 160ac82 collapse same-prefix crates to a flat aggregate (not multi-track) (TJ Smith)
- 4ee2a4f correct preview truncation + lockstep tag prefix (TJ Smith)
- ed0e57e derive per-crate scope from crate dirs; changelog.paths intersects not replaces (TJ Smith)
- 05da6fd empty-from means full history; unify range across formats (TJ Smith)
- fb74e89 forward-slash repo-relative paths in preview output (TJ Smith)
- 6c06b41 honor --from as the range start (TJ Smith)
- e7c061c honor the explicit upper bound in release-notes rendering (TJ Smith)
- a271a53 lockstep root aggregate ignores the per-crate root filter (TJ Smith)
- 14ec69b make standalone release-notes preview guard-free (TJ Smith)
- 1a88c52 preserve multi-line commit bodies in --name-only parse (TJ Smith)
- b56385f promote multitrack root under per-track tags at tag time (TJ Smith)
- 80ca678 render lockstep release-notes preview from synthesized root (TJ Smith)
- d4a9c60 render workspaces-multi-track preview + suppress preview dist write (TJ Smith)
- 3e9333c share the changelog gate between bump and tag (TJ Smith)
- 9164ce0 snapshot release-notes honors pending lower bound (TJ Smith)
- a87b745 validate explicit --from ref before fetching (TJ Smith)
- 4b8d5c8 fall back to GITHUB_REF_NAME for tag_override when triggered by tag push (TJ Smith)
- 2895774 resolve version-files reference per layout, not always workspace (TJ Smith)
- 7560d12 use workspace version when a non-member crate inherits it (TJ Smith)
- 9ba2173 escape inner quotes in Windows before-hook YAML #none (TJ Smith)
- 9177c1a host-agnostic cross-platform tests + real blocking determinism (TJ Smith)
- 75c56d7 nfpm test gating, Windows test cross-platform, stage-release pkg dep #none (TJ Smith)
- 4027c89 shard Determinism Harness 3-way + add --targets filter (TJ Smith)
- a19af43 unblock v0.2.1 cut — 5 cross-platform test + workflow fixes (TJ Smith)
- 2e13b61 WAVE 3 follow-up — wire FOLL-1 publisher skip names + parse rejection tests (TJ Smith)
- 6274193 Win harness drops RUNNER_TEMP + GH/RUNNER namespace hermeticity (TJ Smith)
- 1de3d97 add target triple validation and GPG/cosign env checks to check command (TJ Smith)
- a2f0b4b address code review findings for token type wiring (TJ Smith)
- d1bd9eb harness env on Windows inherits host with credential deny-list (TJ Smith)
- 098e334 harness inherits host PATH + defaults RUSTUP_HOME, drop env-block bandaids (TJ Smith)
- 7c76ae7 migrate std::env::var to ctx.env_var / EnvSource (TJ Smith)
- 511e983 per-crate version reconcile in publish-only; subdir-safe file IO (TJ Smith)
- 4a1e330 print help and exit 0 when no subcommand is given (TJ Smith)
- 805b06b run the entry point on a large-stack worker thread (TJ Smith)
- 81a842f teach --stages parser makeself + snapcraft (TJ Smith)
- fe4838e wire retry policy through milestone close HTTP calls (TJ Smith)
- 1ed1fc4 wire verbose/debug to ContextOptions, improve find_config error message (TJ Smith)
- 341ec8f determinism harness — explicit env allow-list + single-source skip-list (TJ Smith)
- 443d785 Win MSVC link.exe + macOS poller timeout robustness (TJ Smith)
- 7fb1c7a sanitize --from-run against path traversal (TJ Smith)
- e03d173 self-cycle detection, dockerhub meta_ fallback, shared template-file render (TJ Smith)
- 777b2e1 source.prefix_template defaults to name_template (Q-src3) (TJ Smith)
- 673571d upgrade all disable/skip_upload fields to Option (TJ Smith)
- c04355e validate partial.by + strict packager configs with GR-import aliases (TJ Smith)
- 9d27d89 tighten artifact dup-warn, debug-quote strip, layout fold (TJ Smith)
- 41e481a MSVC /Brepro for reproducible Windows binaries (TJ Smith)
- 80c672d MSVC link.exe full deterministic flag set + drift diagnostics (TJ Smith)
- eb380fe address Phase 1 review — module split, basename lookup, atomic write, streaming hash (TJ Smith)
- 598ab23 allow-list signatures, SBOMs, and the dist manifest (TJ Smith)
- 99955f7 byte-identical artifacts.json across runs (TJ Smith)
- 8e57810 close config.yaml/artifacts.json SDE gap; hash raw binary (TJ Smith)
- 406f859 close sampler gap, prune-bin basename match, text-diff in summary (TJ Smith)
- 7b84e3c default worktree root to /.det-worktrees, not /tmp (TJ Smith)
- 9562bc3 drop redundant / append; harness does it (TJ Smith)
- 184f845 key hash_artifacts by rel-path; fix workspace-only implicit-all (TJ Smith)
- 5104477 kill 27-artifact drift surfaced by CI run 25975073213 (TJ Smith)
- 33e6172 make Windows MSVC drift offsets visible in CI (TJ Smith)
- b23ebee make inject_drift_byte process-local atomic counter (TJ Smith)
- 725ed51 normalize Windows path separators in stage inference (TJ Smith)
- 1192e29 pin ephemeral GPG key creation to SDE; normalize paths (TJ Smith)
- 76cb613 preserve to // when --crate is set (TJ Smith)
- 3efbe6a route determinism-fast through the action; scope inject-drift test (TJ Smith)
- 9325b90 scope harness child build to its crate (TJ Smith)
- 0a6cb56 skip makeself scratch dir during dist preservation (TJ Smith)
- 27de44d skip non-diffed produce-stages in child subprocess (TJ Smith)
- 2f49a66 strip PDB debug entries on MSVC; add MSVC flags to global RUSTFLAGS (TJ Smith)
- 00fd062 strip content-hash keys from artifacts.json metadata; grow drift sample window (TJ Smith)
- e7e8bdb strip worktree path + sort YAML keys in dist artifacts (TJ Smith)
- 5bf3824 teach harness parse_stages source/upx/nfpm (TJ Smith)
- 35b0422 tighten harness — worktree path, MSVC flags, tail sample (TJ Smith)
- 1f7db90 use stable worktree path across runs (UTF-16 path leakage) (TJ Smith)
- 2931169 vary inject_drift fallback byte by wall-clock nanos (TJ Smith)
- 0abe046 PID-suffix worktree path so parallel tests don't collide (TJ Smith)
- 087ff72 migrate all is_disabled/evaluates_to_true callers to fallible try_* variants (TJ Smith)
- e18f274 address all code quality review findings for GitConfig (TJ Smith)
- d0cf3c5 close 4 GoReleaser parity gaps in GitConfig wiring (TJ Smith)
- 9f82e48 close B23 review findings (smartsemver dormancy, tag bypass, dead fallback) (TJ Smith)
- 7fc2d8d drain B23 code-quality review findings (TJ Smith)
- d948432 redirect LLVM_PROFILE_FILE out of worktree (TJ Smith)
- 8155816 add tracing::debug at tag_override site + unit test for GITHUB_REF_NAME fallback (TJ Smith)
- 5a16ed7 skip windows-msvc off non-Windows hosts (TJ Smith)
- d757b6f address all code/spec review findings for config includes from URL (TJ Smith)
- 2278136 correct header key expansion test assertion (TJ Smith)
- 086af8d harden --version-files YAML writer + add post-write guard (TJ Smith)
- d09bea6 address code quality review findings for MetadataConfig (TJ Smith)
- 79197be correct metadata.json content and split artifact list into artifacts.json (TJ Smith)
- 2e41172 single-pass repo resolve, log not-found, drop title from Gitea PATCH (TJ Smith)
- c711791 address all code review findings for monorepo config feature (TJ Smith)
- 637f8be wire apk-private-key + attach public key via anodizer-action (TJ Smith)
- b25591a initialize tracing-subscriber so library warnings reach the user (TJ Smith)
- 30f3467 surface swallowed fs/git/glob/log errors (TJ Smith)
- 587d37e complete the unified logger — wire verb column, group all stages, DRY render, no leaks (TJ Smith)
- f361a6c correct stage attribution, group config warnings, dedup git warning (TJ Smith)
- 6996b31 tag stage bodies to their section; DRY status (TJ Smith)
- 18689fe honor --skip=build in binary-presence guard (TJ Smith)
- 725b450 D3/D4/D5/D6 + F1 contract tests + F2 README YAML validation (TJ Smith)
- be18910 build docker images and scope mcp to its owning crate in publish-only (TJ Smith)
- 90e8ced propagate template render errors in scoop/nix/krew homepage (TJ Smith)
- 7f26c9f scope selected_crates per-iteration; opt-in polling; silent changelog skip (TJ Smith)
- 480616f accept any shard's recorded hash for cross-shard duplicates (TJ Smith)
- 35217d5 address Phase 2 review — env-injection preflight, commit cross-check fail-closed, pipeline test, gpg-agent cleanup (TJ Smith)
- c0c0472 address review #4/#5 — unified discovery, collision detection, version cross-check (TJ Smith)
- aec8eef apply workspace overlay per iteration; quiet known-handled meta warnings (TJ Smith)
- 41fbae5 auto-enable resume_release to bypass duplicate-release bail (TJ Smith)
- d1a5147 close 5 critical findings from review (TJ Smith)
- dd96d20 dedupe target=None cross-shard duplicates in registry (TJ Smith)
- 65347ac exclude sibling manifests from preserved-artifact list (TJ Smith)
- 58b4e7a propagate workspaces[].skip into per-iteration skip_stages (TJ Smith)
- 76e766f re-anchor manifest paths onto per-crate dist root (TJ Smith)
- 5981621 reorder strip-ephemeral, exempt Metadata from existence check (TJ Smith)
- 89b2d26 revise Binary handling — keep in registry, suppress binary_signs (TJ Smith)
- 7bfc972 round-2 review — allowlist, cleanup scope, binary_signs warn (TJ Smith)
- d7fd094 skip ephemeral sig/cert paths in multi-shard hash-verify (TJ Smith)
- 63503a3 tolerate merge-multiple round-trip variance when shards already disagreed (TJ Smith)
- 461b885 address review findings on per-crate publish-only (TJ Smith)
- 674ab02 align --prepare skip list and tighten workflow guards (TJ Smith)
- 878f339 anchor auto-detected config path so project_root resolves cleanly (TJ Smith)
- 5190554 apply workspace overlay when --crate matches a workspace (TJ Smith)
- b9e8969 binary-artifact guard skips crates with no in-scope targets (TJ Smith)
- d0c5962 drain B24 review code-quality findings (TJ Smith)
- aaceb41 flatten workspaces for crate resolution (TJ Smith)
- a50303d isolate per-crate config + harden destructive paths (TJ Smith)
- 15bac60 pick the publisher-bearing crate as the release effective-crate (TJ Smith)
- e8f9f87 resolve --all change-detection pathspecs at the workspace root (TJ Smith)
- d37b991 restore harness build path — revert hooks env_clear, skip changelog in harness (TJ Smith)
- ad83e1c restore per-crate Tag + metadata in publish-only (TJ Smith)
- 04bcd26 root-cause snapcraft completer + winget sha256 backfill #none (TJ Smith)
- f06d30b scrub audit-tag comments and stabilize flaky gitlab test (TJ Smith)
- dc04ac6 treat --nightly like --snapshot in tag-resolution guards (TJ Smith)
- 026c854 swap blob before snapcraft, drop double-publish, narrow test seam (TJ Smith)
- e0fc1ba explicit shard-label, partial-shard guard, comment-hygiene sweep (TJ Smith)
- cb0ec5d address code quality review findings (TJ Smith)
- bbef82e expose canonical .src.rpm extension via .ArtifactExt (TJ Smith)
- 64a81ab close review findings on post-publish polling (TJ Smith)
- 3f7d26d correct chocolatey moderation discriminator + close preflight review (TJ Smith)
- 65437a5 rerun guard + announce gate semantics + scope dedup (TJ Smith)
- 64d737d plug remaining B3 binary-sign leak sites (TJ Smith)
- 3ed0a45 deduplicate archivable_kinds const + migrate remaining env vars (TJ Smith)
- e6a9ee9 .anodizer.yaml workspaces: takes precedence over [workspace.package].version (TJ Smith)
- ee6fa4b accurate push wording, orphan hint, reject push on rollback (TJ Smith)
- a4d55d5 append [skip ci] to bump commit subjects to break CI loop (TJ Smith)
- 9eb8e9d apply workspace version sync when no --crate is given (TJ Smith)
- 3d9e6fe classify same-tag-prefix flat crates as Lockstep (TJ Smith)
- 57c0594 conflict-check version_files in dry-run, key on full (old,new) (TJ Smith)
- 2e9f45d emit per-crate anodizer-output only after the atomic push (TJ Smith)
- 475109e per-crate dispatch correctness + versions= output line (TJ Smith)
- 50c46f3 preview version_files rewrite under single-crate dry-run (TJ Smith)
- ba82aa1 propagate version bumps to intra-workspace dep pins (TJ Smith)
- 890d345 propagate version_sync bump commit failure before tagging (TJ Smith)
- 421f4c3 scope intra-workspace dep-pin propagation to the bumped crate's workspace (TJ Smith)
- 5fa579d scope per-crate change detection + version inference to the workspace root (TJ Smith)
- 5948253 address all 21 reviewer-2 findings on 3a27f92 (TJ Smith)
- bb1a0a6 solaris/illumos OS + sparc64 arch mapping; RustcVersion template var (TJ Smith)
- 0f44e2d address all code review findings (TJ Smith)
- 13161a8 run gate in publish-only and merge pipelines too (TJ Smith)
- 8207788 68 GoReleaser parity bugs across all stages (TJ Smith)
- bf6489a CI failures — docs freshness, packaging, tests, snapshot (TJ Smith)
- bf8f940 R5 audit — eliminate remaining raw eprintln, double env load, VERSION_PLACEHOLDERS copy (TJ Smith)
- 79638da Windows hook tests, docs check diagnostic output (TJ Smith)
- 0427353 action injection safety, nfpm docs, IsDraft template var, unused import, clippy warnings (TJ Smith)
- c8ac32f add flatpak/notarize to workspace + fix ChangelogConfig construction (TJ Smith)
- 73f8ec5 address all 10 code review findings for source archives + SBOM (TJ Smith)
- f608424 address all 11 code review findings for Task 5M (CLI + Config) (TJ Smith)
- aac46c4 address all 4 findings from Session 5 final review (TJ Smith)
- 0334bdf address all code review findings from Task 3D documentation review (TJ Smith)
- 0beb30e address all split/merge code review findings (TJ Smith)
- d6607d0 address all v0.3.2 release failures across 4 workspace crates #none (TJ Smith)
- 64cb703 address code review findings for monorepo workspace support (TJ Smith)
- cbcf630 address code review findings from Tasks 3A and 3B (TJ Smith)
- 2ce6848 address code review issues for Task 2A CLI completeness (TJ Smith)
- 9244126 address code review issues for Task 2E sign stage (TJ Smith)
- 230eab9 address code review issues for Tasks 2B, 2G, 2H (TJ Smith)
- d64d366 address code review issues for Tasks 2I and 2J (TJ Smith)
- 7e6c83b address deep review findings across template, artifact, util, helpers (TJ Smith)
- 634c79c address final review findings — help text, mobile nav, aria, CI check (TJ Smith)
- 7652618 anchor branch regex and make tag push conditional on remote (TJ Smith)
- c0e6290 cargo fmt, clippy, and add CI auto-tag step (TJ Smith)
- 9152ade cargo.toml override wins over bump=None short-circuit in tag #none (TJ Smith)
- 85ad868 check-then-act publisher push + conventional-commit gate on tag #none (TJ Smith)
- fbe8ddd clippy unnecessary_unwrap and fmt in nfpm test (TJ Smith)
- 4ff610d copy binary artifacts into split dist for cross-machine merge (TJ Smith)
- e84f0ec derive Clone on TemplateVars, replace fragile clone_template_vars (TJ Smith)
- f7d483d docker_signs as separate stage post-docker, UploadableBinary filter for winget/homebrew/publisher util #none (TJ Smith)
- 2cb51c5 drain known-bugs (W1+W2+S1-S4 safety, S1-S6 pro, S1-S5 dedup) #none (TJ Smith)
- fe46c86 drop sign from harness default + correct if_condition Tera syntax (TJ Smith)
- ca68e87 find_binary PATHEXT on Windows, workspace skip field #none (TJ Smith)
- 86e4efe force color in CI; publish transitive workspace deps (TJ Smith)
- d1bcc93 have resolve_git_context fall back to workspaces when crates empty (TJ Smith)
- f3c1841 idempotent commit_and_push (skip when nothing staged), version_sync Cargo.lock #none (TJ Smith)
- 128e003 krew default upstream + per-crate previous_tag prefix filter #none (TJ Smith)
- 248c904 native nupkg (no choco CLI), skip before hooks on tag-triggered CI #none (TJ Smith)
- 9687d2e nfpm mode serialization and initial tag version (TJ Smith)
- a7d9766 parity sweep — 31 GoReleaser parity fixes across release/sign/changelog/publishers/packaging/announce #none (TJ Smith)
- e4bac94 remove needless borrows in E2E tests to fix clippy warnings (TJ Smith)
- 17bb8f7 resolve flaky tests, duplicated helpers, and unfalsifiable assertions (TJ Smith)
- 7a3ade0 reverse config include merge order so base config overrides includes (TJ Smith)
- 6d6ebe9 run formatter (TJ Smith)
- 408e3db skip before hooks in split mode, gitignore zig cache (TJ Smith)
- a049bcc skip dirty-dist check in merge mode (TJ Smith)
- fbb83bb split/merge env poisoning — macOS HOME leaked into Linux docker builds #none (TJ Smith)
- c0ebc5d stable docs default, Windows test compat, Zola deprecated field (TJ Smith)
- 13eabef strengthen workspace E2E assertions and add change detection test (TJ Smith)
- 91f7d7f strict-mode bulletproofing + targets subcommand + publisher safety #none (TJ Smith)
- 94d9417 support Tera-native tag_template in tag matching, remove last TODO, run cargo fmt (TJ Smith)
- 596e1a3 unblock cfgd release — publish-only, mcp, krew, cargo pin (TJ Smith)
- 85108ea version_sync must regenerate Cargo.lock before committing, revert hook skip #none (TJ Smith)
- ce3e396 version_sync updates workspace deps, respects Cargo.toml version, skips CI (TJ Smith)
- 86faad2 whole-token #none + github-release size-match idempotency #none (TJ Smith)
- c9f5cc3 wire TestContextBuilder into stage tests, add mock GitHub release test (TJ Smith)
- 4f34bf8 wire nightly name_template, gate verbose output, guard snapshot+nightly (TJ Smith)
- 5c62e6f wire up git variable population and CI improvements for Task 3E (TJ Smith)
- a5a3042 write metadata.json before release stage for include_meta #none (TJ Smith)
Performance
- 27c58cf reuse one tokio runtime across all close calls (TJ Smith)
Others
- f782d89 Merge branch 'worktree-docsite' (TJ Smith)
- 1e034ea Reapply "docs(comments): fix doc-orphan attribution and targeted comment hygiene" (TJ Smith)
- c092573 Reapply "docs(core,cli): scrub GoReleaser/Go-source refs from comments" (TJ Smith)
- 7c19077 Revert "chore(release): bump anodize → 0.2.0, ..." #none (TJ Smith)
- 8302dd8 Revert "docs(comments): fix doc-orphan attribution and targeted comment hygiene" (TJ Smith)
- f9e10f1 Revert "docs(core,cli): scrub GoReleaser/Go-source refs from comments" (TJ Smith)
- a4ad745 Revert "fix(publish-only): tolerate merge-multiple round-trip variance when shards already disagreed" (TJ Smith)
- 9505686 land 2026-04-config-gaps audits + batch 10/1/5 fixes (TJ Smith)
- 6b30375 polish B8 — rustdoc parens + RUNNER_* symmetry test (TJ Smith)
- 7bf6cc4 tighten --from-run rejection test + error UX (TJ Smith)
- c7a898b determinism polish — sentinel allow-list, stage typo error, SDE bounds (TJ Smith)
- 544a414 drain all 9 actionable items (TJ Smith)
- 30fbff0 rollback v0.6.0 [skip ci] (anodize-rollback)
- 9beb7c1 polish --rollback-only error UX + help text (TJ Smith)
- cf76718 polish B6 — rollback-only summary, conflict, doc walkthrough (TJ Smith)
- ae370f9 emit head_samples_b64 in drift rows; add -C strip=symbols (TJ Smith)
- 0783c05 log discovered artifacts when --inject-drift misses (TJ Smith)
- d7e099e upload full drifted binaries alongside report (TJ Smith)
- c7b05a8 correct manifest field doc to absolute path (TJ Smith)
- 37cfd8d drain Stream 2 final review minors 1-3 (TJ Smith)
- 6d7a7d1 correct stale rustdoc/comments across publish, loader, docker, release (TJ Smith)
- 8136c64 fix doc-orphan attribution and targeted comment hygiene (TJ Smith)
- fcd3f13 scrub GoReleaser/Go-source refs from comments (TJ Smith)
- 06726f8 close 🚧 entries after final-four implementation (TJ Smith)
- b51891b create feature matrix tracking release-resilience + determinism rollout (TJ Smith)
- 6f27c90 integrate release-resilience + determinism rows into existing release tree (TJ Smith)
- 4274139 link operator guides to rendered docsite (TJ Smith)
- b763842 logo + badges + dogfood anodizer-action and anodize tag (TJ Smith)
- 697c3b4 correct release_invocation_matrix stale comments (TJ Smith)
- 8a592f9 split pipeline.rs into focused submodules (TJ Smith)
- c496fe8 lift Command::new sites out of cli/commands per module-boundaries.md + update allow-list (TJ Smith)
- 34c2ffd remove gobinary shim and make build config subtree strict (TJ Smith)
- 061ebe2 single config/workspace load + harden coherence guard (TJ Smith)
- 8310dce nest per_crate/root under changelog.files (TJ Smith)
- 06a9fd5 extract shared render-and-stage helper from bump (TJ Smith)
- bb88716 no-dot synthesized tag_template + share global prefix (TJ Smith)
- 3bbb13c unify wire-format decoder; thread workspace_root into narrowed fetch (TJ Smith)
- dd691be single-pass author + staged-name derivation; doc signature_suffix expansion gap (TJ Smith)
- 5c1dd82 route default-resolution through resolved_*() accessors (TJ Smith)
- ab17abb dedup determinism config probes onto cwd-free loader (TJ Smith)
- bb4af7a route version-files guard through shared helpers (TJ Smith)
- addcb5c DRY context setup + UX improvements #none (TJ Smith)
- 9c62200 deep-audit batch 3 — dedup, size-cap, observability (TJ Smith)
- b5d2af5 split release.rs into release/{mod,milestones,split}.rs #none (TJ Smith)
- 52d303a extract per-check helpers from giant run_checks (TJ Smith)
- 9d6fa32 extract per-section helpers from giant run() (TJ Smith)
- 490ec2d restore IsPrepare rationale + explicit preflight return (TJ Smith)
- c4265bd extract shared merge-mode context prelude (TJ Smith)
- dde701b strip codebase-wide session-narrative labels (TJ Smith)
- b3f37b4 strip session-narrative labels, add end-to-end determinism test, warn on crate-name collision (TJ Smith)
- 1395876 DEC-5 hard-break — drop GR back-compat aliases + deprecation surface (TJ Smith)
- ddaf840 WAVE 1 — DEC-6 skip rename + DEC-7 env Vec migration (TJ Smith)
- 488fd62 WAVE 1.5 follow-up — drain remaining log strings + helper migrations (TJ Smith)
- 77501c4 WAVE 1.5 mop-up — final vocabulary + helper consolidation (TJ Smith)
- 5142346 WAVE 1.5 — vocabulary closure (skip rename + env helper) (TJ Smith)
- 9fa0648 WAVE 2 mop-up — broader skip suppression + path-mirror cleanup (TJ Smith)
- 9e01bcf WAVE 4 follow-up — enforce cask url-template precedence + nested-merge test (TJ Smith)
- 2232e11 WAVE 5 mop-up — close 3 critical + 6 important + 3 minor review findings (TJ Smith)
- 0188e45 WAVE 5.1 — type-coercion batch (SCH-1/3/7/15/25/29) (TJ Smith)
- c203edf WAVE 5.5 — hard-break legacy-field batch (SCH-4/13/16/21/30, DEC-12/13) (TJ Smith)
- c682102 address submitter-warning review findings (TJ Smith)
- 70cc609 rename Go-named goos/goarch surfaces to os/arch (TJ Smith)
- c5303ce deep-audit batch 1 — security, dedup, dead-code sweep (TJ Smith)
- 4ee7c4c lift changelog stage outputs into Context::stage_outputs (TJ Smith)
- 0d777b1 split harness into module dir; drop redundant cleanup (TJ Smith)
- 0b72e19 finish T3 sweep — sde/template/installer/cli tests off unsafe env mutation (TJ Smith)
- 8d5b8bc allow_empty is plain bool, not Option (TJ Smith)
- 4d1d2af behavioral installer-gate tests + HashSet de-dup (TJ Smith)
- bb48ea5 extract HookRunContext from run_hooks signature (TJ Smith)
- e76ac9e left-align headers, tighten body indent, silence skips (TJ Smith)
- 91ae9ad unify CLI output on the Cargo+release format (format B) (TJ Smith)
- cf86448 route config-resolution failures through strict_guard (TJ Smith)
- 01c7926 hoist tokio runtime out of loop to eliminate Option-init dance (TJ Smith)
- 723cc40 address review findings (trim render, DRY tests) (TJ Smith)
- 560f5f5 DRY error delegation + tag-prefix helper; fix comments (TJ Smith)
- 92b4dfa share rustc -vV spawn; fold RustcVersion into runtime vars (TJ Smith)
- 9f7bf4f WAVE 3 mop-up — dispatcher DRY + Linux test fix + docs sync (TJ Smith)
- 050e0ec extract resolve_tag_to_crate + surface git errors (TJ Smith)
- a34d847 use Context::retry_policy() everywhere (TJ Smith)
- 9bacbbc apply review tweaks to root-discovery helpers (TJ Smith)
- 62db912 hoist rollback tag regexes to LazyLock, drop expect(len 1) (TJ Smith)
- a63f193 model flat-aggregate as its own RepoShape variant (TJ Smith)
- 2e06d8d share the whole-word token matcher (TJ Smith)
- bd7dd3f unify workspace-root discovery across bump/tag/changelog (TJ Smith)
- 8a1c609 dedup ResolvedConfig clone, cargo-version read, tag-override resolver; warn on forward var ref (TJ Smith)
- 3a33b40 centralize HTTP test responder; fix race across workspace (TJ Smith)
- 0e8f60f RAII cwd/tempdir guards, drift notes, drop guard naming (TJ Smith)
- ecd50ad deep dedup pass + wire all dead CLI flags and config fields (TJ Smith)
- 2af0e4e extract CLI types to lib.rs for xtask introspection (TJ Smith)
- 7cbfb9a remove session-narrative Step N: markers from production comments (TJ Smith)
- f9ba2da rename anodize to anodizer (crates.io name clash) #none (TJ Smith)
- da916fa reorder pipeline stages to match GoReleaser parity (TJ Smith)
- 441b326 unwrap/expect -> ?/context (142 -> 0 non-test lib sites) + publisher cleanup #none (TJ Smith)
- c4f7c1c cycle 14 MSVC kitchen-sink link flags (80c672d) (TJ Smith)
- c7fd04f drop sign from harness default stages (fe46c86, partial) (TJ Smith)
- 6c11bc7 eliminate all unsafe code from production (TJ Smith)
- 5a51f78 lower redact threshold + redact log leaks (P7+Q13+Q14) (TJ Smith)
- a6a2f98 harden unwrap paths, secret handling, path traversal, and regex injection (TJ Smith)
- dfbc95d scrub session-narrative + assistant-pronoun violations #none (TJ Smith)
- a55923d scrub our-pronoun in cargo-package doc comment (TJ Smith)
- 621433c strip session-note markers + fix cloudsmith docstring (TJ Smith)
- c7dc32d trim publish-only union-test docs to invariant statement (TJ Smith)
- 8eb2026 close flat-aggregate coverage gaps (graft name, release-notes, bump/tag) (TJ Smith)
- 2f20014 e2e matrix for root/per-crate/both destinations + chronology (TJ Smith)
- d8d4e8b port range tests to positional syntax + cross-engine e2e (TJ Smith)
- bfd0cc9 tighten tag-chronology divergence assert, drop plan marker (TJ Smith)
- c37e86d repoint determinism-shape assertions at the reusable workflow (TJ Smith)
- 4ca7cce add e2e test for
release --prepare(TJ Smith) - e2e019b add smoke test for
anodizer manroff output (TJ Smith) - 62d0ea8 assign unique archive ids in multi-format e2e test (Q-arch2 fixup) (TJ Smith)
- b69e645 binary-level I14 regression - required-failure gates exit code (TJ Smith)
- 032bcd1 real drift integration test + shared FakePublisher + drop empty-stubs (TJ Smith)
- 5986593 pin find_config_in / load_repo_config candidate parity (TJ Smith)
- 3209295 C-wave SDD harness application — 200+ tests, 80.7% to 82.5% line #none (TJ Smith)
- 61b9aae tighten pre-flight coverage from review findings (TJ Smith)
- 246ee75 update announce-ordering test for terminal verify-release stage (TJ Smith)
- f5717e3 lock in shard-manifest union contract (TJ Smith)
- 7640a5e assert binary_signs/before/after dont leak across per-crate overlays (TJ Smith)
- 9ecf034 exercise non-required gate via a non-binary publisher (TJ Smith)
- ee71e9d parse skip stages from the [stage] tag (new output format) (TJ Smith)
- 5eb96f7 strengthen skip-matrix assertions and add missing docs-table rows (TJ Smith)
- de9875e assert warn-log capture instead of helper string compare (TJ Smith)
- b6a9455 cover announcers, srpm, release split + milestones (TJ Smith)
- c33b614 close per-crate changelog test gaps + version_files cohesion (TJ Smith)
- 4e40d60 cover --crate --push, --push-dry-run, rollback reject, ff hint (TJ Smith)
- f8d1af2 prove --push lands the bump commit, no orphans on reject (TJ Smith)
- a200115 add 22 E2E pipeline tests for multi-format, changelog, workspace, and round-trip scenarios (TJ Smith)
- c8b1dd3 add 28 error path tests across config, template, build, release, and CLI (TJ Smith)
- 0355b36 add Wave A behavioral coverage for uncovered helper paths (TJ Smith)
- 3c1f06c add error path tests for config validation, failed builds, and unknown fields (TJ Smith)
- 8098fc7 make Windows-host test fixtures path-portable (TJ Smith)
- 362c62c raise coverage across publish/announce/cli (TJ Smith)
Released with anodizer 🦀