Release checklist ----------------- Sync with mtn.i2p2.i2p Start with a clean checkout mtn -d i2p.mtn co --branch=i2p.i2p Double-check trust list Deploy the Jetty archive, a clean checkout lacks it Change revision in: history.txt installer/resources/initialNews.xml installer/install.xml installer/resources/news.xml router/java/src/net/i2p/router/RouterVersion.java (change to BUILD = 0 and EXTRA = "") core/java/src/net/i2p/CoreVersion.java Review the complete diff from the last release: mtn diff -r t:i2p-0.7.(xx-1) > out.diff vi out.diff Verify that no untrusted revisions were inadvertently blessed by a trusted party: mtn log --brief --no-graph --to t:i2p-0.7.(xx-1) | cut -d ' ' -f 2- | sort NOTE: Most tasks below here are now automated by 'ant release' Build and tag: ant pkg mtn ci mtn tag h: i2p-0.7.xx mtn cert t:i2p-0.7.xx branch i2p.i2p.release Sync with mtn.i2p2.i2p Create a signed update file with: export I2P=~/i2p java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate sign i2pupdate.zip i2pupdate.sud /path/to/private.key 0.7.xx Verify signed update file with: java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate showversion i2pupdate.sud java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate verifysig i2pupdate.sud Make the source tarball: Start with a clean checkout mtn -d i2p.mtn co --branch=i2p.i2p i2p-0.7.xx Double-check trust list tar cjf i2psource-0.7.xx.tar.bz2 --exclude i2p-0.7.xx/_MTN i2p-0.7.xx mv i2p-0.7.xx.tar.bz2 i2p.i2p Until the build script gets this ability, you need to rename some files: mv i2pinstall.exe i2pinstall-0.7.xx.exe mv i2pupdate.zip i2pupdate-0.7.xx.zip you probably don't need to rename i2pupdate.sud Generate hashes: sha256sum i2p*0.7.xx.* sha256sum i2pupdate.sud now GPG-sign an announcement with the hashes Generate PGP signatures: gpg -b i2pinstall-0.7.xx.exe gpg -b i2psource-0.7.xx.tar.bz2 gpg -b i2pupdate-0.7.xx.zip gpg -b i2pupdate.sud (end of tasks automated by 'ant release') Distribute files to download locations and to www.i2p2.i2p Website files to change: Sync with mtn.i2p2.i2p announcements.html announcements_*.html download.html (change version numbers and SHA256s) download_*.html (change version numbers and SHA256s) index.html index_*.html hosts.txt (copy from mtn) release-x.y.z.html (new) Sync with mtn.i2p2.i2p Announce on #i2p, forum.i2p, freshmeat.net, launchpad.net