Skip to content

Release phylib 2.7.1 - #65

Merged
rossant merged 6 commits into
masterfrom
release/2.7.1
Oct 8, 2026
Merged

rossant merged 6 commits into
masterfrom
release/2.7.1

Conversation

@rossant

@rossant rossant commented Sep 9, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Prepare phylib 2.7.1 for release, including the template-less waveform and spike-selection fixes required by cortex-lab/phy#1404.

  • Document all changes since 2.7.0, including atomic curation writes, large-dataset optimizations, geometry and loading fixes, and development improvements.
  • Set the package version to 2.7.1 and date the changelog for the 8 October 2026 release.
  • Fix existing flake8 violations and enforce lint in CI.
  • Include Ensure dataset is writable #66's test-fixture permission fix: copied datasets remain writable when packaging systems provide a read-only source cache. This changes test preparation only.
  • Correct the wheel tag to Python 3 only and include the changelog and test dependency list in source distributions.
  • Replace the obsolete README release commands with isolated builds, artifact checks, clean installation verification, and downstream validation.

Validation — 2 October 2026

Validated locally with Python 3.12.14:

  • flake8 7.4.1: passed.
  • Complete phylib suite: 280 passed.
  • uv build: wheel and sdist built; both passed twine check.
  • Archive inspection: source includes changelog, test dependencies, fixtures, and probe data; wheel metadata reports 2.7.1 and py3-none-any.
  • Clean wheel installation: package version and imports verified from the installed wheel, without an editable phylib checkout.
  • Downstream phy #1404 regression test_template_controller_without_templates_uses_stored_waveform_channels: passed against that wheel, checking stored waveform sample count, per-cluster channel rankings, and distinct Probe View positions.

All seven GitHub CI jobs passed on the refreshed PR head 363af39: lint, full Linux tests on Python 3.10–3.12, full macOS tests on Python 3.12, Windows smoke tests, and package build.

Release checklist

  • Changelog includes all changes since 2.7.0, including the October test-fixture fix
  • Package version is 2.7.1
  • Local flake8 passes
  • Local test suite passes
  • Wheel and sdist pass twine check
  • Built wheel passes a clean installation and import smoke test
  • Downstream phy template-less waveform/channel regression passes against the built wheel
  • GitHub CI passes on the final PR head
  • Approved by @oliche
  • Changelog receives the actual release date (8 October 2026)
  • PR merged and merged master CI verified
  • Annotated 2.7.1 tag created from the merged release commit
  • Release artifacts rebuilt and checked from the tagged commit
  • Tagged wheel installation and downstream regression verified
  • Artifacts uploaded to PyPI
  • PyPI installation verified
  • master bumped to 2.7.2.dev0 with an Unreleased changelog section (Start phylib 2.7.2 development after the 2.7.1 release #67; post-merge CI passed)

@oliche approved the release on 6 October 2026. Cyrille authorized merging and publishing on 8 October 2026; execution is proceeding with fresh CI and tagged-artifact verification.

Publication — 8 October 2026

Merged as 457915b, tagged 2.7.1. All seven release and merged-master CI jobs passed. Tagged-source lint and all 280 tests passed; wheel and sdist passed archive/metadata checks and twine check. The tagged wheel passed a clean installation and the downstream template-less waveform/channel regression. Published PyPI files have SHA-256 hashes identical to the tagged artifacts; exact-version installation from PyPI passed. GitHub release assets are the same verified files. The post-release development bump was merged in #67 as ca1e063; all seven post-merge CI jobs passed.

@rossant
rossant requested a review from oliche September 9, 2026 20:48
@rossant

rossant commented Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

Release preparation is complete and the full GitHub CI matrix is green, including lint and package build. The PR is now paused at the required @oliche approval gate; it will not be merged, tagged, or published before explicit approval.

@oliche oliche left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All good, the ibl-sorter integration tests pass.

Ok to merge on my end !

@rossant
rossant merged commit 457915b into master Oct 8, 2026
7 checks passed
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.

3 participants