Sign in Join
Wiki copytemporary

Release 3.0.0: what changed

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

Title: Release 3.0.0

OldNewLine
1+### Release Issues
2+
3+The issues page is [[Issues 3.0.0]] (from [[Issues Template]] )
4+
5+### Release preparations
6+
7+1. For major versions check [[Release engineering|major versions to do]]
8+2. <s>Send a mail to fpc-devel to announce that the fixes branch is frozen for the benefit of committers that are not on core (or do not read it regularly)</s>
9+3. <s>Agree on deadline for changes and date for release candidate building</s>
10+ 1. <s>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</s>
11+ 1. <s>Olivier Coursiere - Haiku</s>
12+ 2. <s>Karl-Michael Schindler - Mac OS X - fink</s> done
13+ 2. <s>#RC1 deadline</s>
14+ 3. <s>#FPC-3.0.0 deadline</s>
15+4. Check the [[Detailed 3.0.0 Todo]] list for the particular release (should be linked from [[To Do lists]]) for status of individual todo items
16+5. <s>Check status of [bugs assigned to that particular release](http://bugs.freepascal.org/roadmap_page.php) in the bugtracker</s>
17+6. <s>New page in Wiki named "Release_3.0.0" 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. If it is a final release add a link it to [[Releasing]]</s>
18+7. <s>Create new page in Wiki with issue log for documentation of issues encountered in release candidates and their status ([[Issues 3.0.0]] based on [[Issues Template]])</s>
19+8. Move merged changes from [[User Changes Trunk]] to the appropriate [[User Changes 3.0.0]] page, possibly adding changes that were merged but not added to the trunk page, plus update the reference to the changes in previous release from the page for trunk so that it refers the page with changes for the new release
20+9. Update the version number/svn revision of all bug reports in mantis for which the patches were merged but that have not yet been updated (for <http://bugs.freepascal.org/changelog_page.php> )
21+10. Ask platform maintainers and [[External maintainers|external maintainers]] about including their platforms/builds in the new release
22+11. Check and update all .msg files
23+ 1. errore.msg
24+ 2. errord.msg
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+12. 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. See [[helper tools]]
41+ 2. Repackage and upload additional tools where needed
42+13. Update whatsnew.txt (/install/doc/whatsnew.txt)
43+14. Find testers
44+ 1. Create a [[Testers 3.0.0|testers]] page in Wiki (based on [[Testers Template]])
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+15. Update path and file names in /install/macosx/*.info for the new version
47+16. Update path and file names in /install/fpc.ist for the new version
48+17. Finish all source file updates
49+18. convert /html/faq.fp to /install/doc/faq.htm and /install/doc/faq.txt ([[Release engineering|more info]])
50+
51+### RC1
52+
53+-- Below is a template for every version
54+
55+1. New directories ([[Release engineering|more info]])
56+ 1. <s>Create new directories on ftp (/pub/fpc/beta/3.0.0-rcN or /pub/fpc/dist/3.0.0 and cpu-os under that) </s>
57+ 2. Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions)
58+2. <s>Add new section for the upcoming build in /install/debian/changelog ([[Release engineering|more info]])</s>
59+3. <s>Create new branch in SVN (release_3_0_0_rcN or release_3_0_0) ([[Release engineering|more info]])</s>
60+4. <s>Update version number in release branch (and, if necessary also in main branch (trunk or fixes)) ([[Release engineering|more info]])</s>
61+ 1. <s>/compiler/version.pas</s>
62+ 2. <s>/install/doc/readme.txt</s>
63+ 3. <s>/install/doc/whatsnew.txt</s>
64+ 4. <s>/installer/install.dat (header)</s>
65+ 5. <s>/installer/install.pas (installer version)</s>
66+ 6. <s>/docs/fpc.sty (macro fpcversion)</s>
67+ 7. <s>All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles) ([[Release engineering|more info]])</s>
68+ 8. <s>All version-numbers in fpmake.pp files ([[Release engineering|more info]])</s>
69+5. <s>Create and upload exported fpcbuild ([[Release engineering|more info]])</s>
70+ 1. <s>fpcbuild-%{version}.zip</s>
71+ 2. <s>fpcbuild-%{version}.tar.gz</s>
72+ 3. <s>fpc-%{version}-source.zip</s>
73+ 4. <s>fpc-%{version}-source.tar.gz</s>
74+6. <s>Create and upload the documentation ([[Release engineering|more info]])</s>
75+ 1. <s>doc-pdf.zip</s>
76+ 2. <s>doc-html.zip</s>
77+ 3. <i>doc-htm.zip</i> (not included)
78+ 4. <s>doc-txt.zip</s>
79+ 5. <s>doc-ps.zip</s>
80+ 6. <s>doc-pdf.tar.gz</s>
81+ 7. <s>doc-html.tar.gz</s>
82+ 8. <s>doc-ps.tar.gz</s>
83+7. Create and upload source zips ([[Release engineering|more info]])
84+ 1. short name version for binary packages
85+ 2. docs source (including link for short name version)
86+ 3. long name version for binary packages
87+8. Create and upload binary releases (place the name of the person who agreed to build a release behind the name of the target below)
88+ - i386-go32v2/basic zip (just binaries)
89+ - i386-go32v2/full zip (including docs and sources)
90+ - <s>i386-os2/basic zip</s> (just binaries) - Tomas
91+ - <s>i386-os2/full zip (including docs and sources) - Tomas</s>
92+ - <s>i386-win32/exe - Pierre</s>
93+ - <s>x86_64-win64/exe</s>
94+ - <s>arm-wince/exe (cross-release)</s>
95+ - arm-symbian (cross-release)
96+ - i386-symbian (cross-release)
97+ - <s>arm-gba (cross-release)</s>
98+ - <s>arm-nds (cross-release)</s>
99+ - <s>powerpc-wii (cross-release)</s>
100+ - <s>i386-freebsd/tgz</s>
101+ - <s>i386-linux/tar ([[Release engineering|more info]]) - Joost</s>
102+ - i386-linux/deb ([[Release engineering|more info]])
103+ - <s>i386-linux/rpm ([[Release engineering|more info]]) - Joost</s>
104+ - <s>x86_64-linux/tar ([[Release engineering|more info]]) - Joost</s>
105+ - x86_64-linux/deb ([[Release engineering|more info]])
106+ - <s>x86_64-linux/rpm ([[Release engineering|more info]])</s>
107+ - powerpc-linux/tar ([[Release engineering|more info]])
108+ - powerpc64-linux/tar ([[Release engineering|more info]])
109+ - <s>powerpc-macosx/dmg</s>
110+ - <s>i386-macosx/dmg</s>
111+ - <s>i386-\>powerpc-macosx/dmg</s>
112+ - <s>i386-\>ios-macosx/dmg</s>
113+ - <s>x86_64-macosx/.info for fink - MiSchi</s>
114+ - powerpc-macos
115+ - sparc-linux/tar ([[Release engineering|more info]])
116+ - sparc-linux/deb ([[Release engineering|more info]])
117+ - arm-linux/tar (cross-release)
118+ - powerpc-morphos
119+ - powerpc-amiga
120+ - i386-netware
121+ - i386-netwlibc
122+ - <s>i386-haiku</s>
123+ - i386-sunos/tar
124+ - sparc-sunos/tar
125+ - <s>i8086-msdos/tar (cross-release for i386-linux) - nickysn</s>
126+ - <s>i8086-msdos/tar (cross-release for x86_64-linux) - nickysn</s>
127+ - <s>i8086-msdos/rpm (cross-release for i386-linux) - nickysn</s>
128+ - <s>i8086-msdos/rpm (cross-release for x86_64-linux) - nickysn</s>
129+ - <s>i8086-msdos/exe (cross-release for win32) - nickysn</s>
130+9. Get it tested
131+ 1. Ask dedicated testers for testing their platforms
132+ 2. Consider announcing availability of the new RC in fpc-devel list
133+10. Keep track of testing in [[Testers x.x.x|the wiki]]
134+
135+-- End of template for every version
136+
137+### RC2
138+
139+1. <s>Section for new RC on release pages in Wiki</s>
140+ 1. <s>Release procedure</s>
141+ 2. <s>Issue log</s>
142+2. Look at unmerged changes in fpc and fpcbuild since the last RC and consider/ask for necessity of their inclusion in the release
143+3. New directories ([[Release engineering|more info]])
144+ 1. Create new directories on ftp (/pub/fpc/beta/X.Y.Z-rcN or /pub/fpc/dist/X.Y.Z and cpu-os under that)
145+ 2. Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions)
146+4. Add new section for the upcoming build in /install/debian/changelog ([[Release engineering|more info]])
147+5. <s>Create new branch in SVN (release_X_Y_Z_rcN or release_X_Y_Z) ([[Release engineering|more info]])</s>
148+6. <s>Update version number in release branch (and, if necessary also in main branch (trunk or fixes)) ([[Release engineering|more info]])</s>
149+ 1. <s>/compiler/version.pas</s>
150+ 2. <s>/install/doc/readme.txt</s>
151+ 3. <s>/install/doc/whatsnew.txt</s>
152+ 4. <s>/installer/install.dat (header)</s>
153+ 5. <s>/installer/install.pas (installer version)</s>
154+ 6. <s>/docs/fpc.sty (macro fpcversion)</s>
155+ 7. <s>All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles) ([[Release engineering|more info]])</s>
156+ 8. <s>All version-numbers in fpmake.pp files ([[Release engineering|more info]])</s>
157+7. Create and upload exported fpcbuild ([[Release engineering|more info]])
158+ 1. fpcbuild-%{version}.zip
159+ 2. fpcbuild-%{version}.tar.gz
160+ 3. fpc-%{version}-source.zip
161+ 4. fpc-%{version}-source.tar.gz
162+8. Create and upload the documentation ([[Release engineering|more info]])
163+ 1. doc-pdf.zip
164+ 2. doc-html.zip
165+ 3. <i>doc-htm.zip</i> (not included)
166+ 4. doc-txt.zip
167+ 5. doc-ps.zip
168+ 6. doc-pdf.tar.gz
169+ 7. doc-html.tar.gz
170+ 8. doc-ps.tar.gz
171+9. Create and upload source zips ([[Release engineering|more info]])
172+ 1. short name version for binary packages
173+ 2. docs source (including link for short name version)
174+ 3. long name version for binary packages
175+10. Create and upload binary releases (place the name of the person who agreed to build a release behind the name of the target below)
176+ - i386-go32v2/basic zip (just binaries)
177+ - i386-go32v2/full zip (including docs and sources)
178+ - i386-os2/basic zip (just binaries)
179+ - i386-os2/full zip (including docs and sources)
180+ - i386-win32/exe
181+ - x86_64-win64/exe
182+ - arm-wince/exe (cross-release)
183+ - arm-symbian (cross-release)
184+ - i386-symbian (cross-release)
185+ - arm-gba (cross-release)
186+ - arm-nds (cross-release)
187+ - powerpc-wii (cross-release)
188+ - i386-freebsd/tgz
189+ - i386-linux/tar ([[Release engineering|more info]])
190+ - i386-linux/deb ([[Release engineering|more info]])
191+ - i386-linux/rpm ([[Release engineering|more info]])
192+ - x86_64-linux/tar ([[Release engineering|more info]])
193+ - x86_64-linux/deb ([[Release engineering|more info]])
194+ - x86_64-linux/rpm ([[Release engineering|more info]])
195+ - powerpc-linux/tar ([[Release engineering|more info]])
196+ - powerpc64-linux/tar ([[Release engineering|more info]])
197+ - powerpc-macosx/dmg
198+ - i386-macosx/dmg
199+ - i386-\>powerpc-macosx/dmg
200+ - i386-\>ios-macosx/dmg
201+ - <s>x86_64-macosx/.info for fink - MiSchi (no textmode IDE)</s>
202+ - powerpc-macos
203+ - sparc-linux/tar ([[Release engineering|more info]])
204+ - sparc-linux/deb ([[Release engineering|more info]])
205+ - arm-linux/tar (cross-release)
206+ - powerpc-morphos
207+ - powerpc-amiga
208+ - i386-netware
209+ - i386-netwlibc
210+ - i386-haiku
211+ - i386-sunos/tar
212+ - sparc-sunos/tar
213+11. Get it tested
214+ 1. Ask dedicated testers for testing their platforms
215+ 2. Consider announcing availability of the new RC in fpc-devel list
216+12. Keep track of testing in [[Testers x.x.x|the wiki]]
217+
218+### Final release
219+
220+1. <s>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)</s>
221+2. Check all bugreports marked fixed with the previous fixes version, or trunk if they apply to the release. (iow if the release packages the fix). If they are fixed, set their "fixed in version" setting to the release version, and update the "fixed in revision" to the revision the fix was merged to release_ or fixes_ branch.
222+
223+1. New directories ([[Release engineering|more info]])
224+ 1. Create new directories on ftp (/pub/fpc/beta/X.Y.Z-rcN or /pub/fpc/dist/X.Y.Z and cpu-os under that)
225+ 2. Copy the extra files (asld*.zip, gdb*.zip, make*.zip) from previous release (unless updated with new versions)
226+2. <s>Add new section for the upcoming build in /install/debian/changelog ([[Release engineering|more info]])</s>
227+3. <s>Create new branch in SVN (release_X_Y_Z_rcN or release_X_Y_Z) ([[Release engineering|more info]])</s>
228+4. <s>Update version number in release branch (and, if necessary also in main branch (trunk or fixes)) ([[Release engineering|more info]])</s>
229+ 1. <s>/compiler/version.pas</s>
230+ 2. <s>/install/doc/readme.txt</s>
231+ 3. <s>/install/doc/whatsnew.txt</s>
232+ 4. <s>/installer/install.dat (header)</s>
233+ 5. <s>/installer/install.pas (installer version)</s>
234+ 6. /docs/fpc.sty (macro fpcversion)
235+ 7. <s>All Makefile.fpc files containing version=... (plus regenerate all corresponding Makefiles) ([[Release engineering|more info]])</s>
236+ 8. <s>All version-numbers in fpmake.pp files ([[Release engineering|more info]])</s>
237+5. <s>Create and upload exported fpcbuild ([[Release engineering|more info]])</s>
238+ 1. <s>fpcbuild-%{version}.zip</s>
239+ 2. <s>fpcbuild-%{version}.tar.gz</s>
240+ 3. <s>fpc-%{version}-source.zip</s>
241+ 4. <s>fpc-%{version}-source.tar.gz</s>
242+6. <s>Create and upload the documentation ([[Release engineering|more info]])</s>
243+ 1. <s>doc-pdf.zip</s>
244+ 2. <s>doc-html.zip</s>
245+ 3. <s><i>doc-htm.zip</i> (not included)</s>
246+ 4. <s>doc-txt.zip</s>
247+ 5. <s>doc-ps.zip</s>
248+ 6. <s>doc-pdf.tar.gz</s>
249+ 7. <s>doc-html.tar.gz</s>
250+ 8. <s>doc-ps.tar.gz</s>
251+7. Create and upload source zips ([[Release engineering|more info]])
252+ 1. short name version for binary packages
253+ 2. docs source (including link for short name version)
254+ 3. long name version for binary packages
255+8. Create and upload binary releases (place the name of the person who agreed to build a release behind the name of the target below)
256+ - i386-go32v2/basic zip (just binaries)
257+ - i386-go32v2/full zip (including docs and sources)
258+ - i386-os2/basic zip (just binaries)
259+ - i386-os2/full zip (including docs and sources)
260+ - i386-win32/exe
261+ - x86_64-win64/exe
262+ - arm-wince/exe (cross-release)
263+ - arm-symbian (cross-release)
264+ - i386-symbian (cross-release)
265+ - arm-gba (cross-release)
266+ - arm-nds (cross-release)
267+ - powerpc-wii (cross-release)
268+ - i386-freebsd/tgz
269+ - i386-linux/tar ([[Release engineering|more info]])
270+ - i386-linux/deb ([[Release engineering|more info]])
271+ - i386-linux/rpm ([[Release engineering|more info]])
272+ - x86_64-linux/tar ([[Release engineering|more info]])
273+ - x86_64-linux/deb ([[Release engineering|more info]])
274+ - x86_64-linux/rpm ([[Release engineering|more info]])
275+ - powerpc-linux/tar ([[Release engineering|more info]])
276+ - powerpc64-linux/tar ([[Release engineering|more info]])
277+ - powerpc-macosx/dmg
278+ - i386-macosx/dmg
279+ - i386-\>powerpc-macosx/dmg
280+ - i386-\>ios-macosx/dmg
281+ - i386-macosx/.info for fink
282+ - powerpc-macos
283+ - sparc-linux/tar ([[Release engineering|more info]])
284+ - sparc-linux/deb ([[Release engineering|more info]])
285+ - arm-linux/tar (cross-release)
286+ - powerpc-morphos
287+ - powerpc-amiga
288+ - i386-netware
289+ - i386-netwlibc
290+ - i386-haiku
291+ - i386-sunos/tar
292+ - sparc-sunos/tar
293+9. Get it tested
294+ 1. Ask dedicated testers for testing their platforms
295+ 2. Consider announcing availability of the new RC in fpc-devel list
296+10. Keep track of testing in [[Testers x.x.x|the wiki]]
297+
298+### Going public
299+
300+1. Make new version numbers (release plus next odd patch number for continuing fixes) available in bug tracker (don't forget to set releases to "released", or they won't be visible to users.)
301+2. Make new version numbers (release plus next odd patch number for continuing fixes) available in testsuite db
302+3. Make new files on FTP available to wide public
303+ 1. <i>update symlinks</i> (no symlinks any more?)
304+ 2. Move the releases older than 18 months to the olddist/\<version\> dir.
305+ 3. Publish files on SourceForge.net
306+ 1. Upload files to SourceForge.net and add them to new "releases" for individual platforms
307+ 2. Mark the latest whatsnew.txt file as a "Release info" file (using properties of that file in File Manager pages)
308+ 3. Select this release info file for the respective folders containing the new release
309+ 4. Check that the right files are selected as default for the individual platforms recognized by SourceForge.net (use the latest readme.txt as the default download for "All other")
310+ 5. Make new "releases" on SourceForge.net accessible for users (change status to "active")
311+ 6. Allow automated notifications on individual SourceForge.net file release pages to be sent
312+4. Submit darwin packages to fink
313+5. Update WWW pages
314+ 1. /html/news.fp
315+ 2. /html/down/* (links to all individual files & file sizes)
316+ 3. /html/download.fp (version number and list of platforms)
317+ 4. Search for the old version number (both with and without dots) in all files under /html/down/ (e.g. using grep) and fix where necessary
318+ 5. /html/fpc.fp
319+ 6. /html/faq.fp (things like "the latest version is ...")
320+6. Update docs linked from the WWW server (http://www.freepascal.org/docs.var) to those from the new release
321+ 1. Unpack the html docs to docs-html on the WWW server
322+ 2. Unpack the PDF files (without subdirectory) to docs-pdf on ftpmaster
323+7. Create new fixes branch (only after a major release - ?.?.0)
324+ 1. Update version number in the trunk branch (only after a major release - ?.?.0)
325+ 1. /compiler/version.pas
326+ 2. All Makefile.fpc files containing "version=..." (plus regenerate the corresponding Makefiles)
327+8. Update version number in the fixes branch (increase the patch to next odd number)
328+ 1. /compiler/version.pas
329+ 2. all Makefile.fpc files containing "version=..." (plus regenerate the corresponding Makefiles)
330+9. Check the WWW pages
331+ 1. make sure <http://www.freepascal.org> contains the new version already
332+ 2. read news.html
333+ 3. read fpc.html
334+ 4. read download.html and check links to individual files
335+10. Send announcement to our mailing lists
336+11. Post announcement on the community site
337+12. Post announcement on Sourceforge.net (only "Project Administrators" may do it)
338+13. Make sure that all unfixed issues encountered during RC testing and listed on dedicated page in Wiki are documented in bug tracker too
339+14. Revise / update /html/future.fp after major versions (?.?.0)
340+15. Remove unneeded RC builds from FTP
341+16. Add the version to the versioncheck in the topfile makefile.
342+
343+### See also
344+
345+- [[Release engineering]]
346+- [[Detailed Lazarus release template todo|comparable Lazarus document]]
347+
348+---
349+*From the Free Pascal wiki, page "Release 3.0.0", as it stood on 2015-11-20 after a change by Loesje, 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).*
350+Category: FPC release

Back to history