Skip to content

Releases: C2FO/releasegen

[v1.2.2] - 2026-06-22

22 Jun 21:54

Choose a tag to compare

Documentation

  • Added badges to README.md

[v1.2.1] - 2026-06-19

19 Jun 16:34

Choose a tag to compare

Fixed

  • releasegen validate --require-changelog-entry now folds staged
    index changes into its diff against the base ref. Without this, the
    check was a no-op under pre-commit hooks (e.g. prenup), because HEAD
    is still the parent commit at that moment and a tree-only diff sees
    nothing. Local pre-commit checks now catch missing [Unreleased]
    entries just as reliably as CI does on a pushed commit. Unstaged
    worktree edits and untracked files are deliberately excluded so
    unrelated local dirt (build artifacts, half-finished edits, scratch
    files) cannot cause false failures, and so the changed-file set
    matches what FileAtIndex reads for the next-commit comparison.
  • releasegen validate --require-changelog-entry now compares the
    [Unreleased] section as it appears in the git index (the staged
    view of the next commit) rather than the working tree. Previously, a
    developer who edited CHANGELOG.md but forgot to git add it would
    see the pre-commit check pass — the worktree had the new entry — even
    though the commit being created did not, leaving the gap to be caught
    only in CI. The check now predicts the post-commit state correctly:
    unstaged changelog edits no longer satisfy the requirement, and
    git commit -a keeps working because git stages worktree changes
    before pre-commit hooks run.

[v1.2.0] - 2026-06-18

18 Jun 22:57

Choose a tag to compare

Added

  • New releasegen validate subcommand. Parses every ## [Unreleased] section
    in the repository and reports every malformed heading it finds — both
    across files and within a single file — in a single batched report. Detects
    ### Changed / ### Removed without the BREAKING CHANGE marker as well
    as any heading not declared in custom_change_types, naming the offending
    heading in each error. Needs no GitHub token, performs no I/O beyond reads,
    and exits 0 on success / 2 on any validation failure — intended as a
    required PR-time check before the release workflow.
  • New .releasegen.yaml (also .releasegen.yml) config file at the repo root.
    Supports custom_change_types, exclude_dirs, a validate: block (see
    below), and the advanced self_release_module / self_release_repo
    overrides. Precedence is flags > env > file > built-in defaults; unknown
    keys cause a configuration error so typos surface early. Both validate
    and the existing release path read it, so repo-shape options no longer
    have to be duplicated across workflows.
  • New optional --require-changelog-entry mode for releasegen validate
    (also exposed as validate.require_changelog_entry: true in
    .releasegen.yaml and RELEASEGEN_REQUIRE_CHANGELOG_ENTRY=true in the
    environment). When enabled, validate fails any PR whose non-CHANGELOG.md
    files changed vs the base ref but whose [Unreleased] section gained no
    new lines. Modules are scoped by where CHANGELOG.md lives, with the
    root changelog catching every file not claimed by a submodule changelog.
    The base ref is configurable via --base-ref / RELEASEGEN_BASE_REF /
    validate.base_ref and defaults to origin/$GITHUB_BASE_REF on GitHub
    Actions pull-request runs, else origin/main. Subsumes the prior
    external ensure_changelog workflow, which has been removed from this
    repository in favor of the validate-driven check.

Fixed

  • Classifier no longer treats ### heading references in prose as real
    markdown headings. The internal heading3Prefix regex is now anchored
    to the start of a line (multiline mode), and fenced code blocks are
    stripped from [Unreleased] bodies before classification. Before this
    fix, an ### Added entry whose body documented ### Changed / ### Removed
    in an inline code span — and happened to mention BREAKING CHANGE while
    describing the marker rule — would be misclassified as a major bump.
    ValidateSection benefits from the same protection.

[v1.1.1] - 2026-06-18

18 Jun 17:29

Choose a tag to compare

Documentation

  • Documented the classic-branch-protection setup gap in the GitHub App Setup
    section: the app must be added to both the "Allow specified actors to bypass
    required pull requests" list and the "Restrict who can push" allowlist, or
    the push fails with protected branch hook declined. Rulesets only need a
    single bypass entry.

[v1.1.0] - 2026-06-18

18 Jun 16:14

Choose a tag to compare

Security

  • Update dependenices to resoolve dependabot security alerts

[v1.0.1] - 2026-06-17

17 Jun 20:23

Choose a tag to compare

Fixed

  • Added a step that computes a lowercased image name once using bash parameter expansion

[v1.0.0] - 2026-06-17

17 Jun 19:56

Choose a tag to compare

Fixed

  • Self-release detection now recognizes releasegen running from the repository
    root. RELEASEGEN_SELF_MODULE defaults to the root module (empty path) and the
    feature is gated on RELEASEGEN_SELF_REPO, so the released version is printed
    to stdout and downstream steps (e.g. the Docker build/push) are no longer skipped.

Changed

  • BREAKING CHANGE - No change, just bumping to v1.0.0.

[v0.1.0] - 2026-06-16

16 Jun 22:51

Choose a tag to compare

Added

  • Initial release of the project.