Release check list ================== When releasing a new version ---------------------------- 1. Tasks in the elinks module: - 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; it will be added after the release, from the date in the mailing list archives. - 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 - 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 --tags 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/. - Run script to create new tarballs (both .gz and .bz2). $ mkdist elinks-X.X.X X.X.X -r 3. Tasks on localhost: - Download new tarballs and create ASCII armored signature files. $ gpg -b --armor elinks-X.X.X.tar.bz2 $ gpg -b --armor elinks-X.X.X.tar.gz - Copy the elinks-X.X.X.tar.*.asc files to http://elinks.cz/download/. - Send announcement to elinks-users mailing list. 4. Tasks in the elinks-web module: - Change the version and release data in the start of website.conf. - Wait for the announcement to hit the elinks-users mailing list archive. - 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, and news.rss. - Commit the updates HTML and asciidoc files. - Push the commits. 5. 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. 6. 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. 7. 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.