Lazarus 1.0 release plan

From Lazarus wiki
Jump to navigationJump to search

Release preparation

  • Gather list of todos from developers
  • Add new LazTarget to the mantis for so we can postpone issue one release.

Bugs to be fixed

Things that need to be fixed before tagging:

  • A list of bugs with [target 1.0], [target 0.99]
  • set LIBOVERLAY_SCROLLBAR=0 for gtk2 in startlazarus (Mattias)
  • add lhelp to rpm (Mattias)
  • fix lhelp error on close: EDOMError DOMDocument.CreateElement (Mattias)
  • bug [22579]
  • bug [22598]
  • bug [22591]
  • bug [22592]
  • bug [22608]
  • bug [22603]

Creating branch for release

  • Create fixes_1_0 branch (Vincent)
  • Set version number 1.1 in trunk (Vincent)
    • lazarus/ide/version.inc
    • lazarus/lcl/lclversion.pas
    • lazarus/lcl/lclbase.lpk
    • lazarus/lcl/interfaces/lcl.lpk
    • lazarus/debian/changelog
    • lazarus/lazarus.app/Contents/Info.plist
    • tools/install/linux/environmentoptions.xml same as version.inc
    • tools/install/win/environmentoptions.xml same as version.inc
    • tools/install/macos/environmentoptions.xml same as version.inc
    • check if lpl files needs updating by running ./tools/lplupdate -c (Mattias)
    • run ./tools/updatemakefiles (Mattias)
    • open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog; this will change ide/lazarus.res too.

Create snapshots for new branch

These snapshots can be considered release candidates.

  • source (Vincent)
  • win32 (Vincent)
  • win64 (Vincent)
  • linux i386 rpm (Vincent)
  • linux x86_64 rpm (Vincent)
  • linux i386 deb (Vincent)
  • linux x86_64 deb (Vincent)
  • Mac OS X powerpc (Vincent)
  • Mac OS X i386 (Vincent)
  • Add deb snaphots to Ubuntu testing repo (Vincent)

Ask for testing

  • Informally announce (IRC, mailing list) a pending release (+/- week before actual release), so that people can test for regressions.
  • Create Release Candidate
    • RC1

Merge revisions from trunk

Lazarus_1.0_fixes_branch


Tagging release

  • Set version to 1.0 in fixes_1_0 branch (Mattias)
    • open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 1.0.1.1 for RC1, 1.0.1.2 for RC2, 1.0.1.3 for final
    • lazarus/ide/version.inc 1.0 RC2, 1.0
    • lazarus/lcl/lclversion.pas 1.0.1.1 for RC1, 1.0.1.2 for RC2, 1.0.1.3 for final
    • lclbase.lpk
    • lcl.lpk
    • lazarus/debian/changelog 1.0.1-1 for RC1, 1.0.1-2 for RC2, 1.0.1-3 for final
    • lazarus/lazarus.app/Contents/Info.plist v1.0 RC2
    • tools/install/linux/environmentoptions.xml same as version.inc
    • tools/install/win/environmentoptions.xml same as version.inc
    • tools/install/macos/environmentoptions.xml same as version.inc
    • check if lpl files needs updating by running ./tools/lplupdate -c (Mattias)
    • run ./tools/updatemakefiles (Mattias)
  • Tag fixes_1_0 branch to tags/release_1_0_RC2 (Mattias)
svn copy svn+ssh://svn.freepascal.org/FPC/svn/lazarus/branches/fixes_1_0 svn+ssh://svn.freepascal.org/FPC/svn/lazarus/tags/lazarus_1_0_RC2 -m 'tagged 1.0.8 as tags/lazarus_1_0_8'
  • Set version to 1.1 in trunk (Vincent)

Building release

  • source (Vincent)
  • html docs (Vincent)
  • chm docs (Vincent)
  • win32 (Vincent)
  • win32 for arm-wince (Vincent)
  • win64 (Vincent)
  • linux source rpm (Joost)
  • linux i386 rpm (Joost)
    • crosswin32 rpm (Mattias)
  • linux x86_64 rpm (Joost)
  • linux i386 deb (Vincent)
    • crosswin32 deb (Mattias)
  • linux x86_64 deb (Vincent)
  • Mac OS X powerpc (Vincent)
  • Mac OS X i386 (Vincent)
  • Add debs to ubuntu repo (Vincent)

Tests

  • Menu item exists
  • Clear pcp directory and start IDE, a new project application with a form should be visible
  • Double click on form - a FormCreate event should be created
  • Check View / IDE internals / What needs building - no package should need building, only the project
  • Restart the IDE - there should be no warning about upgrading
  • Install the package cody, after restart the component palette should show the component TCodyTreeView

Announcements

  • Wiki: downloading, installation, getting source hints (Mattias)
  • List of changes: Lazarus 1.0 release notes (Mattias)
  • Mailing lists (Mattias)
  • News item on www.lazarus.freepascal.org (Mattias)
  • Sourceforge (Vincent)
  • Freshmeat (Vincent)
  • Change IRC topic (Vincent)
  • New versions in Mantis (Vincent)

After release

  • Make sure snapshots are created correctly for the new version (Vincent)

Further

  • Relax (all)
  • Plan next release