I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
history.txt 349 KiB
Newer Older
  • Learn to ignore specific revisions
  • zzz's avatar
    zzz committed
    2010-12-12 zzz
        * i2psnark:
          - Fix end-game deadlock
          - Fix last-modified check for multifile torrents, causing
            apparent loss of data after abnormal exit
          - Tweaks
    
    
    zzz's avatar
    zzz committed
    2010-12-11 zzz
        * Build: Fix 'ant distclean poupdate' again
    
        * I2CP: Change a log error to a warning (ticket #353)
    
    zzz's avatar
    zzz committed
        * i2psnark:
          - Restore text (ticket #273)
          - Fix several HTML errors (ticket #273)
          - Fix HTML error causing info links to be unclickable in dillo (tiicket #273)
          - Fix alt text duplicated or looking bad in text browsers (ticket #273)
          - Fix Opera button errors (ticket #332)
          - Fix POST resubmission errors (ticket #334)
          - Catch FetchAndAdd copy error (ticket #352)
          - Set permissions on downloaded torrent files
          - Hide some columns when not running
          - Lots of spacing cleanups
          - Rename images so users don't end up with unused files
          - Remove ~15 unused images
          - Clean up theme selection speed-coding exercise
          - Indent fixes
        * Log: Don't double-timestamp CRITS in wrapper.log
        * News: XML fixes (ticket #350)
        * Plugins: Better handling of signing keys (Ticket #351)
        * TunnelPoolManager: Fix rare startup NPE (http://forum.i2p/viewtopic.php?t=5192)
    
    
    2010-12-10 Mathiasdm
        * I2PTunnel: Fixed up security fix.
    
    2010-12-07 Mathiasdm
        * I2PTunnel: Security fix: change server reply
          to return 'I2PServer' instead of the actual servername.
    
    z3d's avatar
    z3d committed
    
    
    z3d's avatar
    z3d committed
    2010-12-06 dr|z3d
        * I2PSnark: 
          - Resolve table header wrapping issue.
          - Phase 2 of UI overhaul, now with 100% more universality!
          - Vanilla/Ubergine theme enhancements.
          
    
    zzz's avatar
    zzz committed
    2010-12-05 zzz
        * DataHelper: Have readLong() and readString() throw an
          EOFException instead of a DataFormatException on EOF,
          which should lower the log severity in I2CP and I2NP
          when a client or peer disconnects.
    
    
    zzz's avatar
    zzz committed
        * Console: Format console refresh time
    
        * I2NP: Allow message to be written more than once,
                instead of throwing an IllegalStateException
    
    zzz's avatar
    zzz committed
        * i2psnark: Fix extension messages
    
        * Streaming: Restore I2PSocketManagerFull as public
                     (broke jwebcahe ticket #345)
        * Transport: Hamachi address block 5/8 assigned by IANA
    
    
    z3d's avatar
    z3d committed
    2010-12-01 dr|z3d
        * Console: 
          - Extensive reworking of ieshim.css for classic theme/Internet Explorer.
          - Additional console_big.css files for other themes to enhance doublebyte glyph support.
        * I2PSnark: 
          - Make show/hide peers and stop/start all torrent buttons more obvious.
          - Rework Vanilla icons to bring in line with color scheme.
    
    
    zzz's avatar
    zzz committed
    2010-11-30 zzz
        * I2CP: Try to hide Pipe closed messages (several tickets)
        * i2psnark: Move PeerCheckerTask from Timer to SimpleTimer2
                    to save some threads
        * Logging:
          - Limit buffer size; block and wakeup writer when full
          - Limit errors written to system log
          - Add method to force a log below the current level
    
          - Try to fix log flushing error
    
    zzz's avatar
    zzz committed
        * Streaming: Change some logged errors to warnings
                     (tickets 76, 341 and others)
    
    
    z3d's avatar
    z3d committed
    2010-11-29 dr|z3d
    
    z3d's avatar
    z3d committed
        * Updated console theme "light".
    
    
    zzz's avatar
    zzz committed
    2010-11-29 zzz
        * i2psnark:
          - Don't timeout queued piece messages
        * Logging:
          - Use System locale and time zone for default date/time format,
            so it matches the wrapper log time (we can't set the wrapper log time zone).
            (existing installs must remove logger.dateFormat line
             in logger.config to get system default format)
          - Force RuntimeExceptions to CRIT level
          - Don't have log() count buffer size
    
        * Streaming: Make all classes outside the API package private
    
    zzz's avatar
    zzz committed
        * UDP:
          - Fix bug causing PacketPusher to loop quickly instead of sleeping
          - Fix udp.sendCycleTime stat
          - Fix speed values on peers.jsp
          - Try to fix rare NPE (ticket 298)
    
    
    zzz's avatar
    zzz committed
    2010-11-28 zzz
        * Build: Move all dependencies to top-level build.xml,
                 so each sub-build.xml is only executed once
        * i2psnark:
          - Fix NPE and other partials bugs
          - More extension message stubbing
          - Log tweaks
        * I2PTunnel: Deprecate destFromName()
    
    
    zzz's avatar
    zzz committed
    2010-11-27 zzz
        * Build:
          - Add man pages to package
          - New updaterWithJavadoc target
        * configstats.jsp: Fix NPE
        * Console:
          - Linkify "plugin installed and started" message
          - Add link to javadocs if installed
        * i2psnark:
          - Drop queued outbound requests when choked
          - Redo some data structures and locking to hopefully prevent deadlock
          - Memory reduction part 3: Return partial pieces to PeerCoordinator when choked
        * Streaming: Fix race NPE at stream close
    
    
    z3d's avatar
    z3d committed
    2010-11-27 dr|z3d
    
    z3d's avatar
    z3d committed
       * I2PSnark: New alternative theme: "Vanilla". 
    
    z3d's avatar
    z3d committed
       * Big thanks to sponge for implementing the theme changer!    
    
    
    sponge's avatar
    sponge committed
    2010-11-27 sponge
       * Plugin: ticket 336 fix NPE
    
    
    2010-11-27 sponge
       * Slackware: bump i2p-base version, so that it can be upgraded with the new
    	base code fixes.
    
    
    2010-11-26 sponge
       * i2psnark: Don't save theme parameter if it has not changed.
    
    
    2010-11-26 sponge
       * i2psnark: Add theme change and theme selection storage abilities.
    
    
    zzz's avatar
    -9  
    zzz committed
    2010-11-26 zzz
    
        * Console: Split initialNews.xml into a file for each language
                   don't copy to config dir at install.
        * i2psnark: Clean up and enhance the PeerCoordinator's partial piece handling,
                    in preparation for more improvements
        * LogManager: When not in router context, delay creating log file until required
        * NetDb: Lower RouterInfo expiration time again
        * Router: Prevent NCDFE after unzipping update file
    
    zzz's avatar
    -9  
    zzz committed
        * Transports: Round time to prevent clock bias, also adjust for RTT in UDP
    
    z3d's avatar
    -8  
    z3d committed
    2010-11-26 dr|z3d
    
    z3d's avatar
    z3d committed
        * Readme: Overhaul (English) layout and text.
    
    z3d's avatar
    -8  
    z3d committed
    
    
    z3d's avatar
    -7  
    z3d committed
    2010-11-25 dr|z3d
        * Console themes: Classic and Dark theme refresh.
        * Fix langbox overflow issue in all themes.
    
    
    zzz's avatar
    -6  
    zzz committed
    2010-11-24 zzz
        * configui: Add .pt
        * configtunnels: Log cleanup
        * graphs: Synch to conserve memory; cleanup
        * i2psnark:
          - Prevent dup requests during end game
            (ticket 331 - thanks sponge and Oct!)
          - POST parameter tweaks
          - Message cleanup
        * logs: Add trac login hint
        * Router:
          - Save some info to config file when installing or updating
          - Remove global lock on accessing config
          - Add global lock on reading/writing config file
        * SimpleDataStructure: Fix problem in fromBase64() that
          manifested itself as a configtunnels.jsp bug
    
    
    2010-11-24 sponge
        * Slackware, fix rc.i2p, bad logic.
    
    
    2010-11-24 sponge
        * Plugin: ticket 104 Fix webapp isRunning to check ALL webapps.
          The only defecency is that if one is running, that it considers the
          entire pliugin to be running. I'm not sure if that is a good thing
          or a bad thing, but the other code checks threads that way.
    
    
    zzz's avatar
    -4  
    zzz committed
    2010-11-22 zzz
        * Addressbook: Fix rename error on Windows (tkt 323 - thanks RN!)
        * build.xml: Cleanup, fix distclean error in older ants.
        * Console:
          - Convert GraphHelper to a FormHandler
          - Require POST for all forms
          - Change the way we store the Writer to prevent problems
          - Fix bonus setting on configpeer.jsp
          - More ".jsp" removal
        * i2psnark:
          - Defer piece loading until required
          - Stub out Extension message support
          - Convert GET to POST, require POST
        * NTCP: Log tweak
        * SSLEepGet, Reseeder:
          - Implement additional CA loading
          - Provide facility to reuse SSL state for speed
          - Provide facility to store previously untrusted certificates
          - Add www.cacert.org cert to the installer and updater so
            SSL on a.netdb.i2p2.de and c.netdb.i2p2.de will work
          - Add SSL reseed hosts, prefer them by default
          - Reseed message cleanup
    
    
    zzz's avatar
    -3  
    zzz committed
    2010-11-19 zzz
        * Addressbook
          - Store last-fetched time so we don't always fetch subscriptions after restart
          - Randomize first fetch time
          - Make most classes package private
        * Console: Rewrite URLs so we don't need .jsp
        * i2psnark: Recognize postman b32, recognize ogv and oga.
        * i2ptunnel:
          - More work on error propagation and improving log messages
          - Increase nonce queue size again
        * News:
          - Store news last-fetched time so we don't always fetch news after restart
          - Don't include news in the updater
        * peers.jsp fixups
        * PrivateKeyFile: Speedups and better messages
        * SecureFile: New class, catch places that were missed,
                      add i2p.insecureFiles option to disable (default false)
    
    
    zzz's avatar
    zzz committed
    2010-11-17 zzz
        * Addressbook: Try to save files safely
        * Console: Display durations with new tagged formatDuration2()
        * DataStructures:
          - Shim in 3 new abstract classes
            SimpleDataStructure, KeysAndCert, and DatabaseEntry
        * I2CP:
          - Send DisconnectMessage at router shutdown
          - Add username/password authorization
        * I2PTunnel:
          - Improve messages when starting and stopping tunnels
          - Index page outproxy display cleanup
        * I2PTunnel HTTP and Connect clients:
          - Shim in a new abstract superclass I2PTunnelHTTPClientBase for common code
          - Add local proxy username/password authorization
          - Add outproxy username/password authorization
          - Filter hop-by-hop Proxy headers appropriately
        * I2PTunnel SOCKS and SOCKS IRC clients:
          - Add local proxy username/password authorization
          - Add SOCKS 5 outproxy support, with username/password authorization
        * logs.jsp: Format multiline messages better
        * Stats: Improve Frequency, enable coalescing; cleanup and javadocs
        * stats.jsp: Cleanup, more tagging, hide obscure stuff unless ?f=1
        * Streaming: Fix bug causing read() to incorrectly return EOF
    
    
    zzz's avatar
    zzz committed
    * 2010-11-15  0.8.1 released
    
    
    2010-11-08 zzz
        * I2CP: Fix NPE caused by null session options (seen in i2pbote)
    
    
    HungryHobo's avatar
    HungryHobo committed
    2010-11-06 HungryHobo
        * New Ant target: debianrepo
        * Rename debian target to debian-binary
        * New debian target generates binary and source packages
        * Debian tweaks
    
    
    2010-11-03 zzz
        * Merge and snark fixups
    
    
    zzz's avatar
    zzz committed
    2010-11-01 zzz
        * ClientConnectionRunner: Add synch to fix race causing AIOOBE
                                  (http://forum.i2p/viewtopic.php?t=5061)
        * configlogging.jsp: Parse log limit with current locale
                    (ticket #118)
        * i2psnark:
          - Limit number of parallel requests of a single piece when in the end game
          - Shorten and weight the speed tracker so the display is more
            reflective of current speed
        * logs.jsp: Add message if wrapper log not found
                    (ticket #103)
    
    
    zzz's avatar
    zzz committed
    2010-10-30 zzz
        * i2psnark:
          - Priority mapping bugfix
          - Close files as we go when creating/checking
            so we don't run out of file descriptors
          - Update request queues after priority change
          - Only add wanted pieces to wanted list at startup
          - Make sure lastRequest is null when it should be
          - Delay during StopAll so we don't close the tunnel before the
            stopped announces go out and reopen it
          - Logging tweaks
    
    2010-10-27 zzz
        * i2psnark:
          - Don't stay interested if we run out of pieces
            to request (thanks sponge)
          - Enhance debug mode to show requests
          - Priority mapping bugfix
        * Transport: Avoid rare NPE at startup
    
    2010-10-24 zzz
        * FileUtil: Make it easier to compile without Pack200, or with
                    Apache Harmony's Pack200, add unzip to main()
        * i2psnark: Catch a race after disconnect()
        * NTCP: Catch a race after stop()
        * Router: Set permissions on wrapper.log when not called by RouterLaunch
        * Systray: New doc and main()
    
    
    2010-10-22 sponge
        * Sanity and some fixs for slackware package
    
    
    sponge's avatar
    sponge committed
    2010-10-22 sponge
        * Fix rc.i2p for slackware package
    
    
    zzz's avatar
    zzz committed
    2010-10-19 zzz
        * Escape & in logs and i2psnark (much more to do)
        * JobImpl: Deprecate two debugging methods
        * replaceAll() -> replace() when we don't need regex
    
    2010-10-15 zzz
        * i2psnark: Add file priority feature
        * I2PSocketEepGet: Set connect delay to save a RTT, will
          speed announces in i2psnark
    
    2010-10-12 zzz
        *** 1.6 or higher JDK now required to build
        * configlogging.jsp:
          - Add easy way to add an override
          - Make file size specifier more flexible
        * Console:
          - Sort RouterAddress options on netdb.jsp and peers.jsp
          - Remove unused web-*.xml file from war
        * Crypto:
          - Convert all ArrayList caching to LBQs in YKGenerator,
            HMACGenerator, and AESKeyCache.
          - Change DSAEngine params from Hash to new SHA1Hash, since
            these were really 20 byte hashes, not 32 byte Hashes.
          - Add stats to track YKGenerator caching success
          - Fix YKGenerator precalculation to be much more useful by
            increasing the cache size and dramatically shortening the delay
          - Option cleanups
          - YKGenerator cleanups
          - Mark HMAC256Generator unused
        * EepGet: Reset length variable on redirect
        * Files: Change permissions to 600/700 for all written files/directories.
          Now requires Java 1.6 to build, but only 1.5+ to run.
          (requires 1.6 to set permissiomns)
        * GeoIP: Fix locking bug causing lookups to stop
        * Hash: Throw IAE if data length is not 32 bytes,
          now that DSAEngine abuse is gone
        * HTTPResponseOutputStream:
          - More caching
          - Stats cleanup
          - Max header length check
          - Catch OOM
          - Initializer cleanup
          - Javadoc
        * I2CP:
          - Add new option i2cp.messageReliability=none, which prevents the
            router from sending MessageStatusMessages back in reply to an
            outbound SendMessageMessage. Since the streaming lib always ignored
            the MSMs anyway, make it the default for streaming.
            This will reduce the I2CP traffic significantly.
            MSM handling now avoided, but it is still fairly broken, see
            comments in I2PSessionImpl2.
          - Cleanups to replace method calls with fields
          - More cleanups, javadoc, rate reduction
        * i2psnark:
          - Compact response format
          - Add link to finished torrent in message box
          - Don't let one bad torrent prevent others from
            starting or stopping
          - Sort peers by completion %
          - Add some missing mime types to web.xml
          - shouldLog() cleanup
        * i2ptunnel:
          - Now that streaming flush() is fixed, use it in IRCClient, and
            for initial data in I2PTunnel runner, to avoid the 250 ms
            passive flush delay
          - Add hostname DSA signature field, to be used for addkey forms.
            Experimental, may be commented out later.
          - More header blocking (thanks telecomix!)
          - Remove unused web-*.xml file from war
        * Installer: Add startup hint for non-x86
        * Javadoc updates all over the place
        * LogConsoleBuffer: Java 5
        * Naming:
          - Increase cache size and expiration time
          - Add clearCache() method
          - Don't use EepGet or Exec for b32
          - Javadoc updates
        * NetDB:
          - Expire unreachable routers quickly, even if they don't have introducers,
            so we don't have old data on routers that ran out of introducers.
          - Fix rare NPEs at shutdown
        * NTCP:
          - Cleanups
        * Streaming:
          - Make flush() block less, by waiting only for "accept" into the
            streaming queue rather than "completion" (i.e. ACK from the far end).
            This prevents complete stalls when flushing, and should help performance
            of apps that use flush(), like i2psnark (and SAM?).
            close() still does a flush that waits for completion, as i2ptunnel
            doesn't like a fast return from close().
          - cleanups
        * SusiDNS:
          - Remove unused web-*.xml file from war
        * TransportManager: Convert _transports from a List to a CHM
          to prevent a rare concurrent exception
        * Tunnels:
          - Don't use peers < 0.7.9 for tunnels due to the old
            message corruption bugs
          - Javadoc
          - Cleanups
        * UDP:
          - Beginnings of destroy message support
          - Try to avoid running out of introducers by relaxing selection criteria
            and increasing minimum number of potential introducers
          - Avoid rare AIOOBE
          - PacketBuilder refactor
          - Make most classes package private
          - Comments
          - Logging cleanup
          - Comment out a main()
    
    
    sponge's avatar
    sponge committed
    2010-10-10 sponge
        * Fulfill Request for name resolving in BOB
    
    
    2010-09-15 dr|z3d
    
        * I2PSnark: Overhaul UI, implement new theme.
    
    zzz's avatar
    zzz committed
    * 2010-07-12  0.8 released
    
    
    2010-07-08 zzz
        * I2PTunnel: More error propagation fixes
    
    
    2010-07-07 duck
        * RouterConsole: Add Help & FAQ link, minor label improvements.
    
    2010-07-05 zzz
        * i2psnark: Fix transition to end game
        * I2PTunnelIRCClient: Filter PART messages like we do for QUIT
    
    
    2010-07-04 duck
        * RouterConsole: Dutch translation (thanks to monkeybrains)
    
    
    2010-07-03 zzz
        * Build: Fix poupdate dependencies
        * I2PTunnel: More error propagation fixes
        * I2PTunnelHTTPClient: Don't use BufferedReader
    
    
    2010-07-01 zzz
        * EventDispatcher: Minor cleanups and comments
        * I2PTunnel: Don't start a tunnel if no valid destinations;
          cleanups, logging, and error propagation fixes
        * Transport: Fix NTCP address generation when host is specified but port is auto
    
    
    2010-06-29 sponge
        * 25%-50% cpu savings in BOB. The remainder of the fix is in streaming
          lib, which aparently keeps running and does not sleep according to
          profiling.
    
    
    2010-06-29 zzz
        * CapacityCalculator: Cleanup
        * I2PTunnel: Add default HTTPS outproxy
        * Jetty: Disable TRACE and OPTIONS in console and eepsite
        * RouterInfo: Add main() to dump RI files
        * Scale prng.buffers based on max memory, reduce default from 16 to 9
        * SOCKS: Better HTTP error message
    
    
    2010-06-26 zzz
        * I2PTunnel:
         - Move connection profile and delay connect to advanced config section
         - Add persistent client key support to SOCKS IRC
         - Fix display of interactive setting
        * jbigi, jcpuid: Suppress log messages when not in router context
        * jetty.xml: Add info on how to configure for following symlinks
        * logs.jsp: Add more JVM version info so we can distinguish OpenJDK from Sun
    
    
    2010-06-16 zzz
        * Console: Sort countries with selected locale
        * FileUtil: Try to handle lack of unpack200 support more gracefully
        * Update: Select old update URL if no unpack200 available
    
    
    zzz's avatar
    zzz committed
    2010-06-13 zzz
        * Console: Add some divs for languages to news and readmes
        * HTTP Proxy: Pass different User Agent to outproxy
        * i2psnark:
          - Move config to separate page
          - Icon tweaks
        * Translation: zh fix
    
    
    dev's avatar
    dev committed
    2010-06-12 welterde
        * fixed possible race-condition and improved code style in ObjectCounter utility class
    
    
    zzz's avatar
    zzz committed
    * 2010-06-07  0.7.14 released
    
    2010-06-07 zzz
        * Misc tweaks after code review
    
    
    zzz's avatar
    zzz committed
    2010-06-05 zzz
        * Netdb:
          - Use new receivedAsReply flag in LeaseSet to mark
            those received as response to a query
          - Mark which methods in FloodfillPeerSelector may return
            our own hash
          - Redefine selectNearest() so it may return our own hash,
            so it can be used for closeness measurement
          - Redefine findNearestRouters() to return Hashes
            instead of RouterInfos
          - Fix LeaseSet response decisions for floodfills, based
            on partial keyspace and closeness measurements
          - List only count of published leasesets in netdb
    
    
    2010-06-03 zzz
        * NewsFetcher: Delay a minimum amount at startup
        * Update: Fix multiple updates after manually
          starting update - caused by refreshing summary bar
          (thx 'backup'!)
    
    
    2010-06-02 zzz
        * graphs.jsp: Tag some more
        * Translation: Set xgettext add-comments option
        * UDP: Fix a bug from a blank i2np.udp.host config
          causing frequent RouterInfo updates and incorrect
          addition of introducers, caused by config.jsp handling
        * Update: Change default update URLs to .su2 for pack200
    
    
    2010-06-01 zzz
        * i2psnark:
          - More listing fixes
          - Revert choker change
    
    zzz's avatar
    zzz committed
          - Start end game a little sooner
    
        * Installer: Disable pack200 in updater again, doesn't work
          on Java 1.5
        * Remove jetty from updater - it's been in for a few
          releases, and i2psnark now has its own listHTML method
    
    
    2010-05-27 zzz
        * Translate: Add GNU ngettext (plurals) support
    
    
    2010-05-26 zzz
        * i2psnark: Listing fixes and cleanups;
          icons on front page; tweak bw choker again
    
    
    zzz's avatar
    zzz committed
    2010-05-24 zzz
        * i2psnark: Listing icons and cleanups
    
    
    dev's avatar
    dev committed
    2010-05-23 welterde
        * core:
          - fixed major security hole in DatagramDissector
    
    dev's avatar
    dev committed
        * I2PTunnelServer: Implemented WEBIRC support in IRC server tunnel
    
    
    zzz's avatar
    zzz committed
    2010-05-23 zzz
        * i2psnark:
          - Choke slower when at bandwidth limit
          - Fix completion % for small files
          - Use Random from context
        * NewsFetcher:
          - Add backup URL
          - Change to 0 retries (was 2)
    
    
    zzz's avatar
    -9  
    zzz committed
    2010-05-21 zzz
        * i2psnark:
          - Spiff up dir listings
          - Urlify some messages
          - Only go into end game at the end
    
    
    zzz's avatar
    zzz committed
    2010-05-19 zzz
        * Data: Remove lots of unnecessary initializers
    
        * susidns: More validatation when adding entry
    
    zzz's avatar
    zzz committed
    
    
    zzz's avatar
    zzz committed
    2010-05-15 zzz
        * Console:
          - Tag text in graphs
          - Move SummaryRenderer to its own file
        * Eepsite: Set no-cache in redirecting page
        * Hash: Move caching XOR methods only used by KBucket
          into netdb
        * i2psnark: CSS tweaks
        * Log: Translate priority
    
    
    2010-05-13 zzz
        * netdb.jsp debug tweaks
        * Plugins: Try to prevent ZipErrors after upgrade
    
    
    zzz's avatar
    zzz committed
    2010-05-10 zzz
        * Console:
          - Summary bar tweaks
          - Add monthly bw estimate
        * DataHelper: Deprecate inefficient eq() methods
        * i2psnark:
          - Add tunnel config dropdowns
          - Comment out old proxy stuff
        * NetDB:
          - Handle old and duplicate stores more efficiently
          - Have DataStore put() return success
          - Move getDistance() to its own class
        * Router: Add router.forceBandwidthClass advanced config for testing
        * Streaming: Add support for connection throttling
        * TunnelPoolManager: Concurrent
        * UDP: To help limit connections, don't offer to introduce
          when floodfill
    
    
    2010-05-10 sponge
         * PluginStarter: If there is some delay, there may be a really good reason for it.
           Loading a class would be one of them!
           So we do a quick check first, If it bombs out, we delay and try again.
           If it bombs after that, then we throw the ClassNotFoundException.
    
    
    zzz's avatar
    zzz committed
    2010-05-05 zzz
        * build.xml: Create packed sud in release
        * Console:
          - Print stack trace if exception on startup
          - IllegalStateException rather than NPE if no context
        * EepGet: Limit max times to fail completely even if numRetries is higher
        * i2psnark: Skip 'the' when sorting snarks
        * I2PTunnelHTTPClient: Reject 192.168.*
        * Plugins:
          - Set classpath for specific client only, not for the whole JVM
          - Use ConfigDir() not AppDir()
        * Replace size() <= 0 with isEmpty() everywhere, ditto > 0 -> !isEmpty()
        * RouterInfo: Clean up use of sortStructures()
    
    
    zzz's avatar
    zzz committed
    2010-05-02 zzz
        * ByteCache:
          - Add a per-cache stat
          - Limit each cache based on max memory
          - Disable in UDP MessageReceiver
          - Add clearAll() method to be called when under
            severe memory pressure; call from Router
        * Plugins: Fix version checker bug
    
    
    zzz's avatar
    zzz committed
    2010-04-27 zzz
        * i2psnark: Serve downloaded files from the servlet rather
          than with a file: link
        * Jetty: Backport directory listing bugfix from jetty 6
        * peers.jsp: Cleanup and tag
    
    
    zzz's avatar
    zzz committed
    * 2010-04-27  0.7.13 released
    
    
    zzz's avatar
    zzz committed
    2010-04-23 zzz
        * Plugins: Cleanups
    
    
    zzz's avatar
    zzz committed
    2010-04-21 zzz
        * EepGet: Don't convert a MalformedURLException into
    
    zzz's avatar
    zzz committed
          an IOE so we recognize it when it's thrown
    
    zzz's avatar
    zzz committed
        * ReusableGZIPStreams:
          - Concurrent
          - Workaround for Apache Harmony 5.0M13 Deflater bug
        * TrustedUpdate: Increase buf size for extraction
    
    
    2010-04-18 zzz
        * configclients.jsp: Start button logic for clients was inverted
        * Console: IRC links in readmes and initialNews
        * I2PTunnelServer: Debug log incoming conns
        * Transport: Reduce floodfill max NTCP conns to 425 (was 500)
    
    
    2010-04-16 sponge
        * BOB early session destroy to speed up tunnel tare-down.
    
    
    zzz's avatar
    zzz committed
    2010-04-15 zzz
        * DataHelper: Limit max length in readline()
        * Floodfills: Increase max to 100 (was 60) and min to 60 (was 45)
        * i2ptunnel: Log tweaks
        * I2PTunnelHTTPServer: Limit max header lines
    
    
    2010-04-15 sponge
        * I2PTunnelHTTPClient: Test for "http://:/" and output error page.
          This avoids an ArrayIndexOutOfBoundsException, which can eventually
          cause the eepproxy to stop functioning.
    
    
    2010-04-12 zzz
        * configstats.jsp: Fix full stats checkbox default
        * i2psnark:
          - Concurrent, limit, display, log tweaks
        * i2ptunnel: Implement access lists for TCP servers.
          Enter b32 or b64 hash or dest into list box, and
          check enable for whitelist. Uncheck enable and enter
          i2cp.enableBlackList=true in advanced i2cp options for
          blacklist. Todo: make black/whitelists radio buttons.
        * LogManager: Concurrent
    
    
    zzz's avatar
    zzz committed
    2010-04-10 zzz
        * i2psnark:
          - Disconnect seeds that connect to a seed
          - Lower per-torrent conn limits for large pieces
        * Startup:
          - Don't die horribly if there is a router.info file
            but no router.keys file
            http://forum.i2p/viewtopic.php?t=4424
          - Log tweaks
        * Streaming:
          - Fix the window size increment logic so it
            does it much more often
    
    
    zzz's avatar
    zzz committed
    2010-04-08 zzz
        * Key Manager: Hopefully avoid some races at startup
          http://forum.i2p/viewtopic.php?t=4424
        * OCMOSJ:
          - Increase min timeout
          - Logging tweaks
        * Streaming:
          - Detect and drop dup SYNs rather than create
            a duplicate connection - will hopefully fix
            "Received a syn with the wrong IDs"
          - Send reset for a SYN ACK with the wrong IDs
          - Don't send a reset to a null dest
          - Logging tweaks
          - Cleanups
    
    
    zzz's avatar
    zzz committed
    2010-04-05 zzz
        * Console:
          - Add tooltip support for plugin links
          - Make target=_blank for plugin links
          - More HTML transitional fixes
          - Standardize on 'save' to the right of 'cancel'
    
    
    2010-04-02 zzz
        * FloodfillPeerSelector: Adjust rankings again
    
    
    zzz's avatar
    zzz committed
    2010-03-31 zzz
        * FloodfillPeerSelector: Adjust rankings to try to
          improve LeaseSet lookups
        * HostsTxtNamingService: Don't load the whole hosts.txt
          into memory for every lookup
    
    
    zzz's avatar
    zzz committed
    2010-03-29 zzz
    
    zzz's avatar
    zzz committed
        * build.xml: Prep for a windows-only pkg
    
    zzz's avatar
    zzz committed
        * configclients.jsp:
          - Always show start button for webapps and plugins
        * configclients.jsp, configupdate.jsp:
          - Fix submission when entering CR in a text box
        * EepGet: Don't retry after a MalformedURLException
        * HTTPResponseOutputStream: More static
        * Plugins:
          - Stop all plugins at shutdown
          - Log tweaks
        * WebApps:
          - Remove the WAC after stopping it
          - Stop a WAC before starting it to prevent dups
          - Implement destroy() in addressbook to prevent dups
          - Implement destroy() in i2psnark to prevent dups
    
    
    zzz's avatar
    -2  
    zzz committed
    2010-03-25 zzz
        * configclients.jsp: Fix dup anchor
        * Console: Sort plugin links in summary bar
        * i2psnark:
          - Send numwant=0 if we don't need peers
          - Report returned complete and incomplete counts
            if higher than peer count
          - Allow missing peer list
          - Log tweaks
        * netdb.jsp: Tag transport properties
        * Plugins: Remove final check and install console
          messages after a while
        * PrivateKeyFile: Add b32 output
        * Reseed: Add another host
    
    
    zzz's avatar
    zzz committed
    2010-03-18 zzz
        * Blocklist, CommSystem, FIFOBandwidth, TransportManager,
          OutNetMessage, InNetMessagePool:
          - Java 5 cleanup
        * ByteCache:
          - Replace some locks with concurrent
        * Clients:
          - Negative delay means run immediately and inline
          - Add methods to test class and run inline,
            to propagate errors to the console
          - Use new methods for plugins
          - Add javadoc for clients.config format
        * config.jsp: Set burst to +10% for 20s by default,
          to fix bug where the burst stays high when limits
          are reduced.
        * FIFOBandwidthRefiller:
          - Replace global counters with atomics
          - Use lockless shortcut methods to grant
            requests if we can satisfy immediately
        * i2psnark: Tweak upload bw tracking
        * Installer: Enable pack200 (-3.3MB)
        * Job Queue:
          - Replace some locks with concurrent
          - Change job ID to a long so it won't wrap
          - Remove some unused stats
          - Java 5 and debug cleanup
        * KeyManager: Concurrent
        * logs.jsp: Add link to trac
        * netdb.jsp: Display transport cost if not default
        * Peer Manager:
          - Replace some locks with concurrent
          - Switch back to fast version of getPeersByCapability()
          - Java 5 cleanup
        * Streaming: Concurrent
        * Throttle:
          - Remove some unused stats
        * Tunnel Builds: Enable VTBM
        * Tunnel Dispatcher: Discard at IBGW based on router clock,
          not system clock.
        * TunnelGatewayPumper:
          - Refactor for concurrent
        * UDP:
          - Big refactor of several classes for concurrent,
            elimination of several locks
          - Reduce max number of resent acks in a packet to
            lower overhead
          - Take incoming messages from the head of the queue,
            not sure why taking them from the tail "reduces latency"
          - Java 5 cleanup
    
    
    zzz's avatar
    -2  
    zzz committed
    2010-03-17 zzz
        * I2PTunnel: Disable nonce checking when console password set
        * Reseed: Add another host
    
    
    zzz's avatar
    zzz committed
    * 2010-03-15  0.7.12 released
    
    
    zzz's avatar
    zzz committed
    2010-03-13 zzz
    
        * Partial fix for i2ptunnel nonce troubles
    
    
    2010-03-08 zzz
        * Floodfills: Increase max to 60 (was 28) and min to 45 (was 20)
        * i2psnark: Better track outgoing bandwidth by incrementing
          counter before the blocking write
        * Random: Remove and deprecate some old classses
        * Reseeder: Reduce max response size to 1MB (was 8MB)
    
    
    zzz's avatar
    zzz committed
    2010-03-05 zzz
    
        * Console:
          - Tag reseed messages
          - Translate country names on flag popups
    
    zzz's avatar
    zzz committed
        * I2PSOCKSIRCTunnel:
          - New, for filtering IRC client traffic when using SOCKS
        * I2PTunnelIRCClient:
          - Make filter classes static and public for use by SOCKS
          - Eliminate redundant case conversion
          - Pass ISON message through (jIRCii uses it for pings)
          - Switch back to StringBuffer since it's used by 2 threads
          - Set daemon on filter threads
        * SOCKS5Server:
          - Fix handling of multiple authentication methods
    
    
    zzz's avatar
    zzz committed
    2010-03-02 zzz
        * Console:
          - Add link to jobs.jsp on configservice.jsp
          - Add plugin disableStop support
        * Context: Add boolean getProperty methods
        * HTTP Proxy:
          - Fix address helper conflicts caused by last checkin
          - Use B32 instead of random hostname for conflict link
        * LoadClientAppsJob:
          - Fix unquoted arg after quoted arg
          - Logging cleanup
    
    
    zzz's avatar
    zzz committed
    2010-02-27 zzz
        * eepsite: Add some help to index.html
        * HTTP Proxy:
          - Put B32 instead of B64 in Host: header, saves 450 bytes
          - Eliminate some redundant lookups
          - Fix http://i2p/b64/ and /eepproxy/site/ requests
          - Disallow a port specified for an i2p address
          - Cleanup and comments
    
          - For more info see http://zzz.i2p/topics/566
    
    zzz's avatar
    zzz committed
        * i2psnark:
          - Fix NPE after create file failure
          - Sanitize more characters in file names
        * netdb: Fix NPE after OOM http://trac.i2p2.i2p/ticket/38
        * NTCP Transport:
          - Replace lists with concurrent queues in EventPumper
            and NTCPConnection to remove global locks
          - Java 5 cleanup
        * Plugins: Support console themes
        * UDP Transport:
          - Replace the unused-since-2006 TimedWeightedPriorityMessageQueue
            with DummyThrottle
          - Don't instantiate and start TWPMQ Cleaner and OutboundRefiller
            threads, part of priority queues unused since 0.6.1.11
          - Don't instantiate and start UDPFlooder, it is for testing only
    
          - Prevent NPE http://zzz.i2p/topics/571
    
    zzz's avatar
    zzz committed
    
    
    2010-02-23 zzz
        * Unzip: Any files in the zip with a .jar.pack or .war.pack extension
          will be transparently unpacked with unpack200. Savings is about 60%.
          Someday we will do this for suds, but we can do it for xpi2ps now.
        * build: Add updater200 target
    
    
    zzz's avatar
    zzz committed
    2010-02-22 zzz
        * configclients.jsp:
          - Add js delete confirm
          - Remove delete button for webapps
        * i2psnark:
          - Ignore a non-i2p tracker in a torrent rather than deleting
            the torrent, thus "converting" a torrent to in-netowrk use
            via the open trackers
          - Add js delete confirm
    
    
    2010-02-19 zzz
        * i2psnark: Make file box bigger
        * Plugins:
          - Fix display of download status
          - Unhide
    
    
    zzz's avatar
    zzz committed
    2010-02-18 zzz
        * Clock: Slew tweak
        * i2psnark: Improve error message when finding HTML
        * HTTP Proxy: Fix blank page instead of error page for eepsite unreachable
        * Plugins:
          - Fix plugin start button
          - Change signer prop to match docs
          - Tweaks
        * Transport:
          - Fix recognition of IP change when not firewalled
          - Require consecutive identical results from two peers before changing IP
        * TrustedUpdate: CLI exits 1 on failure for ease of use in scripts
    
    
    zzz's avatar
    zzz committed
    2010-02-15 zzz
        Propagate from 3 dev branches.
    
        i2p.i2p.zzz.test:
        * Clock:
          - getFramedAveragePeerClockSkew() now returns a long (ms);
            was a Long (s)
          - Implement NTP-style clock slewing so the clock is adjusted
            gradually
          - Implement clock strata so we prefer better clocks
          - Implement a timestamper in the transport so we will periodically
            update the clock even if NTP is not working.
            This allows the router to converge the clock instead of simply
            hoping the first connected peer is correct.
          - Slow down NTP attempts after several consecutive failures
        * Console: refactor and tag update messages
        * Streaming: MessageOutputStream logging tweaks
        * Transport:
          - Prepare for using address costs
    
    zzz's avatar
    zzz committed
          - Adjust bids based on address cost
          - Increase cost if near transport capacity, disabled until 0.7.12
    
    zzz's avatar
    zzz committed
          - Clear the geoip negative cache periodically
    
        i2p.i2p.zzz.plugin:
        * Jrobin: Move from routerconsole.jar to its own jrobin.jar,
          adjust classpath in routerconsole.jar manifest
        * Plugins:
          New plugin support, hidden for now, enable with router.enablePlugins=true
          Configure and add plugins on configclients.jsp
          Supports the following:
          - Console webapps
          - New translation bundles
          - Link on console
          - Anything that can be started in clients.config
          - Additions to classpath for clients and webapps
        * TrustedUpdate:
          - Add method to check if we know about a key
          - Add method to add a key
          - Add method to extract without verifying
          - Add method to get key signer name
        * Webapps: Allow additions to a webapp classpath.
          - Pull jstl.jar and standard.jar out of susidns.war
          - Remove 100KB of duplicate classes from i2psnark.war
    
        i2p.i2p.zzz.VTBM:
        * I2NP: Add UnknownI2NPMessage so we can route unknown message types
        * Tunnel Builds:
          - Add getRecordCount() to TunnelBuildMessage and TunnelBuildReplyMessage so they can be extended.
          - New I2NP Messages VariableTunnelBuildMessage and VariableTunnelBuildReplyMessage,
            which contain the number of request slots in them.
          - Convert all static assumptions of 8 slots to getRecordCount()
          - Use the new VTBM if all hops in the tunnel and the OBEP or IBGW of the reply tunnel
            support it, and the tunnel is 4 hops or shorter.
          - Reply to a VTBM with a VTBRM of the same size
          - Make BuildReplyHandler static
          - Convert the currentlyBuilding List to a ConcurrentHashMap to speed reply lookups
            and eliminate a global lock; don't put fallback tunnels in there
          - Add new tunnel.corruptBuildReply stat
          - Various cleanups and javadoc
          - Fix first hop expiration for Build Messages, was way too long
          - Randomize Build Message expiration to make it harder to guess hop position
          - Save expired tunnel build configs for a while, so that we will still use the tunnel
            and update peer stats if the reply comes in late
          - Don't update our own profile for Tunnel Build Replies
    
    zzz's avatar
    zzz committed
          - VTBM generation only through routers >= 0.7.12
    
    zzz's avatar
    zzz committed
          - VTBM generation disabled for now
    
    
    zzz's avatar
    zzz committed
    * 2010-02-15  0.7.11 released
    
    
    2010-02-13 sponge
        * Fix addWebApplications API goofup
        * Bump BOB version, which I forgot to do.
    
    
    2010-02-13 zzz
        * Floodfills: Increase max to 28 (was 15) and min to 20 (was 10)
    
    
    2010-02-12 sponge
        * org.mortbay.jetty.Server modified method to accept attributes for
          batch webapp launches via addWebApplications.
    
    
    2010-02-10 zzz
        * I2PTunnelRunner: Flush initial data, for some reason it wasn't
          getting flushed ever in some cases.
    
    
    zzz's avatar
    zzz committed
    2010-02-10 zzz
        64-bit windows installer fixes. Still no 64-bit wrapper.
        Thanks eche|on for testing!
        * Izpack:
          Add 64-bit windows dll so installer doesn't die trying to add shortcuts
        * Launch4j:
          Upgrade to launch4j 3.0.1 2008-07-20.
          The license is BSD for launch4j and MIT for the wrapper code in head/
          Changelog is in installer/lib/launch4j/web/changelog.html
          Hopefully this will fix installs for 64-bit JRE on 64-bit windows.