Mercurial > octave
view etc/RELEASE_CHECKLIST.md @ 32049:1c99c8f020f7
gui: Show encodings available with iconv in file editor preferences.
* liboctave/wrappers/iconv-wrappers.h, liboctave/wrappers/iconv-wrappers.c
(octave_iconvlist_wrapper, octave_iconv_canonicalize_wrapper): Add wrappers for
libiconv functions.
* liboctave/util/oct-string.h, liboctave/util/oct-string.cc
(octave::string::get_encoding_list): Add new function that returns an ordered
list of canonicalized encoding names that are available from libiconv. Use list
of encoding identifiers as fallback on platforms without the required funcions.
* libgui/src/gui-settings.cc, libgui/src/gui-settings.h
(octave::gui_settings::get_codecs): Remove function.
(octave::gui_settings::combo_encoding): Show list of encoding names that are
actually available to the interpreter instead of a list of encodings available
in Qt.
* libgui/src/qt-interpreter-events.cc
(octave::qt_interpreter_events::gui_preference_adjust): Remove logic for mapping
between Qt encoding names and iconv encoding names.
* libgui/src/settings-dialog.cc: Remove unused header.
* m4/acinclude.m4 (OCTAVE_CHECK_ICONVLIST, OCTAVE_CHECK_ICONV_CANONICALIZE):
Add checks for functions from libiconv that are not available on all platforms.
* configure.ac: Call new functions.
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Sat, 22 Apr 2023 19:01:35 +0200 |
parents | bc24b226891a |
children | 3531e4090f94 |
line wrap: on
line source
# `VERSION`.1 Release Checklist # **Timeline** (tentative) * YYYY-MM-DD 🚀 Release Kick-off ⚽ (default branch merged to stable) * YYYY-MM-DD 🛠️ 1st release candidate **`VERSION`.0.90** on <https://alpha.gnu.org/gnu/octave/> * YYYY-MM-DD 🏁 Final Release 🎉 **`VERSION`.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: * Merge default onto stable to become the current stable release (see instructions in `etc/HACKING.md`). * Bump version numbers in `configure.ac` on stable branch (see `etc/HACKING.md`). * Bump version numbers in `configure.ac` on default branch (see `etc/HACKING.md`). ### ⚙️ 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 [Octave Discourse](https://octave.discourse.group/) for all outstanding unreported known bugs. * Create Savannah tag `VERSION.0.90` on bug tracker for 1st release candidate. * Mark items that should be fixed for the release with this tag. * Bug overview at <https://octave.space/savannah/>. ### 📢 Update GUI translation files ### Completion Date: * Call for updates ([Octave Discourse](https://octave.discourse.group/)) that might change GUI strings. * String freeze date: * Update language translation files (`*.ts`). See instructions in `libgui/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](https://octave.discourse.group/c/maintainers/7), CC-ing the translators (see [list of translators](https://hg.savannah.gnu.org/hgweb/octave/file/tip/libgui/languages/translators)). * Collect translation files on Savannah bug report and push to Mercurial. ### ⚖️ 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. * [m-file style check](https://wiki.octave.org/Octave_style_guide) * [C++ style check](https://wiki.octave.org/C%2B%2B_style_guide) ### 📖 Review documentation ### Completion Date: * Grammar check documentation (See `doc/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. * Review `etc/NEWS.VERSION.md` for any features which should be announced. * Review `__unimplemented__.m` for the latest changes to [Octave Forge](https://wiki.octave.org/Octave_Forge) packages and new Matlab functions. * Update `installer-files/README.html` in MXE Octave with version highlights. ## 🔃 Repeat until all bugs are resolved ## ------------------------------------------------------------ Completion Date of first iteration: ### ⚠️ Current state at Savannah ### Bug overview at <https://octave.space/savannah/>. ### ✅ `make check` ### * Verify `make check` is passing on all [buildbot combinations of OS and compilers](http://buildbot.octave.org:8010/#/waterfall) and [GitHub CI runners](https://github.com/gnu-octave/octave/actions). Also check [test suite runs on "freshly brewed Octave for Windows"](https://github.com/gnu-octave/octave-buildbot/actions) (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` and compiling with `-fsanitize=undefined`, `-fno-omit-frame-pointer` in `CFLAGS`, `CXXFLAGS`, and `LDFLAGS`. * Update static code analysis results. * For `clang`, do `scan-build make -j<N> all` and then `scan-view`. * See [PVS static analyzer - 5.0 Release](https://wiki.octave.org/PVS_static_analyzer_-_5.0_Release). * Use other tools such as `cppcheck`, etc. * Start discussion on [Octave Discourse Maintainers](https://octave.discourse.group/c/maintainers/8) 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. * Verify `make distcheck` passes. * Create [Windows Installer](https://wiki.octave.org/Windows_Installer). * Upload release candidates to <https://alpha.gnu.org/gnu/octave/>. * Check [Windows Installer](https://wiki.octave.org/Windows_Installer) (executable and zip formats) against false positive detection at [virustotal.com](https://virustotal.com/). * Add release candidate version to Savannah bug tracker. * Announce release candidate to [Octave Discourse](https://octave.discourse.group/). ## 🏁 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. * Create `hg tag` in repository with release candidate version number (`release-VERSION-1-0`). * Update `etc/NEWS.VERSION.md` (final release date in Summary header). * Update `CITATION` (version, year, URL). * 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-VERSION.html`, `index.in`, `news.in`, and `download.in`. * Update <https://wiki.octave.org/Release_History> page. * Update Savannah bug tracker version info 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 in 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](https://hg.octave.org/web-octave/rev/fe59d0118a2b). * Upload documentation (manual HTML + PDF `octave.org/doc` and version in `octave.org/.htaccess`, Doxygen `octave.org/doxygen`) * This wiki * Template:Release = 7.3.0 * Template:Release Date = November 2, 2022 * Template:Release Year = 2022 ### ☑️ Post-Release ### Completion Date: * Remove all deprecated functions (either tagged with `OCTAVE_DEPRECATED` in C++ or in the directory `scripts/deprecated` for m-files) scheduled for deletion on default branch. Check file `etc/NEWS.VERSION-2.md` for list of features that have been deprecated. * Create new `etc/NEWS.VERSION+1.md` file by copying `etc/NEWS.VERSION.md` and then removing text so that it is a template file with headings only.