Sign in Join
Wiki copytemporary

Release 2.4.0: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Release 2.4.0

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

Back to history