Changelog¶
Unreleased¶
Fixed¶
Leave fenced code examples unchanged when repairing Markdown release anchors.
Match explicit GitHub author credits without case sensitivity and treat GitHub mannequin authors as unavailable accounts.
Finalize a CalVer prerelease in the current month before incrementing its patch number.
Reject misleading pull request labels and GitHub author links after resolving Markdown references and nested markup.
Ignore pull request references inside code when linking changelog fragments.
Identify fragment commits by full path so nested files with the same name cannot change pull request attribution.
Require the merged pull request author in the fragment’s author list; a later reviewer mention does not count as a credit.
Keep generated hook dependency pins with a folded or literal dependency item when another YAML key follows it.
Keep direct dependencies in a flow-style list when a trailing comment contains the managed-pin marker.
Preserve comments on direct dependencies when updating a flow-style hook mapping.
Resolve hook dependencies from PyPI even when the caller sets uv or pip index and resolver environment variables.
Resolve Python hook dependencies for the manifest’s
language_versionwhen the caller does not override it.Pin ranged and unpinned Python hook dependencies before they run in release preparation. Preserve the caller’s version range across updates and reject YAML aliases that share an edited dependency list.
Rerun eligible hook cooldown checks daily so an unchanged bot update can become mergeable after seven days.
Keep a numbered issue in a changelog entry when its digits only appear as the start of a longer pull request number.
Accept valid YAML comments and quoting in Knope changeset front matter during news validation.
Reject unsupported or empty changelog fragments in the pull request news check.
Keep fenced package headings inside their changelog section and reject unsupported pending fragment files in documentation previews.
Stop package release notes at the next version anchor, even when the following heading is missing.
Accept trailing slashes and the
www.github.comhost in verified release-note author links.Reject raw HTML hyperlinks in release entries so an
@handlecredit cannot point to another person.Preserve wrapped reStructuredText release notes and verify credits on short, repository-prefixed, and issue-form pull request links. Ignore pull request syntax inside code spans and blocks when checking credits.
Ignore numeric fragments of unrelated bare URLs when checking release-note pull request credits.
Do not count reviewer mentions as pull request author credits.
Escape URL punctuation when converting reStructuredText links to GitHub release Markdown.
Keep literal tildes in reStructuredText changelog entries when rendering GitHub Markdown.
Apply one author credit to adjacent pull request references separated by whitespace or semicolons.
Reject release-note lines that embed markup inside a category anchor.
Render package release anchors when the package name contains underscores.
Find the introducing commit for renamed fragments and fragments whose filenames contain non-ASCII characters.
Breaking changes¶
release-creator hooksnow uses a seven-day package cutoff and each hook’s configured Python version without--exclude-neweror--python-versionoptions.
Security¶
Reject duplicate pre-commit YAML keys so effective hook dependencies cannot bypass cooldown and pin updates.
Reject YAML merge keys in hook definitions so shared dependencies cannot bypass exact pin updates.
Reject repository-level YAML merge keys before refreshing hook pins, so a merged source cannot hide the hook package.
Ignore inherited
SSL_CERT_DIRandSSL_CLIENT_CERTwhen resolving hook pins from PyPI.
0.6.7 (2026-10-23)¶
Fixed¶
Keep a pull request mentioned in prose from inheriting the author credit of a later pull request (#27) by @gaborbernat.
Reject unclosed Markdown code fences and keep indented fences from moving fragment links into code (#27) by @gaborbernat.
Report a missing Git, GitHub CLI, or uv executable by name instead of raising a type error (#27) by @gaborbernat.
0.6.6 (2026-10-23)¶
Fixed¶
Restore draft changelog pages for repositories with several packages in one Markdown changelog (#26) by @gaborbernat.
0.6.5 (2026-10-23)¶
Changes¶
Accept a symlinked plugin archive when its ZIP members match the Marketplace upload (#25) by @gaborbernat.
Fixed¶
Keep fragment links outside trailing Markdown and RST code blocks (#25) by @gaborbernat.
Keep frozen hook dependency pins attached to the correct hook across YAML styles (#25) by @gaborbernat.
Reject GitHub release notes whose pull request credits do not match the merged authors (#25) by @gaborbernat.
Removed¶
Stop validating surrounding whitespace in Marketplace plugin IDs and versions and content in ZIP directory entries (#25) by @gaborbernat.
Stop validating GitHub author handle syntax and 40-character Git commit IDs before querying GitHub (#25) by @gaborbernat.
Remove specific missing Git, GitHub CLI, and uv errors from fragment and hook commands; missing executables surface as a type error (#25) by @gaborbernat.
0.6.4 (2026-10-23)¶
Changes¶
Remove unused artifact reconciliation, package changelog preview, stable-tag filtering, and numbered-PR fragment options (#22) by @gaborbernat.
Fixed¶
Keep hook dependency pins with their own hook when the pre-commit configuration uses block or flow YAML, and resolve ranged root requirements (#22) by @gaborbernat.
Match contributor credits to the final pull request on each generated-notes line, escape RST text in GitHub Markdown, and place fragment links outside trailing code blocks (#22) by @gaborbernat.
0.6.3 (2026-10-23)¶
Changes¶
Show Full Changelog as a named link in GitHub Release notes and keep release headings nested in the Sphinx changelog (#21) by @gaborbernat.
0.6.2 (2026-10-23)¶
Documentation¶
Keep the release-creator documentation site and its versioned changelog in reStructuredText (#19) by @gaborbernat.
0.6.1 (2026-10-23)¶
Fixed¶
Accept Knope changelog sections configured with footers and no changeset types (#18) by @gaborbernat.
Apply timeouts to the Git and Towncrier commands used for fragment checks and identify the full command when it times out (#18) by @gaborbernat.
Ignore Towncrier guide and marker files in PR news checks, reject malformed fragment suffixes, and report unsupported Towncrier layouts clearly (#18) by @gaborbernat.
Reject unknown files and renamed fragments in PR news checks while ignoring editor backup files (#18) by @gaborbernat.
Resolve fragment pull requests in bounded batches, reject unmerged numbered requests, and credit deleted GitHub accounts as
ghost(#18) by @gaborbernat.
0.6.0 (2026-10-23)¶
Added¶
Link named changelog fragments to squash-merged pull requests and verified human authors using Git history and GitHub (#14) by @gaborbernat.
Render reStructuredText changelog entries as Markdown GitHub Release notes while preserving links and author credits (#14) by @gaborbernat.
Return verified PyPI file URLs for trusted-publisher attestation after comparing the complete published release with local distributions (#14) by @gaborbernat.
Changes¶
Read fragment provenance from Git without
--gitor--commit-map; use Nab in place of the removedlocksandbuild-constraintscommands (#14) by @gaborbernat.
Fixed¶
Accept canonical prerelease, postrelease and development tags, and use PEP 440 order when selecting previous releases (#14) by @gaborbernat.
Finalize a matching prerelease before applying the next version bump (#14) by @gaborbernat.
Fix pull request lookup for named changelog fragments during release preparation (#16) by @gaborbernat.
Preview standard Knope changesets without extra section configuration (#14) by @gaborbernat.
Read Towncrier defaults and validate fragments from project subdirectories (#14) by @gaborbernat.
Reject changelog fragments with the wrong file extension before release (#14) by @gaborbernat.
Reject shallow Git histories when attributing changelog fragments to pull requests (#14) by @gaborbernat.
Skip non-Python hook dependencies when refreshing pre-commit pins (#14) by @gaborbernat.
Security¶
Use the final credit in generated GitHub notes when a pull request title contains a forged credit (#14) by @gaborbernat.
Packaging¶
Include the MIT license file in wheel metadata (#14) by @gaborbernat.
0.5.1 (2026-10-22)¶
Fixed¶
Refresh transitive pre-commit hook dependencies alongside direct pins, including platform-specific packages (#13) by @gaborbernat.
0.5.0 (2026-10-22)¶
Added¶
Add a
hookscommand to refresh exact pre-commitadditional_dependenciespins under a release-age cutoff without rewriting the rest of the hook configuration (#11) by @gaborbernat.Allow repositories whose numeric Towncrier fragment stems are pull request numbers to preserve the original pull request link and verified author during historical backfills (#11) by @gaborbernat.
Calculate versions from
v-prefixed release tags and retain that prefix when requested (#11) by @gaborbernat.Check PyPI filenames and SHA256 digests before retrying a partial upload, stage only missing files, and verify the complete published set afterward (#11) by @gaborbernat.
Check a JetBrains Marketplace plugin against its signed ZIP before retrying an upload (#11) by @gaborbernat.
Export one selectable pylock.toml for a project’s runtime dependencies, groups, extras, Python range, and platforms (#11) by @gaborbernat.
Include YAML support in the base package so every command works without an extra (#11) by @gaborbernat.
Include build backend dependencies in the full project lock and select exact, hashed build constraints for the current Python and platform (#11) by @gaborbernat.
Link Knope changesets to merged pull requests and repair changelog anchors after release preparation (#11) by @gaborbernat.
Render package and Knope draft fragments beside released history in documentation builds without changing the tracked changelog (#11) by @gaborbernat.
Select and validate package-prefixed tags from a mixed repository tag list (#11) by @gaborbernat.
Select hashed build constraints for named operating systems and Python versions, and reject a shared file when their dependency selections differ (#11) by @gaborbernat.
Validate changed pull request fragments with the Towncrier configuration (#11) by @gaborbernat.
Fixed¶
Convert Sphinx PEP references to links in GitHub Release notes rendered from reStructuredText changelogs (#11) by @gaborbernat.
Convert reStructuredText links in changelog entries to Markdown links in GitHub Release notes (#11) by @gaborbernat.
Credit the merged pull request author for numeric fragments without losing a separate issue link (#11) by @gaborbernat.
Keep GitHub first-contributor credits for human pull requests without a changelog entry (#11) by @gaborbernat.
Keep explicit display text from reStructuredText links in GitHub Release notes (#11) by @gaborbernat.
Keep first-time human contributor credits when GitHub generated notes use a level-three heading (#11) by @gaborbernat.
Keep wrapped reStructuredText author credits attached to their release entry (#11) by @gaborbernat.
Preserve RST field names inside inline code when rendering GitHub release notes (#11) by @gaborbernat.
Preserve each reStructuredText changelog’s configured category heading level when assembling a release (#11) by @gaborbernat.
Preserve named historical author credits when GitHub generated notes omit a deleted account’s handle (#11) by @gaborbernat.
Preserve nested lists, code blocks, and warnings when rendering reStructuredText release notes for GitHub (#11) by @gaborbernat.
Reject named changelog fragments without a
+prefix before version selection or release assembly (#11) by @gaborbernat.Render a credited historical pull request when GitHub generated notes omit it (#11) by @gaborbernat.
Render historical RST release headings that link to a tag but have no date (#11) by @gaborbernat.
Render prerelease and four-part historical version sections in GitHub Release notes (#11) by @gaborbernat.
Documentation¶
Clarify when to keep
uv.lockalongside the exportedpylock.toml(#11) by @gaborbernat.
0.4.1 (2026-10-19)¶
Fixed¶
Render historical release notes for two-part version tags such as 0.2 (#10) by @gaborbernat.
0.4.0 (2026-10-19)¶
Added¶
Render older uncategorized release entries under Other changes without assigning a user-facing category to them (#9) by @gaborbernat.
0.3.0 (2026-10-19)¶
Added¶
Select one package history from a shared Markdown changelog and keep its package-prefixed comparison tags (#8) by @gaborbernat.
Ship a reStructuredText Towncrier template with stable anchors that follows each changelog’s heading style (#8) by @gaborbernat.
Fixed¶
Keep Towncrier’s issue links when a release contains numbered fragments alongside named fragments (#8) by @gaborbernat.
Read bracketed and v-prefixed Markdown release headings when rendering GitHub Release notes (#8) by @gaborbernat.
Reject uncategorized release items and empty category headings before tagging or publishing a distribution (#8) by @gaborbernat.
Replace a changelog’s existing comparison line when rendering GitHub Release notes, so the body contains one link (#8) by @gaborbernat.
Select automatic release versions from reStructuredText fragments as well as Markdown fragments (#8) by @gaborbernat.
0.2.0 (2026-10-19)¶
Added¶
Resolve merged pull request authors for changelog credits and verify them against generated GitHub release notes (#7) by @gaborbernat.
Documentation¶
Document the feature-release policy for Python support changes (#5) by @gaborbernat. Additions and drops use feature fragments and select minor releases. New releases will not install on a dropped Python version; users who need that version can install an older release.
0.1.1 (2026-10-19)¶
Fixed¶
Keep verified new-contributor credits when GitHub links the contributor’s first pull request with a URL (#4).
0.1.0 (2026-10-19)¶
Added¶
Add post-merge pull request links to named changelog fragments, allowing contributors to write entries before a PR number exists (#1) by @gaborbernat.
Calculate release versions from pending changelog fragments, with explicit bump and CalVer choices (#3) by @gaborbernat.
Provide a Towncrier template for Markdown changelogs with stable release and category anchors (#1) by @gaborbernat.
Render GitHub Release notes from tagged Markdown and reStructuredText changelogs with user-facing categories, human mentions, contributor credits, and comparison links (#1) by @gaborbernat.
Validate numeric release tags and select the previous tag for GitHub comparison links (#1) by @gaborbernat.
Fixed¶
Format the assembled changelog before release validation so added pull request links and author credits pass
prek(#2) by @gaborbernat.
Documentation¶
Document the release flow with a tutorial, command guides, input formats, and a draft changelog in PR documentation builds (#1) by @gaborbernat.