Sitelet https://github.com/SHTOOLS/SHTOOLS/issues/525
Skip to content

Release SHTOOLS 4.14.0 #525

Description

@MarkWieczorek

Scheduled Date: week of February 23, 2026

Before release

Make all changes on the branch develop. Verify that the version numbers and other metadata are up to date in the following files:

  • Makefile : update shtools version number (for use with fortran man page documentation only; not required for maintenance releases x.x.>0)
  • docs/_data/sidebars/mydoc_sidebar.yml : update pyshtools version number for web documentation
  • docs/_data/sidebars/fortran_sidebar.yml : update shtools version number for web documentation
  • docs/pages/mydoc/release-notes-v4.md : update release notes
  • docs/pages/fortran/fortran-release-notes-v4.md : update release notes
  • requirements.txt : update version numbers of the python dependencies, if necessary
  • environment.yml : update version numbers of the conda environment, if necesseary
  • binder/environment.yml : update version number of pyshtools and other dependencies
  • fpm.toml : update shtools version number
  • AUTHORS.md, docs/pages/mydoc/contributors.md, docs/pages/fortran/fortran-contributors.md : Add new contributors, if necessary

Update the documentation files and man pages

  • cd docs; bundle update; cd .. : update the Gemfile for the jekyll web documentation
  • make remove-doc : this ensures that the correct version number will be written to the fortran man pages
  • make doc : make the fortran man pages, create markdown files from the pure python function docstrings, and create web documentation.

Release

  • Commit all changes to the develop branch and then merge all changes to the master branch.
  • Go to GitHub Release, create a tag of the form vX.X, and draft a new release.
  • Update the master branch on your personal repo, along with the newly created tag, using git pull shtools master --tags, where shtools is the name of the remote repo on github.

Verify workflow execution

  • Creation and upload of a zipped archive to Zenodo
  • Creation and upload of static web site.
  • Upload of a source tarball as a release asset.
  • Upload of the source distribution to pypi.
  • Creation and upload of macOS (intel) wheels to pypi.
  • Creation and upload of macOS (ARM) wheels to pypi.
  • Creation and upload of windows wheels to pypi.
  • Creation and upload of linux (intel) wheels to pypi.
  • Creation and upload of linux (ARM) wheels to pypi.

Update Homebrew

  • Verify that the homebrew bot updated the file shtools.rb in a pull request, and that this was merged. If this doesn't occur automatically, edit the file shtools.rb in the homebrew-core repo and make the following changes:
  • Change "url" to point to the new version (the link to the tar.gz archive can be found on the release page).
  • Update the sha256 hash of the tar.gz pypi upload by using shasum -a 256 filename.
  • Commit and push changes.

Update MacPorts

  • Update the MacPorts installation. If this doesn't happen automatically, editing the file science/shtools/Portfile in the macports-ports repo and change the following:
  • Change the version number in github.setup.
  • Update the sha256, rmd160 and file size of the release asset.
  • Commit and push changes.

Update conda-forge

  • Go to pyshtools-feedstock and check that the recipe/meta.yaml file has been updated and that an automatic pull request has been generated by the conda-forge bot.

Post release

  • Build a new Binder image by running one of the tutorials.
  • Advertise on Mastodon and Matrix.

Activity

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions