Files
vociferate/changelog.md
Micheal Wilkinson 55a067973e
All checks were successful
Push Validation / validate (push) Successful in 52s
docs: update changelog for prepare and publish actions
2026-03-20 20:27:26 +00:00

3.9 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

A ### Breaking section is used in addition to Keep a Changelog's standard sections to explicitly document changes that are backwards-incompatible but would otherwise appear under ### Changed. Entries under ### Breaking trigger a major version bump in automated release recommendation logic.

[Unreleased]

Breaking

Changed

  • Two dedicated subdirectory composite actions replace the boilerplate inline workflow steps: prepare/action.yml runs vociferate, commits updated files, and pushes the release tag; publish/action.yml extracts release notes from the changelog and creates or updates the release. Consumer repositories need only a checkout step and a single uses: call per workflow stage.

  • publish/action.yml outputs release-id, tag, and version so consumers can upload their own release assets after the release is created.

  • prepare/action.yml accepts a git-add-files input so repositories using a custom version-file can stage the correct set of files for the release commit.

  • The prepare-release.yml and do-release.yml vociferate workflows now use the local ./prepare and ./publish actions, validating the actions in the self-release pipeline.

  • Release version recommendation now reads the current version from the most recent released section in the changelog instead of requiring a separate version file. When no prior releases exist the version defaults to 0.0.0, yielding v1.0.0 as the first recommended tag.

  • vociferate prepare creates the release-version file if it does not already exist, removing the need to pre-seed it in new repositories.

  • Release automation is now split into a prepare workflow that updates and tags main, and a tag-driven publish workflow that creates the release from the tagged revision.

  • The CLI entrypoint, internal package paths, build outputs, and automation references now use the vociferate name instead of the earlier releaseprep naming.

  • Configurable version source and parser via --version-file and --version-pattern.

  • Configurable changelog path via --changelog.

  • The release workflow and composite action now treat a provided version as an override and otherwise fall back to the recommended next version automatically.

  • Release preparation now runs directly in the prepare workflow; the repository-local helper script and just recipe were removed.

  • Release creation is now idempotent: existing releases for the same tag are updated in place instead of recreated.

  • Release asset uploads now replace existing assets with matching filenames so reruns stay synchronized.

  • Automated release artifact publishing in the tag-driven release workflow for linux/amd64, linux/arm64, and checksums.txt.

  • Release recommendation now forces a major version bump whenever a ### Breaking heading is present in ## [Unreleased], even if the section has no bullet entries yet.

  • The composite action now downloads and caches released vociferate binaries on both amd64 and arm64 platforms instead of installing Go and running the module source directly.

  • Reusable workflow_call support for the Prepare Release workflow, enabling other repositories to invoke it directly.

  • Reusable workflow_call support for the tag-driven Do Release workflow, enabling other repositories to publish from pushed tags without reimplementing release note or asset logic.

  • Composite action (action.yml) for release preparation and recommendation flows.

  • Gitea workflows for push validation, manual release preparation, and tag-driven release publishing.

  • README guidance for release artifacts and examples for reusing vociferate as a composite action or reusable workflow.