Release 2.4.0: what changed
Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.
| Old | New | Line | |
|---|---|---|---|
| 1 | 1 | ### Release Issues | |
| 2 | 2 | ||
| 3 | 3 | The issues page is [[Issues 2.4.0]] | |
| 4 | 4 | ||
| 5 | 5 | ### Release preparations | |
| 6 | 6 | ||
| 7 | 7 | 1. Agree on deadline for changes and date for release candidate building | |
| 8 | 8 | 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 | |
| 9 | - | ||
| 10 | - | ||
| 11 | - | ||
| 12 | - | ||
| 9 | + | 1. Legolas aka Francesco Lombardi - GBA/NDS | |
| 10 | + | 2. Sekel aka Felipe Monteiro de Carvalho - Symbian | |
| 11 | + | 3. Olivier Coursiere - Haiku | |
| 12 | + | 4. Karl-Michael Schindler - Mac OS X - fink | |
| 13 | 13 | 2. #FPC-2.4.0rc1 deadline: | |
| 14 | 14 | 3. #FPC-2.4.0 deadline: | |
| 15 | 15 | 2. See also [[2.4.0 Release preparation]] | |
| 16 | 16 | 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 | |
| 17 | 17 | 4. Check status of [bugs assigned to that particular release](http://bugs.freepascal.org/roadmap_page.php) in the bugtracker | |
| 18 | - | ||
| 19 | - | ||
| 20 | - | ||
| 18 | + | 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 | |
| 19 | + | 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]]) | |
| 20 | + | 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 | |
| 21 | 21 | 8. Ask platform maintainers and [[External maintainers|external maintainers]] about including their platforms/builds in the new release | |
| 22 | 22 | 9. Check and update all .msg files | |
| 23 | 23 | 1. errore.msg | |
| 24 | - | ||
| 24 | + | 2. errord.msg | |
| 25 | 25 | 3. errorf.msg | |
| 26 | 26 | 4. errorn.msg | |
| 27 | 27 | 5. errorr.msg | |
| 28 | 28 | 6. errorrw.msg | |
| 29 | 29 | 7. errorues.msg | |
| 30 | 30 | 8. errores.msg | |
| 31 | 31 | 9. errorct.msg | |
| 32 | 32 | 10. errorhe.msg | |
| 33 | 33 | 11. errorheu.msg | |
| 34 | 34 | 12. errorptd.msg | |
| 35 | 35 | 13. errorptw.msg | |
| 36 | 36 | 14. errorpli.msg | |
| 37 | 37 | 15. errorpl.msg | |
| 38 | 38 | 16. errorid.msg | |
| 39 | 39 | 10. Check tools | |
| 40 | 40 | 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 | |
| 41 | 41 | 2. Repackage and upload additional tools where needed | |
| 42 | 42 | 11. Update whatsnew.txt (/install/doc/whatsnew.txt) | |
| 43 | 43 | 12. Find testers | |
| 44 | - | ||
| 44 | + | 1. Create a [[Testers 2.4.0|testers]] page in Wiki (based on [[Testers Template]]) | |
| 45 | 45 | 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) | |
| 46 | 46 | 13. Update path and file names in /install/macosx/*.info for the new version | |
| 47 | 47 | 14. Update path and file names in /install/fpc.ist for the new version | |
| 48 | 48 | 15. Finish all source file updates | |
| 49 | - | ||
| 49 | + | 16. convert /html/faq.fp to /install/doc/faq.htm and /install/doc/faq.txt ([[Release engineering|more info]]) | |
| 50 | 50 | ||
| 51 | 51 | ### RC1 | |
| 52 | 52 | ||
| 53 | 53 | 1. New directories ([[Release engineering|more info]]) | |
| 54 | - | ||
| 54 | + | 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) | |
| 55 | 55 | 2. Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions) | |
| 56 | - | ||
| 57 | - | ||
| 58 | - | ||
| 59 | - | ||
| 60 | - | ||
| 61 | - | ||
| 62 | - | ||
| 63 | - | ||
| 64 | - | ||
| 65 | - | ||
| 66 | - | ||
| 67 | - | ||
| 56 | + | 2. Add new section for the upcoming build in /install/debian/changelog ([[Release engineering|more info]]) | |
| 57 | + | 3. Create new branch in SVN (release_X_Y_Z_rcN or release_X_Y_Z) ([[Release engineering|more info]]) | |
| 58 | + | 4. Update version number in release branch (and, if necessary also in main branch (trunk or fixes)) ([[Release engineering|more info]]) | |
| 59 | + | 1. /compiler/version.pas | |
| 60 | + | 2. /install/doc/readme.txt | |
| 61 | + | 3. /install/doc/whatsnew.txt | |
| 62 | + | 4. /installer/install.dat (header) | |
| 63 | + | 5. /installer/install.pas (installer version) | |
| 64 | + | 6. /docs/fpc.sty (macro fpcversion) | |
| 65 | + | 7. All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles) ([[Release engineering|more info]]) | |
| 66 | + | 8. All version-numbers in fpmake.pp files ([[Release engineering|more info]]) | |
| 67 | + | 5. Create and upload exported fpcbuild ([[Release engineering|more info]]) | |
| 68 | 68 | 1. fpcbuild-%{version}.zip | |
| 69 | 69 | 2. fpcbuild-%{version}.tar.gz | |
| 70 | 70 | 3. fpc-%{version}-source.zip | |
| 71 | 71 | 4. fpc-%{version}-source.tar.gz | |
| 72 | 72 | 6. Create and upload the documentation ([[Release engineering|more info]]) | |
| 73 | 73 | 1. doc-pdf.zip | |
| 74 | 74 | 2. doc-html.zip | |
| 75 | - | ||
| 75 | + | 3. doc-htm.zip (not included) | |
| 76 | 76 | 4. doc-txt.zip | |
| 77 | 77 | 5. doc-ps.zip | |
| 78 | 78 | 6. doc-pdf.tar.gz | |
| 79 | 79 | 7. doc-html.tar.gz | |
| 80 | 80 | 8. doc-ps.tar.gz | |
| 81 | 81 | 7. Create and upload source zips ([[Release engineering|more info]]) | |
| 82 | - | ||
| 82 | + | 1. short name version for binary packages (done) | |
| 83 | 83 | 2. docs source (including link for short name version) | |
| 84 | 84 | 3. long name version for binary packages | |
| 85 | 85 | 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) | |
| 86 | - | ||
| 87 | - | ||
| 88 | - | ||
| 89 | - | ||
| 90 | - | ||
| 91 | - | ||
| 92 | - | ||
| 86 | + | - i386-go32v2/basic zip (just binaries) | |
| 87 | + | - i386-go32v2/full zip (including docs and sources) | |
| 88 | + | - i386-os2/basic zip (just binaries) (done) | |
| 89 | + | - i386-os2/full zip (including docs and sources) (done) | |
| 90 | + | - i386-win32/exe | |
| 91 | + | - x86_64-win64/exe | |
| 92 | + | - arm-wince/exe (cross-release) | |
| 93 | 93 | - arm-symbian (cross-release) | |
| 94 | 94 | - i386-symbian (cross-release) | |
| 95 | - | ||
| 96 | - | ||
| 97 | - | ||
| 98 | - | ||
| 99 | - | ||
| 100 | - | ||
| 101 | - | ||
| 95 | + | - arm-gba (cross-release) | |
| 96 | + | - arm-nds (cross-release) | |
| 97 | + | - i386-freebsd/tgz | |
| 98 | + | - i386-linux/tar ([[Release engineering|more info]]) | |
| 99 | + | - i386-linux/deb ([[Release engineering|more info]]) | |
| 100 | + | - i386-linux/rpm ([[Release engineering|more info]]) | |
| 101 | + | - x86_64-linux/tar ([[Release engineering|more info]]) | |
| 102 | 102 | - x86_64-linux/deb ([[Release engineering|more info]]) | |
| 103 | - | ||
| 104 | - | ||
| 105 | - | ||
| 106 | - | ||
| 107 | - | ||
| 108 | - | ||
| 109 | - | ||
| 110 | - | ||
| 111 | - | ||
| 103 | + | - x86_64-linux/rpm ([[Release engineering|more info]]) | |
| 104 | + | - powerpc-linux/tar ([[Release engineering|more info]]) | |
| 105 | + | - powerpc64-linux/tar ([[Release engineering|more info]]) | |
| 106 | + | - powerpc32-macosx/dmg (done) | |
| 107 | + | - powerpc32-\>powerpc64-macosx/dmg (done) | |
| 108 | + | - i386-macosx/dmg (done) | |
| 109 | + | - i386-\>x86_64-macosx/dmg (done) | |
| 110 | + | - i386-\>ARM-macosx/dmg (done) | |
| 111 | + | - i386-macosx/.info for fink (done) | |
| 112 | 112 | - powerpc-macos | |
| 113 | 113 | - sparc-linux/tar ([[Release engineering|more info]]) | |
| 114 | - | ||
| 114 | + | - sparc-linux/deb ([[Release engineering|more info]]) | |
| 115 | 115 | - arm-linux/tar (cross-release) | |
| 116 | 116 | - powerpc-morphos | |
| 117 | 117 | - powerpc-amiga | |
| 118 | 118 | - i386-netware | |
| 119 | 119 | - i386-netwlibc | |
| 120 | - | ||
| 120 | + | - i386-haiku | |
| 121 | 121 | - sparc-sunos/tar | |
| 122 | 122 | 9. Get it tested | |
| 123 | 123 | 1. Ask dedicated testers for testing their platforms | |
| 124 | 124 | 2. Consider announcing availability of the new RC in fpc-devel list | |
| 125 | 125 | 10. Keep track of issues [[Issues 2.4.0|here]] and testing [[Testers 2.4.0|here]] in the wiki. | |
| 126 | 126 | ||
| 127 | 127 | ### RC2 | |
| 128 | 128 | ||
| 129 | 129 | 1. Section for new RC on release pages in Wiki | |
| 130 | 130 | 1. Release procedure | |
| 131 | 131 | 2. Issue log | |
| 132 | 132 | 2. Look at unmerged changes in fpc and fpcbuild since the last RC and consider/ask for necessity of their inclusion in the release | |
| 133 | 133 | ||
| 134 | 134 | ### Final release | |
| 135 | 135 | ||
| 136 | 136 | 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) | |
| 137 | 137 | ||
| 138 | 138 | 1. New directories ([[Release engineering|more info]]) | |
| 139 | - | ||
| 139 | + | 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) | |
| 140 | 140 | 2. Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions) | |
| 141 | 141 | 2. Add new section for the upcoming build in /install/debian/changelog ([[Release engineering|more info]]) | |
| 142 | - | ||
| 143 | - | ||
| 144 | - | ||
| 145 | - | ||
| 146 | - | ||
| 147 | - | ||
| 148 | - | ||
| 149 | - | ||
| 150 | - | ||
| 151 | - | ||
| 142 | + | 3. Create new branch in SVN (release_X_Y_Z_rcN or release_X_Y_Z) ([[Release engineering|more info]]) | |
| 143 | + | 4. Update version number in release branch (and, if necessary also in main branch (trunk or fixes)) ([[Release engineering|more info]]) | |
| 144 | + | 1. /compiler/version.pas | |
| 145 | + | 2. /install/doc/readme.txt | |
| 146 | + | 3. /install/doc/whatsnew.txt | |
| 147 | + | 4. /installer/install.dat (header) | |
| 148 | + | 5. /installer/install.pas (installer version) | |
| 149 | + | 6. /docs/fpc.sty (macro fpcversion) | |
| 150 | + | 7. All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles) ([[Release engineering|more info]]) | |
| 151 | + | 8. All version-numbers in fpmake.pp files ([[Release engineering|more info]]) | |
| 152 | 152 | 5. Create and upload exported fpcbuild ([[Release engineering|more info]]) | |
| 153 | 153 | 1. fpcbuild-%{version}.zip | |
| 154 | 154 | 2. fpcbuild-%{version}.tar.gz | |
| 155 | 155 | 3. fpc-%{version}-source.zip | |
| 156 | 156 | 4. fpc-%{version}-source.tar.gz | |
| 157 | 157 | 6. Create and upload the documentation ([[Release engineering|more info]]) | |
| 158 | 158 | 1. doc-pdf.zip | |
| 159 | 159 | 2. doc-html.zip | |
| 160 | - | ||
| 160 | + | 3. doc-htm.zip (not included) | |
| 161 | 161 | 4. doc-txt.zip | |
| 162 | 162 | 5. doc-ps.zip | |
| 163 | 163 | 6. doc-pdf.tar.gz | |
| 164 | 164 | 7. doc-html.tar.gz | |
| 165 | 165 | 8. doc-ps.tar.gz | |
| 166 | 166 | 7. Create and upload source zips ([[Release engineering|more info]]) | |
| 167 | 167 | 1. short name version for binary packages | |
| 168 | 168 | 2. docs source (including link for short name version) | |
| 169 | 169 | 3. long name version for binary packages | |
| 170 | 170 | 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) | |
| 171 | 171 | - i386-go32v2/basic zip (just binaries) | |
| 172 | 172 | - i386-go32v2/full zip (including docs and sources) | |
| 173 | 173 | - i386-os2/basic zip (just binaries) (done) | |
| 174 | 174 | - i386-os2/full zip (including docs and sources) (done) | |
| 175 | 175 | - i386-win32/exe | |
| 176 | 176 | - x86_64-win64/exe | |
| 177 | 177 | - arm-wince/exe (cross-release) | |
| 178 | 178 | - arm-symbian (cross-release) | |
| 179 | 179 | - i386-symbian (cross-release) | |
| 180 | - | ||
| 181 | - | ||
| 180 | + | - arm-gba (cross-release) | |
| 181 | + | - arm-nds (cross-release) | |
| 182 | 182 | - i386-freebsd/tgz | |
| 183 | 183 | - i386-linux/tar ([[Release engineering|more info]]) | |
| 184 | 184 | - i386-linux/deb ([[Release engineering|more info]]) | |
| 185 | 185 | - i386-linux/rpm ([[Release engineering|more info]]) | |
| 186 | 186 | - x86_64-linux/tar ([[Release engineering|more info]]) | |
| 187 | 187 | - x86_64-linux/deb ([[Release engineering|more info]]) | |
| 188 | 188 | - x86_64-linux/rpm ([[Release engineering|more info]]) | |
| 189 | 189 | - powerpc-linux/tar ([[Release engineering|more info]]) | |
| 190 | 190 | - powerpc64-linux/tar ([[Release engineering|more info]]) | |
| 191 | - | ||
| 192 | - | ||
| 193 | - | ||
| 194 | - | ||
| 195 | - | ||
| 191 | + | - powerpc32-macosx/dmg | |
| 192 | + | - powerpc32-\>powerpc64-macosx/dmg | |
| 193 | + | - i386-macosx/dmg | |
| 194 | + | - i386-\>x86_64-macosx/dmg | |
| 195 | + | - i386-\>ARM-macosx/dmg | |
| 196 | 196 | - i386-macosx/.info for fink | |
| 197 | 197 | - powerpc-macos | |
| 198 | 198 | - sparc-linux/tar ([[Release engineering|more info]]) | |
| 199 | 199 | - sparc-linux/deb ([[Release engineering|more info]]) | |
| 200 | 200 | - arm-linux/tar (cross-release) | |
| 201 | 201 | - powerpc-morphos | |
| 202 | 202 | - powerpc-amiga | |
| 203 | 203 | - i386-netware | |
| 204 | 204 | - i386-netwlibc | |
| 205 | 205 | - i386-haiku | |
| 206 | 206 | - sparc-sunos/tar | |
| 207 | 207 | 9. Get it tested | |
| 208 | 208 | 1. Ask dedicated testers for testing their platforms | |
| 209 | 209 | 10. Keep track of issues [[Issues 2.4.0|here]] and testing [[Testers 2.4.0|here]] in the wiki. | |
| 210 | 210 | ||
| 211 | 211 | ### Going public | |
| 212 | 212 | ||
| 213 | 213 | 1. Make new version numbers (release plus next odd patch number for continuing fixes) available in bug tracker | |
| 214 | 214 | 2. Make new version numbers (release plus next odd patch number for continuing fixes) available in testsuite db | |
| 215 | 215 | 3. Make new files on FTP available to wide public | |
| 216 | - | ||
| 216 | + | 1. update symlinks (no symlinks any more?) | |
| 217 | 217 | 2. move the old version to the olddist/\<version\> (not done anymore!) | |
| 218 | 218 | 3. upload files to SourceForge.net and add them to new "releases" for individual platforms | |
| 219 | 219 | 4. make new "releases" on SourceForge.net accessible for users (change status to "active") | |
| 220 | 220 | 5. Allow automated notifications on individual SourceForge.net file release pages to be sent | |
| 221 | 221 | 4. Submit darwin packages to fink | |
| 222 | 222 | 5. Update WWW pages | |
| 223 | 223 | 1. /html/news.fp | |
| 224 | 224 | 2. /html/down/* (links to all individual files & file sizes) | |
| 225 | 225 | 3. /html/download.fp (version number and list of platforms) | |
| 226 | 226 | 4. /html/fpc.fp | |
| 227 | 227 | 5. /html/faq.fp (things like "the latest version is ...") | |
| 228 | - | ||
| 229 | - | ||
| 228 | + | 6. Create new fixes branch (only after a major release - 2.4.0) | |
| 229 | + | 1. Update version number in the trunk branch (only after a major release - ?.?.0) | |
| 230 | 230 | 1. /compiler/version.pas | |
| 231 | 231 | 2. All Makefile.fpc files containing "version=..." (plus regenerate the corresponding Makefiles) | |
| 232 | 232 | 7. Update version number in the fixes branch (increase the patch to next odd number) | |
| 233 | 233 | 1. /compiler/version.pas | |
| 234 | 234 | 2. all Makefile.fpc files containing "version=..." (plus regenerate the corresponding Makefiles) | |
| 235 | 235 | 8. Check the WWW pages | |
| 236 | 236 | 1. make sure <http://www.freepascal.org> contains the new version already | |
| 237 | 237 | 2. read news.html | |
| 238 | 238 | 3. read fpc.html | |
| 239 | 239 | 4. read download.html and check links to individual files | |
| 240 | 240 | 9. Send announcement to our mailing lists | |
| 241 | 241 | 10. Post announcement on the community site | |
| 242 | 242 | 11. Post announcement on Sourceforge.net (only "Project Administrators" may do it) | |
| 243 | 243 | 12. Make sure that all unfixed issues encountered during RC testing and listed on dedicated page in Wiki are documented in bug tracker too | |
| 244 | 244 | 13. Revise / update /html/future.fp after major versions (2.4.0) | |
| 245 | 245 | 14. Remove unneeded RC builds from FTP | |
| 246 | 246 | ||
| 247 | 247 | --- | |
| 248 | 248 | *From the Free Pascal wiki, page "Release 2.4.0", as it stood on 2020-09-18 after a change by Trev, 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](/wiki-contact).* | |
| 249 | 249 | Category: FPC release |
