<commit_before>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
	initialNews.xml
	installer/install.xml
	news.xml
	router/java/src/net/i2p/router/RouterVersion.java
	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

Build and tag:
	ant pkg
	mtn ci
	mtn tag h: i2p-0.7.xx
	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 i2p.tar.bz2 i2pheadless-0.7.xx.tar.bz2<commit_msg>add checklist step to look for untrusted revs<commit_after>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
	initialNews.xml
	installer/install.xml
	news.xml
	router/java/src/net/i2p/router/RouterVersion.java
	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

Build and tag:
	ant pkg
	mtn ci
	mtn tag h: i2p-0.7.xx
	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 i2p.tar.bz2 i2pheadless-0.7.xx.tar.bz2
{'fraction_non_alphanumeric': 0.11202749140893471, 'fraction_numerical': 0.04776632302405498, 'mean_word_length': 3.1, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 6}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5644643', 'n_tokens_mistral': 1256, 'n_tokens_neox': 1220, 'n_words': 319}