Skip to content

Release Zarr-Python v3.1.6 #3755

Closed
Closed

Description

@maxrjones

Release: 3.1.6
Scheduled Date: 2026/03/17

Priority PRs/issues to complete prior to release

Add any here!

Before release:

  • Make sure the release branch (e.g., 3.1.x) is up to date with any backports.
  • Make sure that all pull requests which will be included in the release have been properly documented as changelog files in the changes/ directory.
  • Run towncrier build --version x.y.z to create the changelog, and commit the result to the release branch.
  • Check SPEC 0 to see if the minimum supported version of Python or NumPy needs bumping.
  • Check to ensure that:

Release:

  • Go to https://github.com/zarr-developers/zarr-python/releases.
    • Click "Draft a new release".
    • Choose a version number prefixed with a v (e.g. v0.0.0). For pre-releases, include the appropriate suffix (e.g. v0.0.0a1 or v0.0.0rc2).
    • Set the target branch to the release branch (e.g., 3.1.x)
    • Set the description of the release to: See release notes https://zarr.readthedocs.io/en/stable/release-notes.html#release-0-0-0, replacing the correct version numbers. For pre-release versions, the URL should omit the pre-release suffix, e.g. "a1" or "rc1".
    • Click on "Generate release notes" to auto-fill the description.
    • Make a release by clicking the 'Publish Release' button, this will automatically create a tag too.
  • Verify that release workflows succeeded.
    • The latest version is correct on PyPI.
    • The stable version is correct on ReadTheDocs.

After release:

  • Review and merge the pull request on the conda-forge zarr-feedstock that will be automatically generated.

  • Party 🎉

Activity

  1. maxrjones commented on Mar 9, 2026

    @maxrjones
    MemberAuthor

    Anyone object to a release this week? We have a number of bug fixes and performance improvements that people can use.

  2. ianhi commented on Mar 11, 2026

    @ianhi
    Contributor

    Xarray all good.

  3. maxrjones commented on Mar 12, 2026

    @maxrjones
    MemberAuthor

    I pushed the release until tomorrow, just due to time constraints on my part. Plus a Friday the 13th release sounds fun

  4. maxrjones commented on Mar 13, 2026

    @maxrjones
    MemberAuthor

    For visibility, I was advised against a Friday release on Zulip so we're now releasing on Tuesday

  5. maxrjones commented on Mar 20, 2026

    @maxrjones
    MemberAuthor

    @zarr-developers/python-core-devs the release didn't propagate to PyPI due to the changes to workflow triggers in #3742. #3794 re-adds the trigger. We have two options:

    1. Manually build and upload via twine
    2. Delete the GitHub release/tag and redo the GH release

    I'd lean towards option 2, but would defer to the more longstanding devs on this.

  6. d-v-b commented on Mar 20, 2026

    @d-v-b
    Contributor

    I now regret not asking for a test pypi workflow in #3791 ☹️

    I'm ok manually releasing, and I would also be OK with just incrementing the version and releasing 3.1.7 with this fix. Version numbers are cheaper than rewriting history IMO.

  7. maxrjones commented on Mar 20, 2026

    @maxrjones
    MemberAuthor

    I now regret not asking for a test pypi workflow in #3791 ☹️

    I'm not sure that would have led us to catch the missing trigger, but it's a good idea anyways. Ultimately it was my responsibility when cutting the release to check everything's setup properly. I'm sorry for having not caught this.

    I'm ok manually releasing, and I would also be OK with just incrementing the version and releasing 3.1.7 with this fix. Version numbers are cheaper than rewriting history IMO.

    I think missing releases can confuse folks, so I'd prefer a manual release over skipping 3.1.6 on PyPI. Would you be willing to do the upload?

  8. d-v-b commented on Mar 20, 2026

    @d-v-b
    Contributor

    I think missing releases can confuse folks, so I'd prefer a manual release over skipping 3.1.6 on PyPI. Would you be willing to do the upload?

    I'd be happy to! I will probably wait until Monday, to ensure that we don't have a nightmare weekend in case anything breaking slipped through.

  9. d-v-b commented on Mar 20, 2026

    @d-v-b
    Contributor

    also for posterity the best way to avoid this hiccups is to keep the gears oiled and just release more. we should really aim for weekly or biweekly releases!

  10. maxrjones commented on Mar 20, 2026

    @maxrjones
    MemberAuthor

    I think missing releases can confuse folks, so I'd prefer a manual release over skipping 3.1.6 on PyPI. Would you be willing to do the upload?

    I'd be happy to! I will probably wait until Monday, to ensure that we don't have a nightmare weekend in case anything breaking slipped through.

    Thanks very much! We don't need to freeze commits to main for this to go well, right?

  11. keewis commented on Mar 23, 2026

    @keewis
    Contributor

    for reference, most of the issues happen when building the package, not during the upload. Thus, if you trigger the build job on pull requests with a label (e.g. release) you often don't even need to try uploading to test.pypi.org.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions