Changelog¶
Unreleased¶
Added¶
Link named changelog fragments to squash-merged pull requests and verified human authors using Git history and GitHub.
Return verified PyPI file URLs for trusted-publisher attestation after comparing the complete published release with local distributions.
Render reStructuredText changelog entries as Markdown GitHub Release notes while preserving links and author credits.
Changes¶
Read fragment provenance from Git without
--gitor--commit-map; use Nab in place of the removedlocksandbuild-constraintscommands.
Fixed¶
Reject changelog fragments with the wrong file extension before release.
Skip non-Python hook dependencies when refreshing pre-commit pins.
Preview standard Knope changesets without extra section configuration.
Accept canonical prerelease, postrelease and development tags, and use PEP 440 order when selecting previous releases.
Finalize a matching prerelease before applying the next version bump.
Reject shallow Git histories when attributing changelog fragments to pull requests.
Read Towncrier defaults and validate fragments from project subdirectories.
Security¶
Use the final credit in generated GitHub notes when a pull request title contains a forged credit.
Packaging¶
Include the MIT license file in wheel metadata.
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.