9.1 Release Checklist

From Octave
Jump to navigation Jump to search
Info icon.svg
Timeline (tentative)
Please use <strike> </strike> to mark items below as done.

πŸš€ Kick-off ⚽[edit]

πŸ“’ Call for bug reports [edit]

Completion Date: 2023-11-24
  • WON'T DO Put out a general call for reports on Octave Discourse for all outstanding unreported known bugs.
  • Create Savannah tag 9.0.90 on bug tracker.
  • Mark items that should be fixed for the release with this tag.
  • Bug overview at https://octave.space/savannah/ .

πŸ“’ Update GUI translation files[edit]

Completion Date: 2023-12-22
  • Call for updates that might change GUI strings.
  • String freeze date: 2023-12-03
  • Update language translation files (*.ts).
  • Create issue report on Savannah as a centralized location for uploading files. bug #64982
  • Call for translations for GUI strings on maintainers@octave.org, CC-ing the translators (see list of translators). message in mailing list archive
  • Collect and push all translated files.

βš™οΈ Update gnulib to latest version [edit]

Completion Date: 2023-11-19
Must occur first as it could resolve existing, or create new, bug reports. You should run ./bootstrap in the source tree after updating to the new gnulib version.

βš–οΈ GPL License activities[edit]

Completion Date:
  • Update copyright statements for all source controlled files.
  • Update dates in any other locations (launch message, CITATION , MXE files, etc.).
  • Add any new contributors to doc/interpreter/contributors.in who wish to be mentioned (don't add them without permission).

βœ… Style-check code base[edit]

Completion Date: 2023-12-12
This will produce lots of whitespace changes, but no behavior changes. Must occur after patches have been added, since whitespace changes can prevent patches from applying.

πŸ“– Review documentation[edit]

Completion Date:
  • Grammar check documentation.
  • Spell check documentation.
  • Verify no functions missing from manual.
  • Verify deprecated functions removed from "see also" links.
  • Verify all formats (Info, HTML, PDF) build correctly.
  • Review NEWS for any features which should be announced.
  • Review __unimplemented__.m for the latest changes to Octave Forge packages and new Matlab functions.
  • Update installer-files/README.html in MXE Octave with version highlights.

πŸ”ƒ Repeat until all bugs are resolved[edit]

Completion Date first iteration:

⚠️ Current state at Savannah[edit]

βœ… make check[edit]

πŸ› οΈ Create new release candidate[edit]

  • Ensure correct version information.
  • Create hg tag in repository with release candidate version number.
  • Verify make distcheck passes.
  • Verify make dist works.
  • Create Windows Installer.
  • Upload release candidates.
  • Check Windows Installer (executable and zip formats) against false positive detection at virustotal.com
  • Add release candidate version to Savannah bug tracker.
  • Announce release candidate to Octave Discourse.

🏁 Final Release πŸŽ‰[edit]

πŸ“ƒ Update version information[edit]

Completion Date:
  • Ensure correct version information.
  • Create hg tag in repository with release version number.
  • Update NEWS (final release date).
  • Update CITATION (version, year, URL).
  • Update org.octave.Octave.appdata.xml (version number and release date).
  • Update Savannah bug tracker version info.
  • Update Savannah bug tracker: OPEN bugs marked as WON'T FIX should be marked as CONFIRMED (or more appropriate) for the final release.
  • Remove release candidate versions from Savannah.

πŸ“’ Announce final release[edit]

Completion Date:

β˜‘οΈ Post-Release [edit]

Completion Date: 2023-11-22
  • Remove all deprecated functions (either tagged with OCTAVE_DEPRECATED in C++ or in the directory scripts/deprecated for m-files) scheduled for deletion on default branch. Check file etc/NEWS.VERSION-2.md for list of features that have been deprecated.
  • Create new etc/NEWS.VERSION+1.md file by copying etc/NEWS.VERSION.md and then removing text so that it is a template file with headings only.
  • Note: prereleases are not typically done for 9.x releases (only for the initial 9.1).
    • exceptionally, 9.2 had a pre-release b/c of Qt 5 to 6.

ℹ️ Versioning hints[edit]

Info icon.svg
Read etc/HACKING.md carefully!!
  • Update configure.ac:
    • AC_INIT
    • OCTAVE_API_VERSION
    • OCTAVE_MAJOR/MINOR/PATCH_VERSION
    • OCTAVE_RELEASE_DATE
  • Update libtool versioning:
    • liboctave/module.mk %canon_reldir%_%canon_reldir%_current
    • libinterp/module.mk %canon_reldir%_liboctinterp_current
    • libgui/module.mk %canon_reldir%_liboctgui_current