Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
update pinned website theme commit
Detailed instructions here but the basic steps are:
HEAD
of the theme, and find the newest commit that still looks good with our siterequirements_doc.txt
.fix milestone issues / pending PRs.
build-dev-docs
, you may need to run a[circle deploy]
to get the docs up-to-date with the desired state of the code at release time.docs/cited.rst
update website repo (mne-tools/mne-tools.github.io)
update changelog
Generate author list (note there is a version number in this command, be sure to update it):
Using the --group option in
git shortlog
is important to capture "co-authored-by", and requires git 2.29+ (if your git is older than that, there is an official git PPA for debian-like systems).Add missing authors. Add anyone missing from the author list (e.g., first-time contributors who did not (co)author any commits but contributed during review/iteration). NOTE: make sure things are clean / not in process before doing this:
Ensure full names for all authors. If there are authors without full names, check if they already exist in
doc/changes/names.inc
; if so, update.mailmap
to map their full name to their alias. If they're not yet indoc/changes/names.inc
, use the--email
option in thegit shortlog
command above to get their email address and ping them to ask if they want to provide a full name and URL; when they do, update.mailmap
anddoc/changes/names.inc
.Deduplicate authors. Check the list for duplicate names (e.g., Alex Gramfort and Alexandre Gramfort) and deduplicate by adding more
.mailmap
entries.Add "authors" section to
doc/changes/latest.inc
. Rerun thegit shortlog
command above to generate the final list. Look at previous files (doc/changes/1.0.inc
) for formatting example. Run make codespell and add any violating names toignore_words.txt
.Highlight new contributors. Manually add + symbols next to new contributors in the list, and make sure their entries are properly formatted. Some users will not be associated with a given pull request / have a
:newcontrib:
entry --git grep <name>
can tell you if it's their first time contributing.Update changelog title and shortcut. At the top of
doc/changes/latest.inc
Change "Current" to "Version X.Y.Z (YYYY-MM-DD)", replacing X.Y.Z with the release version being prepared, and YYYY-MM-DD with the release date. Also change.. _current::
to.. _changes_X_Y_Z:
.Rename changelog file.
git mv doc/changes/latest.inc doc/changes/X.Y.inc
Update
doc/whats_new.rst
to point toX.Y.inc
instead oflatest.inc
update the version string
doc/_static/versions.json
to add an entry and updated stable/devel.SECURITY.md
_version.py
changeX.Y.dev0
toX.Y.0
.circleci/config.yml
bump the version in "maint/X.Y"tools/circleci_download.sh
bump the version in"$CIRCLE_BRANCH" == "maint/X.Y"
update codemeta and citation
tools/generate_codemeta.py
to update thecompound_surnames
variable (if needed, based on new contributors from the changelog).cd tools/ && python generate_codemeta.py
to update the codemeta metadata and CITATION.cff files for this release, and stage them:git add codemeta.json CITATION.cff
commit and push
upstream main
(or merge in your "prep for release" PR)make a release tag
vX.Y.Z
for all fields (version number, name, description), otherwise they get auto-populated with annoying things. The "target" of the release should bemain
.create new stable branch
maint/X.Y
.circleci/config.yml
to change names "build_docs_main" to "build_docs_stable" (example commit), and change the workflow name from "main" to "stable". Commit and push this change (git push upstream maint/X.Y
).maint/X.Y-1
ormaint/X-1.Y
) and remove the "stable" workflow from.circleci/config.yml
package for PyPI
python setup.py sdist bdist_wheel
twine upload dist/* --repository testpypi --verbose
twine upload dist/* --verbose
package for Conda
version
andsha256
inrecipe/meta.yaml
; other additions will depend on what has changed for the project (e.g., minimum dependency versions).update version numbers (again)
mne/_version.py
to next dev version, e.g.X.Y+1.dev0
include
s indoc/whats_new.py
main
update MNE Installers
doc/install/installers.rst
to point to the new installer files. Make sure to update links for all 3 platforms. Push this change to bothmaint/X.Y
andmain
, with commit message[circle deploy]
.announce the release
package for Debian
git-buildpackage --git-verbose --git-ignore-new -uc -us --git-tag
dpkg-source --commit
git push
Close milestone