Skip to content

Prepare 6.1.0 release#1516

Merged
rly merged 9 commits into
devfrom
release/6.1.0
Jun 25, 2026
Merged

Prepare 6.1.0 release#1516
rly merged 9 commits into
devfrom
release/6.1.0

Conversation

@rly

@rly rly commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Prepare for release of HDMF 6.1.0

Bumps the ## HDMF 6.0.3 (Upcoming) changelog heading to ## HDMF 6.1.0 (June 24, 2026). Update the date to the actual release day if it slips. Note: this release contains a breaking change (removal of the file argument from HERD.add_ref/HERD.add_ref_termset); confirm a minor bump (rather than major) is intended for the HERD API.

This PR also includes a CI fix discovered while reviewing the release infrastructure: the gallery-py310-minimum tox env no longer pins the docs dependency group to its minimum versions. It now installs the docs group at latest compatible versions, then downgrades only the project's own direct deps with --resolution lowest-direct, mirroring the equivalent fix in pynwb#2205.

It also moves the gallery, docs (Sphinx link check + Read the Docs), and coverage CI from Python 3.13 to 3.14. linkml-runtime 1.11.1 and its deps (oaklib, schemasheets) now support 3.14; verified locally by installing the full .[all] + docs stack on 3.14.4 and running test_gallery.py (all 7 examples, including the linkml/oaklib termset examples, pass). The stale # TODO: Update to 3.14 when linkml and its deps support 3.14 markers are removed.

Before merging:

  • Make sure all PRs to be included in this release have been merged to dev.
  • Major and minor releases: Update dependency ranges in pyproject.toml as needed.
  • Check legal file dates and information in Legal.txt, license.txt, README.rst, docs/source/conf.py,
    and any other locations as needed
  • Update pyproject.toml as needed
  • Update README.rst as needed
  • Update src/hdmf/common/hdmf-common-schema submodule as needed. Check the version number and commit SHA
    manually. Make sure we are using the latest release and not the latest commit on the main branch.
    (Currently pinned to 1.9.0, commit 497bde3.)
  • Update changelog (set release date) in CHANGELOG.md and any other docs as needed
  • Run tests locally including gallery tests, and inspect all warnings and outputs
    (pytest && python test_gallery.py). Try to remove all warnings.
  • Run PyNWB tests locally including gallery and validation tests, and inspect all warnings and outputs
    (cd pynwb; git checkout dev; git pull; python test.py -v > out.txt 2>&1)
  • Run HDMF-Zarr tests locally including gallery and validation tests, and inspect all warnings and outputs
    (cd hdmf-zarr; git checkout dev; git pull; pytest && python test_gallery.py)
  • Test docs locally and inspect all warnings and outputs cd docs; make clean && make html
  • After pushing this branch to GitHub, manually trigger the "Run all tests" GitHub Actions workflow on this
    branch by going to https://github.com/hdmf-dev/hdmf/actions/workflows/run_all_tests.yml, selecting
    "Run workflow" on the right, selecting this branch, and clicking "Run workflow". Make sure all tests pass.
  • Check that the readthedocs build for this PR succeeds (see the PR check)

After merging:

  1. Create release by following steps in docs/source/make_a_release.rst or use alias git pypi-release [tag] if set up
  2. After the CI bot creates the new release (wait ~10 min), update the release notes on the
    GitHub releases page with the changelog
  3. Check that the readthedocs "stable" build runs and succeeds
  4. Either monitor conda-forge/hdmf-feedstock for the
    regro-cf-autotick-bot bot to create a PR updating the version of HDMF to the latest PyPI release, usually within
    24 hours of release, or manually create a PR updating recipe/meta.yaml with the latest version number
    and SHA256 retrieved from PyPI > HDMF > Download Files > View hashes for the .tar.gz file. Re-render and
    update the dependencies as needed.

rly and others added 2 commits June 24, 2026 21:04
Set the release date for HDMF 6.1.0 in CHANGELOG.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Split the gallery-py310-minimum install into two steps: install the docs
group at its latest compatible versions first, then resolve only the
project's own direct dependencies down to their minimum supported versions
with --resolution lowest-direct.

Applying --resolution lowest-direct to the docs group pins documentation
dependencies (sphinx, sphinx-gallery, etc.) to their floors, which are not
shipped to users and provide little value to test at minimum while risking
spurious resolution failures. This mirrors the equivalent fix in pynwb.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@codecov

codecov Bot commented Jun 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.22%. Comparing base (14021a6) to head (3184f2b).

Additional details and impacted files
@@            Coverage Diff             @@
##              dev    #1516      +/-   ##
==========================================
- Coverage   93.22%   93.22%   -0.01%     
==========================================
  Files          41       41              
  Lines       10170    10168       -2     
  Branches     2100     2100              
==========================================
- Hits         9481     9479       -2     
  Misses        413      413              
  Partials      276      276              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

linkml-runtime (1.11.1) and its dependencies (oaklib, schemasheets) now
support Python 3.14, so the termset/linkml-backed gallery examples, the
Sphinx docs build, and the optional-dependency coverage run all install and
pass on 3.14. Bump the gallery optional tox envs, the gallery matrices in
run_tests.yml and run_all_tests.yml, the Sphinx link check, the coverage
workflow, and the Read the Docs build from 3.13 to 3.14, and drop the
stale "update when linkml supports 3.14" TODOs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@rly rly force-pushed the release/6.1.0 branch from edd6773 to ef72967 Compare June 25, 2026 04:15
numcodecs 0.15.1 (pulled in by the zarr optional extra) has no Python 3.14
wheel on PyPI and cannot be built on macos-latest, so the optional/prerelease
gallery tests on macos-latest stay on 3.13, mirroring how the optional pytest
runs are already handled there. The linux and windows optional gallery runs
build numcodecs from source and run on 3.14. Restore the gallery-py313 optional
tox envs alongside the gallery-py314 ones for this purpose.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@rly rly force-pushed the release/6.1.0 branch from 97db63f to 838da0e Compare June 25, 2026 05:12
@rly rly marked this pull request as draft June 25, 2026 05:29
@rly rly marked this pull request as ready for review June 25, 2026 19:38
rly and others added 4 commits June 25, 2026 12:54
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@rly rly requested a review from oruebel June 25, 2026 21:23
@rly rly enabled auto-merge (squash) June 25, 2026 21:31
@rly rly merged commit 39a4ee7 into dev Jun 25, 2026
47 of 66 checks passed
@rly rly deleted the release/6.1.0 branch June 25, 2026 21:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants