Closed
Description
Release: v0.16.0
Scheduled Date: 2025/06/18
Pull request due date: 2025/06/16
DOI: 10.5281/zenodo.15628725
Announcement draft: https://hackmd.io/@pygmt/v0-16-0_announcement
Priority PRs/issues to complete prior to release
- Update affiliation of YF #3921
- pygmt.grdlandmask: Improve the checking of parameters 'maskvalues'/'bordervalues' #3963
- Improve decorators @use_alias/@fmt_docstrings to list non-aliased aliases #3965
Before release:
- Check SPEC 0 to see if we need to bump the minimum supported versions of GMT, Python and core package dependencies (NumPy, pandas, Xarray) @seisman
- Review the "PyGMT Team" page @seisman
- README looks good on TestPyPI. Visit TestPyPI, click the latest pre-release, and check the homepage.
- Check to ensure that:
- Deprecated workarounds/codes/tests are removed. Run
grep "# TODO" **/*.py
to find all potential TODOs. @seisman - All tests pass in the "GMT Legacy Tests" workflow
- All tests pass in the "GMT Dev Tests" workflow
- All tests pass in the "Doctests" workflow
- Deprecated workarounds/codes/tests are removed. Run
- Update warnings in
pygmt/_show_versions.py
as well as notes in Not working transparency regarding GMT-Ghostscript incompatibility - Reserve a DOI on Zenodo by clicking on "New Version"
10.5281/zenodo.15628725
@seisman - Finish up the "Changelog entry for v0.x.x" Pull Request (Use the previous changelog PR as a reference)
- note: Update YF's affiliation Update affiliation of YF #3921
- Run
make codespell
to check common misspellings. If there are any, either fix them or add them toignore-words-list
inpyproject.toml
- Draft the announcement on https://hackmd.io/@pygmt
Release:
- At the PyGMT release page on GitHub:
- Edit the draft release notes with the finalized changelog
- Set the tag version and release title to vX.Y.Z
- Make a release by clicking the 'Publish Release' button, this will automatically create a tag too
- Verify that all workflows triggered by the release pass
- The latest version is correct on PyPI
- The latest version is correct on https://www.pygmt.org/latest/
- The release page has five assets, including
baseline-images.zip
,pygmt-docs.zip
andpygmt-docs.pdf
- Download pygmt-X.Y.Z.zip (rename to pygmt-vX.Y.Z.zip) and baseline-images.zip from the release page, and upload the two zip files to https://zenodo.org/deposit, ensure that they are filed under the correct reserved DOI
- note: Update YF's affiliation Update affiliation of YF #3921
After release:
- Update conda-forge pygmt-feedstock (Done automatically by conda-forge's bot. If you don't want to wait, open a new issue in the
conda-forge/pygmt-feedstock
repository with the title@conda-forge-admin, please update version
. This will trigger the bot immediately. Remember to pin GMT, Python and SPEC0 versions) Note to remove netCDF4 dependency (Remove the dependency of netCDF4 #3643)!! pygmt v0.16.0 conda-forge/pygmt-feedstock#44 - Bump PyGMT version on https://github.com/GenericMappingTools/try-gmt (after conda-forge update) Bump to PyGMT v0.16.0 try-gmt#58
- Announce the release on:
- GMT forum (do this announcement first! Requires moderator status)
- ResearchGate (after forum announcement; download the ZIP file of the new release from the release page and add it as research item via the code category, be sure to include the corresponding new Zenodo DOI)
- Update release checklist template with any additional bullet points that may have arisen during the release
- Party 🎉 (don't tick before all other checkboxes are ticked!)