Release Notes

This page provides links to release artifacts for each version of txaio.

For detailed changelog entries, see Changelog.

25.12.2

25.12.1

25.9.2

25.9.1

25.6.1

23.1.1

22.2.1

21.2.1

20.12.1

20.4.1

20.3.1

20.1.1

18.8.1

18.7.1


Release Workflow (for Maintainers)

This section documents the release process for maintainers.

Prerequisites

Before releasing, ensure you have:

  • Push access to the repository

  • PyPI credentials configured (or trusted publishing via GitHub Actions)

  • just and uv installed

Step 1: Draft the Release

Generate changelog and release note templates:

# Generate changelog entry from git history (for catching up)
just prepare-changelog <version>

# Generate release draft with templates for both files
just draft-release <version>

This will:

  • Add a changelog entry template to docs/changelog.rst

  • Add a release entry template to docs/releases.rst

  • Update the version in pyproject.toml

Step 2: Edit Changelog

Edit docs/changelog.rst and fill in the changelog details:

  • New: New features and capabilities

  • Fix: Bug fixes

  • Other: Breaking changes, deprecations, other notes

Step 3: Validate the Release

Ensure everything is in place:

just prepare-release <version>

This validates:

  • Changelog entry exists for this version

  • Release entry exists for this version

  • Version in pyproject.toml matches

  • All tests pass

  • Documentation builds successfully

Step 4: Disable Git Hooks (if needed)

git config core.hooksPath /dev/null
git config core.hooksPath

Step 5: Commit and Tag

git add docs/changelog.rst docs/releases.rst pyproject.toml
git commit -m "Release <version>"
git tag v<version>
git push && git push --tags

Step 6: Enable Git Hooks (if previously disabled)

git config core.hooksPath .ai/.githooks
git config core.hooksPath

Step 7: Automated Release

After pushing the tag:

  1. GitHub Actions builds and tests the release

  2. Wheels and source distributions are uploaded to GitHub Releases

  3. PyPI publishing is triggered via trusted publishing (OIDC)

  4. Read the Docs builds documentation for the tagged version

Manual PyPI Upload (if needed)

If automated publishing fails:

just download-github-release v<version>
just publish-pypi "" v<version>