Release 2.1.1.
[htmlpurifier-web.git] / release.txt
blobb9726179662606aee6416f723dc47cdbdeddeb4f
1 In order to perform a release, a few steps have to be taken:
2 [@] = Automated
4 == Pre-Procedures ==
6 [Prepare codebase for release]
7 TODO: AUTOMATE {
8     # Clear cache
9     # Test all older versions: 5.1, 5.0 (5.0.4, because .5 is borked), 4.4, 4.3
10     # Clear cache, regenerate standalone version
11     # Test standalone version (on all older versions)
13 #  [@] Run `php release1-update.php $VERSION` (bumps version numbers)
14     - Update NEWS and Doxyfile files
15     - Bump version in HTMLPurifier.php (two times)
16 # [if necessary] Bump version numbers in TODO
17 # Write new WHATSNEW entry
18 # Commit as "Release x.y.z."
20 [Manage auxiliary branches]
21 if ( need to deprecate old branch ) {
22     # Obsolete old release series
23         - Add OBSOLETE file with text:
24     1.x branch was fully obsoleted by release of 1.y.0. It is no longer supported.
25     Bug and security fixes will not be issued regardless of security.
26           ...and then info on backwards incompatible changes.
27         - Add line to NEWS:
28     1.x branch was fully obsoleted by release of 1.y.0. It is no longer supported.
29 } elseif ( creating a new branch for sub-release ) {
30     # If branch doesn't exist yet, branch from the last tag
31     # Update switch2branch script, replacing version number
32     # Open log for trunk, then switch to branch
33     # Merge changes into branch, commit as "Merged r#s for x.y.z release into branch"
34         - Be sure to remove future items from NEWS
37 [Manage strict branch]
38 # Switch to strict branch using `switch2branch-strict.bat`
39 # [@] Run `php release2-strict.php` (merges in strict branch)
40     - Resolve conflicts
41     - Run unit tests
42     - Commit
44 [Perform release]
45 # [@] `php release3-tag.php` (tags the releases)
46 # [@] Build the zip and tar.gz files:
47     - Run `build-all.sh $VERSION` on the server, download them (TODO: AUTOMATE)
48     - Run build-all.bat on Windows computer
49 - Clear the Serializer cache (flush-definition-cache.bat)
50 # [@] Build the PEAR release using package_pear.bat (package.php and `pear package`)
51 # [@] Run sum-all.bat (generates sha1 checksums)
52 # [@] Run sign-all.bat, enter password when prompted (signs releases)
53 # Update the webpages:
54     - news.xhtml
55        . Write a news entry describing the release (see WHATSNEW)
56     - current.ent
57        . Bump version numbers
58     - download.xhtml
59        . Update hashes
60     - Switch the external for live/
61 # Commit
63 == Post-procedures ==
65 # Regenerate API documentation (TODO: AUTOMATE)
66     - Run the compile_*.bat scripts (takes a while)
67     - Archive them into tars
68     - Upload to server
69     - Reload documents with ./reload-docs.sh
70 # Smoketest release by downloading packages, verify contents list, sha1 and sig
71 # Regenerate configuration documentation
72     - Run http://htmlpurifier.org/live/configdoc/generate.php
73 # Update relevant feeder sites/lists
74     - Freshmeat <http://freshmeat.net/add-release/61206/65948/>
75         . Three fields need version number bumps
76     - Announce mailing list <https://panel.dreamhost.com/?tree=mail.list&current_step=Index&next_step=ShowSend&address=admin&domain=htmlpurifier.org>
77         . Change version number in subject field
78         . Use: news item on webpage (add link to webpage as HTML Purifier),
79           download links (substitute in hp.jpsband.org), sha-1 sums.
80     - Hotscripts listing <http://www.hotscripts.com/account/index.html?section=listings&type=edit&listing_id=65309>
81         . Step 1-3: No changes
82         . Step 4: Bump version number in two fields
83 # Add new version items in NEWS for trunk