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.ymlruns vociferate, commits updated files, and pushes the release tag;publish/action.ymlextracts release notes from the changelog and creates or updates the release. Consumer repositories need only a checkout step and a singleuses:call per workflow stage. -
publish/action.ymloutputsrelease-id,tag, andversionso consumers can upload their own release assets after the release is created. -
prepare/action.ymlaccepts agit-add-filesinput so repositories using a customversion-filecan stage the correct set of files for the release commit. -
The
prepare-release.ymlanddo-release.ymlvociferate workflows now use the local./prepareand./publishactions, 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, yieldingv1.0.0as the first recommended tag. -
vociferate preparecreates therelease-versionfile 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
vociferatename instead of the earlierreleaseprepnaming. -
Configurable version source and parser via
--version-fileand--version-pattern. -
Configurable changelog path via
--changelog. -
The release workflow and composite action now treat a provided
versionas 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, andchecksums.txt. -
Release recommendation now forces a major version bump whenever a
### Breakingheading is present in## [Unreleased], even if the section has no bullet entries yet. -
The composite action now downloads and caches released
vociferatebinaries on bothamd64andarm64platforms instead of installing Go and running the module source directly. -
Reusable
workflow_callsupport for thePrepare Releaseworkflow, enabling other repositories to invoke it directly. -
Reusable
workflow_callsupport for the tag-drivenDo Releaseworkflow, 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.