7.1 Release Checklist: Difference between revisions
Jump to navigation
Jump to search
(Create page.) |
(Overhaul page.) |
||
Line 1: | Line 1: | ||
{{Note|'''Timeline''' (tentative) | {{Note|'''Timeline''' (tentative) | ||
* 2021-10-26 🚀 | * 2021-10-26 🚀 [[Online Developer Meeting (2021-10-26) | Release Kick-off]] ⚽ | ||
* 2022-xx-yy | * 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><strike> </strike></code> to mark items below as done. | :Please use <code><strike> </strike></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]] | ||
* | * [[C++ style guide|C++ style check]] | ||
=== Review documentation === | === Review documentation === | ||
:Completion Date: | :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 {{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. | ||
* | * Update major version number in "@subtitle Edition XXX" in {{Path|octave.texi}}. | ||
* | * 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: | ||
* | * Update language translation files (*.ts). ([http://hg.savannah.gnu.org/hgweb/octave/rev/2b78bc0ef3c5 Changeset]) | ||
* | * Create issue report on Savannah as a centralized location for uploading files. ([https://savannah.gnu.org/bugs/index.php?57490 Bug #57490]) | ||
* | * 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 === | ||
{{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.}} | ||
=== <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 02:55, 27 October 2021
Timeline (tentative)
- 2021-10-26 🚀 Release Kick-off ⚽
- 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/
- 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
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 toolscppcheck
, etc.- 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.
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:
- Octave mailing-lists
- Octave web site (https://hg.octave.org/web-octave)
- Steps documented in this changeset.
- Upload documentation (manual HTML + PDF octave.org/doc and version in octave.org/.htaccess, Doxygen octave.org/doxygen)
- This wiki
- Template:Release = 9.2.0
- Template:Release Date = June 1, 2024
- Template:Release Year = 2024
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
- liboctave/module.mk