Skip to content

MAINT: Deploy versioned docs and fix version switcher - #14158

Merged
larsoner merged 1 commit into
mne-tools:mainfrom
larsoner:doc-deploy-simplify
Aug 15, 2026
Merged

larsoner merged 1 commit into
mne-tools:mainfrom
larsoner:doc-deploy-simplify

Conversation

@larsoner

@larsoner larsoner commented Aug 14, 2026 •

Copy link
Copy Markdown
Member

A few things we can do to make our release process simpler:

  1. Symlink stable rather than copying files (I will do this manually)

  2. Fix the "version" for 1.12 (should be 1.12 not stable; theme matches version by string equality against the build's version_match). Should fix this just being "choose version" on 1.12 docs:

    Screenshot 2026-08-14 at 9 45 15 AM
  3. Use the builtin warning banner

Drafted with Claude Fable 5 but I reviewed and revised myself.

@larsoner

Copy link
Copy Markdown
Member Author

I'll merge this (after fixing the pip-pre failure if needed) and see if it fixes things. I think it should 🤞

@larsoner larsoner added the backport-candidate on-merge: backport to maint/1.13 label Aug 15, 2026
@larsoner

Copy link
Copy Markdown
Member Author

pip-pre is an upstream PyVista error fixed by pyvista/pyvista#8908 . I'll probably merge and continue with this tomorrow!

@larsoner
larsoner merged commit 34aadd8 into mne-tools:main Aug 15, 2026
46 of 48 checks passed
@larsoner
larsoner deleted the doc-deploy-simplify branch August 15, 2026 13:02
larsoner added a commit that referenced this pull request Aug 15, 2026
… and fix version switcher) [ci skip] (#14159)

Co-authored-by: Eric Larson <larson.eric.d@gmail.com>
@larsoner

Copy link
Copy Markdown
Member Author

Looks like it worked!

Screenshot 2026-08-15 at 8 56 45 AM
Yann-P pushed a commit to pydata/pydata-sphinx-theme that referenced this pull request Sep 18, 2026
Make a `version_match=1.13` work for release `1.13.2`. In `main`, the
banner compares the release string against the preferred entry's
version, so a patch release of the stable minor shows "unstable
development version" unless the JSON version (and hence `version_match`)
is rewritten and everything rebuilt for every point release. This has
been a stumbling block for multiple projects, namely #1552, #1629,
#1908, and now MNE-Python:

<img width="1126" height="715" alt="Screenshot 2026-09-16 at 09 49 06"
src="https://github.com/user-attachments/assets/fe3aa34a-e175-492b-b67d-c7b55c57e07c"
/>

(We didn't hit this bug until now because we had our own version-warning
script -- which PST's `showVersionWarningBanner` was originally adapted
from I think -- that [I removed
recently](mne-tools/mne-python#14158) in favor
of the theme's banner; that script decided stable vs not from the URL
path, i.e. the same identity version_match carries here.)

The fix checks `version_match` against the preferred entry before
falling back to the release-string comparison, so existing setups are
unaffected. The only case in the added test that fails on main is the
1.13.2 / 1.13 row, so other behaviors should hopefully be safely
preserved. This is the release vs version fragility described in #1629.
With `version_match` checked first, the banner and the switcher agree on
what the current version is. But that issue cites other issues like doc
clarity so no `Closes` on it I think.

It would be great to get this fix into 0.22 if possible!

Changes drafted with Claude Fable 5.1 but reviewed / understood by me
(even though my JS skills are limited!).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport-candidate on-merge: backport to maint/1.13 no-changelog-entry-needed

1 participant