Release 2.0.4
From Free Pascal wiki
Jump to navigationJump to search
Release organization
- All patches important for 2.0.4 should be submitted by the end of June.
- New branch for the release will be created from the fixes branch on the 2nd July (Sunday) before lunch. Once the branch is ready, I'll announce it here. Everybody can start to build release candidate of his platforms (version number in file names should be appended with "-rcN") at that moment (I'll try to keep track of who is doing what in Wiki). URL of SVN branch for release candidate 1 is http://svn.freepascal.org/svn/fpcbuild/tags/release_2_0_4_rc1/ (note that with svn+ssh: protocol this becomes svn+ssh://svn.freepascal.org/FPC/svn/fcpbuild/tags/release_2_0_4_rc1/).
- As much as possible should be tested and fixed by July 15 (Saturday). However, fixes are not applied to the release branch, but rather just marked with "2.0.4 fix:" in SVN comment (and merged to the fixes branch as appropriate). Please, make sure that only real fixes are marked this way, no last moment "features" this time (once again, all required features should be committed before end of June).
- Encountered issues (and their status) should be documented here.
- I'll merge the marked patches to the release branch on July 16 (Sunday), announce it and then the new testing cycle can start. As soon as no major issues are encountered, real release will be published.
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 changes(done)New page in Wiki for release procedure with steps needed and their status (this page), at the beginning consisting of RC1 and final release sections(done)- Check and update all .msg files - running, coordinated by Tomas
- errore.msg - John?
errord.msg - Karl-Michael Schindler(done)- errorf.msg - Remi Dorlet and "Oro06"/"Olivier"
errorn.msg - Matthijs Willemstein(done)- errorr.msg - Michail Baikov
- errorrw.msg - Michail Baikov
- errorues.msg
- errores.msg
- errorct.msg
errorhe.msg - Ido Kanner(done)errorptd.msg - Ari Ricardo Ody(done)errorptw.msg - Ari Ricardo Ody(done)- errorpli.msg - Wojciech Malinowski
- errorpl.msg - Wojciech Malinowski
errorid.msg - Zaenal Mutaqin(done)
Check tools(no updates this time)- 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(done)Finish all source file updates- July 1Update version number to new release number - Tomas(done)/install/doc/readme.txt(done)/installer/install.dat (header)(done)/installer/install.pas (installer version)(done)- /install/fpc.spec
- /install/install.sh Done by makepack
convert /html/faq.fp to /install/doc/faq.htm and /install/doc/faq.txt(done)/docs/fpc.sty (macro fpcversion)(done)All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles)(done)
RC1
Create new page in Wiki with issue log for documentation of issues encountered in release candidates and their status(done)New directories(done)Create new directories on ftp(done)Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions)(done)
Create new rc1 branch in SVN - July 2, Tomas(done)Update version number in rc1 branch to #.#.#-rc# - July 2, Tomas(done)/compiler/version.pas - July 2, Tomas(done)
Create and upload exported fpcbuild.zip - July 2, Tomas(done)- Create and upload the documentation - Michael
doc-pdf.zip(done)doc-html.zip(done)doc-htm.zip(not included)doc-txt.zip(done)doc-ps.zip(done)doc-pdf.tar.gz(done)doc-html.tar.gz(done)doc-ps.tar.gz(done)
- Create and upload source zips
short name version for binary packages - Tomas(done)- 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 - Tomas(done)basic zip (just binaries)(done)full zip (including docs and sources)(done)
Create and upload zip files for i386-os2 - Tomas(done)basic zip (just binaries)(done)full zip (including docs and sources)(done)
Create and upload installer exe for i386-win32 - Florian(done)- Create and upload tgz file for i386-freebsd - Marco
- Create and upload release for i386-linux
tar - Michael(done)- deb - Peter
- rpm - Michael
- Create and upload release for powerpc-linux
tar - Thomas(done)
- Create and upload release for powerpc-macosx - Jonas
.dmg package(done).info files for fink - Mischi(done)
- 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(done)- 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)(not supported)
- Test the Win32 release
Run installerLuiz (Done)make sure readme.txt & whatsnew.txt are for the current versionLuiz (Done)run all executables in /bin/win32 (without parameters)Luiz (Done)- make cycle with newly installed binaries and sources
- run testsuite
open the installed hello.pp in IDELuiz (Done)make a minor change in the demo in IDE & save itLuiz (Done)- view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
compile the demo file in IDELuiz (Done)run the demo within the IDE (debugger)Luiz (Done)
- 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
RC2
Section for new RC on release pages in Wiki(done)Release procedure(done)Issue log(done)
Look at unmerged changes in fpc and fpcbuild since the last RC and consider/ask for necessity of their inclusion in the release(done)New directories(done)Create new directories on ftp(done)Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous RC (unless updated with new versions)(done)
Create new rc2 branch in SVN - July 16, Tomas(done)Update version number in rc2 branch to #.#.#-rc# - Tomas(done)/compiler/version.pas - Tomas(done)
Create and upload exported fpcbuild.zip - Tomas(done)Create and upload the documentation - Michael(done)doc-pdf.zip(done)doc-html.zip(done)- doc-htm.zip (not included)
doc-txt.zip(done)doc-ps.zip(done)doc-pdf.tar.gz(done)doc-html.tar.gz(done)doc-ps.tar.gz(done)
- Create and upload source zips
short name version for binary packages - Tomas(done)docs source (including the link for short name version) - Tomas(done)long name version for binary packages - Tomas(done)
- Create and upload source tars
Create and upload zip files for i386-go32v2 - Tomas(done)basic zip (just binaries)(done)full zip (including docs and sources)(done)
Create and upload zip files for i386-os2 - Tomas(done)basic zip (just binaries)(done)full zip (including docs and sources)(done)
Create and upload installer exe for i386-win32 - Florian(done)Create and upload tgz file for i386-freebsd - Marco(done)- Create and upload release for i386-linux
tar - Michael(done)deb - Mazen(done)rpm - Michael(done)
- Create and upload release for powerpc-linux
tar - Thomas/Daniel(done - no smartlinked version with GDB available)
Create and upload release for powerpc-macosx - Jonas, July 19.dmg package(done).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)(done)tar - Daniel(done)
Create and upload release for x86_64-linux(done)tar - Michael(done)
- 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) (not supported)
- Test the Win32 release
Run installer - LuizDonemake sure readme.txt & whatsnew.txt are for the current version - LuizDonerun all executables in /bin/win32 (without parameters) - LuizDonemake cycle with newly installed binaries and sources - LuizDonerun testsuite - LuizDoneopen the installed hello.pp in IDE - LuizDonemake a minor change in the demo in IDE & save it - LuizDoneview documentation in IDE, traverse 2-3 pages (at least one with screenshots) - LuizDonecompile the demo file in IDE - LuizDonerun the demo within the IDE (debugger) - LuizDone
- 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 fink installation
- 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
RC3
Section for new RC on release pages in Wiki(done)Release procedure(done)Issue log(done)
Look at unmerged changes in fpc and fpcbuild since the last RC and consider/ask for necessity of their inclusion in the release(done)New directories(done)Create new directories on ftp(done)Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous RC (unless updated with new versions)(done)
Update path and file names in /install/macosx/*.info for the new RC(done)Create new RC branch in SVN - Tomas(done)Update version number in RC branch to #.#.#-rc# - Tomas(done)/compiler/version.pas - Tomas(done)
Create and upload exported fpcbuild - Tomas(done)fpcbuild-%{version}.zip(done)fpcbuild-%{version}.tar.gz(done)
Create and upload the documentation - Michael(done)doc-pdf.zip(done)doc-html.zip(done)- doc-htm.zip (not included)
doc-txt.zip(done)doc-ps.zip(done)doc-pdf.tar.gz(done)doc-html.tar.gz(done)doc-ps.tar.gz(done)
Create and upload source zips(done)short name version for binary packages - Tomas(done)docs source (including link for short name version) - Tomas(done)long name version for binary packages - Tomas(done)
Create and upload zip files for i386-go32v2 - Tomas(done)basic zip (just binaries)(done)full zip (including docs and sources)(done)
- Create and upload zip files for i386-os2 - Tomas
- basic zip (just binaries)
- full zip (including docs and sources)
Create and upload installer exe for i386-win32 - Peter(done)Create and upload tgz file for i386-freebsd - Marco(done)Create and upload release for i386-linux(done)tar - Michael(done)deb - Mazen(done)rpm - Michael(done)
Create and upload release for powerpc-linux(done)tar - Daniel(done)
Create and upload release for powerpc-macosx - Jonas(done).dmg package(done)- .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)(done)tar - Daniel(done)
Create and upload release for x86_64-linux(done)tar - Michael(done)
Consider announcing availability of the new RC in fpc-devel list and/or ask there for dedicated testers for individual platforms(done)Test the GO32v2 release - Laaca(done)- 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) (not supported)
- Test the Win32 release
Run installer - Luizmake sure readme.txt & whatsnew.txt are for the current version - Luiz- run all executables in /bin/win32 (without parameters) - Luiz
- make cycle with newly installed binaries and sources
- run testsuite
open the installed hello.pp in IDE - Luizmake a minor change in the demo in IDE & save it - Luizview documentation in IDE, traverse 2-3 pages (at least one with screenshots)compile the demo file in IDE - Luizrun the demo within the IDE (debugger) - Luiz
- 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
- 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
Final release
Look at unmerged changes in fpc and fpcbuild since the last RC and consider/ask for necessity of their inclusion in the release (only cosmetic changes should be included, otherwise a new RC is needed instead of final release)(done)New directories(done)Create new directories on ftp(done)Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous RC (unless updated with new versions)(done)
Update path and file names in /install/macosx/*.info for the new release(done)Add new section for the upcoming build in /install/debian/changelog(done)Create new release branch in SVN - Tomas(done)Update version number in release branch to the #.#.# - Tomas(done)/compiler/version.pas - Tomas(done)
Create and upload exported fpcbuild - Tomas(done)fpcbuild-%{version}.zip(done)fpcbuild-%{version}.tar.gz(done)
Create and upload the documentation - Michael(done)doc-pdf.zip(done)doc-html.zip(done)- doc-htm.zip (not included)
doc-txt.zip(done)doc-ps.zip(done)doc-pdf.tar.gz(done)doc-html.tar.gz(done)doc-ps.tar.gz(done)
Create and upload source zips(done)short name version for binary packages - Tomas(done)docs source (including link for short name version) - Tomas(done)long name version for binary packages - Tomas(done)
Create and upload zip files for i386-go32v2 - Tomas(done)basic zip (just binaries)(done)full zip (including docs and sources)(done)
Create and upload zip files for i386-os2 - Tomas(done)basic zip (just binaries)(done)full zip (including docs and sources)(done)
Create and upload installer exe for i386-win32 - Florian(done)Create and upload tgz file for i386-freebsd - Marco(done)Create and upload release for i386-linux(done)tar - Michael(done)deb - Mazen(done)rpm - Michael(done)
Create and upload release for powerpc-linux(done)tar - Daniel(done)
Create and upload release for powerpc-macosx - Jonas(done).dmg package(done)
- Create and upload release for powerpc-macos
Create and upload release for powerpc-morphos - Charlie(done)- 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)(done)tar - Daniel(done)
Create and upload release for x86_64-linux(done)tar - Michael(done)
- 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) (debugging in IDE currently not available/working)
- 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 (IDE not included this time)
- make a minor change in the demo in IDE & save it (IDE not included this time)
- view documentation in IDE, traverse 2-3 pages (at least one with screenshots) (IDE not included this time)
- compile the demo file in IDE (IDE not included this time)
- run the demo within the IDE (debugger) (not supported)
- Test the Win32 release
- Run installer - Luiz
- make sure readme.txt & whatsnew.txt are for the current version - Luiz
- run all executables in /bin/win32 (without parameters) - Luiz
- make cycle with newly installed binaries and sources
- run testsuite
- open the installed hello.pp in IDE - Luiz
- make a minor change in the demo in IDE & save it - Luiz
- view documentation in IDE, traverse 2-3 pages (at least one with screenshots)
- compile the demo file in IDE - Luiz
- run the demo within the IDE (debugger) - Luiz
- 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
- Test release for powerpc-macos
Test release for powerpc-morphos(done)- 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
Going public
Make new version numbers (release plus next odd patch number for continuing fixes) available in bug tracker(done)Make new version numbers (release plus next odd patch number for continuing fixes) available in testsuite db - Florian(done)- 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(done)make new "releases" on SourceForge.net accessible for users (change status to "active")(done)Allow automated notifications on individual SourceForge.net file release pages to be sent(done)
Submit darwin packages to fink(done) - MischiUpdate WWW pages(done)/html/news.fp(done)/html/down/* (links to all individual files & file sizes)(done)/html/download.fp (version number and list of platforms)(done)/html/fpc.fp(done)/html/faq.fp (things like "the latest version is ...")(done)
- 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(done)/compiler/version.pas(done)All Makefile.fpc files containing "version=..." (plus regenerate the corresponding Makefiles)(done)
Check the WWW pages - Tomas(done)make sure http://www.freepascal.org contains the new version already(done)read news.html - Tomas(done)read fpc.html - Tomas(done)read download.html and check links to individual files - Tomas(done)
Send announcement to our mailing lists - Tomas(done)Post announcement on the community site - Tomas(done)Post announcement on Sourceforge.net (only "Project Administrators" may do it) - Jonas(done)- 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)