Skip to content

Add $changelog: false flag to omit a bump file from the changelog#131

Merged
theoephraim merged 1 commit into
mainfrom
claude/epic-bhabha-5f8630
Jun 23, 2026
Merged

Add $changelog: false flag to omit a bump file from the changelog#131
theoephraim merged 1 commit into
mainfrom
claude/epic-bhabha-5f8630

Conversation

@theoephraim

Copy link
Copy Markdown
Member

What

Adds an explicit way to keep a change out of the changelog / release notes while still applying its version bump. Previously the only way to do this was to leave the bump file body blank, which is easy to misread as "forgot to write a description."

File-level — $changelog: false

A sigil-prefixed reserved frontmatter key. The $ can never collide with a package name (it's already rejected by validatePackageName), and a package literally named changelog is unaffected (changelog: patch is still a normal entry).

---
'@myorg/core': patch
$changelog: false
---

Internal refactor — not worth a changelog line.

Suppresses the file's summary across every package it lists (a bump file has one shared body).

Per-package — changelog: false

For files that cover several packages where you only want to hide the entry for some of them, use the nested object form:

---
'@myorg/core': patch                  # gets a changelog entry
'@myorg/internal-tooling':
  bump: patch
  changelog: false                    # bumped, but no entry
---

Reworked the build pipeline.

The effective rule is suppress if file-level OR per-package flag is set, centralized in a shared isChangelogSuppressed(bf, packageName) helper used by both the default and GitHub formatters. The body is preserved in the bump file, so it doubles as a note for reviewers.

Changes

  • types.tsnoChangelog? on BumpFile (file-level) and both release shapes (per-package).
  • bump-file.ts — parses the $changelog reserved key and the nested changelog option; both validated as boolean, unknown $keys error out.
  • changelog.ts / changelog-github.ts — both formatters skip suppressed entries via the shared helper.
  • Docs (docs/bump-files.md) and the add-change skill updated.

Tests

10 new tests (parser + both formatters), including per-package suppression of one package while a sibling in the same file still renders. 367 pass, typecheck / lint / format all clean.

Adds an explicit way to keep a change out of the changelog / release
notes while still applying its version bump — clearer than relying on a
blank body.

- File-level: `$changelog: false` reserved frontmatter key (sigil-prefixed
  so it can never collide with a package name) suppresses the whole file's
  summary across every package it lists.
- Per-package: `{ bump, changelog: false }` in the nested object form
  suppresses the entry for just some of a file's packages. Either flag
  wins (file-level OR per-package), via a shared isChangelogSuppressed().

Both the default and GitHub changelog formatters respect the flag. The
body is preserved in the bump file, so it doubles as a note for reviewers.

Includes parser + formatter tests and docs/skill updates.
@github-actions

Copy link
Copy Markdown

bumpy-frog

The changes in this PR will be included in the next version bump.

minor Minor releases

  • @varlock/bumpy 1.15.2 → 1.16.0

Bump files in this PR

Click here if you want to add another bump file to this PR


This comment is maintained by bumpy.

@theoephraim theoephraim merged commit 957c801 into main Jun 23, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant