* Address a race condition in the key management code that would manifest
itself as a corrupt router identity.
* Properly clear old transport addresses from being displayed on the old
console after soft restarts.
* Properly refuse to load the client applications more than once in the
same JVM.
* Added support for a graceful restart (a graceful shutdown followed by a
full JVM restart - useful for restarting client apps).
* More defensive programming, HTML cleanup, logging
* wrapper.config cleanup of duplicate lines
* Added some basic guards to prevent multiple instances from running.
Specifically, a file "router.ping" in the install directory which is
written to once a minute - if that file exists and has been modified
within the last minute, refuse to start up. In turn, adjust the
service wrapper to wait a minute before restarting a crashed JVM.
* Create a "work" directory in the I2P install dir which Jetty will
use for all of its temporary files.
* Tell the browser not to cache most of the router console's pages.
* Updated default wrapper.config to deal with the hard restart option
* Include the history.txt in the /help.jsp page
* HTML updates (wrapper.log, and no more unix scripts)
* Updated VERSION constants to 0.4
* Bugfix: Installer launches postinstall.bat on WinNT/2K properly.
* Temporarily removed install_i2p_service_unix and
uninstall_i2p_service_unix from distribution packages.
* postinstall.bat/postinstall.sh cleans installation directory of all files
not applicable to the host OS.
* Added some filters to the HTTP request, replacing the User-Agent,
Referrer, Via, and From headers, which helps until we have a more
comprehensive filtering system.
2004-09-03 jrandom
* Disabled the old listener on port 7655.
* Cleaned up the base build.xml, adding a new target ("updater") which
builds the file i2pupdate.tar.bz2 which can be safely extracted over
existing installs.