Release ChecklistΒΆ

Use this checklist before tagging a release.

  1. Update the package version in pyproject.toml and filter_tabs/__init__.py.

  2. Add a dated entry to docs/changelog.rst with the user-visible changes, compatibility notes, and any security-relevant dependency updates.

  3. Run the local quality gates:

    ruff check filter_tabs tests docs/_ext scripts/validate_docs.py
    ruff format --check filter_tabs tests docs/_ext scripts/validate_docs.py
    mypy filter_tabs/
    pytest
    
  4. Build and validate the HTML documentation:

    sphinx-build -E -a -b html docs docs/_build/html
    python scripts/validate_docs.py docs/_build/html
    
  5. Rebuild the PDF download and then rebuild HTML so the download link points to the fresh PDF:

    ./scripts/dev.sh docs
    
  6. Confirm docs/_build/html contains the expected rendered examples and that the PDF includes the PDF-only fallback notice.

  7. Create a focused release commit, tag it as vX.Y.Z, and push the tag.

  8. Verify that GitHub Actions finishes the test matrix, documentation validation, Pages deployment, and PyPI publish job.