I2P+ releases are built and published by GitHub Actions: pushing a release tag builds every artifact and creates the GitHub Release automatically. Most of the manual work is version bumps, testing, and updating the download site.
ant poupdate-sourceCheck in remaining English po files (and any files with changed strings)
installer/resources/geoip/makegeoip.shgit commit installer/resources/geoip/GeoLite2-Country.mmdb.gzinstaller/resources/blocklist/maketorblocklist-ipv4+ipv6.sh
git commit installer/resources/blocklist/blocklist_tor.txtBuildTime: not needed every release, but update the EARLIEST and EARLIEST_LONG values in core/java/src/net/i2p/time/BuildTime.java to the current date, more or less
GitHub issues: check if any blocker or critical issues remain open for this release; get them fixed and closed, or reclassified
Initial review: review the complete diff from the last release tag
(git diff 0.9.69+..HEAD), fix any issues
Trial build: ant distclean && ant updaterCompact and ant testscripts;
fix any issues
Javadoc test: ant javadoc and fix any issues
ant bumpMajorVersion)bump to -N+; GeoIP/ASN/Tor blocklist updatesgit show 8731befc67 (CoreVersion.java,
RouterVersion.java, both izpack files, docs/history.txt, blocklist)git commitant distclean && ant updaterCompact - the clean build must passant testscripts - verify all translations and scripts are validant releaseRepack (or
releaseWithGeoIPRepack when including GeoIP, releaseWithJbigiRepack when
jbigi changed):
i2pupdate.zip, see if it looks rightTag the release: the tag tracks the API version (e.g. 0.9.70+) while the release message carries the marketing version (e.g. 2.13.0+):
git tag -a 0.9.70+ -m "I2P+ Release: 0.9.70+ / 2.13.0+"
(Alternatively ant git-tag, which creates an annotated v<marketing>-<BUILD>+
tag such as v2.13.0-4+.)
git push origin 0.9.70+ - GitHub Actions builds all artifacts and
creates the GitHub Release automatically (i2pupdate.zip, i2pinstall.exe,
install.jar, i2psnark-standalone.zip, javadoc.zip, jsdoc.zip, source zip,
.deb)ant buildAppImage for the AppImage; Debian packages per
distro/debian-alt/doc/ (launchpad.txt, debian-build.txt)