Release Checklist

From Octave
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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 mailing-list 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 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.

Repeat until all bugs are resolved

Completion Date first iteration:

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.
  • Push translations provided by translators.

Run lint checker on code base

  • Compiling with -fsanitize=undefined, --enable-address-sanitizer-flags and running make check to check for memory leaks. Other tools cppcheck, etc.

make check

  • Verify make check is passing on all buildbot combinations of OS and compilers.
  • Start discussion on maintainers@octave.org about which failing tests that must be fixed.
  • Identify and fix any tests determined critical in step above.

Create new release candidate

  • Update configure.ac:
    • AC_INIT
    • OCTAVE_API_VERSION
    • OCTAVE_MAJOR/MINOR/PATCH_VERSION
    • OCTAVE_RELEASE_DATE
  • Verify make distcheck passes.
  • Verify make dist works.
  • hg tag repository with release candidate ID
  • Create Windows Installer.
  • Upload release candidates.
  • Add release candidate version to Savannah bug tracker.
  • Announce release candidate to Octave-Maintainers, Octave-Help, on web page.

Final Release

Update version information

Completion Date:
  • Update configure.ac:
    • AC_INIT
    • OCTAVE_API_VERSION
    • OCTAVE_MAJOR/MINOR/PATCH_VERSION
    • OCTAVE_RELEASE_DATE
  • Update NEWS (final release date).
  • Update CITATION (version, year, URL).
  • Update org.octave.Octave.appdata.xml (version number and release date).
  • Create hg tag in repository with release version number.
  • Merge default onto stable to become the current stable release.
  • 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:
  • Update configure.ac (AC_INIT, OCTAVE_MAJOR_VERSION, OCTAVE_MINOR_VERSION, OCTAVE_PATCH_VERSION) to next release cycle.
  • Update oct file API version number (configure.ac OCTAVE_API_VERSION).
  • 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.