Difference between revisions of "Lazarus 1.0 release plan"

From Lazarus wiki
Jump to navigationJump to search
 
(18 intermediate revisions by 2 users not shown)
Line 17: Line 17:
  
 
=== Creating branch for release ===
 
=== Creating branch for release ===
* Create fixes_0_9_31 branch (Vincent)
+
* Create fixes_1_0 branch (Vincent)
 
* Set version number 1.1 in trunk (Vincent)
 
* Set version number 1.1 in trunk (Vincent)
 
** lazarus/ide/version.inc
 
** lazarus/ide/version.inc
 
** lazarus/lcl/lclversion.pas
 
** lazarus/lcl/lclversion.pas
 
** lazarus/lcl/lclbase.lpk
 
** lazarus/lcl/lclbase.lpk
** lazarus/packager/globallinks/lclbase*.lpl
+
** lazarus/lcl/interfaces/lcl.lpk
 
** lazarus/debian/changelog
 
** lazarus/debian/changelog
 
** lazarus/lazarus.app/Contents/Info.plist
 
** 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)
 
** 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.
 
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog; this will change ide/lazarus.res too.
  
Line 52: Line 56:
  
 
=== Tagging release ===
 
=== Tagging release ===
* <s>Set version to 1.0 in fixes_1_0 branch (Mattias)</s>
+
* Set version to 1.0 in fixes_1_0 branch (Mattias)
** <s>lazarus/ide/version.inc  1.0 RC1</s>
+
** 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
** <s>lazarus/lcl/lclversion.pas 1.0.1</s>
+
** lazarus/ide/version.inc  1.0 RC2, 1.0
** <s>lazarus/debian/changelog 1.0.1-0</s>
+
** lazarus/lcl/lclversion.pas 1.0.1.1 for RC1, 1.0.1.2 for RC2, 1.0.1.3 for final
** <s>lazarus/lazarus.app/Contents/Info.plist v1.0 RC1</s>
+
** lclbase.lpk
** <s>open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 1.0.1.0</s>
+
** lcl.lpk
** <s>tools/install/linux/environmentoptions.xml</s>
+
** lazarus/debian/changelog 1.0.1-1 for RC1, 1.0.1-2 for RC2, 1.0.1-3 for final
** <s>tools/install/win/environmentoptions.xml</s>
+
** lazarus/lazarus.app/Contents/Info.plist v1.0 RC2
** <s>tools/install/macos/environmentoptions.xml</s>
+
** tools/install/linux/environmentoptions.xml same as version.inc
* <s>Tag fixes_1_0 branch to tags/release_1_0_RC1 (Mattias)</s>
+
** tools/install/win/environmentoptions.xml same as version.inc
* <s>Set version to 1.1 in trunk (Vincent)</s>
+
** 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 ===
 
=== Building release ===
Line 94: Line 103:
 
* Wiki: downloading, installation, getting source hints (Mattias)
 
* Wiki: downloading, installation, getting source hints (Mattias)
 
** [[Installing Lazarus]]
 
** [[Installing Lazarus]]
* List of changes: [[Lazarus 1.0 release notes]] (Mattias)
+
* <s>List of changes: [[Lazarus 1.0 release notes]]</s> (Mattias)
* Mailing lists (Mattias)
+
* <s>Mailing lists</s> (Mattias)
* News item on www.lazarus.freepascal.org (Vincent)
+
* <s>News item on www.lazarus.freepascal.org</s> (Mattias)
* Sourceforge (Vincent)
+
* <s>Sourceforge</s> (Vincent)
* Freshmeat (Vincent)
+
* <s>Freshmeat</s> (Vincent)
* Change IRC topic (Marc)
+
* <s>Change IRC topic</s> (Vincent)
* New versions in Mantis (Vincent)
+
* <s>New versions in Mantis</s> (Vincent)
  
 
=== After release ===
 
=== After release ===
Line 108: Line 117:
 
* Relax (all)
 
* Relax (all)
 
* Plan next release
 
* Plan next release
 +
 +
[[Category:Development Strategy]]

Latest revision as of 18:29, 20 October 2013

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