Difference between revisions of "7.1 Release Checklist"

From Octave
Jump to navigation Jump to search
m
Line 9: Line 9:
 
== 🚀 Kick-off ⚽ ==
 
== 🚀 Kick-off ⚽ ==
  
=== Call for bug reports ===
+
=== 📢 Call for bug reports ===
 
:Completion Date:
 
:Completion Date:
 
* Put out a general call for reports on [https://octave.discourse.group/ Octave Discourse] for all outstanding unreported known bugs.
 
* Put out a general call for reports on [https://octave.discourse.group/ Octave Discourse] for all outstanding unreported known bugs.
  
=== Call for translations ===
+
=== 📢 Call for translations ===
 
:Completion Date:
 
:Completion Date:
 
* Call for translations for GUI strings on [https://octave.discourse.group/ Octave Discourse].
 
* Call for translations for GUI strings on [https://octave.discourse.group/ Octave Discourse].
Line 20: Line 20:
 
* Collect and push all translated files.
 
* Collect and push all translated files.
  
=== Update gnulib to latest version ===
+
=== ⚙️ Update gnulib to latest version ===
 
:Completion Date:
 
:Completion Date:
 
:Must occur first as it could resolve existing, or create new, bug reports. You should run <code>./bootstrap</code> in the source tree after updating to the new gnulib version.
 
:Must occur first as it could resolve existing, or create new, bug reports. You should run <code>./bootstrap</code> in the source tree after updating to the new gnulib version.
Line 30: Line 30:
 
* Add any new contributors to {{Path|doc/interpreter/contributors.in}} who wish to be mentioned (don't add them without permission).
 
* Add any new contributors to {{Path|doc/interpreter/contributors.in}} who wish to be mentioned (don't add them without permission).
  
=== Style-check code base ===
+
=== Style-check code base ===
 
:Completion Date:
 
: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.
 
: 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.
Line 36: Line 36:
 
*  [[C++ style guide|C++ style check]]
 
*  [[C++ style guide|C++ style check]]
  
=== Review documentation ===
+
=== 📖 Review documentation ===
 
:Completion Date:
 
:Completion Date:
 
* Grammar check documentation.
 
* Grammar check documentation.
Line 61: Line 61:
 
* Start discussion on maintainers@octave.org about which failing tests that must be fixed and which can be declared '''WON'T FIX'''.
 
* Start discussion on maintainers@octave.org about which failing tests that must be fixed and which can be declared '''WON'T FIX'''.
  
=== Create new release candidate ===
+
=== 🛠️ Create new release candidate ===
 
* Ensure correct [[#Versioning hints|version information]].
 
* Ensure correct [[#Versioning hints|version information]].
 
* Create hg tag in repository with release candidate version number.
 
* Create hg tag in repository with release candidate version number.
Line 73: Line 73:
 
== ✅🏁 Final Release 🎉 ==
 
== ✅🏁 Final Release 🎉 ==
  
=== Update version information ===
+
=== 📃 Update version information ===
 
:Completion Date:
 
:Completion Date:
 
* Ensure correct [[#Versioning hints|version information]].
 
* Ensure correct [[#Versioning hints|version information]].
Line 84: Line 84:
 
* Remove release candidate versions from Savannah.
 
* Remove release candidate versions from Savannah.
  
=== Announce final release ===
+
=== 📢 Announce final release ===
 
:Completion Date:
 
:Completion Date:
 
* Octave mailing-lists
 
* Octave mailing-lists

Revision as of 00:02, 27 October 2021

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

🚀 Kick-off ⚽

📢 Call for bug reports

Completion Date:
  • Put out a general call for reports on Octave Discourse for all outstanding unreported known bugs.

📢 Call for translations

Completion Date:
  • Call for translations for GUI strings on Octave Discourse.
  • Update language translation files (*.ts).
  • Create issue report on Savannah as a centralized location for uploading files.
  • Collect and push all translated files.

⚙️ Update gnulib to latest version

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

Info icon.svg
Visit https://octave.space/savannah to get an overview about open bugs for the next stable release.

make check

  • Verify make check is passing on all buildbot combinations of OS and compilers.
  • Compiling with -fsanitize=undefined, --enable-address-sanitizer-flags to check for memory leaks. Use other tools cppcheck, etc.
  • Start discussion on maintainers@octave.org about which failing tests that must be fixed and which can be declared WON'T FIX.

🛠️ 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.
  • 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

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