- Implement File class, factor out duplicate functionality in Page to this class
[htmlpurifier-web.git] / release.txt
blobf48f16b88ae282f90c2bcc1d37775492556fae37
1 In order to perform a release, a few steps have to be taken:
3 Pre-Procedures
5 # Bump version numbers, commit as "Release x.y.z."
6     - Update NEWS and Doxyfile files
7     - Bump version in HTMLPurifier.php (two times)
8     - [if necessary] Bump version numbers in TODO
9 if ( new release && old branch ) {
10     # Obsolete old release series
11         - Add OBSOLETE file with text:
12     1.x branch was fully obsoleted by release of 1.y.0. It is no longer supported.
13     Bug and security fixes will not be issued regardless of security.
14           ...and then info on backwards incompatible changes.
15         - Add line to NEWS:
16     1.x branch was fully obsoleted by release of 1.y.0. It is no longer supported.
17 } elseif ( lazy branch updating ) {
18     # If branch doesn't exist yet, branch from the last tag
19     # Update switch2branch script, replacing version number
20     # Open log for trunk, then switch to branch
21     # Merge changes into branch, commit as "Merged r#s for x.y.z release into branch"
22         - Be sure to remove future items from NEWS
24 # Update strict branch
25 # Tag the releases (trunk/rel-branch and strict-branch)
26 # Build the zip and tar.gz files:
27     - Use releases/build.sh to build the tarball and download it
28     - For the zip, manually perform the build, upload to server
29 # Sign the releases using GPGShell
30 # Update the webpages:
31     - index.html
32        . Write a news entry describing the release
33        . Bump all the version numbers in the download section
34        . Generate sha1 checksums and update those
35     - comparison.html
36        . Bump the version and release date (two areas)
37 # Commit
39 Post-procedures
41 # Regenerate API documentation
42     - Run the compile_*.bat scripts (takes a while)
43     - Archive them into tars
44     - Upload to server
45     - Delete old folder contents with `rm -r $folder`
46     - Extract with `tar -xf $filename`
47 # Smoketest release by downloading packages, verify contents list, sha1 and sig
48 # Regenerate configuration documentation
49     - Run http://hp.jpsband.org/live/configdoc/generate.php
50 # Add new version to bugtracker at:
51     - http://hp.jpsband.org/mantis/manage_proj_edit_page.php?project_id=1
52 # Update relevant feeder sites/lists
53     - Freshmeat <http://freshmeat.net/add-release/61206/65948/>
54         . Three fields need version number bumps
55     - Announce mailing list <https://panel.dreamhost.com/?tree=mail.list&current_step=Index&next_step=ShowSend&address=htmlpurifier&domain=jpsband.org>
56         . Change version number in subject field
57         . Use: news item on webpage (add link to webpage as HTML Purifier),
58           download links (substitute in hp.jpsband.org), sha-1 sums.
59     - Hotscripts listing <http://www.hotscripts.com/account/index.html?section=listings&type=edit&listing_id=65309>
60         . Step 1-3: No changes
61         . Step 4: Bump version number in two fields
62 # Add new version items in NEWS for trunk