Release 2.2.0
From Lazarus wiki
Jump to navigationJump to search
Release organization
- Before releasing 2.2.0 there will be a public beta available for about two months. The version number of the beta will be 2.1.4 (aka 2.2.0-beta)
- Before the beta there will be an 'internal' release, 2.1.2 to test the build-proces on all platforms. The release of 2.1.2 is the 'feature freeze' for version 2.2.0. In principle between version 2.1.2 and 2.1.4 only build-related patches are allowed.
- Version 2.1.4 will be public and announced. From the release of 2.1.4 on, no new features will be added and no functionality will be removed. Only bug fixes are allowed.
- About two months after version 2.1.4, there will be (at least one) release candidate for version 2.2.0.
- Is the release canidates are satisfactory, 2.2.0 will be released
Merging patches should be done by the developers who are 'responsible' for that part of the code.
Timeline so far:
- Friday the 16th version 2.1.2 will be tagged from the fixes_2_2 branche
- If things go well, 2.1.4 will be tagged friday the 30th. If we are lucky, the release of 2.1.4 can be in the week thereafter.
Release procedure (Release Template)
Note that detailed information for some tasks can be found in Release engineering. These two pages should be eventually merged (or probably rather better interlinked) in the future.
Release preparations
Agree on deadline for changesNew page in Wiki for release procedure with steps needed and their status (this page), at the beginning consisting of the beta (2.1.)and final release sections- Check tools
- Check version of the above mentioned tools (GNU tools, helper DLLs, UPX, etc.), and decide whether it isn't time to update some of these tools
- Repackage and upload additional tools where needed
- Update whatsnew.txt (/install/doc/whatsnew.txt) - Florian
- Finish all source file updates
- Update version number to new release number
- /install/doc/readme.txt
- /installer/install.dat (header)
- /installer/install.pas (installer version)
- /install/fpc.spec
- /install/install.sh Done by makepack
- convert /html/faq.fp to /install/doc/faq.htm and /install/doc/faq.txt
- /docs/fpc.sty (macro fpcversion)
- All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles)
2.1.2
- Create new page in Wiki with issue log for documentation of issues encountered in release candidates and their status
- New directories
- Create new directories on ftp
- Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions)
- Tag version 2.1.2
- /compiler/version.pas
- Create and upload exported fpcbuild.zip
- Create and upload the documentation - Michael
- doc-pdf.zip
- doc-html.zip
- doc-htm.zip
- doc-txt.zip
- doc-ps.zip
- doc-pdf.tar.gz
- doc-html.tar.gz
- doc-ps.tar.gz
- Create and upload source zips
- short name version for binary packages
- short name version for docs source
- long name version for binary packages
- long name version for docs source
- Create and upload source tars
- Create and upload zip files for i386-go32v2
- basic zip (just binaries)
- full zip (including docs and sources)
- Create and upload zip files for i386-os2
- basic zip (just binaries)
- full zip (including docs and sources)
- Create and upload installer exe for i386-win32 - Florian
- Create and upload tgz file for i386-freebsd - Marco
- Create and upload release for i386-linux
- tar - Michael
- deb - Peter
- rpm - Michael
- Create and upload release for powerpc-linux
- tar - Thomas
- Create and upload release for powerpc-macosx - Jonas
- .dmg package
- .info files for fink - Mischi
- Create and upload release for powerpc-macos
- Create and upload release for powerpc-morphos - Charlie
- Create and upload zip files for i386-netware
- Create and upload zip files for i386-netwlibc
- Create and upload release for sparc-linux
- tar
- Create and upload release for arm-linux (cross-release)
- tar - Daniel
- Create and upload release for x86_64-linux
- tar - Michael
- Run makereleasezips (combine small ZIP files together)
- Consider announcing availability of the new RC in fpc-devel list and/or ask there for dedicated testers for individual platforms
- Test the GO32v2 release
- dos???.zip installation
- dos???full.zip installation (over the previously installed dos???.zip to simulate updates)
- make sure readme.txt & whatsnew.txt are for the current version
- run all executables in /bin/go32v2 (no params)
- make cycle with newly installed binaries and sources
- run testsuite
- open the installed hello.pp in IDE
- make a minor change in the demo in IDE & save it
- view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
- compile the demo file in IDE
- run the demo within the IDE (debugger)
- Test the OS/2 release
- os2???.zip installation
- os2???full.zip installation (over the previously installed os2???.zip to simulate updates)
- make sure readme.txt & whatsnew.txt are for the current version
- run all executables in /bin/os2 (no params)
- make cycle with newly installed binaries and sources
- run testsuite
- open the installed hello.pp in IDE
- make a minor change in the demo in IDE & save it
- view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
- compile the demo file in IDE
- run the demo within the IDE (debugger)
- Test the Win32 release
- Run installer
- make sure readme.txt & whatsnew.txt are for the current version
- run all executables in /bin/win32 (without parameters)
- make cycle with newly installed binaries and sources
- run testsuite
- open the installed hello.pp in IDE
- make a minor change in the demo in IDE & save it
- view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
- compile the demo file in IDE
- run the demo within the IDE (debugger)
- Test release for i386-freebsd
- Test release for i386-linux
- tar
- deb
- rpm
- Test release for powerpc-linux
- tar
- Test release for powerpc-macosx
- .dmg package
- .info files for fink - Mischi
- Test release for powerpc-macos
- Test release for powerpc-morphos
- Test release for i386-netware
- Test release for i386-netwlibc
- Test release for sparc-linux
- tar
- Test release for arm-linux
- tar
- Test release for x86_64-linux
- Check PDF documentation (open all files)
- Check HTML documentation
- Check TXT documentation
- Read updated text files as distributed in release zip files
- readme.txt
- faq.txt
- whatsnew.txt
2.1.4 (2.2.0 beta)
- Section for new beta on release pages in Wiki
- Release procedure
- Issue log
- Look at unmerged changes in fpc and fpcbuild since the last RC and consider/ask for necessity of their inclusion in the release
- New directories (done)
- New directories
- Create new directories on ftp
- Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions)
- Tag version 2.1.2
- /compiler/version.pas
- Create and upload exported fpcbuild.zip
- Create and upload the documentation - Michael
- doc-pdf.zip
- doc-html.zip
- doc-htm.zip
- doc-txt.zip
- doc-ps.zip
- doc-pdf.tar.gz
- doc-html.tar.gz
- doc-ps.tar.gz
- Create and upload source zips
- short name version for binary packages
- short name version for docs source
- long name version for binary packages
- long name version for docs source
- Create and upload source tars
- Create and upload zip files for i386-go32v2
- basic zip (just binaries)
- full zip (including docs and sources)
- Create and upload zip files for i386-os2
- basic zip (just binaries)
- full zip (including docs and sources)
- Create and upload installer exe for i386-win32 - Florian
- Create and upload tgz file for i386-freebsd - Marco
- Create and upload release for i386-linux
- tar - Michael
- deb - Peter
- rpm - Michael
- Create and upload release for powerpc-linux
- tar - Thomas
- Create and upload release for powerpc-macosx - Jonas
- .dmg package
- .info files for fink - Mischi
- Create and upload release for powerpc-macos
- Create and upload release for powerpc-morphos - Charlie
- Create and upload zip files for i386-netware
- Create and upload zip files for i386-netwlibc
- Create and upload release for sparc-linux
- tar
- Create and upload release for arm-linux (cross-release)
- tar - Daniel
- Create and upload release for x86_64-linux
- tar - Michael
- Run makereleasezips (combine small ZIP files together)
- Consider announcing availability of the new RC in fpc-devel list and/or ask there for dedicated testers for individual platforms
- Test the GO32v2 release
- dos???.zip installation
- dos???full.zip installation (over the previously installed dos???.zip to simulate updates)
- make sure readme.txt & whatsnew.txt are for the current version
- run all executables in /bin/go32v2 (no params)
- make cycle with newly installed binaries and sources
- run testsuite
- open the installed hello.pp in IDE
- make a minor change in the demo in IDE & save it
- view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
- compile the demo file in IDE
- run the demo within the IDE (debugger)
- Test the OS/2 release
- os2???.zip installation
- os2???full.zip installation (over the previously installed os2???.zip to simulate updates)
- make sure readme.txt & whatsnew.txt are for the current version
- run all executables in /bin/os2 (no params)
- make cycle with newly installed binaries and sources
- run testsuite
- open the installed hello.pp in IDE
- make a minor change in the demo in IDE & save it
- view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
- compile the demo file in IDE
- run the demo within the IDE (debugger)
- Test the Win32 release
- Run installer
- make sure readme.txt & whatsnew.txt are for the current version
- run all executables in /bin/win32 (without parameters)
- make cycle with newly installed binaries and sources
- run testsuite
- open the installed hello.pp in IDE
- make a minor change in the demo in IDE & save it
- view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
- compile the demo file in IDE
- run the demo within the IDE (debugger)
- Test release for i386-freebsd
- Test release for i386-linux
- tar
- deb
- rpm
- Test release for powerpc-linux
- tar
- Test release for powerpc-macosx
- .dmg package
- .info files for fink - Mischi
- Test release for powerpc-macos
- Test release for powerpc-morphos
- Test release for i386-netware
- Test release for i386-netwlibc
- Test release for sparc-linux
- tar
- Test release for arm-linux
- tar
- Test release for x86_64-linux
- Check PDF documentation (open all files)
- Check HTML documentation
- Check TXT documentation
- Read updated text files as distributed in release zip files
- readme.txt
- faq.txt
- whatsnew.txt
During the beta
- Check and update all .msg files
- errore.msg - John?
- errord.msg - Karl-Michael Schindler?
- errorf.msg - Remi Dorlet and "Oro06"/"Olivier"?
- errorn.msg - Matthijs Willemstein?
- errorr.msg - Michail Baikov?
- errorrw.msg - Michail Baikov?
- errorues.msg
- errores.msg
- errorct.msg
- errorhe.msg - Ido Kanner?
- errorptd.msg - Ari Ricardo Ody?
- errorptw.msg - Ari Ricardo Ody?
- errorpli.msg - Wojciech Malinowski?
- errorpl.msg - Wojciech Malinowski?
- errorid.msg - Zaenal Mutaqin?
Going public
- Make new version numbers (release plus next odd patch number for continuing fixes) available in bug tracker
- Make new version numbers (release plus next odd patch number for continuing fixes) available in testsuite db - Florian
- Make new files on FTP available to wide public
- update symlinks (no symlinks any more?)
- move the old version to the olddist/<version>
- upload files to SourceForge.net and add them to new "releases" for individual platforms
- make new "releases" on SourceForge.net accessible for users (change status to "active")
- Allow automated notifications on individual SourceForge.net file release pages to be sent
- Submit darwin packages to fink
- Update WWW pages
- /html/news.fp
- /html/down/* (links to all individual files & file sizes)
- /html/download.fp (version number and list of platforms)
- /html/fpc.fp
- /html/faq.fp (things like "the latest version is ...")
Create new fixes branch (only after a major release - ?.?.0)(not relevant this time)- Update version number in the trunk branch (only after a major release - ?.?.0) (not relevant this time)
- /compiler/version.pas (not relevant this time)
- All Makefile.fpc files containing "version=..." (plus regenerate the corresponding Makefiles) (not relevant this time)
- Update version number in the trunk branch (only after a major release - ?.?.0) (not relevant this time)
- Update version number in the fixes branch (increase the patch to next odd number) - Tomas
- /compiler/version.pas
- All Makefile.fpc files containing "version=..." (plus regenerate the corresponding Makefiles)
- Check the WWW pages - Tomas
- make sure http://www.freepascal.org contains the new version already
- read news.html
- read fpc.html
- read download.html and check links to individual files
- Send announcement to our mailing lists
- Post announcement on the community site
- Post announcement on Sourceforge.net (only "Project Administrators" may do it) - Jonas
- Make sure that all unfixed issues encountered during RC testing and listed on dedicated page in Wiki are documented in bug tracker too
- Revise / update /html/future.fp after major versions (?.?.0)