1,174
edits
mNo edit summary |
mNo edit summary |
||
(47 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{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-03-28 π 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: 2025-02-07 | |||
* <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 <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> | |||
=== βοΈ <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> Update Autoconf macros to latest version </strike> === | |||
Completion Date: 2025-03-23 | |||
<strike> The following Autoconf macros are under version control in the <code>m4</code> directory. The contents should be verified against the repository at https://github.com/autoconf-archive/autoconf-archive/tree/master/m4. | |||
ax_blas.m4 | |||
ax_compare_version.m4 | |||
ax_cxx_compile_stdcxx.m4 | |||
ax_lapack.m4 | |||
ax_openmp.m4 | |||
ax_pthread.m4 | |||
The <code>pkg.m4</code> macro should be verified against the repository at https://github.com/pkgconf/pkgconf/blob/master/pkg.m4. </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 | |||
Completion Date: | |||
* Grammar check documentation (See | * <strike> Grammar check documentation (See <code>doc/interpreter/doccheck/README</code>). </strike> | ||
* Spell check documentation ( | * <strike> Spell check documentation (<code>make spellcheck</code>). </strike> | ||
* Verify no functions missing from manual | * <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> | |||
* Verify deprecated functions removed from manual ( | * <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> | |||
* Verify all formats (Info, HTML, PDF) build correctly. | * 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> | ||
* Review | * <strike> Update <code>installer-files/README.html</code> in MXE Octave with version highlights. </strike> | ||
* Review | |||
* Update | |||
== π Repeat until all bugs are resolved == | |||
Completion Date of first iteration: | Completion Date of first iteration: 2025-03-06 | ||
=== β οΈ Current state at Savannah === | |||
Bug overview at | Bug overview at https://octave.space/savannah/. | ||
=== β
<code>make check</code> === | |||
* Verify | * <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> | ||
* Use software tools to check quality of Octave code. | * <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> | |||
* Start discussion on [ | |||
=== π οΈ Create new release candidate === | |||
* Ensure correct version information (see | * <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>). | |||
* Create | * Verify <code>make dist</code> works. | ||
* Verify <code>make distcheck</code> passes. </strike> | |||
* Verify | * <strike> Create [https://wiki.octave.org/Windows_Installer Windows Installer]. | ||
* Verify | * Upload release candidates to https://alpha.gnu.org/gnu/octave/. | ||
* Create [ | * Check [https://wiki.octave.org/Windows_Installer Windows Installer] (executable and zip formats) against false positive detection at [https://virustotal.com/ virustotal.com]. | ||
* 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 | * <strike> 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). </strike> | ||
* 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 | * <strike> 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. </strike> | ||
* 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]] | |||
edits