anodizer v0.1.0
Changelog
Features
- 0152834 add resolve-tag subcommand for monorepo tag→crate mapping
- 13e9fbb config loading, pipeline assembly, and command stubs
- 15bb0ed init, check commands, change detection, hooks, colored output
- 96b24d8 wire token type resolution from config/env into Context
- 4c6d86c Session L — config defaults, ANODIZE_FORCE_TOKEN, announce provider parity
- ae7718b add GoReleaser env list form and env_files structured token files
- 91527e8 wire GitConfig fields to tag discovery behavior
- a96cf29 Session M — missing stages, milestones, cross-cutting parity
- 2d3d0da scope change detection to crate path for monorepo workspaces
- c1de526 version_sync Cargo.toml before tagging #none
- a691cb2 add 8 Pro template variables for GoReleaser parity
- 9e3e8ea add ArtifactExt, Target, Checksums, Outputs template variables
- 0f0a384 add custom template variables (.Var.*) for user-defined values
- 4e5187d add template_files config section and rendering stage
- 0c7d61d GoReleaser parity — Session 6 gap closures + specs
- e41e6be README, config reference, GitHub Action, integration tests, dotfile config default
- 1b9bee4 Session 5.5 observability + deep audit fixes across entire codebase
- 19801c9 SkipMemento wiring + BinarySignStage + anodize build parity #none
- 571de80 add --config / -f global flag to specify config file path
- d711d39 add --nightly flag for automated rolling releases
- 9e4cde8 add --timeout flag to release and build commands
- afa159e add --workspace flag to build and check commands
- 843fdb6 add E2E test infrastructure for integration testing
- 10a9988 add UPX binary compression stage
- 10388fb add
anodize tagcommand for auto-tagging based on commit directives - ec6ad18 add cloud storage upload (S3/GCS/Azure) and split/merge CI fan-out
- bdd2322 add completion, healthcheck commands and new CLI flags for release/build
- e39f142 add config includes with deep merge support
- 68e4930 add custom publishers for generic post-release artifact publishing
- 6d8b2ad add filters.include, abbrev, and use: github-native to changelog config
- 20fd04a add jsonschema command, env_files, config versioning, build ignore/overrides
- 01030a6 add make_latest, changelog header/footer, and disable fields to config
- a192a15 add monorepo workspace support for independent project roots
- af16415 add platform-specific packaging stages — snapcraft, dmg, msi, pkg
- 30d4392 add report_sizes, metadata.json output, and env config fields
- 191b5c2 add sha1, sha224, sha384, blake2b, blake2s algorithms and extra_files/ids to checksum stage
- 26a9e35 add shared test helpers module and mock GitHub client trait
- 468c266 add source archive and SBOM generation stage
- 9876572 anodize bump --commit bundles changelog + --strict version-pin gate #none
- 2925006 auto-detect GitHub owner/name from git remote when release.github is omitted
- cc098a9 complete Phase 1 parity tasks 1-9 (1,736 tests pass)
- 1267439 comprehensive --strict mode across all stages
- 9214ddb integration tests and README
- 56bea2d migrate sign to signs[] array with backward compat and new fields
- 009a145 populate all template variables from git info and time
- 42117bb replace blob CLI-shelling with object_store SDK
- 70a256f rewrite SBOM stage to subprocess model and update source archive
- 18f300c scaffold workspace with core and stage crate stubs
- 1c70bc9 shared parallelism + skip-memento + tag hooks + ignore_tags wiring #none
- 3d1e30a split/merge rewrite for GoReleaser Pro parity
- e575fa8 v0.1.0 release preparation
- 809ddae wire NSIS and AppBundle stages into workspace, CLI, and pipeline
Bug Fixes
- 86ecb94 match GoReleaser report_sizes behavior with type filter and size storage
- 8205e26 inference uses .anodize.yaml tag_template, not name-v fallback #none
- 9ba2173 escape inner quotes in Windows before-hook YAML #none
- 75c56d7 nfpm test gating, Windows test cross-platform, stage-release pkg dep #none
- 1de3d97 add target triple validation and GPG/cosign env checks to check command
- a2f0b4b address code review findings for token type wiring
- 1ed1fc4 wire verbose/debug to ContextOptions, improve find_config error message
- 673571d upgrade all disable/skip_upload fields to Option
- e18f274 address all code quality review findings for GitConfig
- d0cf3c5 close 4 GoReleaser parity gaps in GitConfig wiring
- d757b6f address all code/spec review findings for config includes from URL
- 2278136 correct header key expansion test assertion
- d09bea6 address code quality review findings for MetadataConfig
- 79197be correct metadata.json content and split artifact list into artifacts.json
- c711791 address all code review findings for monorepo config feature
- 5190554 apply workspace overlay when --crate matches a workspace
- aaceb41 flatten workspaces for crate resolution
- cb0ec5d address code quality review findings
- 0f44e2d address all code review findings
- 8207788 68 GoReleaser parity bugs across all stages
- bf6489a CI failures — docs freshness, packaging, tests, snapshot
- bf8f940 R5 audit — eliminate remaining raw eprintln, double env load, VERSION_PLACEHOLDERS copy
- 79638da Windows hook tests, docs check diagnostic output
- 0427353 action injection safety, nfpm docs, IsDraft template var, unused import, clippy warnings
- c8ac32f add flatpak/notarize to workspace + fix ChangelogConfig construction
- 73f8ec5 address all 10 code review findings for source archives + SBOM
- f608424 address all 11 code review findings for Task 5M (CLI + Config)
- aac46c4 address all 4 findings from Session 5 final review
- 0334bdf address all code review findings from Task 3D documentation review
- 0beb30e address all split/merge code review findings
- d6607d0 address all v0.3.2 release failures across 4 workspace crates #none
- 64cb703 address code review findings for monorepo workspace support
- cbcf630 address code review findings from Tasks 3A and 3B
- 2ce6848 address code review issues for Task 2A CLI completeness
- 9244126 address code review issues for Task 2E sign stage
- 230eab9 address code review issues for Tasks 2B, 2G, 2H
- d64d366 address code review issues for Tasks 2I and 2J
- 7e6c83b address deep review findings across template, artifact, util, helpers
- 634c79c address final review findings — help text, mobile nav, aria, CI check
- 7652618 anchor branch regex and make tag push conditional on remote
- c0e6290 cargo fmt, clippy, and add CI auto-tag step
- 9152ade cargo.toml override wins over bump=None short-circuit in tag #none
- 85ad868 check-then-act publisher push + conventional-commit gate on tag #none
- fbe8ddd clippy unnecessary_unwrap and fmt in nfpm test
- 4ff610d copy binary artifacts into split dist for cross-machine merge
- e84f0ec derive Clone on TemplateVars, replace fragile clone_template_vars
- f7d483d docker_signs as separate stage post-docker, UploadableBinary filter for winget/homebrew/publisher util #none
- 2cb51c5 drain known-bugs (W1+W2+S1-S4 safety, S1-S6 pro, S1-S5 dedup) #none
- ca68e87 find_binary PATHEXT on Windows, workspace skip field #none
- 86e4efe force color in CI; publish transitive workspace deps
- d1bcc93 have resolve_git_context fall back to workspaces when crates empty
- f3c1841 idempotent commit_and_push (skip when nothing staged), version_sync Cargo.lock #none
- 128e003 krew default upstream + per-crate previous_tag prefix filter #none
- 248c904 native nupkg (no choco CLI), skip before hooks on tag-triggered CI #none
- 9687d2e nfpm mode serialization and initial tag version
- a7d9766 parity sweep — 31 GoReleaser parity fixes across release/sign/changelog/publishers/packaging/announce #none
- e4bac94 remove needless borrows in E2E tests to fix clippy warnings
- 17bb8f7 resolve flaky tests, duplicated helpers, and unfalsifiable assertions
- 7a3ade0 reverse config include merge order so base config overrides includes
- 6d6ebe9 run formatter
- 408e3db skip before hooks in split mode, gitignore zig cache
- a049bcc skip dirty-dist check in merge mode
- fbb83bb split/merge env poisoning — macOS HOME leaked into Linux docker builds #none
- c0ebc5d stable docs default, Windows test compat, Zola deprecated field
- 13eabef strengthen workspace E2E assertions and add change detection test
- 91f7d7f strict-mode bulletproofing + targets subcommand + publisher safety #none
- 94d9417 support Tera-native tag_template in tag matching, remove last TODO, run cargo fmt
- 85108ea version_sync must regenerate Cargo.lock before committing, revert hook skip #none
- ce3e396 version_sync updates workspace deps, respects Cargo.toml version, skips CI
- 86faad2 whole-token #none + github-release size-match idempotency #none
- c9f5cc3 wire TestContextBuilder into stage tests, add mock GitHub release test
- 4f34bf8 wire nightly name_template, gate verbose output, guard snapshot+nightly
- 5c62e6f wire up git variable population and CI improvements for Task 3E
- a5a3042 write metadata.json before release stage for include_meta #none
Others
- f782d89 Merge branch 'worktree-docsite'
- 7c19077 Revert "chore(release): bump anodize → 0.2.0, ..." #none
- 056c5c1 bump anodize → 0.2.0, anodize-core → 0.2.0, anodize-stage-announce → 0.2.0, anodize-stage-appbundle → 0.2.0, anodize-stage-archive → 0.2.0, anodize-stage-blob → 0.2.0, anodize-stage-build → 0.2.0, anodize-stage-changelog → 0.2.0, anodize-stage-checksum → 0.2.0, anodize-stage-dmg → 0.2.0, anodize-stage-docker → 0.2.0, anodize-stage-flatpak → 0.2.0, anodize-stage-makeself → 0.2.0, anodize-stage-msi → 0.2.0, anodize-stage-nfpm → 0.2.0, anodize-stage-notarize → 0.2.0, anodize-stage-nsis → 0.2.0, anodize-stage-pkg → 0.2.0, anodize-stage-publish → 0.2.0, anodize-stage-release → 0.2.0, anodize-stage-sbom → 0.2.0, anodize-stage-sign → 0.2.0, anodize-stage-snapcraft → 0.2.0, anodize-stage-source → 0.2.0, anodize-stage-srpm → 0.2.0, anodize-stage-templatefiles → 0.2.0, anodize-stage-upx → 0.2.0
- addcb5c DRY context setup + UX improvements #none
- b5d2af5 split release.rs into release/{mod,milestones,split}.rs #none
- ecd50ad deep dedup pass + wire all dead CLI flags and config fields
- 2af0e4e extract CLI types to lib.rs for xtask introspection
- f9ba2da rename anodize to anodizer (crates.io name clash) #none
- da916fa reorder pipeline stages to match GoReleaser parity
- 441b326 unwrap/expect -> ?/context (142 -> 0 non-test lib sites) + publisher cleanup #none
- 6c11bc7 eliminate all unsafe code from production
- a6a2f98 harden unwrap paths, secret handling, path traversal, and regex injection
- a200115 add 22 E2E pipeline tests for multi-format, changelog, workspace, and round-trip scenarios
- c8b1dd3 add 28 error path tests across config, template, build, release, and CLI
- 3c1f06c add error path tests for config validation, failed builds, and unknown fields
Released with anodizer �