Lazarus 1.0 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
- set LIBOVERLAY_SCROLLBAR=0 for gtk2 in startlazarus (Mattias)
- add lhelp to rpm (Mattias)
- fix lhelp error on close: EDOMError DOMDocument.CreateElement (Mattias)
- bug http://bugs.freepascal.org/view.php?id=22579 22579
- bug http://bugs.freepascal.org/view.php?id=22598 22598
- bug http://bugs.freepascal.org/view.php?id=22591 22591
- bug http://bugs.freepascal.org/view.php?id=22592 22592
- bug http://bugs.freepascal.org/view.php?id=22608 22608
- bug http://bugs.freepascal.org/view.php?id=22603 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
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
From the Free Pascal wiki, page "Lazarus 1.0 release plan", as it stood on 2013-10-20 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.