Closed
Description
Release: v0.15.0
Scheduled Date: 2025/03/31
Pull request due date: 2025/03/29
DOI: 10.5281/zenodo.15071586
Announcement draft: https://hackmd.io/@pygmt/rJhbqbx6yg
Priority PRs/issues to complete prior to release
- Add an advanced tutorial for plotting focal mechanisms (beachballs) #2550
- pygmt.grdfill: Deprecate parameter 'mode' and add parameters 'constantfill/gridfill/neighborfill/splinefill' (deprecated since v0.15.0 and will be removed in v0.19.0) #3855
- Release drafter only adds PRs merged since the latest release #3793
- DOC: Add a page for common parameters in the Technical Reference section #3844
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. [@seisman]
- 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 [One failure]
- 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 [@seisman] - Reserve a DOI on Zenodo by clicking on "New Version"
10.5281/zenodo.15071586
[@seisman] - Finish up the "Changelog entry for v0.x.x" Pull Request (Use the previous changelog PR as a reference) Changelog entry for v0.15.0 #3866
- 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 | https://hackmd.io/@pygmt/rJhbqbx6yg
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
- 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
After release:
- Update conda-forge pygmt-feedstock [Done automatically by conda-forge's bot. Remember to pin GMT, Python and SPEC0 versions] ENH: update package version to 0.15.0 conda-forge/pygmt-feedstock#43
- Bump PyGMT version on https://github.com/GenericMappingTools/try-gmt (after conda-forge update)
- 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 Update the release checklist post v0.15.0 release #3887
- Party 🎉 (don't tick before all other checkboxes are ticked!)