Skip to content

anodizer v0.1.0

Choose a tag to compare

@tj-smith47 tj-smith47 released this 20 Apr 20:45
· 1125 commits to master since this release
55994d3

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 tag command 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 �