Difference between revisions of "7.1 Release Checklist"

From Octave
Jump to navigation Jump to search
(Create page.)
 
(Overhaul page.)
Line 1: Line 1:
 
{{Note|'''Timeline''' (tentative)
 
{{Note|'''Timeline''' (tentative)
* 2021-10-26 🚀 '''Release Kick-off''']
+
* 2021-10-26 🚀 [[Online Developer Meeting (2021-10-26) | Release Kick-off]] ⚽
* 2022-xx-yy 1️⃣ First Release candidate '''7.0.90''' on https://alpha.gnu.org/gnu/octave/
+
* 2022-xx-yy 🛠️ First Release candidate '''7.0.90''' on https://alpha.gnu.org/gnu/octave/
 
* ...
 
* ...
 
* 2022-xx-yy 🏁 Final Release 🎉 '''7.1.0''' on https://ftp.gnu.org/gnu/octave/}}
 
* 2022-xx-yy 🏁 Final Release 🎉 '''7.1.0''' on https://ftp.gnu.org/gnu/octave/}}
Line 7: Line 7:
 
:Please use <code>&lt;strike&gt; &lt;/strike&gt;</code> to mark items below as done.
 
:Please use <code>&lt;strike&gt; &lt;/strike&gt;</code> to mark items below as done.
  
== Kick-off ==
+
== 🚀 Kick-off ==
  
 
=== 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 33: Line 33:
 
: 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.
 
* [[Octave style guide|m-file style check]]
 
* [[Octave style guide|m-file style check]]
* <strike> [[C++ style guide|C++ style check]] </strike>
+
* [[C++ style guide|C++ style check]]
  
 
=== Review documentation ===
 
=== Review documentation ===
 
:Completion Date:
 
:Completion Date:
* <strike> Grammar check documentation. </strike>
+
* Grammar check documentation.
* <strike> Spell check documentation. </strike>
+
* Spell check documentation.
* <strike> Verify no functions missing from manual. </strike>
+
* Verify no functions missing from manual.
* <strike> Verify deprecated functions removed from "see also" links. </strike>
+
* Verify deprecated functions removed from "see also" links.
* <strike> Verify all formats (Info, HTML, PDF) build correctly. </strike>
+
* Verify all formats (Info, HTML, PDF) build correctly.
* <strike> Review {{Path|NEWS}} for any features which should be announced. </strike>
+
* Review {{Path|NEWS}} for any features which should be announced.
 
* Review {{Path|__unimplemented__.m}} for the latest changes to [[Octave Forge]] packages and new Matlab functions.
 
* Review {{Path|__unimplemented__.m}} for the latest changes to [[Octave Forge]] packages and new Matlab functions.
* <strike> Update major version number in "@subtitle Edition XXX" in {{Path|octave.texi}}. </strike>
+
* Update major version number in "@subtitle Edition XXX" in {{Path|octave.texi}}.
* <strike> Update {{Path|[https://hg.octave.org/mxe-octave/file/tip/installer-files/README.html installer-files/README.html]}} in MXE Octave with version highlights. </strike>
+
* Update {{Path|[https://hg.octave.org/mxe-octave/file/tip/installer-files/README.html installer-files/README.html]}} in MXE Octave with version highlights.
  
 
=== Call for translations ===
 
=== Call for translations ===
 
:Completion Date:
 
:Completion Date:
* <strike>Update language translation files (*.ts).</strike> ([http://hg.savannah.gnu.org/hgweb/octave/rev/2b78bc0ef3c5 Changeset])
+
* Update language translation files (*.ts). ([http://hg.savannah.gnu.org/hgweb/octave/rev/2b78bc0ef3c5 Changeset])
* <strike>Create issue report on Savannah as a centralized location for uploading files.</strike> ([https://savannah.gnu.org/bugs/index.php?57490 Bug #57490])
+
* Create issue report on Savannah as a centralized location for uploading files. ([https://savannah.gnu.org/bugs/index.php?57490 Bug #57490])
* <strike>Call for translations for GUI strings on maintainers@octave.org.</strike> ([https://lists.gnu.org/archive/html/octave-maintainers/2019-12/msg00138.html Dec, 28 2019]) ([https://lists.gnu.org/archive/html/octave-maintainers/2020-01/msg00151.html Jan, 14 2020])
+
* Call for translations for GUI strings on maintainers@octave.org. ([https://lists.gnu.org/archive/html/octave-maintainers/2019-12/msg00138.html Dec, 28 2019]) ([https://lists.gnu.org/archive/html/octave-maintainers/2020-01/msg00151.html Jan, 14 2020])
 
* Collect and push all translated files
 
* Collect and push all translated files
  
Line 58: Line 58:
  
 
=== Current state at Savannah ===
 
=== Current state at Savannah ===
 
The Savannah links are created by using the "Display criteria", "Browse with the Advanced query form and MULTIPLE selection" form.
 
  
 
{{Note|Visit https://octave.space/savannah to get an overview about open bugs for the next stable release.}}
 
{{Note|Visit https://octave.space/savannah to get an overview about open bugs for the next stable release.}}
 
* Bugs to be fixed
 
** [https://savannah.gnu.org/bugs/index.php?go_report=Apply&group=octave&func=browse&set=custom&msort=0&report_id=101&advsrch=1&status_id%5B%5D=1&resolution_id%5B%5D=100&resolution_id%5B%5D=1&resolution_id%5B%5D=102&resolution_id%5B%5D=103&resolution_id%5B%5D=10&resolution_id%5B%5D=9&resolution_id%5B%5D=4&resolution_id%5B%5D=11&resolution_id%5B%5D=8&resolution_id%5B%5D=6&resolution_id%5B%5D=7&resolution_id%5B%5D=2&submitted_by%5B%5D=0&assigned_to%5B%5D=0&category_id%5B%5D=100&category_id%5B%5D=110&category_id%5B%5D=101&category_id%5B%5D=102&category_id%5B%5D=104&category_id%5B%5D=105&category_id%5B%5D=106&category_id%5B%5D=107&category_id%5B%5D=103&category_id%5B%5D=114&category_id%5B%5D=112&category_id%5B%5D=109&bug_group_id%5B%5D=101&severity%5B%5D=0&priority%5B%5D=0&summary=&details=&sumORdet=0&history_search=0&history_field=0&history_event=modified&history_date_dayfd=10&history_date_monthfd=12&history_date_yearfd=2019&chunksz=50&spamscore=5&boxoptionwanted=1#options Bugs marked as Crash]
 
** [https://savannah.gnu.org/bugs/index.php?go_report=Apply&group=octave&func=browse&set=custom&msort=0&report_id=101&advsrch=1&status_id%5B%5D=1&resolution_id%5B%5D=100&resolution_id%5B%5D=1&resolution_id%5B%5D=102&resolution_id%5B%5D=103&resolution_id%5B%5D=10&resolution_id%5B%5D=9&resolution_id%5B%5D=4&resolution_id%5B%5D=11&resolution_id%5B%5D=8&resolution_id%5B%5D=6&resolution_id%5B%5D=7&resolution_id%5B%5D=2&submitted_by%5B%5D=0&assigned_to%5B%5D=0&category_id%5B%5D=103&bug_group_id%5B%5D=0&severity%5B%5D=0&priority%5B%5D=0&summary=&details=&sumORdet=0&history_search=0&history_field=0&history_event=modified&history_date_dayfd=10&history_date_monthfd=12&history_date_yearfd=2019&chunksz=50&spamscore=5&boxoptionwanted=1#options Bugs marked Configuration and Build System]
 
** [https://savannah.gnu.org/bugs/index.php?go_report=Apply&group=octave&func=browse&set=custom&msort=0&report_id=101&advsrch=1&status_id%5B%5D=1&resolution_id%5B%5D=100&resolution_id%5B%5D=1&resolution_id%5B%5D=102&resolution_id%5B%5D=103&resolution_id%5B%5D=10&resolution_id%5B%5D=9&resolution_id%5B%5D=4&resolution_id%5B%5D=11&resolution_id%5B%5D=8&resolution_id%5B%5D=6&resolution_id%5B%5D=7&resolution_id%5B%5D=2&submitted_by%5B%5D=0&assigned_to%5B%5D=0&category_id%5B%5D=100&category_id%5B%5D=110&category_id%5B%5D=101&category_id%5B%5D=102&category_id%5B%5D=104&category_id%5B%5D=105&category_id%5B%5D=106&category_id%5B%5D=107&category_id%5B%5D=103&category_id%5B%5D=114&category_id%5B%5D=112&category_id%5B%5D=109&bug_group_id%5B%5D=105&severity%5B%5D=0&priority%5B%5D=0&summary=&details=&sumORdet=0&history_search=0&history_field=0&history_event=modified&history_date_dayfd=10&history_date_monthfd=12&history_date_yearfd=2019&chunksz=50&spamscore=5&boxoptionwanted=1#options Bugs marked as Build Failure]
 
** [https://savannah.gnu.org/bugs/index.php?go_report=Apply&group=octave&func=browse&set=custom&msort=0&report_id=101&advsrch=1&status_id%5B%5D=1&resolution_id%5B%5D=100&resolution_id%5B%5D=1&resolution_id%5B%5D=102&resolution_id%5B%5D=103&resolution_id%5B%5D=10&resolution_id%5B%5D=9&resolution_id%5B%5D=4&resolution_id%5B%5D=11&resolution_id%5B%5D=8&resolution_id%5B%5D=6&resolution_id%5B%5D=7&resolution_id%5B%5D=2&submitted_by%5B%5D=0&assigned_to%5B%5D=0&category_id%5B%5D=100&category_id%5B%5D=110&category_id%5B%5D=101&category_id%5B%5D=102&category_id%5B%5D=104&category_id%5B%5D=105&category_id%5B%5D=106&category_id%5B%5D=107&category_id%5B%5D=103&category_id%5B%5D=114&category_id%5B%5D=112&category_id%5B%5D=109&bug_group_id%5B%5D=0&severity%5B%5D=7&severity%5B%5D=8&severity%5B%5D=9&priority%5B%5D=0&summary=&details=&sumORdet=0&history_search=0&history_field=0&history_event=modified&history_date_dayfd=10&history_date_monthfd=12&history_date_yearfd=2019&chunksz=50&spamscore=5&boxoptionwanted=1#options Bugs with severity >= 4]
 
** [https://savannah.gnu.org/bugs/index.php?go_report=Apply&group=octave&func=browse&set=custom&msort=0&report_id=101&advsrch=1&status_id%5B%5D=1&resolution_id%5B%5D=100&resolution_id%5B%5D=1&resolution_id%5B%5D=102&resolution_id%5B%5D=103&resolution_id%5B%5D=10&resolution_id%5B%5D=9&resolution_id%5B%5D=4&resolution_id%5B%5D=11&resolution_id%5B%5D=8&resolution_id%5B%5D=6&resolution_id%5B%5D=7&resolution_id%5B%5D=2&submitted_by%5B%5D=0&assigned_to%5B%5D=0&category_id%5B%5D=100&category_id%5B%5D=110&category_id%5B%5D=101&category_id%5B%5D=102&category_id%5B%5D=104&category_id%5B%5D=105&category_id%5B%5D=106&category_id%5B%5D=107&category_id%5B%5D=103&category_id%5B%5D=114&category_id%5B%5D=112&category_id%5B%5D=109&bug_group_id%5B%5D=111&severity%5B%5D=0&priority%5B%5D=0&summary=&details=&sumORdet=0&history_search=0&history_field=0&history_event=modified&history_date_dayfd=10&history_date_monthfd=12&history_date_yearfd=2019&chunksz=50&spamscore=5&boxoptionwanted=1#options Bugs marked as regressions]
 
 
* '''OPEN''' bugs marked as '''WON'T FIX''' are
 
** [https://savannah.gnu.org/bugs/index.php?go_report=Apply&group=octave&func=browse&set=custom&msort=0&report_id=101&advsrch=1&status_id%5B%5D=1&resolution_id%5B%5D=3&submitted_by%5B%5D=0&assigned_to%5B%5D=0&category_id%5B%5D=100&category_id%5B%5D=110&category_id%5B%5D=101&category_id%5B%5D=102&category_id%5B%5D=104&category_id%5B%5D=105&category_id%5B%5D=106&category_id%5B%5D=107&category_id%5B%5D=103&category_id%5B%5D=114&category_id%5B%5D=112&category_id%5B%5D=109&bug_group_id%5B%5D=0&severity%5B%5D=0&priority%5B%5D=0&summary=&details=&sumORdet=0&history_search=0&history_field=0&history_event=modified&history_date_dayfd=10&history_date_monthfd=12&history_date_yearfd=2019&chunksz=50&spamscore=5&boxoptionwanted=1#options Not fixed for Octave 6.1]
 
 
=== Merge submitted patches ===
 
* Push translations provided by translators.
 
* Push patches from Savannah.
 
 
==== Bug tracker ====
 
:* [https://savannah.gnu.org/bugs/index.php?go_report=Apply&group=octave&func=browse&set=custom&msort=0&report_id=101&advsrch=1&status_id%5B%5D=1&resolution_id%5B%5D=102&submitted_by%5B%5D=0&assigned_to%5B%5D=0&category_id%5B%5D=100&category_id%5B%5D=110&category_id%5B%5D=101&category_id%5B%5D=102&category_id%5B%5D=104&category_id%5B%5D=105&category_id%5B%5D=106&category_id%5B%5D=107&category_id%5B%5D=103&category_id%5B%5D=114&category_id%5B%5D=112&category_id%5B%5D=109&bug_group_id%5B%5D=0&severity%5B%5D=0&priority%5B%5D=0&summary=&details=&sumORdet=0&history_search=0&history_field=0&history_event=modified&history_date_dayfd=10&history_date_monthfd=12&history_date_yearfd=2019&chunksz=50&spamscore=5&boxoptionwanted=1#options Patch submitted]
 
:* [https://savannah.gnu.org/bugs/index.php?go_report=Apply&group=octave&func=browse&set=custom&msort=0&report_id=101&advsrch=1&status_id%5B%5D=1&resolution_id%5B%5D=103&submitted_by%5B%5D=0&assigned_to%5B%5D=0&category_id%5B%5D=100&category_id%5B%5D=110&category_id%5B%5D=101&category_id%5B%5D=102&category_id%5B%5D=104&category_id%5B%5D=105&category_id%5B%5D=106&category_id%5B%5D=107&category_id%5B%5D=103&category_id%5B%5D=114&category_id%5B%5D=112&category_id%5B%5D=109&bug_group_id%5B%5D=0&severity%5B%5D=0&priority%5B%5D=0&summary=&details=&sumORdet=0&history_search=0&history_field=0&history_event=modified&history_date_dayfd=10&history_date_monthfd=12&history_date_yearfd=2019&chunksz=50&spamscore=5&boxoptionwanted=1#options Patch reviewed]
 
:* [https://savannah.gnu.org/bugs/index.php?go_report=Apply&group=octave&func=browse&set=custom&msort=0&report_id=101&advsrch=1&status_id%5B%5D=1&resolution_id%5B%5D=10&submitted_by%5B%5D=0&assigned_to%5B%5D=0&category_id%5B%5D=100&category_id%5B%5D=110&category_id%5B%5D=101&category_id%5B%5D=102&category_id%5B%5D=104&category_id%5B%5D=105&category_id%5B%5D=106&category_id%5B%5D=107&category_id%5B%5D=103&category_id%5B%5D=114&category_id%5B%5D=112&category_id%5B%5D=109&bug_group_id%5B%5D=0&severity%5B%5D=0&priority%5B%5D=0&summary=&details=&sumORdet=0&history_search=0&history_field=0&history_event=modified&history_date_dayfd=10&history_date_monthfd=12&history_date_yearfd=2019&chunksz=50&spamscore=5&boxoptionwanted=1#options Ready for test]
 
 
==== Patch tracker ====
 
:* [https://savannah.gnu.org/patch/index.php?go_report=Apply&group=octave&func=browse&set=custom&msort=0&report_id=101&advsrch=1&status_id%5B%5D=1&resolution_id%5B%5D=100&resolution_id%5B%5D=10&resolution_id%5B%5D=9&resolution_id%5B%5D=8&resolution_id%5B%5D=101&assigned_to%5B%5D=0&category_id%5B%5D=100&category_id%5B%5D=101&category_id%5B%5D=102&category_id%5B%5D=103&priority%5B%5D=0&summary=&details=&sumORdet=0&history_search=0&history_field=0&history_event=modified&history_date_dayfd=18&history_date_monthfd=1&history_date_yearfd=2020&chunksz=50&spamscore=5&boxoptionwanted=1#options Patch submitted].
 
 
* '''OPEN''' items marked as '''POSTPONED''' are
 
** [https://savannah.gnu.org/patch/index.php?go_report=Apply&group=octave&func=browse&set=custom&msort=0&report_id=101&advsrch=1&status_id%5B%5D=1&resolution_id%5B%5D=4&assigned_to%5B%5D=0&category_id%5B%5D=100&category_id%5B%5D=101&category_id%5B%5D=102&category_id%5B%5D=103&priority%5B%5D=0&summary=&details=&sumORdet=0&history_search=0&history_field=0&history_event=modified&history_date_dayfd=9&history_date_monthfd=2&history_date_yearfd=2020&chunksz=50&spamscore=5&boxoptionwanted=1#options Not included for Octave 6.1].
 
  
 
=== <code>make check</code> ===
 
=== <code>make check</code> ===
 
* Verify <code>make check</code> is passing on all [http://buildbot.octave.org:8010/#/waterfall buildbot combinations of OS and compilers].
 
* Verify <code>make check</code> is passing on all [http://buildbot.octave.org:8010/#/waterfall buildbot combinations of OS and compilers].
* Compiling with <code>-fsanitize=undefined</code>, <code>--enable-address-sanitizer-flags</code> to check for memory leaks. Use other tools <code>cppcheck</code>, etc.  
+
* Compiling with <code>-fsanitize=undefined</code>, <code>--enable-address-sanitizer-flags</code> to check for memory leaks. Use other tools <code>cppcheck</code>, etc.
 
** Update PVS static analyzer results [[PVS static analyzer - 5.0 Release]].
 
** Update PVS static analyzer results [[PVS static analyzer - 5.0 Release]].
 
* 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'''.
Line 104: Line 77:
 
* Announce release candidate to maintainers@octave.org, help@octave.org mailing-list, on web page.
 
* Announce release candidate to maintainers@octave.org, help@octave.org mailing-list, on web page.
  
== Final Release ==
+
== 🏁 Final Release 🎉 ==
  
 
=== Update version information ===
 
=== Update version information ===

Revision as of 22:55, 26 October 2021

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

🚀 Kick-off ⚽

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.

Call for bug reports

Completion Date:
  • Put out a general call for reports on maintainers@octave.org and help@octave.org for all outstanding unreported known bugs.

Review Savannah bug and patch tracker

Completion Date:
  • Review open bugs and update to correct category, such as "Patch submitted", correct title if necessary.

One time tasks

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.

Call for translations

Completion Date:
  • Update language translation files (*.ts). (Changeset)
  • Create issue report on Savannah as a centralized location for uploading files. (Bug #57490)
  • Call for translations for GUI strings on maintainers@octave.org. (Dec, 28 2019) (Jan, 14 2020)
  • Collect and push all translated files

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 maintainers@octave.org, help@octave.org mailing-list, on web page.

🏁 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