Skip to content

Release Zarr-Python v3.1.4 #3508

Closed
Closed

Description

@maxrjones

Release: v3.1.4
Scheduled Date: 2025/10/12

Priority PRs/issues to complete prior to release

Before release:

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. ianhi commented on Oct 6, 2025

    @ianhi
    Contributor

    Xarray

    All good there

  2. d-v-b commented on Oct 23, 2025

    @d-v-b
    Contributor

    over in #3540 @maxrjones suggested marking this release 3.2.0:

    I would lean towards 3.2.0 at this point due to the potential need for users to take action if they are on specific resource constraints or when using dask threads. The docs switch is also a big change that people may notice, even if there's no impact on the software itself. But I'm fine being overruled, so approving anyways

    The test of whether this release should be 3.2.0 or 3.1.4 is how much effort it requires for downstream projects to adapt to these changes. Personally I don't think switching our docs backend will require substantial effort from zarr users, but I don't have a clear feeling about the concurrency limits change. How can that change break existing workflows or generally require people to change their code?

    cc @jhamman

  3. d-v-b commented on Oct 23, 2025

    @d-v-b
    Contributor

    @dcherian over in #3526 you said "because it's going to cause errors with dask as we've learned with Icechunk.", could you elaborate on this? What's the likelihood that #3526 breaks people's workflows?

    I don't want to release something that's problematic for people, even if it's in a 3.2.0 release.

  4. ianhi commented on Oct 23, 2025

    @ianhi
    Contributor

    I think that #3542 should probably block releae until fixed. It will break a lot of links to the docs from around the internet

  5. d-v-b commented on Oct 23, 2025

    @d-v-b
    Contributor

    can we programmatically check that all endpoints of our old docs site resolve to endpoints in the new docs site?

  6. ianhi commented on Oct 23, 2025

    @ianhi
    Contributor

    It's also possible to make some redirect rules in readthedocs which might be the easiest solution for this

    or to do something like this: https://github.com/earth-mover/icechunk/pull/1092/files

  7. ilan-gold commented on Oct 24, 2025

    @ilan-gold
    Contributor

    can we programmatically check that all endpoints of our old docs site resolve to endpoints in the new docs site?

    Was thinking about this a bit last night, and I think the check should be "is the old objects.inv a subset of the new one?"

  8. dcherian commented on Oct 24, 2025

    @dcherian
    Contributor

    The test of whether this release should be 3.2.0 or 3.1.4 is how much effort it requires for downstream projects to adapt to these changes.

    I say 3.2.0 since downstream users may need some changes to get things back to working. Not nice to wake up to broken automated pipelines...

    "because it's going to cause errors with dask as we've learned with Icechunk.

    We've seen that it's really easy to overload a machine with a combo of zarr concurrency & another source of parallelism (e.g. dask). It's hard to reason through because the zarr limit is NOT a per-process limit but a per-array-call limit (at best I think). So 10 threads running zarr reads in parallel would set up 640 connections (IIUC). This usually manifests as a "timeout of sorts". With icechunk we see "0B/s" errors.

  9. d-v-b commented on Oct 24, 2025

    @d-v-b
    Contributor

    seems like we should implement a per-process limit instead of making the per-array-call limit higher.

  10. maxrjones commented on Oct 24, 2025

    @maxrjones
    MemberAuthor

    I think that #3542 should probably block releae until fixed. It will break a lot of links to the docs from around the internet

    #3544 should be sufficient to unblock the release (at least from the docs perspective, maybe not from the concurrency perspective)

    Nevermind, I'll need to do a bit more work on sphinx inter-compatibility

  11. ianhi commented on Nov 7, 2025

    @ianhi
    Contributor

    What's teh conclusion here? Is this ok to go?

  12. d-v-b commented on Nov 7, 2025

    @d-v-b
    Contributor

    we decided in the dev meeting to revert the concurrency changes, then I think we can release

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