-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
release 1.3 #11384
release 1.3 #11384
Conversation
Feel free to merge and continue whenever you think it makes sense, thanks for pushing this out @drammock ! |
hey @moritz-gerster and @dissagaliyeva; I noticed that in #11245 you credited Jennifer Behnke, Hakimeh Aslsardroud, and Pavel Navratil as contributors. But they weren't listed as co-authors on any commits in that PR, so in order for them to get credit as authors in the next release, I need to create an empty commit with them as commit authors. Which means I need (ideally github-associated) email addresses for each of them. Can you provide those? You can email to me privately if you don't want to post them publicly here. My email address is in the sidebar of my homepage (https://dan.mccloy.info) |
Sure, @drammock, I will send them to you via e-mail as soon as I get them! |
Co-authored-by: Hakimeh Aslsardroud <hakimeh.aslsardroud@localhost> Co-authored-by: Pavel Navratil <pavel.navratil@localhost>
51fae0c
to
2ef2ce8
Compare
@moritz-gerster I ended up using fake |
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
mne/_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
. Commit and push this to the appropriatemaint
branch.package for PyPI
dist/
folder (in case you have wheels left from prior releases).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). You can get the sha sum fromsha256 dist/mne-X.Y.Z.tar.gz
(with X.Y.Z subsituted for the real version number, of course)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
Close milestone
Do all the deprecations
git grep deprecat
, find all the deprecations that are slated to be removed in the now-current dev version, and open a PR to remove them.stuff we no longer do:
package for Debian
git-buildpackage --git-verbose --git-ignore-new -uc -us --git-tag
dpkg-source --commit
git push