Release check list ================== When releasing a new version ---------------------------- 1. Tasks in the elinks module (part 1): - Go over the changes since the last release. Use git-shortlog as a template. Write a small changelog highlighting the most important changes. Changes by new contributors are always important! - Update NEWS file and commit. Remember to add the new version number! Don't add the release date yet though; you will add it in a later step. - Change VERSION in the top of configure.in to hold the new version number. - Update the manpages so the will have the new release number by first building the source, followed by making the `update-man' target in doc/. - Update po files by running `make update-po` in po/`. - Commit these changes. - Create a signed tag having the version ("ELinks X.X.X") as the subject and using the changelog create above as the body. Use something like: $ git tag -s -F changelog.file elinks-X.X.X - Run script to create new tarballs (both .gz and .bz2). $ contrib/mkdist -g "$PWD/.git" -r elinks-X.X.X -l X.X.X This step also builds the elinks binary and documentation based on the label, and that might fail because of some bug, so it's best to do this before pushing anything. - Create ASCII armored signature files. $ gpg -b --armor elinks-X.X.X.tar.bz2 $ gpg -b --armor elinks-X.X.X.tar.gz - Append ".GIT" to the VERSION variable in the top of configure.in. - Commit only this change. - Push these changes plus tag using: $ git push $ git push tag elinks-X.X.X 2. Tasks on http://elinks.cz/ (part 1): - Wait until the tag etc. has been synced or force a sync of the repository at http://elinks.cz/elinks.git/. 3. Tasks on localhost: - Copy the elinks-X.X.X.tar.* files to http://elinks.cz/download/. - Send announcement to elinks-users mailing list. Do not format it as multipart/signed because the linuxfromscratch archive does not display such messages properly. - Wait for the announcement to hit the elinks-users mailing list archive. 4. Tasks in the elinks module (part 2): - Add the release date from the mailing list archive to NEWS. - Commit and push that change. 5. Tasks in the elinks-web module: - Change the version and release data in the start of website.conf. Also change download.txt if necessary. - Add paraphrased version of the first paragraph of the release announcement as a news entry in news/latest.txt. Make the entry link to both the archived announcement from linuxfromscratch.org and gmane.org using the "magic numbers" expanded by the macro. Possibly, move the cut-off markers that control which news entries to display on the front page. - Rebuild index.html, download.html, news.html, news.rss, and release.html. - Update bugzilla/milestones/elinks.html if the release corresponds to a reached milestone. - Commit the updates HTML and asciidoc files. - Push the commits. 6. Tasks on http://elinks.cz/ (part 2): - Wait until the elinks-web module has been synced or force a sync of the repository. - Checkout the new updated webpages. 7. Tasks on http://bugzilla.elinks.cz/: - Add the new version. - Add a comment to each bug fixed in this version. If some of them are already VERIFIED, change them to CLOSED, unless they are also waiting for a release in another branch. 8. Tasks external sites and resources: - Add a new release to the freshmeat.net page. - Change topic of #elinks - (Request update of FSFs free software directory). - (Update current version on wikipedia). When releasing a new stable branch ---------------------------------- (I only vaguely remember this process. --jonas) 1. Tasks on localhost: - Locally clone the freezed repository to a new repository that will contain the new stable branch. - Unfreeze the repository that was cloned by changing the VERSION variable in configure.in to the version of the new unstable branch (remember the ending ".GIT"), commit, and push. - Add new remote branch that will track the new stable "trunk". It should basically be the push URL of the cloned repository with "#elinks-X.X" appended. - Push to this new remote branch to create it. - Perform the normal version release tasks described above in this new repository. 2. Tasks on http://elinks.cz/: - Update http://elinks.cz/download/*-current-* tarball links to point to the correct versions. 3. Tasks external sites and resources: - Add a new branch to the freshmeat.net page.