Lazarus 1.2 release plan
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 http://bugs.freepascal.org/search.php?project_id=1&sticky_issues=on&sortby=last_updated&dir=DESC&status_id%5B%5D=10&status_id%5B%5D=20&status_id%5B%5D=30&status_id%5B%5D=40&status_id%5B%5D=50&hide_status_id=-2&custom_field_3=1.0 target 1.0, http://bugs.freepascal.org/search.php?project_id=1&sticky_issues=on&sortby=last_updated&dir=DESC&status_id%5B%5D=10&status_id%5B%5D=20&status_id%5B%5D=30&status_id%5B%5D=40&status_id%5B%5D=50&hide_status_id=-2&custom_field_3=0.99.0 target 0.99
Creating branch for release
- Create fixes_1_2 branch (Mattias)
- Set version number 1.3 in trunk (Mattias)
- 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
- RC2
Merge revisions from trunk
Tagging release
- Set version to 1.2 in fixes_1_2 branch (Mattias)
- open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 1.2.0.1 for RC1, 1.2.0.2 for RC2, 1.2.0.3 for final
- lazarus/ide/version.inc 1.2 RC2
- lazarus/lcl/lclversion.pas 1.2.0.1 for RC1, 1.2.0.2 for RC2, 1.2.0.3 for final
- lclbase.lpk
- lcl.lpk
- lazarus/debian/changelog 1.2.0-1 for RC1, 1.2.0-2 for RC2, 1.2.0-3 for final
- lazarus/lazarus.app/Contents/Info.plist v1.2 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_2 branch to tags/release_1_0_RC2 (Mattias)
svn copy svn+ssh://svn.freepascal.org/FPC/svn/lazarus/branches/fixes_1_2 svn+ssh://svn.freepascal.org/FPC/svn/lazarus/tags/lazarus_1_2_RC2 -m 'tagged 1.2.0.2 as tags/lazarus_1_2_RC2'- Set next version in trunk (Mattias)
Building release
- source (Vincent)
- html docs (Vincent)
- chm docs (Vincent)
- win32 (Martin)
- win32 for arm-wince (Vincent)
- win64 (Martin)
- linux source rpm (Mattias)
- linux i386 rpm (Mattias)
- crosswin32 rpm (Mattias)
- linux x86_64 rpm (Mattias)
- linux i386 deb (Mattias)
- crosswin32 deb (Mattias)
- linux x86_64 deb (Mattias)
- Mac OS X powerpc (Vincent)
- Mac OS X i386 (Mattias)
- 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.2 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
From the Free Pascal wiki, page "Lazarus 1.2 release plan", as it stood on 2014-03-16 after a change by Jwdietrich, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.