Difference between revisions of "Release 2.4.0"

From Lazarus wiki
Jump to navigationJump to search
m (Add page link to 2.4.0 Release preparation)
 
(21 intermediate revisions by 7 users not shown)
Line 7: Line 7:
 
#  Agree on deadline for changes and date for release candidate building
 
#  Agree on deadline for changes and date for release candidate building
 
## Contact platform maintainers who are not subscribed to the core list and notify them about upcoming release and ask them for their inputs into the release schedule
 
## Contact platform maintainers who are not subscribed to the core list and notify them about upcoming release and ask them for their inputs into the release schedule
### Legolas aka Francesco Lombardi - GBA/NDS
+
### <s>Legolas aka Francesco Lombardi</s> - GBA/NDS
### Sekel aka Felipe Monteiro de Carvalho - Symbian
+
### <s>Sekel aka Felipe Monteiro de Carvalho</s> - Symbian
### Olivier Coursiere - Haiku
+
### <s>Olivier Coursiere</s> - Haiku
### Karl-Michael Schindler - Mac OS X - fink
+
### <s>Karl-Michael Schindler</s> - Mac OS X - fink
 
## [[#FPC-2.4.0rc1]] deadline:  
 
## [[#FPC-2.4.0rc1]] deadline:  
 
## [[#FPC-2.4.0]] deadline:  
 
## [[#FPC-2.4.0]] deadline:  
 +
# See also [[2.4.0 Release preparation]]
 
#  Check the [[Detailed 2.4.0 Todo]] list for the particular release (should be linked from [[To Do lists]]) for status of individual todo items
 
#  Check the [[Detailed 2.4.0 Todo]] list for the particular release (should be linked from [[To Do lists]]) for status of individual todo items
 
#  Check status of [http://bugs.freepascal.org/roadmap_page.php bugs assigned to that particular release] in the bugtracker
 
#  Check status of [http://bugs.freepascal.org/roadmap_page.php bugs assigned to that particular release] in the bugtracker
 
# <s> New page in Wiki named "Release_X.Y.Z" for release procedure with steps needed and their status (based on [[Release Template]]), at the beginning consisting of (at least) RC1 and final release sections</s>
 
# <s> New page in Wiki named "Release_X.Y.Z" for release procedure with steps needed and their status (based on [[Release Template]]), at the beginning consisting of (at least) RC1 and final release sections</s>
 
#  <s>Create new page in Wiki with issue log for documentation of issues encountered in release candidates and their status ("Issues_X.Y.Z" based on [[Issues Template]])</s>
 
#  <s>Create new page in Wiki with issue log for documentation of issues encountered in release candidates and their status ("Issues_X.Y.Z" based on [[Issues Template]])</s>
# Move merged changes from [[User Changes Trunk]] to the appropriate [[User Changes 2.4.0]] page, possibly adding changes that were merged but not added to the trunk page
+
# <s> Move merged changes from [[User Changes Trunk]] to the appropriate [[User Changes 2.4.0]] page, possibly adding changes that were merged but not added to the trunk page </s> 
 
#  Ask platform maintainers and [[External_maintainers|external maintainers]] about including their platforms/builds in the new release
 
#  Ask platform maintainers and [[External_maintainers|external maintainers]] about including their platforms/builds in the new release
 
#  Check and update all .msg files
 
#  Check and update all .msg files
 
## errore.msg
 
## errore.msg
## errord.msg
+
## <s>errord.msg</s>
 
## errorf.msg
 
## errorf.msg
 
## errorn.msg
 
## errorn.msg
Line 39: Line 40:
 
## 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
 
## 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
 
## Repackage and upload additional tools where needed
#  Update [[whatsnew2.4|whatsnew.txt]] (/install/doc/whatsnew.txt)
+
#  Update whatsnew.txt (/install/doc/whatsnew.txt)
 
#  Find testers
 
#  Find testers
 
## <s>Create a [[Testers_2.4.0|testers]] page in Wiki (based on [[Testers Template]])</s>
 
## <s>Create a [[Testers_2.4.0|testers]] page in Wiki (based on [[Testers Template]])</s>
Line 46: Line 47:
 
#  Update path and file names in /install/fpc.ist for the new version
 
#  Update path and file names in /install/fpc.ist for the new version
 
#  Finish all source file updates
 
#  Finish all source file updates
# convert /html/faq.fp to /install/doc/faq.htm and /install/doc/faq.txt ([[Release engineering#Convert_the_faq.adp_to_faq.htm_and_faq.txt|more info]])
+
# <s>convert /html/faq.fp to /install/doc/faq.htm and /install/doc/faq.txt ([[Release engineering#Convert_the_faq.adp_to_faq.htm_and_faq.txt|more info]])</s>
  
 
=== RC1 ===
 
=== RC1 ===
 +
 +
#  New directories ([[Release engineering#Create_directories_on_ftp|more info]])
 +
## <s>Create new directories on ftp (/pub/fpc/beta/2.4.0-rcN or /pub/fpc/dist/2.4.0 and cpu-os under that) </s>
 +
## Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions)
 +
#  <s>Add new section for the upcoming build in /install/debian/changelog ([[Release engineering#Building_a_deb|more info]])</s>
 +
#  <s>Create new branch in SVN (release_X_Y_Z_rcN or release_X_Y_Z) ([[Release engineering#Tag_version|more info]])</s>
 +
#  <s>Update version number in release branch (and, if necessary also in main branch (trunk or fixes)) ([[Release engineering#Update_the_version-number|more info]]) </s>
 +
## <s>/compiler/version.pas</s>
 +
## <s>/install/doc/readme.txt</s>
 +
## <s>/install/doc/whatsnew.txt</s>
 +
## <s>/installer/install.dat (header)</s>
 +
## <s>/installer/install.pas (installer version)</s>
 +
## <s>/docs/fpc.sty (macro fpcversion)</s>
 +
## <s>All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles) ([[Release engineering#Version_number_of_the_Makefiles|more info]])</s>
 +
## <s> All version-numbers in fpmake.pp files ([[Release engineering#Version_number_of_the_fpmake_files|more info]])</s>
 +
#  <s>Create and upload exported fpcbuild</s> ([[Release engineering#Create_the_source_zips|more info]])
 +
## fpcbuild-%{version}.zip
 +
## fpcbuild-%{version}.tar.gz
 +
## fpc-%{version}-source.zip
 +
## fpc-%{version}-source.tar.gz
 +
#  Create and upload the documentation ([[Release engineering#Documentation building and LaTeX limits|more info]])
 +
## doc-pdf.zip
 +
## doc-html.zip
 +
## <i>doc-htm.zip</i> (not included)
 +
## doc-txt.zip
 +
## doc-ps.zip
 +
## doc-pdf.tar.gz
 +
## doc-html.tar.gz
 +
## doc-ps.tar.gz
 +
#  Create and upload source zips ([[Release engineering#Create_the_source_zips|more info]])
 +
## <s>short name version for binary packages</s> (done)
 +
## docs source (including link for short name version)
 +
## long name version for binary packages
 +
#  Create and upload binary releases (place the bame of the person who aggreed to build a release behind the name of the target below)
 +
#* <s>i386-go32v2/basic</s> zip (just binaries)
 +
#* <s>i386-go32v2/full zip</s>  (including docs and sources)
 +
#* <s>i386-os2/basic zip    (just binaries)</s> (done)
 +
#* <s>i386-os2/full zip    (including docs and sources)</s> (done)
 +
#* <s>i386-win32/exe</s>
 +
#* <s>x86_64-win64/exe</s>
 +
#* <s>arm-wince/exe</s> (cross-release)
 +
#* arm-symbian (cross-release)
 +
#* i386-symbian (cross-release)
 +
#* <s>arm-gba (cross-release)</s>
 +
#* <s>arm-nds (cross-release)</s>
 +
#* <s>i386-freebsd/tgz</s>
 +
#* <s>i386-linux/tar</s>        ([[Release engineering#Linux|more info]])
 +
#* <s>i386-linux/deb</s>        ([[Release engineering#Linux|more info]])
 +
#* <s>i386-linux/rpm</s>        ([[Release engineering#Linux|more info]])
 +
#* <s>x86_64-linux/tar</s>      ([[Release engineering#Linux|more info]])
 +
#* x86_64-linux/deb      ([[Release engineering#Linux|more info]])
 +
#* <s>x86_64-linux/rpm</s>      ([[Release engineering#Linux|more info]])
 +
#* <s>powerpc-linux/tar</s>    ([[Release engineering#Linux|more info]])
 +
#* <s>powerpc64-linux/tar</s>  ([[Release engineering#Linux|more info]])
 +
#* <s>powerpc32-macosx/dmg</s> (done)
 +
#* <s>powerpc32->powerpc64-macosx/dmg</s> (done)
 +
#* <s>i386-macosx/dmg</s> (done)
 +
#* <s>i386->x86_64-macosx/dmg</s> (done)
 +
#* <s>i386->ARM-macosx/dmg</s> (done)
 +
#* <s>i386-macosx/.info for fink</s> (done)
 +
#* powerpc-macos
 +
#* sparc-linux/tar      ([[Release engineering#Linux|more info]])
 +
#* <s>sparc-linux/deb</s>      ([[Release engineering#Linux|more info]])
 +
#* arm-linux/tar (cross-release)
 +
#* powerpc-morphos
 +
#* powerpc-amiga
 +
#* i386-netware
 +
#* i386-netwlibc
 +
#* <s>i386-haiku</s>
 +
#* sparc-sunos/tar
 +
#  Get it tested
 +
## Ask dedicated testers for testing their platforms
 +
## Consider announcing availability of the new RC in fpc-devel list
 +
# Keep track of issues [[Issues_2.4.0|here]] and testing [[Testers_2.4.0|here]] in the wiki.
 +
 +
=== RC2 ===
 +
 +
#  Section for new RC 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
 +
 +
 +
=== 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)
  
 
#  New directories ([[Release engineering#Create_directories_on_ftp|more info]])
 
#  New directories ([[Release engineering#Create_directories_on_ftp|more info]])
Line 54: Line 141:
 
## Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions)
 
## Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions)
 
#  Add new section for the upcoming build in /install/debian/changelog ([[Release engineering#Building_a_deb|more info]])
 
#  Add new section for the upcoming build in /install/debian/changelog ([[Release engineering#Building_a_deb|more info]])
#  Create new branch in SVN (release_X_Y_Z_rcN or release_X_Y_Z) ([[Release engineering#Tag_version|more info]])
+
<s>Create new branch in SVN (release_X_Y_Z_rcN or release_X_Y_Z) ([[Release engineering#Tag_version|more info]])</s>
#  Update version number in release branch (and, if necessary also in main branch (trunk or fixes)) ([[Release engineering#Update_the_version-number|more info]])
+
<s>Update version number in release branch (and, if necessary also in main branch (trunk or fixes)) ([[Release engineering#Update_the_version-number|more info]]) </s>
## /compiler/version.pas
+
## <s>/compiler/version.pas</s>
## /install/doc/readme.txt
+
## <s>/install/doc/readme.txt</s>
## /install/doc/whatsnew.txt
+
## <s>/install/doc/whatsnew.txt</s>
## /installer/install.dat (header)
+
## <s>/installer/install.dat (header)</s>
## /installer/install.pas (installer version)
+
## <s>/installer/install.pas (installer version)</s>
## /docs/fpc.sty (macro fpcversion)
+
## <s>/docs/fpc.sty (macro fpcversion)</s>
## All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles) ([[Release engineering#Version_number_of_the_Makefiles|more info]])
+
## <s>All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles) ([[Release engineering#Version_number_of_the_Makefiles|more info]])</s>
## All version-numbers in fpmake.pp files ([[Release engineering#Version_number_of_the_fpmake_files|more info]])
+
## <s> All version-numbers in fpmake.pp files ([[Release engineering#Version_number_of_the_fpmake_files|more info]])</s>
 
#  Create and upload exported fpcbuild ([[Release engineering#Create_the_source_zips|more info]])
 
#  Create and upload exported fpcbuild ([[Release engineering#Create_the_source_zips|more info]])
 
## fpcbuild-%{version}.zip
 
## fpcbuild-%{version}.zip
Line 82: Line 169:
 
## docs source (including link for short name version)
 
## docs source (including link for short name version)
 
## long name version for binary packages
 
## long name version for binary packages
#  Create and upload binary releases (place the bame of the person who aggreed to build a release behind the name of the target below)
+
#  Create and upload binary releases (place the bame of the person who aggreed to build a release behind the name of the target below)
 
#* i386-go32v2/basic zip (just binaries)
 
#* i386-go32v2/basic zip (just binaries)
 
#* i386-go32v2/full zip  (including docs and sources)
 
#* i386-go32v2/full zip  (including docs and sources)
#* i386-os2/basic zip    (just binaries)
+
#* i386-os2/basic zip    (just binaries) (done)
#* i386-os2/full zip    (including docs and sources)
+
#* i386-os2/full zip    (including docs and sources) (done)
 
#* i386-win32/exe
 
#* i386-win32/exe
 
#* x86_64-win64/exe
 
#* x86_64-win64/exe
Line 92: Line 179:
 
#* arm-symbian (cross-release)
 
#* arm-symbian (cross-release)
 
#* i386-symbian (cross-release)
 
#* i386-symbian (cross-release)
#* arm-gba (cross-release)
+
#* <s>arm-gba (cross-release)</s>
#* arm-nds (cross-release)
+
#* <s>arm-nds (cross-release)</s>
 
#* i386-freebsd/tgz
 
#* i386-freebsd/tgz
 
#* i386-linux/tar        ([[Release engineering#Linux|more info]])
 
#* i386-linux/tar        ([[Release engineering#Linux|more info]])
Line 103: Line 190:
 
#* powerpc-linux/tar    ([[Release engineering#Linux|more info]])
 
#* powerpc-linux/tar    ([[Release engineering#Linux|more info]])
 
#* powerpc64-linux/tar  ([[Release engineering#Linux|more info]])
 
#* powerpc64-linux/tar  ([[Release engineering#Linux|more info]])
#* powerpc-macosx/dmg
+
#* <s>powerpc32-macosx/dmg</s>
#* i386-macosx/dmg
+
#* <s>powerpc32->powerpc64-macosx/dmg</s>
#* i386-macosx/.info for fink  
+
#* <s>i386-macosx/dmg</s>
 +
#* <s>i386->x86_64-macosx/dmg</s>
 +
#* <s>i386->ARM-macosx/dmg</s>
 +
#* i386-macosx/.info for fink
 
#* powerpc-macos
 
#* powerpc-macos
 
#* sparc-linux/tar      ([[Release engineering#Linux|more info]])
 
#* sparc-linux/tar      ([[Release engineering#Linux|more info]])
Line 118: Line 208:
 
#  Get it tested
 
#  Get it tested
 
## Ask dedicated testers for testing their platforms
 
## Ask dedicated testers for testing their platforms
## Consider announcing availability of the new RC in fpc-devel list
+
# Keep track of issues [[Issues_2.4.0|here]] and testing [[Testers_2.4.0|here]] in the wiki.
# Keep track of testing in [[Testers_x.x.x|the wiki]]
 
 
 
-- End of template for every version
 
 
 
=== RC2 ===
 
 
 
#  Section for new RC 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
 
 
 
 
=== 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)
 
 
 
=== Going public ===
 
=== Going public ===
  
Line 141: Line 216:
 
#  Make new files on FTP available to wide public
 
#  Make new files on FTP available to wide public
 
## <i>update symlinks</i> (no symlinks any more?)
 
## <i>update symlinks</i> (no symlinks any more?)
## move the old version to the olddist/<version>
+
## move the old version to the olddist/<version> (not done anymore!)
 
## upload files to SourceForge.net and add them to new "releases" for individual platforms
 
## 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")
 
## make new "releases" on SourceForge.net accessible for users (change status to "active")
Line 170: Line 245:
 
#  Revise / update /html/future.fp after major versions (2.4.0)
 
#  Revise / update /html/future.fp after major versions (2.4.0)
 
#  Remove unneeded RC builds from FTP
 
#  Remove unneeded RC builds from FTP
 +
 +
[[Category:FPC release]]

Latest revision as of 06:18, 18 September 2020

Release Issues

The issues page is Issues 2.4.0

Release preparations

  1. Agree on deadline for changes and date for release candidate building
    1. Contact platform maintainers who are not subscribed to the core list and notify them about upcoming release and ask them for their inputs into the release schedule
      1. Legolas aka Francesco Lombardi - GBA/NDS
      2. Sekel aka Felipe Monteiro de Carvalho - Symbian
      3. Olivier Coursiere - Haiku
      4. Karl-Michael Schindler - Mac OS X - fink
    2. #FPC-2.4.0rc1 deadline:
    3. #FPC-2.4.0 deadline:
  2. See also 2.4.0 Release preparation
  3. Check the Detailed 2.4.0 Todo list for the particular release (should be linked from To Do lists) for status of individual todo items
  4. Check status of bugs assigned to that particular release in the bugtracker
  5. New page in Wiki named "Release_X.Y.Z" for release procedure with steps needed and their status (based on Release Template), at the beginning consisting of (at least) RC1 and final release sections
  6. Create new page in Wiki with issue log for documentation of issues encountered in release candidates and their status ("Issues_X.Y.Z" based on Issues Template)
  7. Move merged changes from User Changes Trunk to the appropriate User Changes 2.4.0 page, possibly adding changes that were merged but not added to the trunk page
  8. Ask platform maintainers and external maintainers about including their platforms/builds in the new release
  9. Check and update all .msg files
    1. errore.msg
    2. errord.msg
    3. errorf.msg
    4. errorn.msg
    5. errorr.msg
    6. errorrw.msg
    7. errorues.msg
    8. errores.msg
    9. errorct.msg
    10. errorhe.msg
    11. errorheu.msg
    12. errorptd.msg
    13. errorptw.msg
    14. errorpli.msg
    15. errorpl.msg
    16. errorid.msg
  10. Check tools
    1. 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
    2. Repackage and upload additional tools where needed
  11. Update whatsnew.txt (/install/doc/whatsnew.txt)
  12. Find testers
    1. Create a testers page in Wiki (based on Testers Template)
    2. Ask in fpc-devel list for volunteers interested in testing the individual platforms / builds and list them on the newly created page (they can add themselves)
  13. Update path and file names in /install/macosx/*.info for the new version
  14. Update path and file names in /install/fpc.ist for the new version
  15. Finish all source file updates
  16. convert /html/faq.fp to /install/doc/faq.htm and /install/doc/faq.txt (more info)

RC1

  1. New directories (more info)
    1. Create new directories on ftp (/pub/fpc/beta/2.4.0-rcN or /pub/fpc/dist/2.4.0 and cpu-os under that)
    2. Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions)
  2. Add new section for the upcoming build in /install/debian/changelog (more info)
  3. Create new branch in SVN (release_X_Y_Z_rcN or release_X_Y_Z) (more info)
  4. Update version number in release branch (and, if necessary also in main branch (trunk or fixes)) (more info)
    1. /compiler/version.pas
    2. /install/doc/readme.txt
    3. /install/doc/whatsnew.txt
    4. /installer/install.dat (header)
    5. /installer/install.pas (installer version)
    6. /docs/fpc.sty (macro fpcversion)
    7. All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles) (more info)
    8. All version-numbers in fpmake.pp files (more info)
  5. Create and upload exported fpcbuild (more info)
    1. fpcbuild-%{version}.zip
    2. fpcbuild-%{version}.tar.gz
    3. fpc-%{version}-source.zip
    4. fpc-%{version}-source.tar.gz
  6. Create and upload the documentation (more info)
    1. doc-pdf.zip
    2. doc-html.zip
    3. doc-htm.zip (not included)
    4. doc-txt.zip
    5. doc-ps.zip
    6. doc-pdf.tar.gz
    7. doc-html.tar.gz
    8. doc-ps.tar.gz
  7. Create and upload source zips (more info)
    1. short name version for binary packages (done)
    2. docs source (including link for short name version)
    3. long name version for binary packages
  8. Create and upload binary releases (place the bame of the person who aggreed to build a release behind the name of the target below)
    • i386-go32v2/basic zip (just binaries)
    • i386-go32v2/full zip (including docs and sources)
    • i386-os2/basic zip (just binaries) (done)
    • i386-os2/full zip (including docs and sources) (done)
    • i386-win32/exe
    • x86_64-win64/exe
    • arm-wince/exe (cross-release)
    • arm-symbian (cross-release)
    • i386-symbian (cross-release)
    • arm-gba (cross-release)
    • arm-nds (cross-release)
    • i386-freebsd/tgz
    • i386-linux/tar (more info)
    • i386-linux/deb (more info)
    • i386-linux/rpm (more info)
    • x86_64-linux/tar (more info)
    • x86_64-linux/deb (more info)
    • x86_64-linux/rpm (more info)
    • powerpc-linux/tar (more info)
    • powerpc64-linux/tar (more info)
    • powerpc32-macosx/dmg (done)
    • powerpc32->powerpc64-macosx/dmg (done)
    • i386-macosx/dmg (done)
    • i386->x86_64-macosx/dmg (done)
    • i386->ARM-macosx/dmg (done)
    • i386-macosx/.info for fink (done)
    • powerpc-macos
    • sparc-linux/tar (more info)
    • sparc-linux/deb (more info)
    • arm-linux/tar (cross-release)
    • powerpc-morphos
    • powerpc-amiga
    • i386-netware
    • i386-netwlibc
    • i386-haiku
    • sparc-sunos/tar
  9. Get it tested
    1. Ask dedicated testers for testing their platforms
    2. Consider announcing availability of the new RC in fpc-devel list
  10. Keep track of issues here and testing here in the wiki.

RC2

  1. Section for new RC on release pages in Wiki
    1. Release procedure
    2. Issue log
  2. Look at unmerged changes in fpc and fpcbuild since the last RC and consider/ask for necessity of their inclusion in the release


Final release

  1. 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)
  1. New directories (more info)
    1. Create new directories on ftp (/pub/fpc/beta/2.4.0-rcN or /pub/fpc/dist/2.4.0 and cpu-os under that)
    2. Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions)
  2. Add new section for the upcoming build in /install/debian/changelog (more info)
  3. Create new branch in SVN (release_X_Y_Z_rcN or release_X_Y_Z) (more info)
  4. Update version number in release branch (and, if necessary also in main branch (trunk or fixes)) (more info)
    1. /compiler/version.pas
    2. /install/doc/readme.txt
    3. /install/doc/whatsnew.txt
    4. /installer/install.dat (header)
    5. /installer/install.pas (installer version)
    6. /docs/fpc.sty (macro fpcversion)
    7. All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles) (more info)
    8. All version-numbers in fpmake.pp files (more info)
  5. Create and upload exported fpcbuild (more info)
    1. fpcbuild-%{version}.zip
    2. fpcbuild-%{version}.tar.gz
    3. fpc-%{version}-source.zip
    4. fpc-%{version}-source.tar.gz
  6. Create and upload the documentation (more info)
    1. doc-pdf.zip
    2. doc-html.zip
    3. doc-htm.zip (not included)
    4. doc-txt.zip
    5. doc-ps.zip
    6. doc-pdf.tar.gz
    7. doc-html.tar.gz
    8. doc-ps.tar.gz
  7. Create and upload source zips (more info)
    1. short name version for binary packages
    2. docs source (including link for short name version)
    3. long name version for binary packages
  8. Create and upload binary releases (place the bame of the person who aggreed to build a release behind the name of the target below)
    • i386-go32v2/basic zip (just binaries)
    • i386-go32v2/full zip (including docs and sources)
    • i386-os2/basic zip (just binaries) (done)
    • i386-os2/full zip (including docs and sources) (done)
    • i386-win32/exe
    • x86_64-win64/exe
    • arm-wince/exe (cross-release)
    • arm-symbian (cross-release)
    • i386-symbian (cross-release)
    • arm-gba (cross-release)
    • arm-nds (cross-release)
    • i386-freebsd/tgz
    • i386-linux/tar (more info)
    • i386-linux/deb (more info)
    • i386-linux/rpm (more info)
    • x86_64-linux/tar (more info)
    • x86_64-linux/deb (more info)
    • x86_64-linux/rpm (more info)
    • powerpc-linux/tar (more info)
    • powerpc64-linux/tar (more info)
    • powerpc32-macosx/dmg
    • powerpc32->powerpc64-macosx/dmg
    • i386-macosx/dmg
    • i386->x86_64-macosx/dmg
    • i386->ARM-macosx/dmg
    • i386-macosx/.info for fink
    • powerpc-macos
    • sparc-linux/tar (more info)
    • sparc-linux/deb (more info)
    • arm-linux/tar (cross-release)
    • powerpc-morphos
    • powerpc-amiga
    • i386-netware
    • i386-netwlibc
    • i386-haiku
    • sparc-sunos/tar
  9. Get it tested
    1. Ask dedicated testers for testing their platforms
  10. Keep track of issues here and testing here in the wiki.

Going public

  1. Make new version numbers (release plus next odd patch number for continuing fixes) available in bug tracker
  2. Make new version numbers (release plus next odd patch number for continuing fixes) available in testsuite db
  3. Make new files on FTP available to wide public
    1. update symlinks (no symlinks any more?)
    2. move the old version to the olddist/<version> (not done anymore!)
    3. upload files to SourceForge.net and add them to new "releases" for individual platforms
    4. make new "releases" on SourceForge.net accessible for users (change status to "active")
    5. Allow automated notifications on individual SourceForge.net file release pages to be sent
  4. Submit darwin packages to fink
  5. Update WWW pages
    1. /html/news.fp
    2. /html/down/* (links to all individual files & file sizes)
    3. /html/download.fp (version number and list of platforms)
    4. /html/fpc.fp
    5. /html/faq.fp (things like "the latest version is ...")
  6. Create new fixes branch (only after a major release - 2.4.0)
    1. Update version number in the trunk branch (only after a major release - ?.?.0)
      1. /compiler/version.pas
      2. All Makefile.fpc files containing "version=..." (plus regenerate the corresponding Makefiles)
  7. Update version number in the fixes branch (increase the patch to next odd number)
    1. /compiler/version.pas
    2. all Makefile.fpc files containing "version=..." (plus regenerate the corresponding Makefiles)
  8. Check the WWW pages
    1. make sure http://www.freepascal.org contains the new version already
    2. read news.html
    3. read fpc.html
    4. read download.html and check links to individual files
  9. Send announcement to our mailing lists
  10. Post announcement on the community site
  11. Post announcement on Sourceforge.net (only "Project Administrators" may do it)
  12. Make sure that all unfixed issues encountered during RC testing and listed on dedicated page in Wiki are documented in bug tracker too
  13. Revise / update /html/future.fp after major versions (2.4.0)
  14. Remove unneeded RC builds from FTP