Skip to content

Release GMT 6.7.0 #9109

Description

@seisman

Version: 6.7.0

Scheduled date: July XX, 2026

Before release:

  • check if there are new SCM releases
  • check if all tests pass on macOS, Linux and Windows
  • check if other GMT-derived projects work well
  • reserve a DOI on zenodo (@seisman)
  • run admin/gs_check.sh to test if latest ghostscript version works
  • update changelog
  • update the version information in CITATION.cff
  • check installation instructions in doc/rst/source/install.rst
  • check if there are any warnings when building the documentation
  • add one new entry in doc/rst/_static/version_switch.js if it's a minor release
  • check/set values in cmake/ConfigDefault.cmake
    • GMT_VERSION_YEAR is current year
    • GMT_PACKAGE_VERSION_* is correctly set
    • GMT_LIB_SOVERSION is correctly set
    • set GMT_PUBLIC_RELEASE to TRUE
    • update GMT_VERSION_DOI
  • freeze codes and commit all changes to GitHub

Release:

  • create source tarballs (tar.gz and tar.xz)
  • create macOS bundle
  • create Windows win64 installer and portable installer (@joa-quim)
  • check if the source tarballs for Linux work well (@Esteban82, @anbj)
  • check if the macOS bundles work well (@seisman, @maxrjones)
  • check if the Windows installers work well (volunteers needed!)
  • upload source tarballs, macOS bundle, Windows installers to the GMT FTP
  • update README and VERSION files on the GMT FTP
  • make a tag and push it to github (Must be done after uploading packages to the GMT FTP)
    # checkout master (for minor releases) or 6.x branch (for patch releases)
    git checkout XXXX
    # create the tag x.x.x
    git tag x.x.x
    # Push tags to GitHub
    git push --tags
  • make a GitHub release.
    The GitHub Actions automatically create a draft release after pushing the tag to github.
    We need to go to the GitHub Release page, and review it manually.
    • 7 files are attached as release assets (2 source tarballs, 4 installers and 1 checksum file).
    • download the checksum file and check if the checksums are correct
    • edit the draft release, set the target to the correct tag, and publish the release
  • upload the tarball to zenodo (@seisman)
  • make announcements in the GMT forum
  • make announcements on the GMT Instagram
  • update links on the main site (Download & Documentation)
  • update install instructions on the wiki if needed

After release:

  • Reset for the next version
    - [ ] update GMT_PACKAGE_VERSION_* in cmake/ConfigDefault.cmake
    - [ ] comment the set (GMT_PUBLIC_RELEASE TRUE) line

3rd-party update

Volunteers needed! Please let us know if you volunteer to help to maintain GMT in these 3rd-party tools.


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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions