5.0.0 Release Checklist
5.0.0 Release Tasks
- Update gnulib to latest version
- Must occur first as it could resolve existing, or create new, bug reports
- Completion Date:
- File bug reports for all outstanding bugs known, but not reported
- Put out a general call for reports on Octave-Maintainers and Octave-Help list
- Completion Date:
- Review patch tracker/bug list for any patches submitted that may be included before release
- Completion Date:
- Identify Bugs which *must* be fixed prior to release
- Review bugs on tracker for possible inclusion in list
- Review bugs and update to correct category, such as Patch submitted
- Completion Date:
- Clear all bugs identified as must-fix
- Completion Date:
- GPL License activities
- 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 contributors.in
- Completion Date:
- Style-check code base
- 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. Completion Date:
- C++ style check. Completion Date:
- Run lint checker on code base
- Possibilities include compiling with -fsanitize=undefined and running 'make check', cppcheck, etc.
- Completion Date:
- Verify 'make check' is passing on all buildbot combinations of OS and compilers
- Start discussion on octave-maintainers list about which failing tests must be fixed
- Identify and fix any tests determined critical in step above
- Completion Date:
- Compile and run Octave test suite with --enable-address-sanitizer-flags to check for memory leaks
- Results posted to bug report:
- Completion Date:
- Review documentation
- Grammar check documentation so that it conforms to Octave standards
- 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
- Update major version number in "@subtitle Edition XXX" in octave.texi
- Completion Date:
- Localization and Internationalization
- Update language translation files (*.ts)
- Create issue report on Savannah as a centralized location for uploading files
- Submit call for translations for GUI strings
- Completion Date:
- Verify build process and create release candidates
- Update configure.ac with new version information
- Update AC_INIT, OCTAVE_MAJOR_VERSION, OCTAVE_MINOR_VERSION, OCTAVE_PATCH_VERSION, OCTAVE_RELEASE_DATE
- Verify 'make distcheck' passes
- Create release candidate
- 'make dist'
- hg tag repository with release candidate ID
- For Windows, create installer Windows Installer
- Upload release candidate
- Add release candidate version to Savannah bug tracker
- Announce release candidate to Octave-Maintainers, Octave-Help, on web page
- Repeat release candidate cycle until clean
- Completion Date:
- Update configure.ac with new version information
- Final Release
- Update version information
- Update configure.ac (AC_INIT, OCTAVE_MAJOR_VERSION, OCTAVE_MINOR_VERSION, OCTAVE_PATCH_VERSION, OCTAVE_RELEASE_DATE)
- Update libtool versioning (configure.ac:OCTAVE_API_VERSION, liboctave/module.mk:%canon_reldir%_%canon_reldir%_current, libinterp/module.mk:%canon_reldir%_liboctinterp_current, libgui/module.mk:%canon_reldir%_liboctgui_current)
- Update NEWS (final release date)
- Update CITATION (version, year, URL)
- Update org.octave.Octave.appdata.xml (version number and release date)
- hg tag repository with release version number
- merge default onto stable to become the current stable release
- Savannah bug tracker version info
- add new release version to bug tracker
- remove release candidate versions from bug tracker
- Announce final release on Octave mailing lists and web site
- Completion Date:
- Update version information
- Post-Release
- Update configure.ac (AC_INIT, OCTAVE_MAJOR_VERSION, OCTAVE_MINOR_VERSION, OCTAVE_PATCH_VERSION) to next release cycle
- 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
- Completion Date: