Skip to content
sujaya edited this page May 18, 2026 · 13 revisions

Release Timeline

  • Feature freeze - 15 May
  • Alpha - 18 May
  • Bug fixes on new features - Mid June
  • Release - End of June

Release checklist

Initial planning Tasks

  • Determine if the repo will have its own release {d,m} - yes
  • Choose fixes and features to include in the release {v,d,m}
  • Set a code feature freeze date {v,d,m}
  • Once the code freeze is set, create a release branch (release-x.y.z) as needed {v,d,m}
  • Cherry-pick commits into the branch that aren't already present in the branch {v,d,m}
  • Update version pins in the release requirements files {v}
    • Ensure the versions of sasdata and sasmodels match the version being used in the sasview release (if the release isn't finalized, use the release branch by specifying <package_name> @ <vcs_url>@<branch_name_or_commit_hash>) {v}
  • Create an Alpha1 release for testing as soon after cherry picking is complete {v}

Pre-release Tasks

  • Write the release notes {v,d,m}
    • in docs/sphinx-docs/source/user/RELEASE.rst {v}
    • in docs/source/user/RELEASE.rst {d}
    • in CHANGES.rst {m}
  • Select highlights for What's New Window {v}
    • Create new directory /sas/qtgui/Utilities/WhatsNew/messages/x.y.z
    • Write notes highlights into html titled #.html where # is an integer and the order the item will be shown
    • Add the release notes as the last page
  • Update release number {v,d,m}
    • build_tools/application_metadata/org.sasview.sasview.metainfo.xml - version and release date {v}
    • build_tools/release_automation.py - version and title {v}
    • docs/sphinx-docs/source/conf.py - version number {v}
    • 'installers/installer.iss' - version number {v}
    • https://github.com/flathub/org.sasview.sasview/blob/master/org.sasview.sasview.yml - version number and release date {v}
    • Update version number in /sas/system/config/config.py > LAST_WHATS_NEW_HIDDEN_VERSION to previous version number
  • Check & update lists of developers/contributors (release_automation.py & contributors.tsv) {v,d,m}
  • Mark release manager in contributors.tsv {v,d,m}
  • Update first author in 'src/sas/qtgui/MainWindow/Acknowledgements.py' {v}
  • Run python ./sasview/build_tools/release_automation.py with appropriate arguments to generate a draft zenodo record {v}
  • Commit DOI to release branch {v}
  • Update the license and copyright years {v,d,m}
  • For each repository, create a master issue to track all issues that will be fixed during the release, and any new issues noted while testing release candidates. {v,d,m}

Release process

  • Ensure both sasdata and sasmodels releases are finalized and published to pypi {v}
  • Draft a new release on Github {v,d,m}
    • Create a new tag on publish in the format `v1.2.3' {v,d,m}
    • Select the previous release tag as the target {v,d,m}
    • Auto-generate the release notes using the GitHub API {v,d,m}
    • Select as latest release {v,d,m}
    • Save draft {v,d,m}
  • Update release notes in release branch using the auto-generated notes from GitHub {v,d,m}
  • Change any pins for sasdata and sasmodels from branches to release versions {v}
  • Ensure all version numbers and dates noted in the pre-release tasks are correct {v,d,m}
  • Publish the release, once ready {v,d,m}

Post-Release Tasks

  • Attach binaries built on tag generation to release page and zenodo record {v,d,m}
  • Upload wheel and tarball to pypi {v,d,m}
  • Follow the guide available at https://github.com/SasView/sasview/wiki/DevNotes_DevGuide_FlatpakReleaseProcess for the Flatpak release {v}
  • Update docs on website {v}
    • Download and install the version appropriate for your system
    • Find the installed docs
    • Update https://github.com/SasView/docs repo with latest docs
      • Create directory in old_docs with the previous version as the name
      • Copy top-level docs into the new directory
      • Copy installed docs into top level of the repo
      • Commit and push
  • Update sasview.github.io with SasView-related release information
    • Update latestversion.json {v}
    • Update 'Current Release' link in download.md {v}
    • Create post on website to announce new release (in _posts directory) {v}
    • Update cite.md with latest release citation information {v,d,m}
  • Announce release to users@sasview.org (with 'newsletter')
  • Announce release to sa_scat & neutron mailing lists
  • Publish zenodo record {v,d,m}
  • Create PRs to merge release branches into main/master {v,d,m}

Clone this wiki locally