Skip to content

Release PyGMT v0.12.0 #3180

Closed
Closed

Description

@seisman

Release: v0.12.0
Scheduled Date: 2024/05/01
Pull request due date: 2024/04/28

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]
  • Run make codespell to check common misspellings. If there are any, either fix them or add them to ignore-words-list in pyproject.toml
  • Check to ensure that:
  • Reserve a DOI on Zenodo by clicking on "New Version" 10.5281/zenodo.11062720
  • Finish up 'Changelog entry for v0.x.x' Pull Request: Changelog entry for v0.12.0 #3201
    • Add a new entry in doc/_static/version_switch.js for documentation switcher
    • Update CITATION.cff and BibTeX at https://github.com/GenericMappingTools/pygmt#citing-pygmt
      • Update authorship list
      • Update DOI (and url for BibTeX)
      • Update version
      • Update date released
    • Add the documentation link doc/minversions.md
    • Add minimum required version information doc/minversions.md
    • Copy draft changelog from Release Drafter and edit it to look nice (see maintainers guide for details)

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
  • Manually upload the pygmt-vX.Y.Z.zip and baseline-images.zip files to https://zenodo.org/deposit, ensure that it is filed under the correct reserved DOI

After release:


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

Activity

  1. added this to the 0.12.0 milestone on Apr 19, 2024
  2. pinned this issue on Apr 19, 2024
  3. seisman commented on Apr 19, 2024

    @seisman
    MemberAuthor

    @GenericMappingTools/pygmt-maintainers

    It has been 2.5 months since the release of PyGMT v0.11.0 and there are more than 100 commits since then. I think it's time to prepare for the v0.12.0 release.

    Please review your PRs/issues and see if there are any PRs/issues that you want to address before v0.12.0.

  4. seisman commented on Apr 23, 2024

    @seisman
    MemberAuthor

    @weiji14 Please reserver a DOI on Zenodo. I can do it to GMT and GSHHG, but not PyGMT and DCW. Not sure why.

  5. weiji14 commented on Apr 25, 2024

    @weiji14
    Member

    @weiji14 Please reserver a DOI on Zenodo.

    Ok, DOI reserved: 10.5281/zenodo.11062720.

    I can do it to GMT and GSHHG, but not PyGMT and DCW. Not sure why.

    Same issue as before at #601 (comment), we can continue the discussion there, maybe we need to email someone at Zenodo?

  6. weiji14 commented on Apr 26, 2024

    @weiji14
    Member

    Starting draft announcement at https://hackmd.io/@pygmt/v0-12-0_announcement

  7. michaelgrund commented on Apr 26, 2024

    @michaelgrund
    Member

    Starting draft announcement at https://hackmd.io/@pygmt/v0-12-0_announcement

    Thanks for the initiation @weiji14. Made already a few adjustments.

  8. yvonnefroehlich commented on Apr 26, 2024

    @yvonnefroehlich
    Member

    Starting draft announcement at https://hackmd.io/@pygmt/v0-12-0_announcement

    Thanks for the initiation @weiji14. Made already a few adjustments.

    Thanks @weiji14 for setting up the release draft. I also made some adjustments.

  9. seisman commented on Apr 29, 2024

    @seisman
    MemberAuthor

    In the "GMT Legacy Tests" workflow, we have some failures with geopandas inputs, e.g.,:

    Details
    =================================== FAILURES ===================================
    ______________ test_geopandas_info_shapely[multipolygon-desired0] ______________
    
    geojson = <shapely.geometry.multipolygon.MultiPolygon object at 0x7fb12b12cb50>
    
        @contextmanager
        def tempfile_from_geojson(geojson):
            """
            Saves any geo-like Python object which implements ``__geo_interface__`` (e.g. a
            geopandas.GeoDataFrame or shapely.geometry) to a temporary OGR_GMT text file.
        
            Parameters
            ----------
            geojson : geopandas.GeoDataFrame
                A geopandas GeoDataFrame, or any geo-like Python object which
                implements __geo_interface__, i.e. a GeoJSON.
        
            Yields
            ------
            tmpfilename : str
                A temporary OGR_GMT format file holding the geographical data.
                E.g. '1a2b3c4d5e6.gmt'.
            """
            with GMTTempFile(suffix=".gmt") as tmpfile:
                import geopandas as gpd
        
                Path(tmpfile.name).unlink()  # Ensure file is deleted first
                ogrgmt_kwargs = {"filename": tmpfile.name, "driver": "OGR_GMT", "mode": "w"}
                try:
                    # OGR_GMT only supports 32-bit integers. We need to map int/int64
                    # types to int32/float types depending on if the column has an
                    # 32-bit integer overflow issue. Related issues:
                    # https://github.com/geopandas/geopandas/issues/967#issuecomment-842877704
                    # https://github.com/GenericMappingTools/pygmt/issues/2497
    >               if geojson.index.name is None:
    E               AttributeError: 'MultiPolygon' object has no attribute 'index'
    
    ../pygmt/helpers/tempfile.py:142: AttributeError
    
    During handling of the above exception, another exception occurred:
    
    >   ???
    
    fiona/_shim.pyx:83: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    >   ???
    E   fiona._err.CPLE_OpenFailedError: <fiona.io.MemoryFile object at 0x7fb12b1ed340>: No such file or directory
    
    fiona/_err.pyx:291: CPLE_OpenFailedError
    

    but these tests pass in the "Tests" workflow, so I'm not sure what's happening.

    The "GMT Dev Tests" workflow also fail, because cftime is incompatible with numpy 2.x (https://github.com/GenericMappingTools/pygmt/actions/runs/8871676257). In #3208, I pinned numpy to v1.x and there are some failures (https://github.com/GenericMappingTools/pygmt/actions/runs/8872483491/job/24356892546?pr=3208), because geopandas v1.0.0-alpha changes its default engine from fiona to pyogrio (https://github.com/geopandas/geopandas/releases/tag/v1.0.0-alpha1). I guess we need to migrate from fiona to pyogrio in either this release or next release (https://geopandas.org/en/latest/docs/user_guide/fiona_to_pyogrio.html).

  10. weiji14 commented on May 1, 2024

    @weiji14
    Member

    Ok release has been tagged at https://github.com/GenericMappingTools/pygmt/releases/tag/v0.12.0, and Zenodo upload done at https://doi.org/10.5281/zenodo.11062720. Gonna go to bed now, and sort out the conda-forge bot update tomorrow (unless someone else gets to it first).

    In the meantime, feel free anyone to update the forum post draft. Seems like there are more deprecation warnings to add?

  11. yvonnefroehlich commented on May 1, 2024

    @yvonnefroehlich
    Member

    Ok release has been tagged at https://github.com/GenericMappingTools/pygmt/releases/tag/v0.12.0, and Zenodo upload done at https://doi.org/10.5281/zenodo.11062720.

    Thanks for making the release @weiji14 !

    In the meantime, feel free anyone to update the forum post draft. Seems like there are more deprecation warnings to add?

    Hm, you mean we may want to add a separate section with the deprecations in this release, mentioning:

    * Figure.plot/plot3d/rose: Remove deprecated parameter "color", use "fill" instead (deprecated since v0.8.0) ([#3032](https://github.com/GenericMappingTools/pygmt/pull/3032))
    * Figure.velo: Remove deprecated parameters "color"/"uncertaintycolor", use "fill"/"uncertaintyfill" instead (deprecated since v0.8.0) ([#3034](https://github.com/GenericMappingTools/pygmt/pull/3034))
    * Figure.wiggle: Remove deprecated parameter "color", use "fillpositive"/"fillnegative" instead (deprecated since v0.8.0) ([#3035](https://github.com/GenericMappingTools/pygmt/pull/3035))
    * Figure.grdimage: Remove deprecated parameter "bit_color", use "bitcolor" instead (deprecated since v0.8.0) ([#3036](https://github.com/GenericMappingTools/pygmt/pull/3036))
    * Figure: Remove deprecated "xshift" ("X") and "yshift" ("Y") parameters, use "Figure.shift_origin" instead (deprecated since v0.8.0) ([#3044](https://github.com/GenericMappingTools/pygmt/pull/3044))
    * Figure: Remove deprecated "timestamp" ("U") parameter, use "Figure.timestamp" instead (deprecated since v0.9.0) ([#3045](https://github.com/GenericMappingTools/pygmt/pull/3045))
    

    The following points are already added under "Upcoming deprecations":

    * Deprecate the "build_arg_string" function, use build_arg_list instead (deprecated since v0.12.0, will be removed in v0.14.0) ([#3184](https://github.com/GenericMappingTools/pygmt/pull/3184))
    * Deprecate the "sequence_plus" converter, only used for the "annotation" parameter of Figure.grdcontour (deprecated since v0.12.0, will be removed in v0.14.0) ([#3207](https://github.com/GenericMappingTools/pygmt/pull/3207))
    * Figure.grdcontour: Deprecate parameter "interval" to "levels" (FutureWarning since v0.12.0, will be removed in v0.16.0) ([#3209](https://github.com/GenericMappingTools/pygmt/pull/3209))
    

    Regarding the point

    * clib: Rename the "virtualfile_from_data" method to "virtualfile_in" ([#3068](https://github.com/GenericMappingTools/pygmt/pull/3068))
    

    I was / am a bit unsure, as there ins no FutureWarning added and not version stated when virtuealfile_frome_data is removed.

  12. weiji14 commented on May 2, 2024

    @weiji14
    Member

    Hm, you mean we may want to add a separate section with the deprecations in this release, mentioning:

    Oh no, we don't need to mention the deprecations/removals, only the upcoming deprecations for v0.13.0 and beyond.

  13. yvonnefroehlich commented on May 2, 2024

    @yvonnefroehlich
    Member

    Hm, you mean we may want to add a separate section with the deprecations in this release, mentioning:

    Oh no, we don't need to mention the deprecations/removals, only the upcoming deprecations for v0.13.0 and beyond.

    Then I think, all deprecations/removals are included in the release draft. Please correct me, in case I overlooked something.

  14. yvonnefroehlich commented on May 3, 2024

    @yvonnefroehlich
    Member

    Hm, you mean we may want to add a separate section with the deprecations in this release, mentioning:

    Oh no, we don't need to mention the deprecations/removals, only the upcoming deprecations for v0.13.0 and beyond.

    Then I think, all deprecations/removals are included in the release draft. Please correct me, in case I overlooked something.

    @GenericMappingTools/pygmt-maintainers are there any improvements regarding the announcement draft? If not, I think we can post it on the GMT forum. I should find time to do this later the day.

  15. weiji14 commented on May 4, 2024

    @weiji14
    Member

    Then I think, all deprecations/removals are included in the release draft. Please correct me, in case I overlooked something.

    @GenericMappingTools/pygmt-maintainers are there any improvements regarding the announcement draft? If not, I think we can post it on the GMT forum. I should find time to do this later the day.

    Yep, I just added one more note that passing something like Figure.grdcontour(..., annotation=[100, "e", "f10p", "gred"] is deprecated since #3116, and people should use annotation="100+e+f10p+gred" instead. Feel free to post the announcement on the forum!

  16. yvonnefroehlich commented on May 4, 2024

    @yvonnefroehlich
    Member

    Then I think, all deprecations/removals are included in the release draft. Please correct me, in case I overlooked something.

    @GenericMappingTools/pygmt-maintainers are there any improvements regarding the announcement draft? If not, I think we can post it on the GMT forum. I should find time to do this later the day.

    Yep, I just added one more note that passing something like Figure.grdcontour(..., annotation=[100, "e", "f10p", "gred"] is deprecated since #3116, and people should use annotation="100+e+f10p+gred" instead. Feel free to post the announcement on the forum!

    Thanks for proof reading @weiji14! I just moved the bug report part before the "Updates on Intros, Tutorials, and Gallery examples" section. The GMT forum announcement is at https://forum.generic-mapping-tools.org/t/pygmt-v0-12-0/4864.

  17. weiji14 commented on May 4, 2024

    @weiji14
    Member

    Thanks for proof reading @weiji14! I just moved the bug report part before the "Updates on Intros, Tutorials, and Gallery examples" section. The GMT forum announcement is at https://forum.generic-mapping-tools.org/t/pygmt-v0-12-0/4864.

    Wonderful! I've cross-posted this using my personal Mastodon account at https://mastodon.nz/@weiji14/112381710673099960 (since we haven't set up a Fediverse account yet for GMT/PyGMT). I'll need to find time to follow up on that at https://forum.generic-mapping-tools.org/t/gmt-and-pygmt-mastodon-migration/4227/2 🙂

    Last task is the ResearchGate upload. Who would like to do this?

  18. michaelgrund commented on May 4, 2024

    @michaelgrund
    Member

    Can make the RG post later this day or tomorrow.

    Added at RG.

  19. seisman commented on May 5, 2024

    @seisman
    MemberAuthor

    Great work everyone. Let's move forward to v0.13.0!

  20. unpinned this issue on May 5, 2024
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