1,174
edits
m (Mark items done) |
m (Mark item done) |
||
(28 intermediate revisions by 3 users not shown) | |||
Line 18: | Line 18: | ||
* 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> | * 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> | ||
=== ⚙️ Update gnulib to latest version === | === ⚙️ <strike> Update gnulib to latest version </strike> === | ||
Completion Date: | Completion Date: 2025-02-08 | ||
'''Must occur first''' as it could resolve existing, or create new, bug reports. | <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> === | === 📢 <strike> Call for bug reports </strike> === | ||
Line 34: | Line 34: | ||
* Review bug overview at https://octave.space/savannah/. | * Review bug overview at https://octave.space/savannah/. | ||
=== 📢 Update GUI translation files === | === 📢 <strike> Update GUI translation files </strike> === | ||
Completion Date: | Completion Date: 2025-02-22 | ||
* WON'T DO <strike> Call for updates ([https://octave.discourse.group/ Octave Discourse]) that might change GUI strings. </strike> | * 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: 2025-02-07 | ||
* Update language translation files (<code>*.ts</code>). See instructions in <code>libgui/languages/build_ts/README.md</code>. | * <strike> Update language translation files (<code>*.ts</code>). See instructions in <code>libgui/languages/build_ts/README.md</code>. | ||
* Create bug report on Savannah as a centralized location for uploading files and tracking status of translations. | * 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]). | * 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> | ||
* Collect translation files on Savannah bug report and push to Mercurial. | * <strike> Collect translation files on Savannah bug report and push to Mercurial. </strike> | ||
=== ⚖️ <strike> GPL License activities </strike> === | |||
Completion Date: 2025-02-09 | |||
* <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> | ||
=== ✅ Style-check code base === | === ✅ <strike> Style-check code base </strike> === | ||
Completion Date: | 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. | <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> | ||
* [https://wiki.octave.org/Octave_style_guide m-file style check] | * <strike> [https://wiki.octave.org/Octave_style_guide m-file style check] </strike> | ||
* [https://wiki.octave.org/C%2B%2B_style_guide C++ style check] | * <strike> [https://wiki.octave.org/C%2B%2B_style_guide C++ style check] </strike> | ||
=== 📖 Review documentation === | === 📖 <strike> Review documentation </strike> === | ||
Completion Date: | Completion Date: 2026-02-025 | ||
* Grammar check documentation (See <code>doc/interpreter/doccheck/README</code>). | * <strike> Grammar check documentation (See <code>doc/interpreter/doccheck/README</code>). </strike> | ||
* Spell check documentation (<code>make spellcheck</code>). | * <strike> Spell check documentation (<code>make spellcheck</code>). </strike> | ||
* Verify no functions missing from manual (<code>make doc/interpreter/undocumented_list</code>). | * <strike> Verify no functions missing from manual (<code>make doc/interpreter/undocumented_list</code>). </strike> | ||
* Verify deprecated functions removed from manual (<code>*.txi</code>) and from “see also” links. | * <strike> Verify deprecated functions removed from manual (<code>*.txi</code>) and from “see also” links. </strike> | ||
* Verify all formats (Info, HTML, PDF) build correctly. | * <strike> Verify all formats (Info, HTML, PDF) build correctly. </strike> | ||
* Review <code>etc/NEWS.10.md</code> for any features which should be announced. | * <strike> Review <code>etc/NEWS.10.md</code> for any features which should be announced. </strike> | ||
* Review <code>__unimplemented__.m</code> for the latest changes to [https://wiki.octave.org/Octave_Forge Octave Forge] packages and new Matlab functions. | * 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> | ||
* Update <code>installer-files/README.html</code> in MXE Octave with version highlights. | * <strike> Update <code>installer-files/README.html</code> in MXE Octave with version highlights. </strike> | ||
== 🔃 Repeat until all bugs are resolved == | == 🔃 Repeat until all bugs are resolved == | ||
Completion Date of first iteration: | Completion Date of first iteration: 2025-03-06 | ||
=== ⚠️ Current state at Savannah === | === ⚠️ Current state at Savannah === | ||
Line 91: | Line 96: | ||
=== ✅ <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] 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> 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</code> and compiling with <code>-g -O0 | ** 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 compiling with <code>-g -O0 -fsanitize=undefined -fno-omit-frame-pointer | ** 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> | ||
** Update static code analysis results. | ** 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>. | *** 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]. | *** See [https://wiki.octave.org/PVS_static_analyzer_-_5.0_Release PVS static analyzer - 5.0 Release]. </strike> | ||
** Use other tools such as <code>cppcheck</code>, etc. | ** WON'T DO <strike> Use other tools such as <code>cppcheck</code>, etc. </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 [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 === | === 🛠️ Create new release candidate === | ||
* Ensure correct version information (see “Release Numbering” in <code>/etc/HACKING.md</code>). | * <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 <code>hg tag</code> in repository with release candidate version number (<code>rc-MAJOR-MINOR-PATCH</code>). | ||
* Verify <code>make dist</code> works. | * Verify <code>make dist</code> works. | ||
* Verify <code>make distcheck</code> passes. | * Verify <code>make distcheck</code> passes. </strike> | ||
* Create [https://wiki.octave.org/Windows_Installer Windows Installer]. | * <strike> Create [https://wiki.octave.org/Windows_Installer Windows Installer]. | ||
* Upload release candidates to https://alpha.gnu.org/gnu/octave/. | * Upload release candidates to https://alpha.gnu.org/gnu/octave/. | ||
* Check [https://wiki.octave.org/Windows_Installer Windows Installer] (executable and zip formats) against false positive detection at [https://virustotal.com/ virustotal.com]. | * Check [https://wiki.octave.org/Windows_Installer Windows Installer] (executable and zip formats) against false positive detection at [https://virustotal.com/ virustotal.com]. | ||
* Add release candidate version to Savannah bug tracker. | * Add release candidate version to Savannah bug tracker. | ||
* Announce release candidate to [https://octave.discourse.group/ Octave Discourse]. | * Announce release candidate to [https://octave.discourse.group/ Octave Discourse]. </strike> | ||
== 🏁 Final Release 🎉 == | == 🏁 Final Release 🎉 == | ||
Line 142: | Line 147: | ||
* 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 <code>octave.org/doc</code> and version in <code>octave.org/.htaccess</code>, Doxygen <code>octave.org/doxygen</code>) | ||
* 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}} | ||
=== ☑️ Post-Release === | === <strike> ☑️ Post-Release </strike> === | ||
Completion Date: | Completion Date: 2025-02-08 | ||
* 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. | * <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]] | [[Category:Releases]] |
edits