Repository navigation
Closed
Labels
maintenanceBoring but important stuff for the core devsBoring but important stuff for the core devs
Milestone
Description
Release: v0.18.0
Scheduled Date: 2026/01/12
Pull request due date: 2026/01/12
DOI: 10.5281/zenodo.18080259
Announcement draft: https://hackmd.io/rMIfOTs3SgS8UuDoNKtHhQ
Priority PRs/issues to complete prior to release
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 -r "# TODO" --include="*.py" .to find all potential TODOs. Remove compatibility codes for Python<3.12 #4322 @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.pyas well as notes in Not working transparency regarding GMT-Ghostscript incompatibility @seisman - Reserve a DOI on Zenodo by clicking on "New Version" @seisman
- Finish up the "Changelog entry for v0.x.x" Pull Request (Use the previous changelog PR as a reference) Changelog entry for v0.18.0 #4323
- Run
make codespellto check common misspellings. If there are any, either fix them or add them toignore-words-listinpyproject.toml - Draft the announcement at https://hackmd.io/rMIfOTs3SgS8UuDoNKtHhQ
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.zipandpygmt-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
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-feedstockrepository with the title@conda-forge-admin, please update version. This will trigger the bot immediately. Remember to pin GMT, Python and SPEC0 versions) - Bump PyGMT version on https://github.com/GenericMappingTools/try-gmt (after conda-forge update) Bump to Python 3.14 and PyGMT v0.18.0 try-gmt#64
- 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!)
Metadata
Metadata
Assignees
Labels
maintenanceBoring but important stuff for the core devsBoring but important stuff for the core devs
Activity
yvonnefroehlich commentedon Dec 28, 2025
Do we already have a release date? I will go to my family for New Year, but I should find some time to help with the changelog and the announcement.
seisman commentedon Dec 29, 2025
Initially, I think we should finish all tasks listed in #4168 so that all embellishment-plotting methods have a consistent syntax. Given the timing of the scheduled v0.18.0 release, I suggest postponing
Figure.scalebar,Figure.directional_rose, andFigure.magnetic_roseto the next release, since they are new features.That said, I do feel we should at least complete the refactor of
Figure.colorbar, so that its usage is consistent with other methods such asFigure.logoandFigure.image. TheFigure.colorbarrefactor (PR #4048) is not finalized yet, but I think we can finish it this week if we can reach agreement on the new parameter names and argument values. If we can't reach consensus, I'm also fine with moving it to v0.19.0.In other words, I think we can start the v0.18.0 release checklist now and begin working on the changelog and release announcement.
yvonnefroehlich commentedon Jan 6, 2026
Based on the timing I think it makes sense to move these new methods to v0.19.0. Then we could also include the new gallery example by Michael (PR #4010).
Yes, it would be good if we could include the refactor of
Figure.colorbarin v0.18.0.yvonnefroehlich commentedon Jan 6, 2026
Thanks for starting here @seisman ! I realized I needed some free time last week. But now I have looked at the changelog PR and worked on the release announcement.
seisman commentedon Jan 8, 2026
Hi @GenericMappingTools/pygmt-maintainers, I plan to merge PR #4048 on Jan. 11, PR #4328 on Jan. 13, and then release v0.18.0 (PR #4323) on Jan. 15 or earlier. So, please give these PRs final reviews.
seisman commentedon Jan 10, 2026
I've changed the release date to 2026/01/12.
yvonnefroehlich commentedon Jan 12, 2026
So, finally we have the release of v0.18.0, thanks @seisman and the others for all the work and efforts 🚀!
There is already a draft for the announcement at https://hackmd.io/rMIfOTs3SgS8UuDoNKtHhQ , which only needs a few updates. If we agree on a final version, I can post it on the forum within the next days. Then only the RG upload is missing.
seisman commentedon Jan 12, 2026
The release annoucement looks good to me.
yvonnefroehlich commentedon Jan 12, 2026
Great! Thanks! I will post the announcement tomorrow. If there are any other ideas or adjustments you'd like to see, feel free to edit the draft.
yvonnefroehlich commentedon Jan 13, 2026
I have posted the announcement on the forum at https://forum.generic-mapping-tools.org/t/pygmt-v0-18-0-released/6322.
seisman commentedon Jan 13, 2026
Great. Are you willing to do the ResearchGate one?
yvonnefroehlich commentedon Jan 13, 2026
Yep, upload is at https://www.researchgate.net/publication/399714115_PyGMT_A_Python_interface_for_the_Generic_Mapping_Tools_v0180.
seisman commentedon Jan 13, 2026
🎆 Thanks to everyone who contributed to this release. Let's move to v0.19.0 🚀