Release checklist
-----------------

Ensure all translation updates are imported from Transifex
Sync with mtn.i2p2.i2p
Start with a clean checkout mtn -d i2p.mtn co --branch=i2p.i2p
Copy over override.properties to set build.built-by
Double-check trust list

Change revision in:
	history.txt
	installer/install.xml
	core/java/src/net/i2p/CoreVersion.java
	router/java/src/net/i2p/router/RouterVersion.java
		(change to BUILD = 0 and EXTRA = "")

Review the complete diff from the last release:
        mtn diff -r t:i2p-0.9.(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.9.(xx-1) | cut -d ' ' -f 2 | sort | uniq -c

=========================================
NOTE: These tasks are now automated by 'ant release'

Build and tag:
	ant pkg
	mtn ci
	mtn tag h: i2p-0.x.xx
	mtn cert t:i2p-0.x.xx branch i2p.i2p.release
	Sync with mtn.i2p2.i2p

Create signed update files with:
	export I2P=~/i2p
	java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate sign i2pupdate.zip i2pupdate.sud /path/to/private.key 0.x.xx
	java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate sign i2pupdate200.zip i2pupdate.su2 /path/to/private.key 0.x.xx

Verify signed update files 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.x.xx
        Double-check trust list
	tar cjf i2psource-0.x.xx.tar.bz2 --exclude i2p-0.x.xx/_MTN i2p-0.x.xx	
	mv i2p-0.x.xx.tar.bz2 i2p.i2p

Rename some files:
	mv i2pinstall.exe i2pinstall-0.x.xx.exe
	mv i2pupdate.zip i2pupdate-0.x.xx.zip

Generate hashes:
	sha256sum i2p*0.x.xx.*
	sha256sum i2pupdate.sud
	sha256sum i2pupdate.su2

Generate PGP signatures:
	gpg -b i2pinstall-0.x xx.exe
	gpg -b i2psource-0.x.xx.tar.bz2
	gpg -b i2pupdate-0.x.xx.zip
	gpg -b i2pupdate.sud
	gpg -b i2pupdate.su2

(end of tasks automated by 'ant release')
=========================================

Add magnet links to news.xml

Seed update torrents

Notify the following people:
	All in-network update hosts
	PPA maintainer
	Google code maintainer
	news.xml maintainer

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 if it changed (copy from i2p.i2p mtn branch)
        release-x.y.z.html (new)
        static/news/news.xml
	Sync with mtn.i2p2.i2p

Announce on:
         #i2p, #i2p-dev (also on freenode side)
         forum.i2p
         twitter
         freshmeat.net
         launchpad.net
         alt.privacy.anon-server

Update Trac:
	Add milestone and version dates
	Increment milestone and version defaults
