8.1 Release Checklist

Revision as of 20:39, 22 November 2022 by Rik (talk | contribs) (Mark items done)
Info icon.svg
Timeline (tentative)
Please use <strike> </strike> to mark items below as done.

πŸš€ Kick-off ⚽

πŸ“’ Call for bug reports

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

πŸ“’ Call for translations

Completion Date:
  • WON'T DO: Call for updates that might change GUI strings.
  • String freeze date: 2022-11-25
  • Update language translation files (*.ts).
  • Create issue report on Savannah as a centralized location for uploading files.
  • Call for translations for GUI strings on maintainers@octave.org, CC-ing the translators (see list of translators).
  • Collect and push all translated files.

βš™οΈ Update gnulib to latest version

Completion Date: 2022-11-12
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

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

Completion Date:
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

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 major version number in "@subtitle Edition XXX" in octave.texi.
  • Update installer-files/README.html in MXE Octave with version highlights.

πŸ”ƒ Repeat until all bugs are resolved

Completion Date first iteration:

⚠️ Current state at Savannah

βœ… make check

πŸ› οΈ Create new release candidate

  • 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 πŸŽ‰

πŸ“ƒ Update version information

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

Completion Date:

β˜‘οΈ Post-Release

Completion Date:
  • Merge default onto stable to become the current stable release.
  • Ensure correct version information.
  • Remove all deprecated functions (either OCTAVE_DEPRECATED in C++ or scripts/deprecated for m-files) scheduled for deletion in "default" branch.
  • Move NEWS file to backup in etc/NEWS.X.
  • Create new NEWS file.

ℹ️ Versioning hints

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