Release Checklist
Please use
<strike></strike>
to mark items as done.
Kickoff
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 maintainers@octave.org and help@octave.org for all outstanding unreported known bugs.
Review submitted patches on Savannah
- Completion Date:
- Submitted patches from bug tracker included.
- Submitted patches from patch tracker included.
Review open bugs on Savannah
- Completion Date:
- Review bugs and update to correct category, such as "Patch submitted", correct title if necessary.
- Add "must-fix" items to 6.1 Release Bug Fix List.
One time tasks
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
- C++ style check
Review documentation
- Completion Date:
- Grammar check documentation.
- 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.
Call for translations
- Completion Date:
- Update language translation files (*.ts).
- Create issue report on Savannah as a centralized location for uploading files.
- Call for translations for GUI strings on maintainers@octave.org.
Repeat until all bugs are resolved
- Completion Date first iteration:
Merge submitted patches
- Push translations provided by translators.
- Push reviewed patches from Savannah.
make check
- Verify
make check
is passing on all buildbot combinations of OS and compilers. - Compiling with
-fsanitize=undefined
,--enable-address-sanitizer-flags
to check for memory leaks. Use other toolscppcheck
, etc.- Update PVS static analyzer results PVS static analyzer - 5.0 Release.
- Start discussion on maintainers@octave.org about which failing tests that must be fixed and which can be declared WON'T FIX.
Create new release candidate
- Ensure correct version information.
- Create hg tag in repository with release candidate version number.
- Verify
make distcheck
passes. - Verify
make dist
works. - Create Windows Installer.
- Upload release candidates.
- Add release candidate version to Savannah bug tracker.
- Announce release candidate to maintainers@octave.org, help@octave.org mailing-list, on web page.
Final Release
Update version information
- Completion Date:
- Ensure correct version information.
- Create hg tag in repository with release version number.
- Update NEWS (final release date).
- Update CITATION (version, year, URL).
- Update org.octave.Octave.appdata.xml (version number and release date).
- Update Savannah bug tracker version info.
- Remove release candidate versions from Savannah.
Announce final release
- Completion Date:
- Octave mailing-lists
- Octave web site
- This wiki
Post-Release
- Completion Date:
- Merge default onto stable to become the current stable release.
- Ensure correct version information.
- 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.
Versioning hints
Read
etc/HACKING.md
carefully!!- Update configure.ac:
AC_INIT
OCTAVE_API_VERSION
OCTAVE_MAJOR/MINOR/PATCH_VERSION
OCTAVE_RELEASE_DATE
- Update libtool versioning:
- liboctave/module.mk
%canon_reldir%_%canon_reldir%_current
- libinterp/module.mk
%canon_reldir%_liboctinterp_current
- libgui/module.mk
%canon_reldir%_liboctgui_current
- liboctave/module.mk