Skip to content

Release PyGMT v0.17.0 #4100

Description

@seisman

Release: v0.17.0
Scheduled Date: 2025/09/30 2025/10/03
Pull request due date: 2025/09/28
DOI: 10.5281/zenodo.17156962
Announcement draft: https://hackmd.io/c5dOOqRjRv6AkjbZ53P-4g

Priority PRs/issues to complete prior to release

Before release:

Release:

After release:


  • Party 🎉 (don't tick before all other checkboxes are ticked!)

Activity

added this to the 0.17.0 milestone on Sep 18, 2025

welcome commented on Sep 18, 2025

@welcome

seisman commented on Sep 18, 2025

@seisman
MemberAuthor

It's time to release v0.17.0 in line with our quarterly release policy. Is 09/30 a good deadline? I'll have limited availability during the first week of October for the Chinese National Day holiday.

pinned this issue on Sep 18, 2025

weiji14 commented on Sep 18, 2025

@weiji14
Member

Yep, September 30 sounds good! I can help with the post-release bullet points (e.g. forum announcement) if anything slips into October.

yvonnefroehlich commented on Sep 19, 2025

@yvonnefroehlich
Member

It's time to release v0.17.0 in line with our quarterly release policy. Is 09/30 a good deadline? I'll have limited availability during the first week of October for the Chinese National Day holiday.

Sounds good! For me, September 30 is fine.

seisman commented on Sep 28, 2025

@seisman
MemberAuthor
  • Update warnings in pygmt/_show_versions.py as well as notes in Not working transparency regarding GMT-Ghostscript incompatibility

Unfortunately, we can't get Ghostscript 10.05.1 and 10.06.0 pushed into conda-forge yet (conda-forge/ghostscript-feedstock#35, conda-forge/ghostscript-feedstock#37), so we still don't know if GMT/PyGMT works well with these new versions.

seisman commented on Sep 29, 2025

@seisman
MemberAuthor

With the help of @weiji14, we have some last-minute progress on GMT 6.6 and ghostscript 10.05/10.06. I think the plans are:

We may postpone the v0.17.0 release by a few days, depending on the progress.

seisman commented on Sep 29, 2025

@seisman
MemberAuthor
  • Update warnings in pygmt/_show_versions.py as well as notes in Not working transparency regarding GMT-Ghostscript incompatibility

As shown in PR #4125, GMT 6.5 works well with ghostscript 10.05.1 and 10.06.0. Currently, the "Not working transparency" note says:

Ghostscript 10.03 or later for GMT 6.5.0

I think we can either keep it unchanged or change it to "Ghostscript 10.03-10.06 for GMT 6.5.0". Which one is better?

  • Bump to GMT 6.6 and check if GMT 6.6 works with gs 10.03-10.06

As shown in #4018 (comment), the rebuilt GMT 6.6 still doesn't work, likely due to conflicts of geos and proj. I guess we should follow our initial plan and release v0.17.0 on Sep 30.

yvonnefroehlich commented on Sep 29, 2025

@yvonnefroehlich
Member

I think we can either keep it unchanged or change it to "Ghostscript 10.03-10.06 for GMT 6.5.0". Which one is better?

I think we can leave the warning as is, and we can update it (if needed) when we add the support for GMT 6.6.

weiji14 commented on Sep 29, 2025

@weiji14
Member
  • Bump to GMT 6.6 and check if GMT 6.6 works with gs 10.03-10.06

As shown in #4018 (comment), the rebuilt GMT 6.6 still doesn't work, likely due to conflicts of geos and proj. I guess we should follow our initial plan and release v0.17.0 on Sep 30.

GMT 6.6 appears to be installable now, I'll test them with ghostscript 10.05.1 and 10.06.0 in #4018.

Is it ok to delay the release then by a week? I think best to get GMT 6.6 in and drop GMT 6.4 now rather than in December which is too close to AGU (even though we usually release after AGU).

seisman commented on Sep 30, 2025

@seisman
MemberAuthor

I'll be AFK for several hours or days. Feel free to make changes you like.

yvonnefroehlich commented on Sep 30, 2025

@yvonnefroehlich
Member

I'll be AFK for several hours or days. Feel free to make changes you like.

I have made a PR for fixing the alias list for pygmt.grdclip at #4130 and for adding a note regrading the automatic font size scaling of the colorbar label based on the colorbar width at #4126.

yvonnefroehlich commented on Sep 30, 2025

@yvonnefroehlich
Member

Looking at the failing docs for windwos I found this warning / error:

WARNING: autodoc: failed to import property 'Pattern.pattern' from module 'pygmt.params'; the following exception was raised:

Traceback (most recent call last):
  File "C:\Users\runneradmin\micromamba\envs\pygmt\Lib\site-packages\sphinx\util\inspect.py", line 461, in safe_getattr
    return getattr(obj, name, *defargs)
AttributeError: type object 'Pattern' has no attribute 'pattern'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\runneradmin\micromamba\envs\pygmt\Lib\site-packages\sphinx\ext\autodoc\importer.py", line 288, in import_object
    obj = attrgetter(obj, mangled_name)
  File "C:\Users\runneradmin\micromamba\envs\pygmt\Lib\site-packages\sphinx\ext\autodoc\__init__.py", line 384, in get_attr
    return autodoc_attrgetter(obj, name, *defargs, registry=self.env._registry)
  File "C:\Users\runneradmin\micromamba\envs\pygmt\Lib\site-packages\sphinx\ext\autodoc\__init__.py", line 3149, in autodoc_attrgetter
    return safe_getattr(obj, name, *defargs)
  File "C:\Users\runneradmin\micromamba\envs\pygmt\Lib\site-packages\sphinx\util\inspect.py", line 477, in safe_getattr
    raise AttributeError(name) from exc
AttributeError: pattern
 [autodoc.import_object]

weiji14 commented on Sep 30, 2025

@weiji14
Member

I'll be AFK for several hours or days. Feel free to make changes you like.

I have made a PR for fixing the alias list for pygmt.grdclip at #4130 and for adding a note regrading the automatic font size scaling of the colorbar label based on the colorbar width at #4126.

Ok, let's try and get #4126 in, and maybe #4131. I've pushed the release date out to Friday 3rd Oct, so we have a bit more time to polish things up.

weiji14 commented on Oct 2, 2025

@weiji14
Member

FYI, I've turned on immutable releases (https://github.blog/changelog/2025-08-26-releases-now-support-immutability-in-public-preview) in the settings. This means releases on https://github.com/GenericMappingTools/pygmt/releases from v0.17.0 onwards cannot have assets added/changed/deleted, and tags are fixed. It means we'll have to be a bit more careful with releases (otherwise we'll need to publish a new patch release), with the benefit of more security for downstream users.

Just wanted to ask if we should fix the documentation issue (#4138) before releasing? Or we can treat that as minor and stick to the Oct 3rd release date.

seisman commented on Oct 2, 2025

@seisman
MemberAuthor

FYI, I've turned on immutable releases (https://github.blog/changelog/2025-08-26-releases-now-support-immutability-in-public-preview) in the settings. This means releases on https://github.com/GenericMappingTools/pygmt/releases from v0.17.0 onwards cannot have assets added/changed/deleted, and tags are fixed. It means we'll have to be a bit more careful with releases (otherwise we'll need to publish a new patch release), with the benefit of more security for downstream users.

Release assets baseline-images.zip, pygmt-docs.pdf and pygmt-docs.zip are added by workflows release-baseline-images.yml and ci_docs.yml after making a release. Does "immutable release" means these assets cannot be added?

Just wanted to ask if we should fix the documentation issue (#4138) before releasing? Or we can treat that as minor and stick to the Oct 3rd release date.

I think it's just a minor issue and can be ignored in this release.

weiji14 commented on Oct 2, 2025

@weiji14
Member

Release assets baseline-images.zip, pygmt-docs.pdf and pygmt-docs.zip are added by workflows release-baseline-images.yml and ci_docs.yml after making a release. Does "immutable release" means these assets cannot be added?

Hmm, that's a good point. Let's turn off immutable releases then for now. I didn't find anything in the docs about how to automate adding of assets to an immutable release yet.

yvonnefroehlich commented on Oct 2, 2025

@yvonnefroehlich
Member

Just wanted to ask if we should fix the documentation issue (#4138) before releasing? Or we can treat that as minor and stick to the Oct 3rd release date.

I think it's just a minor issue and can be ignored in this release.

Agree. When starting to work on PR #4131 I thought this is easier/straightforward to fix 🙃.

weiji14 commented on Oct 3, 2025

@weiji14
Member

Ok, release uploads to PyPI and Zenodo, conda-forge packaging and try-gmt updates are done. Remainder is to finalize the announcement draft and post it on the forum + sharing on ResearchGate.

yvonnefroehlich commented on Oct 3, 2025

@yvonnefroehlich
Member

Ok, release uploads to PyPI and Zenodo, conda-forge packaging and try-gmt updates are done.

Great 🎉! Thanks @weiji14 and @seisman for finishing and handling the release 🙏!

Remainder is to finalize the announcement draft and post it on the forum + sharing on ResearchGate.

It seems like @seisman already started an announcement draft at https://hackmd.io/c5dOOqRjRv6AkjbZ53P-4g. I have added a section for the new gallery examples and technical references pages and made some formulation adjustments.
Would be good if somebody else reads through it. Then I can post it already during the weekend on the forum or should we wait until Monday?

weiji14 commented on Oct 7, 2025

@weiji14
Member

Announcement looks good, I've made a few changes. Feel free to post it later @yvonnefroehlich!

yvonnefroehlich commented on Oct 7, 2025

@yvonnefroehlich
Member

Announcement looks good, I've made a few changes. Feel free to post it later @yvonnefroehlich!

Cool, thanks 🙂! Just made the annoucement on the at forum https://forum.generic-mapping-tools.org/t/pygmt-v0-17-0-released/6221.

seisman commented on Oct 8, 2025

@seisman
MemberAuthor

I've added this release to ResearchGate at https://www.researchgate.net/publication/396311489_PyGMT_A_Python_interface_for_the_Generic_Mapping_Tools_v0170.

I guess we're done with this release and let's move to v0.18.0.

unpinned this issue on Oct 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    maintenanceBoring but important stuff for the core devs

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions