Skip to content

Release 4.1.0 #293

Closed
Closed

Description

@benoit74
  • Update dependencies to their latest versions (dependency-upgrade PR merged)
  • Secure the CI is green on git main
  • Secure the ReadTheDocs latest build is green at https://app.readthedocs.org/projects/python-libzim/
  • Update version in pyproject.toml to x.x.x (remove -devx suffix)
  • Update Github milestone to match the issues that will be released
  • Close Github milestone
  • Update the Changelog so that it is in line with the content of Github milestone and does not have [Unreleased] section anymore
  • Commit changes and push a tag on Github named vx.x.x
  • Create a Github release, pointing to the tag, with the Changelog of this release
  • Publish the Github release (this will trigger the CI, if the CI fails and you have to push a minor fix which does not justify to create a new version, you will have to delete the release and re-create it from scratch)
  • Review and approve release workflow at https://github.com/openzim/python-libzim/actions
  • Check that version is published as a Github release at https://github.com/openzim/python-libzim/releases
  • Check that version is published on Pypi at https://pypi.org/project/libzim/
  • Check that ReadTheDocs stable build for the new version is green at https://app.readthedocs.org/projects/python-libzim/
  • Create a new Github milestone with the next minor version incrementaly
  • Create a new Github issue attached to this milestone with this checklist inside
  • Create new ## [Unreleased] section in Changelog (placeholder for future entries)
  • Adjust version in pyproject.toml to x.y.z+1-dev0 (next patch)
  • Push both changes to main branch
  • Advertise this new version on Slack

Activity

  1. added this to the 4.1.0 milestone on Oct 29, 2026
  2. self-assigned this
    on Oct 29, 2026
  3. added theissue type on Oct 29, 2026
  4. benoit74 commented on Nov 5, 2026

    @benoit74
    ContributorAuthor

    Release log

    1. Dependencies up to date: PR Update pinned dev/test/lint dependencies #295 (merged 2026-11-05 09:57 UTC) bumped ruff/mypy/pytest/coverage/ipython/types-setuptools; pip list --outdated in the default hatch env shows nothing project-related outdated (only pip itself).
    2. CI green on main: commit e19ad21 — QA https://github.com/openzim/python-libzim/actions/runs/42006683576 ✅, Tests https://github.com/openzim/python-libzim/actions/runs/42006683729 ✅, Build sdist and wheels https://github.com/openzim/python-libzim/actions/runs/42006683566 ✅ (all jobs succeeded).
    3. ReadTheDocs latest green: build 35667003 for commit e19ad21, state finished, success=true.
    4. pyproject.toml version bumped from 4.0.1-dev0 to 4.1.0 (uncommitted, will land in the release commit at item 8).
    5. Milestone 4.1.0 updated: moved issues Split python-libzim between reader and writer parts #287 and Build and publish wheels for common Android architectures #167 from backlog, added PR Update pinned dev/test/lint dependencies #295 (no matching issue). Milestone now contains Update pinned dev/test/lint dependencies #295, Release 4.1.0 #293(release), Split python-libzim between reader and writer parts #287, Relax pyproject.toml requirements? #268, Build and publish wheels for common Android architectures #167, Support iterators #94.
    6. Milestone 4.1.0 (Add license header in all files. #23) closed (verified state=closed via API).
    7. Changelog updated: [Unreleased] replaced with [4.1.0] - 2026-11-05, added entries for Split python-libzim between reader and writer parts #287 and Update pinned dev/test/lint dependencies #295 (previously missing), kept Build and publish wheels for common Android architectures #167/Support iterators #94/Add Archive iterators and prefix search #294/Relax build dependency pins to a floor/ceiling range #288.
    8. Signed commit cf35f8a "Release 4.1.0" (pyproject.toml + CHANGELOG.md), tag v4.1.0 pushed, confirmed on remote via git ls-remote --tags origin v4.1.0. main not pushed yet.
    9. Draft GitHub release created, tagName v4.1.0, target main, body = CHANGELOG [4.1.0] section.
    10. GitHub release v4.1.0 published (publishedAt 2026-11-05T12:02:03Z). Triggered Publish workflow run https://github.com/openzim/python-libzim/actions/runs/42023742669 (currently waiting on environment approval).
    11. User approved the release environment deployment; no pending_deployments remain, run https://github.com/openzim/python-libzim/actions/runs/42023742669 now executing.
      11b. Note: the Publish workflow required a SECOND environment approval (the upload_pypi job also runs under the protected "release" environment, separate from build_wheels). User approved both.
    12. gh api repos/openzim/python-libzim/releases/latest --jq .tag_name = v4.1.0.
    13. PyPI https://pypi.org/pypi/libzim/json info.version = 4.1.0.
    14. ReadTheDocs stable build for commit cf35f8a (release commit): state finished, success=true.
      Publish workflow run: https://github.com/openzim/python-libzim/actions/runs/42023742669 (conclusion: success).
    15. Created milestone Add a context manager for Zim creator #24 "4.2.0" (open).
    16. Created issue Release 4.2.0 #296 "Release 4.2.0", milestone 4.2.0, assignee benoit74, type Task, checklist reset.
    17. Inserted empty ## [Unreleased] section before ## [4.1.0] in CHANGELOG.md.
    18. pyproject.toml version bumped from 4.1.0 to 4.1.1-dev0 (uncommitted, will land in the dev-bump commit at item 19).
    19. Pushed main: e19ad21..57555c2 (cf35f8a Release 4.1.0, 57555c2 Prepare for 4.1.1). Verified fast-forward (0 0 after push) and bypass rule note from GitHub (expected for release pushes).
    20. Slack message sent by user: "python-libzim 4.1.0 is released: https://github.com/openzim/python-libzim/releases/tag/v4.1.0"

    Release 4.1.0 complete. All 20 checklist items done.

  5. benoit74 commented on Nov 5, 2026

    @benoit74
    ContributorAuthor

    All checklist items completed. Release 4.1.0 shipped.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions