10.1 Release Checklist: Difference between revisions
mNo edit summary |
m (Mark item done) |
||
(42 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{Note|'''Timeline''' (tentative) | {{Note|'''Timeline''' (tentative) | ||
* 2025-02-07 π Release Kick-off β½ (default branch merged to stable) | |||
* 2025-03-15 π οΈ 1st release candidate '''10.0.90''' on https://alpha.gnu.org/gnu/octave/ | |||
* 2025-04-01 π Final Release π '''10.1.0''' on https://ftp.gnu.org/gnu/octave/}} | |||
Please use <code><strike> </strike></code> to mark items below as done. | |||
- | == π Kick-off β½ == | ||
=== βοΈ <strike> Update stable and default branch to new version numbers </strike> === | |||
Completion Date: | Completion Date: 2025-02-07 | ||
* Merge default onto stable to become the current stable release (see | * <strike> Merge default onto stable to become the current stable release (see instructions in <code>etc/HACKING.md</code>). | ||
* Bump version numbers in <code>configure.ac</code> on stable branch (see <code>etc/HACKING.md</code>). | |||
* Bump version numbers in | * Bump version numbers in <code>configure.ac</code> on default branch (see <code>etc/HACKING.md</code>). | ||
* Create new <code>etc/NEWS.11.md</code> file on default branch by copying <code>etc/NEWS.10.md</code> and then removing text so that it is a template file with headings only. </strike> | |||
* Bump version numbers in | |||
* Create new | |||
=== βοΈ <strike> Update gnulib to latest version </strike> === | |||
Completion Date: | Completion Date: 2025-02-08 | ||
<strike> '''Must occur first''' as it could resolve existing, or create new, bug reports. The simple update command is <code>gnulib-tool --add-import</code> followed by running <code>./bootstrap</code> in the source tree. </strike> | |||
=== π’ <strike> Call for bug reports </strike> === | |||
Completion Date: | Completion Date: 2025-02-07 | ||
* Put out a general call for reports on [ | * WON'T DO <strike> Put out a general call for reports on [https://octave.discourse.group/ Octave Discourse] for all outstanding, but unreported, known bugs. </strike> | ||
* Create Savannah | * <strike> Create Savannah <code>Release</code> tag <code>10.0.90</code> on bug tracker for 1st release candidate. | ||
* Mark items that should be fixed for the release with this tag. | * Mark items that should be fixed for the release with this tag. | ||
* Update Savannah | * Update Savannah <code>Planned Release</code> and <code>Fixed Release</code> tags by adding <code>10.1.0 (current stable)</code> and <code>11.1.0 (current default)</code>. </strike> | ||
* Review bug overview at https://octave.space/savannah/. | |||
* Review bug overview at | |||
=== π’ <strike> Update GUI translation files </strike> === | |||
Completion Date: | Completion Date: 2025-02-22 | ||
* Call for updates ([ | * WON'T DO <strike> Call for updates ([https://octave.discourse.group/ Octave Discourse]) that might change GUI strings. </strike> | ||
* String freeze date: 2025-02-07 | |||
* String freeze date: | * <strike> Update language translation files (<code>*.ts</code>). See instructions in <code>libgui/languages/build_ts/README.md</code>. | ||
* Update language translation files ( | * Create bug report on Savannah as a centralized location for uploading files and tracking status of translations. | ||
* Call for translations of GUI strings on [https://octave.discourse.group/c/maintainers/7 Octave Discourse Maintainers], CC-ing the translators (see [https://hg.savannah.gnu.org/hgweb/octave/file/tip/libgui/languages/translators list of translators]). </strike> | |||
* Create bug report on Savannah as a centralized location for uploading files | * <strike> Collect translation files on Savannah bug report and push to Mercurial. </strike> | ||
* Call for translations of GUI strings on [ | |||
* Collect translation files on Savannah bug report and push to Mercurial. | |||
=== βοΈ <strike> GPL License activities </strike> === | |||
Completion Date: | Completion Date: 2025-02-09 | ||
* Update copyright statements for all source controlled files. | * <strike> Update copyright statements for all source controlled files. | ||
:Command to update copyright notifications | |||
:<code>hg locate | xargs sed -i 's/Copyright (C) \([0-9][0-9][0-9][0-9]\)-2023 The Octave Project Developers/Copyright (C) \1-2024 The Octave Project Developers/; s/Copyright (C) 2023 The Octave Project Developers/Copyright (C) 2023-2024 The Octave Project Developers/'</code> | |||
:Command to check results before checking in | |||
:<code>hg diff | grep ^[-+][^-+] | sed 's/[0-9][0-9][0-9][0-9]-/YYYY-/' | sort -u</code> | |||
* Update dates in any other locations | |||
** MXE <code>README.html</code> file | |||
** <code>octave.texi, liboctave.texi, refcard.tex</code> </strike> | |||
* <strike> Add any new contributors to <code>doc/interpreter/contributors.in</code> who wish to be mentioned (donβt add them without permission). </strike> | |||
=== β
<strike> Style-check code base </strike> === | |||
Completion Date: 2025-02-26 | |||
<strike> 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. </strike> | |||
* <strike> [https://wiki.octave.org/Octave_style_guide m-file style check] </strike> | |||
* <strike> [https://wiki.octave.org/C%2B%2B_style_guide C++ style check] </strike> | |||
=== π <strike> Review documentation </strike> === | |||
Completion Date: 2026-02-025 | |||
* <strike> Grammar check documentation (See <code>doc/interpreter/doccheck/README</code>). </strike> | |||
* <strike> Spell check documentation (<code>make spellcheck</code>). </strike> | |||
* <strike> Verify no functions missing from manual (<code>make doc/interpreter/undocumented_list</code>). </strike> | |||
* <strike> Verify deprecated functions removed from manual (<code>*.txi</code>) and from βsee alsoβ links. </strike> | |||
* <strike> Verify all formats (Info, HTML, PDF) build correctly. </strike> | |||
* <strike> Review <code>etc/NEWS.10.md</code> for any features which should be announced. </strike> | |||
* WON'T DO <strike> Review <code>__unimplemented__.m</code> for the latest changes to [https://wiki.octave.org/Octave_Forge Octave Forge] packages and new Matlab functions. </strike> | |||
* <strike> Update <code>installer-files/README.html</code> in MXE Octave with version highlights. </strike> | |||
== π Repeat until all bugs are resolved == | |||
-- | Completion Date of first iteration: 2025-03-06 | ||
=== β οΈ Current state at Savannah === | |||
Bug overview at https://octave.space/savannah/. | |||
=== β
<code>make check</code> === | |||
* <strike> Verify <code>make check</code> is passing on all [http://buildbot.octave.org:8010/#/waterfall buildbot combinations of OS and compilers] and [https://github.com/gnu-octave/octave/actions GitHub CI runners]. Also check [https://github.com/gnu-octave/octave-buildbot/actions test suite runs on βfreshly brewed Octave for Windowsβ] (Kaiβs buildbots on octave.space). </strike> | |||
* <strike> Use software tools to check quality of Octave code. | |||
** Check for memory leaks by configuring with <code>--enable-address-sanitizer-flags --disable-visibility-flags --disable-docs --disable-java</code> and compiling with <code>-g -O0</code> in <code>CFLAGS</code>, <code>CXXFLAGS</code>. | |||
** Check for bad memory accesses by configuring with <code>--disable-visibility-flags --disable-docs --disable-java</code> and compiling with <code>-g -O0 -fsanitize=undefined -fno-omit-frame-pointer</code> in <code>CFLAGS</code>, <code>CXXFLAGS</code>, and linking with <code>-fsanitize=undefined -fno-omit-frame-pointer</code> in <code>LDFLAGS</code>. </strike> | |||
** WON'T DO <strike> Update static code analysis results. | |||
*** For <code>clang</code>, do <code>scan-build make -j<N> all</code> and then <code>scan-view</code>. | |||
*** See [https://wiki.octave.org/PVS_static_analyzer_-_5.0_Release PVS static analyzer - 5.0 Release]. </strike> | |||
** WON'T DO <strike> Use other tools such as <code>cppcheck</code>, etc. </strike> | |||
* <strike> Start discussion on [https://octave.discourse.group/c/maintainers/8 Octave Discourse Maintainers] about which failing tests that must be fixed and which can be declared '''WONβT FIX'''. </strike> | |||
=== π οΈ Create new release candidate === | |||
* <strike> Ensure correct version information (see βRelease Numberingβ in <code>/etc/HACKING.md</code>). | |||
* Create <code>hg tag</code> in repository with release candidate version number (<code>rc-MAJOR-MINOR-PATCH</code>). | |||
* Ensure correct version information (see | * Verify <code>make dist</code> works. | ||
* Verify <code>make distcheck</code> passes. </strike> | |||
* Create | * <strike> Create [https://wiki.octave.org/Windows_Installer Windows Installer]. | ||
* Upload release candidates to https://alpha.gnu.org/gnu/octave/. | |||
* Verify | * Check [https://wiki.octave.org/Windows_Installer Windows Installer] (executable and zip formats) against false positive detection at [https://virustotal.com/ virustotal.com]. | ||
* Verify | |||
* Create [ | |||
* Upload release candidates to | |||
* Check [ | |||
* Add release candidate version to Savannah bug tracker. | * Add release candidate version to Savannah bug tracker. | ||
* Announce release candidate to | * Announce release candidate to [https://octave.discourse.group/ Octave Discourse]. </strike> | ||
== π Final Release π == | |||
=== π Update version information === | |||
Completion Date: | Completion Date: | ||
* Ensure correct version information in | * Ensure correct version information in <code>configure.ac</code> (see βRelease Numberingβ in <code>/etc/HACKING.md</code>) | ||
** Set <code>OCTAVE_RELEASE_DATE</code> to the current date. | |||
** Set the year in <code>OCTAVE_COPYRIGHT</code> to the current year. | |||
* Create <code>hg tag</code> in repository with release candidate version number (<code>release-10-1-0</code>). | |||
* Create | * Update <code>etc/NEWS.10.md</code> (final release date in Summary header). | ||
* Update <code>CITATION</code> (version, year, URL) if not already done as part of "GPL License activities. | |||
* Update | * Update <code>etc/icons/org.octave.Octave.appdata.xml</code> (version number and release date). | ||
* Update | * Upload all tarballs to https://ftp.gnu.org/gnu/octave/. | ||
* Update web site files: <code>NEWS-10.html</code>, <code>index.in</code>, <code>news.in</code>, and <code>download.in</code>. | |||
* Update | * Update https://wiki.octave.org/Release_History page. | ||
* Update Savannah bug tracker <code>Release</code> field to have new release number. | |||
* Upload all tarballs to | * Update Savannah bug tracker: '''OPEN''' bugs marked as '''WONβT FIX''' should be marked as '''CONFIRMED''' (or more appropriate) for the final release. | ||
* Update web site files: | * Hide release candidate versions for <code>Release</code> field on Savannah. | ||
* Update | |||
* Update Savannah bug tracker | |||
* Update Savannah bug tracker: | |||
* Hide release candidate versions for | |||
=== π’ Announce final release === | |||
Completion Date: | Completion Date: | ||
* Octave mailing-lists (yes, still) | * Octave mailing-lists (yes, still) [mailto:help@octave.org help@octave.org] and [mailto:info-gnu@gnu.org info-gnu@gnu.org]. | ||
* Octave web site ( | * Octave web site (https://hg.octave.org/web-octave) | ||
* Steps documented in this | * Steps documented in this [https://hg.octave.org/web-octave/rev/fe59d0118a2b changeset]. | ||
* Upload documentation (manual HTML + PDF <code>octave.org/doc</code> and version in <code>octave.org/.htaccess</code>, Doxygen <code>octave.org/doxygen</code>) | |||
* Upload documentation (manual HTML + PDF | |||
* This wiki | * This wiki | ||
* Template:Release = | * [[Template:Release]] = {{Template:Release}} | ||
* Template:Release Date = | * [[Template:Release Date]] = {{Template:Release Date}} | ||
* Template:Release Year = | * [[Template:Release Year]] = {{Template:Release Year}} | ||
=== <strike> βοΈ Post-Release </strike> === | |||
Completion Date: | Completion Date: 2025-02-08 | ||
* <strike> Remove all deprecated functions scheduled for deletion on default branch. These functions are tagged with <code>OCTAVE_DEPRECATED</code> in C++ or are m-files located in the directory <code>scripts/deprecated</code>. Check file <code>etc/NEWS.9.md</code> for list of features that have been deprecated. </strike> | |||
[[Category:Releases]] | |||
Latest revision as of 16:38, 9 March 2025
- 2025-02-07 π Release Kick-off β½ (default branch merged to stable)
- 2025-03-15 π οΈ 1st release candidate 10.0.90 on https://alpha.gnu.org/gnu/octave/
- 2025-04-01 π Final Release π 10.1.0 on https://ftp.gnu.org/gnu/octave/
Please use <strike> </strike>
to mark items below as done.
π Kick-off β½
βοΈ Update stable and default branch to new version numbers
Completion Date: 2025-02-07
Merge default onto stable to become the current stable release (see instructions inetc/HACKING.md
).- Bump version numbers in
configure.ac
on stable branch (seeetc/HACKING.md
). - Bump version numbers in
configure.ac
on default branch (seeetc/HACKING.md
). Create newetc/NEWS.11.md
file on default branch by copyingetc/NEWS.10.md
and then removing text so that it is a template file with headings only.
βοΈ Update gnulib to latest version
Completion Date: 2025-02-08
Must occur first as it could resolve existing, or create new, bug reports. The simple update command is
gnulib-tool --add-import
followed by running ./bootstrap
in the source tree.
π’ Call for bug reports
Completion Date: 2025-02-07
- WON'T DO
Put out a general call for reports on Octave Discourse for all outstanding, but unreported, known bugs. Create SavannahRelease
tag10.0.90
on bug tracker for 1st release candidate.- Mark items that should be fixed for the release with this tag.
Update SavannahPlanned Release
andFixed Release
tags by adding10.1.0 (current stable)
and11.1.0 (current default)
.- Review bug overview at https://octave.space/savannah/.
π’ Update GUI translation files
Completion Date: 2025-02-22
- WON'T DO
Call for updates (Octave Discourse) that might change GUI strings. - String freeze date: 2025-02-07
Update language translation files (*.ts
). See instructions inlibgui/languages/build_ts/README.md
.- Create bug report on Savannah as a centralized location for uploading files and tracking status of translations.
Call for translations of GUI strings on Octave Discourse Maintainers, CC-ing the translators (see list of translators).Collect translation files on Savannah bug report and push to Mercurial.
βοΈ GPL License activities
Completion Date: 2025-02-09
Update copyright statements for all source controlled files.
- Command to update copyright notifications
hg locate | xargs sed -i 's/Copyright (C) \([0-9][0-9][0-9][0-9]\)-2023 The Octave Project Developers/Copyright (C) \1-2024 The Octave Project Developers/; s/Copyright (C) 2023 The Octave Project Developers/Copyright (C) 2023-2024 The Octave Project Developers/'
- Command to check results before checking in
hg diff | grep ^[-+][^-+] | sed 's/[0-9][0-9][0-9][0-9]-/YYYY-/' | sort -u
Update dates in any other locations- MXE
README.html
file octave.texi, liboctave.texi, refcard.tex
- MXE
Add any new contributors todoc/interpreter/contributors.in
who wish to be mentioned (donβt add them without permission).
β
Style-check code base
Completion Date: 2025-02-26
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: 2026-02-025
Grammar check documentation (Seedoc/interpreter/doccheck/README
).Spell check documentation (make spellcheck
).Verify no functions missing from manual (make doc/interpreter/undocumented_list
).Verify deprecated functions removed from manual (*.txi
) and from βsee alsoβ links.Verify all formats (Info, HTML, PDF) build correctly.Reviewetc/NEWS.10.md
for any features which should be announced.- WON'T DO
Review__unimplemented__.m
for the latest changes to Octave Forge packages and new Matlab functions. Updateinstaller-files/README.html
in MXE Octave with version highlights.
π Repeat until all bugs are resolved
Completion Date of first iteration: 2025-03-06
β οΈ Current state at Savannah
Bug overview at https://octave.space/savannah/.
β
make check
Verifymake check
is passing on all buildbot combinations of OS and compilers and GitHub CI runners. Also check test suite runs on βfreshly brewed Octave for Windowsβ (Kaiβs buildbots on octave.space).Use software tools to check quality of Octave code.- Check for memory leaks by configuring with
--enable-address-sanitizer-flags --disable-visibility-flags --disable-docs --disable-java
and compiling with-g -O0
inCFLAGS
,CXXFLAGS
. Check for bad memory accesses by configuring with--disable-visibility-flags --disable-docs --disable-java
and compiling with-g -O0 -fsanitize=undefined -fno-omit-frame-pointer
inCFLAGS
,CXXFLAGS
, and linking with-fsanitize=undefined -fno-omit-frame-pointer
inLDFLAGS
.- WON'T DO
Update static code analysis results.- For
clang
, doscan-build make -j<N> all
and thenscan-view
. See PVS static analyzer - 5.0 Release.
- For
- WON'T DO
Use other tools such ascppcheck
, etc.
- Check for memory leaks by configuring with
Start discussion on Octave Discourse Maintainers about which failing tests that must be fixed and which can be declared WONβT FIX.
π οΈ Create new release candidate
Ensure correct version information (see βRelease Numberingβ in/etc/HACKING.md
).- Create
hg tag
in repository with release candidate version number (rc-MAJOR-MINOR-PATCH
). - Verify
make dist
works. Verifymake distcheck
passes.Create Windows Installer.- Upload release candidates to https://alpha.gnu.org/gnu/octave/.
- 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 in
configure.ac
(see βRelease Numberingβ in/etc/HACKING.md
)- Set
OCTAVE_RELEASE_DATE
to the current date. - Set the year in
OCTAVE_COPYRIGHT
to the current year.
- Set
- Create
hg tag
in repository with release candidate version number (release-10-1-0
). - Update
etc/NEWS.10.md
(final release date in Summary header). - Update
CITATION
(version, year, URL) if not already done as part of "GPL License activities. - Update
etc/icons/org.octave.Octave.appdata.xml
(version number and release date). - Upload all tarballs to https://ftp.gnu.org/gnu/octave/.
- Update web site files:
NEWS-10.html
,index.in
,news.in
, anddownload.in
. - Update https://wiki.octave.org/Release_History page.
- Update Savannah bug tracker
Release
field to have new release number. - Update Savannah bug tracker: OPEN bugs marked as WONβT FIX should be marked as CONFIRMED (or more appropriate) for the final release.
- Hide release candidate versions for
Release
field on Savannah.
π’ Announce final release
Completion Date:
- Octave mailing-lists (yes, still) help@octave.org and info-gnu@gnu.org.
- Octave web site (https://hg.octave.org/web-octave)
- Steps documented in this changeset.
- Upload documentation (manual HTML + PDF
octave.org/doc
and version inoctave.org/.htaccess
, Doxygenoctave.org/doxygen
) - This wiki
- Template:Release = 9.4.0
- Template:Release Date = February 5, 2025
- Template:Release Year = 2025
βοΈ Post-Release
Completion Date: 2025-02-08
Remove all deprecated functions scheduled for deletion on default branch. These functions are tagged withOCTAVE_DEPRECATED
in C++ or are m-files located in the directoryscripts/deprecated
. Check fileetc/NEWS.9.md
for list of features that have been deprecated.