5.0.0 Release Checklist

Revision as of 17:55, 13 December 2018 by Rik (talk | contribs) (Create new checklist for 5.0.0. release)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

5.0.0 Release Tasks

  1. Update gnulib to latest version
    Must occur first as it could resolve existing, or create new, bug reports
    Completion Date:
  2. 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:
  3. Review patch tracker/bug list for any patches submitted that may be included before release
    Completion Date:
  4. 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:
  5. Clear all bugs identified as must-fix
    Completion Date:
  6. 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:
  7. 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:
  8. Run lint checker on code base
    • Possibilities include compiling with -fsanitize=undefined and running 'make check', cppcheck, etc.
    Completion Date:
  9. 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:
  10. Compile and run Octave test suite with --enable-address-sanitizer-flags to check for memory leaks
    • Results posted to bug report:
    Completion Date:
  11. 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:
  12. 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:
  13. 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:
  14. 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:
  15. 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: