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

Skip to content
Snippets Groups Projects
history.txt 328 KiB
Newer Older
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 validataion when adding entry

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:
zzz's avatar
zzz committed
      - 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.
      The previous version was 2.0-RC3 2005-08-13.
      The previous license was GPLv2 for launch4j and LGPLv2.1 for the wrapper code in head/
      The bin/ld.exe and bin/windres.exe files were contributed by
      i2p users in 2005 so the i2p installer could be built on windows.
      They have not been updated for 3.0.1, so pkg builds on windows
      will presumably still get 2.0-RC3.

zzz's avatar
-9  
zzz committed
2010-02-06 zzz
    * Console: Fix saving update keys, was broken in 0.7.10
    * i2psnark: Add transmission ID
    * news.xml: Wrap i2p version tags in XML comment
    * Transport: Try yet again to prevent two NTCP pumpers

2010-02-04 zzz
    * i2psnark: Fix sending stopped events to the tracker

2010-02-03 zzz
    * Console:
      - Hide update buttons and update config if install dir is readonly or if configured
      - Show yellow star if no outbound tunnels
    * i2psnark: Don't prefer to opportunistically unchoke unchoking peers when not interested
    * NetDb: Lower min RouterInfo expiration to 2.5h (was 3h)

zzz's avatar
zzz committed
2010-01-31 zzz
    * i2psnark standalone: Fix CSS
    * Jetty: Update to 5.1.15 to get ResourceHandler fix

2010-01-30 sponge
    * Fix NPE in TCPtoI2P when a lookup fails, report the error to the stream.
    * Fix setkeys bug in DoCMDS, forgot to create the object before calling
      it's methods, which threw an NPE.

2010-01-29 zzz
    * build.xml: Add a debian-source target
    * Data structures:
      - Speed up some hashcode() and equals()
      - Cleanup and javadoc
    * Jetty: Turn on checkAliases
    * NetDb:
      - Add basic DOS prevention for lookups
      - Move flood throttle check so we don't throttle ourselves
      - Don't store over client tunnels to pre-0.7.10 floodfills
      - Don't update unused lease fail stats
    * Startup: Disable browser launch for debian daemon

dev's avatar
dev committed
2010-01-28 welterde
    * enhance support for multiple RouterAddresses' of the same style in RouterInfo

zzz's avatar
zzz committed
2010-01-26 zzz
    * build.xml: Speed up distclean additions
    * Clock: Don't refuse to update because of peer skew the first time
zzz's avatar
zzz committed
    * Debian: Fixup, update, enhance scripts
    * I2NP: Various cleanup and bulletproofing
    * Log: Try to avoid complaints at shutdown
    * Profiles: Fix lack of profiles at router startup, especially for new routers
    * stats.jsp: Shrink the dropdown box

zzz's avatar
zzz committed
2010-01-24 zzz
zzz's avatar
zzz committed
    * ProfileOrganizerRenderer: Cleanups
    * Reseed: Update welt's reseed hostname
    * Transport clock skews:
      - Store and report UDP clock skews even for large values, so
        a badly skewed local clock will be reported to the console
      - Don't shitlist for NTCP clock skew if we don't know what time it is
      - If NTP hasn't worked yet, have NTCP or SSU update the clock one time
      - Include failed clock skew in NTCP skew vector if there aren't many connections
      - Don't include NTCP clock skews for non-established connections
      - Fix framed clock skew frame size
      - Report framed clock skew even if for only one peer, if NTP hasn't worked yet
      - Don't log RRD errors after clock adjustment
      - Reduce min skew for console warning to 30s (was 45s)
      - More Java 5 cleanups

zzz's avatar
-1  
zzz committed
2010-01-24 zzz
    * Clock:
      - Don't let a client update the router clock
      - Restore and enhance vanished clock error log message
    * Graphs: Enforce max size to lessen chance of OOM from malicious link
    * NetDb:
      - Move stat initialization, reduce number of rates
      - Add basic DOS prevention by not flooding if stores are too-frequent
    * ProfileOrganizer:
      - Limit High Cap to 75 max
      - Reduce max lock wait time, change no lock error to warning
      - More cleanup
    * Startup:
      - Enable multiple parallel job runners much sooner to speed startup
      - Rearrange the startup order to get the long jobs started sooner
      - Don't allow the netDb readin job to clog the job queue

2010-01-21 dr|z3d
    * New eepsite structure and enhanced pages. Now with graphics and stuff!

zzz's avatar
zzz committed
* 2010-01-22  0.7.10 released

zzz's avatar
zzz committed
2010-01-21 zzz
    * eepget.bat: Add to pkg
    * Floodfills: Increase max to 15 (was 9) and min to 10 (was 4)
    * I2PTunnelServer: Fix bug preventing connection retries
      at startup from working
    * Logs: Don't be quite so noisy in the wrapper log if we
      can't open the router log
    * Properties: Don't play games with \r and \n on load/save,
      it was causing fatal issues on DOS if your username started
      with r or n

2010-01-19 sponge
    * Firewall fix for NTCP, where firewalls will forget a NAT relationship
      on a stream... AKA setting keepalive. This should fix the stuck NTCP
      issue that has been bothing zzz for years.
    * Set keepalive on BOB connections too, since this will assist closing
      the connections in the event of a crash on a client.

zzz's avatar
zzz committed
2010-01-18 zzz
    * configclients.jsp: Fix add-new-client feature
    * Console: Add a tunnel share ratio estimate
    * graphs.jsp:
      - Remove jrobin sig
      - Set lower limit to 0
      - Save settings when changed
    * Reseed: Support SSL and proxies
    * Translate: Catch empty string

zzz's avatar
zzz committed
2010-01-17 zzz
    * Clock: Change a CRIT to an ERROR, lower threshold for changing from 10s to 5s
    * configclients.jsp: Support add, delete, edit
    * I2CP: Clean up resources on 5-minute leaseset timeout at startup
    * LeaseSet generation: Increment the lease date slightly, to force
      the floodfill to flood it when it changes
    * NetDb Lookups: Don't try to send a RI lookup to itself through a zero-hop tunnel
    * NetDb Stores and Verifies:
      - Do LS stores and verifies through client tunnels
        to prevent correlation by the OBEP or FF
      - Encrypt LS stores to prevent snooping by the OBEP,
        if the floodfill supports it
      - Encrypt LS and RI verifies to prevent snooping by the OBEP
      - Extend verify delay and timeout
      - Reenable RI verifies
      - Disallow simultaneous verifies for the same key
      - Don't resend on verify timeout; try a different peer instead
      - Don't resend to same peer on verify fail, try a different one
      - Adjust ff selection criteria
      - Flood even if received garlic-encrypted
    * Profiles: Limit fast peers to 30 max
    * SSLEepGet: New
    * Tunnels: Prevent more than one zero-hop tunnel in a lease
    * VersionComparator: Move from TrustedUpdate.java to util

2010-01-14 sponge
    * Fully clean up I2PTunnel. No more lint issues, should compile 100%
      clean.
    * Dropped unused class BufferLogger from I2PTunnel as it is not used
      anylonger.

2010-01-14 sponge
    * Clean up reverse connection ability, remove some annoyingly redundent
      code. Place all settings in the console. It works!

2010-01-10 sponge
    * Insert reverse connection ability into the http server code so that
      seedless can start to get worked on. It's disabled by default.

zzz's avatar
zzz committed
* 2010-01-12  0.7.9 released

2010-01-12 zzz
    * I2CP: Clean up resources on 5-minute leaseset timeout at startup
    * Increase max floodfills to 9 (was 6)
    * Temporarily disable routerInfo floodfill verifies
    * Fix .fr eepsite index css
    * Javdoc tweaks

2010-01-09 zzz
    * Include new eepsite indexes in pkg

2010-01-06 zzz
    * Summary bar tweaks

2010-01-02 sponge
    * Fix one last stupid mistake in build.xml, my fault.

2010-01-02 sponge
    * Fix NB 6.8 goofyness... 'till ant 1.7.1 or > is needed, stay with NB
	6.5, as the newer ones place a check for 1.7.1. We require 1.7.0

2010-01-02 sponge
    * Fix build.xml target for justBOB
    * Fix Main build.xml so that it actually deletes backup files and add a
      few extra types that should be commonly needed... atleast by me.

zzz's avatar
zzz committed
2010-01-02 zzz
    * Console: Save refresh setting
    * i2psnark:
      - Don't URL-encode chars we don't have to
      - CSS tweaks
    * Transport: Implement 'laptop mode' to change ident and port
      when the IP changes

2010-01-01 sponge
    * Happy New year everyone!
    * Added a target to generate a stand-alone BOB jar file.

zzz's avatar
zzz committed
2009-12-31 zzz
    * BuildResponseRecord: Make static
    * i2np: Remove unused logs
    * i2psnark: Fix message box, was a little too small
    * InternalSocket: Fallback to external socket on fail
    * NetDb: Fix exploration by adding a null hash to mean
      "don't give me floodfills"
    * PeerSelector: Downgrade floodfills with high fail rate

zzz's avatar
zzz committed
2009-12-26 zzz
    * Console:
      - Tag the rest of logs.jsp
    * Tunnels, Transports:
      - Lots of code to detect improper reuse of cached objects
        after release
      - Prevent release of TunnelDataMessage cached ByteArray,
        as it may be reused if retried in another transport;
        a nasty bug causing corrupt messages
      - Prevent race with released resources in UDP OutboundMessageState;
        a nasty bug causing corrupt messages
      - More cleanups and comments
    * UDP: Bid lower than NTCP when we need introducers and don't
      have enough

zzz's avatar
zzz committed
2009-12-22 zzz
    * Tunnels:
      - Do RED dropping before the IBGW fragmenter, not after
      - Change batch time to 250ms for IBGWs (was 100ms)
      - Change batch time to 150ms for exploratory OBGWs (was 100ms)
      - Start a new message in the fragmenter if almost full
      - Fix a major, longstanding synchronization bug in the FragmentHandler
        which led to corrupt messages at the endpoints
      - More cleanups and comments

zzz's avatar
zzz committed
2009-12-20 zzz
    * Console:
      - Fix status to show a disconnected network error rather than
        clock skew or UDP error when disconnected
      - Use peer clock skew rather than clock offset for determining
        whether to display clock skew error
      - tunnels.jsp: Clarify tunnel table headings
    * Contexts: Add isRouterContext() method
    * Profile, DBHistory:
      - Tweak the rate periods
      - Add a global fail rate stat
      - Increase the HashMap sizes
    * Router: Move some more threads to I2PAppThread so an OOM won't
      crash the router
    * Timestamper: Reduce delays (cuts 10s out of router startup)
    * Transport: Rework peer clock skew method to always return a value
    * Tunnels:
      - Reduce the drop probability for TunnelBuildMessages at the OBEP
      - Schedule outbound startup instead of hanging the thread for 3s
      - Cleanup preprocessor code, add comments

zzz's avatar
zzz committed
2009-12-18 zzz
    * Console: Fix spacing in update section
    * I2CP:
      - Move client-side writes to their own thread
      - Reenable InternalSockets
    * i2ptunnel: Fix bundle script
    * InNetMessagePool: Cleanup
zzz's avatar
zzz committed
    * Log:
      - Close old file on rotate
      - Buffer writes
      - Write in UTF-8
zzz's avatar
zzz committed
    * SusiDNS:
      - Remove untranslatable button images (-15KB)
      - Tag buttons and messages
      - Add some button CSS
    * Tunnel building:
      - Increase timeout to 13s (was 10s)
      - Fix tunnel.buildReplyTooSlow stat
      - Tweak logging
      - Prioritize expl. builds over client builds
      - Code cleanups
    * TunnelSettings: Drop, unused

zzz's avatar
zzz committed
2009-12-15 zzz
    * HTTP Proxy: Make jump server list configurable
zzz's avatar
zzz committed
    * I2CP: Remove unused logs
zzz's avatar
zzz committed
    * i2psnark: Fix stop/start, cleanups
    * i2ptunnel: Fix bundle location
zzz's avatar
zzz committed
    * SusiDNS:
      - Rewrite and correct a lot of the text, tag jsps
      - UTF-8 fixes
zzz's avatar
zzz committed
    * TunnelManager: Fix a locking bug
    * Update: Improve error message

zzz's avatar
zzz committed
2009-12-13 zzz
    * Find ResourceBundles in wars
    * Fix restart from config.jsp if no wrapper
    * i2psnark: Elaborate popups

2009-12-12 welterde
dev's avatar
dev committed
    * Sort peers on tunnels.jsp by country
dev's avatar
-5  
dev committed
    * fix NPE in ^^
zzz's avatar
zzz committed
2009-12-12 zzz
    * Disable InternalSockets until it's fixed

zzz's avatar
zzz committed
2009-12-11 zzz
    * Addressbook, susidns: Rework addressbook into a
      HttpServlet, so susidns can kick it when the subscription
      list changes
    * Build: Truncate the history in the updater (-80KB)
    * Console:
      - Add a nicer handler for missing webapps
      - Restore the restart message
      - Change "depth" to "length"
    * Data: Cache the Hash hashcode
    * EepGet: Use InternalSocket if available
    * Fragmenter: Pull the new comments, new stats, and
      debug log fix from i2p.i2p.zzz.batch in - but not the
      batching mods, which need a fresh look.
    * I2CP: Implement an internal "socket" class that
      allows clients in the same JVM to connect to the
      router without going through the kernel
    * I2NP: Drop unused classes
    * i2psnark:
      - Translation support
      - Tweak torrent name popup
    * I2PTunnel:
      - Translation support
      - Switch all I2PThreads to I2PAppThreads
      - Run an InternalSocket as well for the HTTP Proxy
    * Naming Services:
      - New EepGetAndAddNamingService that appends new
        hosts to hosts.txt
      - Move default reverseLookup to base class
      - Deprecate unused services
    * NetDb:
      - Switch from ArrayList to ConcurrentHashSet in
        KBucketImpl to reduce chance of deadlock;
        remove periodic shuffling of the bucket,
        needs to be addressed elsewhere
    * SusiDNS:
      - Translation support
      - Remove jsp's from the war
    * Translation: Move code from routerconsole to core,
      to support translation of other webapps

* 2009-12-08  0.7.8 released

2009-12-08 zzz
    * Misc. cleanups after review, prep for release

2009-12-06 zzz
    * netdb.jsp: Fix bug caused by XSS fix
    * Translations: drop ru until after release

zzz's avatar
zzz committed
2009-12-05 zzz
    * Build: Fix poupdate dependency
    * Console: Add Russian option

2009-12-05 sponge
    * BOB: fix a critical bug causing ghosts on probes
      and remove unused code.

zzz's avatar
zzz committed
2009-12-04 zzz
    * Console: Close up some possible XSS (thanks Pragmatk)
    * i2psnark: Config cleanup, more HTML transitional fixes
    * readme*.html: Point to translated pages on www.i2p2.i2p

2009-11-29 zzz
    * config.jsp: Comment out unused stuff better
    * profiles.jsp: Hide non-ff from ff table
    * HTTP Proxy: Don't send proxy.i2p to the naming service,
      it was making the error pages load slowly
    * SOCKS Proxy: Fix an error message
    * Transport: Fix the default inbound burst

2009-11-29 sponge
    * net.i2p.router.transport.udp deadwood code cleanup.
    * documented rare NPE in InboundEstablishState.java.

2009-11-28 sponge
    * Improvement to BOB's TCPio to hopefully lower load average. It seems
      to be helping a little when stress-tested with Robert.

zzz's avatar
zzz committed
2009-11-24 zzz
    * DataStructures: Remove unused Logs
    * OrderedProperties: Simplify, use in i2psnark
    * Profiles: Record successes in the DB fail rate
      too, so we can calculate a percentage
    * profiles.jsp:
      - Change fail rate from count to percent
      - Hide standard profiles by default
    * Streaming:
      - When an "immediate" ack is requested, do it within
        250 ms (was 2000)
      - Request immediate acks when < 1/3 of window remains,
        or when < 3 packets remain in window,
        and every 8 packets (was when < 2 packets in window remain)
      - Change requested delay to RTT/2 (was RTO/2)
      - Log cleanup and javadoc

zzz's avatar
zzz committed
    * GeoIP: Update to Nov 17 2009 data
    * Netdb Floodfill rework part 4 of N:
      - Search closest-to-the-key
      - Put closest-to-the-key in explore don't-include-list
      - Use facade's peer selector for exploration rather than
        instantiating a new one
      - Adjust response time limit
    * netdb.jsp: Add popups on flags
    * Routerconsole build: rename include files so they aren't
      compiled and bundled separately (~15KB)

2009-11-18 zzz
    * Build: Don't update the po files by default, add new
      target "poupdate" to do that.
    * Netdb:
      - Floodfill rework part 3 of N: Send closest-to-the-key
        in DSRM replies
      - Adjust criteria for following DSRM
      - Note failed floods in the profile
      - Reduce max flood

zzz's avatar
zzz committed
2009-11-16 zzz
    * addressbook: Move class to net.i2p.addressbook
    * build: Take two test scripts out of the installer
    * i2psnark: Bye TPB
    * Shitlist: Fix bug from two checkins ago, all were forever

zzz's avatar
zzz committed
2009-11-14 zzz
    * HTTP Proxy:
      - Add support for error page translations
      - Add support for external pages for all errors
      - Fix lack of \r in error page headers
      - HTML transitional fixes
      - Cleanups
    * UDP PeerTestManager: Throw in some synchronization to
      try to fix stuck tests

zzz's avatar
zzz committed
2009-11-11 zzz
    * Console: Some colon cleansing
    * FloodfillPeerSelector: Adjustments
    * Shitlist: Move HTML renderer to router console,
      add cause parameter for ease of translation,
      tag all causes

zzz's avatar
zzz committed
2009-11-11 zzz
    * Addressbook, NamingService: Allow 516 byte dests
      that end with AA but not AAAA, so we can permit
      non-null zero-length certs.
    * Console:
      - Tag tunnel status
      - Add transport table to netdb.jsp
    * i2psnark:
      - Reject torrents with too many pieces
      - Reject torrents with a single file named *.torrent
      - Increase max piece size to 2MB (was 1MB), but reduce
        max number of connections to lessen ooms
    * Netdb FloodOnlySearchJob:
      - Fix up field hiding and duplicate overrides
      - Other javadoc and java 5 improvements
    * Netdb StoreJob, FloodfillVerifyStoreJob:
      - Fix bug where reply selector wasn't registered for
        routerinfo stores, so we didn't get stats, and
        we kept retrying. This also prevented verification
        and profile updates for routerinfo stores.
        This bug was introduced 4 years ago by the change to
        store routerinfos directly.
      - Add dbStoreSuccessful() to profile, and have FVSJ
        call it or dbStoreFailed() as appropriate to give
        credit or blame to the floodfill we stored to.
      - Don't let FVSJ verify using the peer we stored to
    * Netdb Stores:
      - Floodfill rework part 2 of N:
        Store and verify closest to the key, subject to
        last-failed lookup and store stats.
      - DataHelper: Fix broken byte[] compareTo() used by XORComparator,
        was not doing unsigned comparisons!
      - FloodfillPeerSelector: Use standard XORComparator
        now that it works, instead of messing with BigInteger
      - FloodfillVerifyStoreJob: Set correct timeout for
        requeued store job (was only 10s)
      - KNDF: Rework getPeerTimout() to use 1 day averages,
        and lower the min, max, and multiplication factor.
      - Publish jobs: Lengthen timeout to 90s (was 30s for
        routerinfos and 60s for leasesets)
      - StoreJob: Limit max peer timeout to 15s for direct stores
    * Streaming: Fix unused resend delay field in the packet header,
      it is defined as seconds and we were not dividing by 1000,
      so we were truncating 1000 to one byte which equals 232.
    * UDP:
      - Better handle a test reply from bob with a 0-length IP
      - Add config options for min and max random port

2009-11-09 dr|z3d
    * New midnight blue lightweight theme; supports IE and provisions its own console_big.css
    * Streamlining and honing of console_big.css

zzz's avatar
zzz committed
2009-11-07 zzz
zzz's avatar
zzz committed
    * Console:
      - countries.txt: Convert to mixed case, include in update
      - netdb.jsp: Hide all routers by default, sort and tag country names
      - oldstats.jsp: Move to stats.jsp
      - profiles.jsp: Show new DBH times instead of counts
    * Profiles:
      - Track last good and bad lookup times
        and last good and bad store times,
        to prep for floodfill changes
      - Don't reset last-heard-about at router startup
    * Checklist and Android readme fixups

zzz's avatar
zzz committed
2009-11-04 zzz
    * Build:
      - Move some files to installer/resources
      - Fix initialNews.xml in install package
    * Console: More tagging
    * NetDb: Reduce routerinfo expiration slightly
    * Profiles:
      - Remove the almost-unused send and receive size RateStats;
        this also reduces the effective time for isActive()
      - Only store DB history on-demand to save space;
        fix up resulting NPEs
      - Savings: ~2MB heap
    * Throttle: Reduce max msg delay to 1250ms (was 1500)
    * UDP: Pick a random port on first install or bind failure -
      No more port 8887 to prevent easy state-level blocking

sponge's avatar
sponge committed
2009-11-04 sponge
    * Fixups to Slackware scripts

zzz's avatar
zzz committed
2009-10-31 zzz
    * Console:
      - More tagging
      - Show user-installed themes on configui.jsp
      - Fix reseed button spacing
    * GraphHelper cleanup
    * Susidns: add link to subscription faq

zzz's avatar
zzz committed
2009-10-29 zzz
    * Console tag fixes, bundle script fix
    * Add help target to build.xml

zzz's avatar
zzz committed
2009-10-28 zzz
    * Console:
      - Rewrite TrustedUpdate version comparator, use for netdb version table
        so 0.7.10 will be sorted correctly
      - Reduce netdb.jsp memory usage
      - More tagging fixups
      - configclients.jsp fixup for "Web console"
      - Remove limiter status from peers.jsp
      - Fix UPnP status header
    * NetDb:
      - Generate new RI immediately at startup
      - Try again to not publish RI until we have been up a few minutes

zzz's avatar
zzz committed
2009-10-26 zzz
    * Console:
      - Add parameterized tag
      - Don't save config when checking for updates on configupdate.jsp
      - Refactor confignav.jsp to java and tag
      - Start tagging profiles.jsp
      - Rework ConfigRestartBean and tag
      - More tag fixups
      - Add lang=xx for testing
      - Add file for additional tagged strings

2009-10-23 zzz
    * Certificate: Fix the (apparently unused) readBytes(byte[], int) method
      for a null certificate - http://zzz.i2p/topics/388 - thanks HungryHobo
    * Console:
      - Don't hide link to configui.jsp for IE any more
      - Add lang selection on configui.jsp
      - Tag strings in configui.jsp
      - Load console_big.css if lang == zh
      - Add _x() tag for static iniitializers
      - HTML transitional input tags
      - Rename cssHelper to intl for ease of tagging
    * Update: Better error message when .sud file not found or truncated
      http://forum.i2p/viewtopic.php?t=3979
      The bug with the file going to the wrong place was fixed a couple months ago.

2009-10-21 dr|z3d
    * Enhance index.jsp with "paperclips" for the main links
    * Tighten sidepanel layout to gain us some vertical screen real estate
    * Update news.xml with the correct link for Chinese translation page

zzz's avatar
-4  
zzz committed
2009-10-20 zzz
    * I2NP: Remove old TunnelCreateMessage and TunnelCreateStatusMessage
    * Logger: Don't kill the whole JVM if we can't open the log file
    * MessageHistory: Cleanups
    * NetDb: Move renderStatusHTML to routerconsole
    * Router Console translation infrastructure:
      - Persistent lang setting with routerconsole.lang=xx
      - Loading any page with ?lang=xx changes the persistent setting
      - Add a custom Jetty handler to load foo_xx.jsp if it
        exists for language xx. This is for jsp files with lots
        of text in them. Otherwise use inline translate methods.
        Not for included jsps.
      - Add a script to create and update messages_xx.po translation
        files, and create ResourceBundles from them
      - Add class to translate strings from cached ResourceBundles
      - Add translate wrappers to HelperBase, FormHandler, and *Renderer,
        so calls can be made from both jsp and java files
      - Add example translations on configupdate.jsp - two in
        the jsp itself and one in the helper.
      - This is for strings in routerconsole only. Will be expanded
        to other webapps and the router later.
    * summarynoframe.jsp:
      - Refactor to SummaryBarRenderer (saves 100KB)
      - Add translate tags
      - Use context RNG for nonces
      - Transitional HTML style for input tags
    * TunnelDispatcher: Drop messages that expire far in the future
    * TunnelPoolManager: Move renderStatusHTML to routerconsole

z3d's avatar
z3d committed
2009-10-16 dr|z3d
    * Extensive UI whitespace cleanups and positional finessing.

zzz's avatar
-1  
zzz committed
2009-10-16 zzz
    * Crypto: Two more test classes out of the lib
    * FloodfillMonitor: Slow down the volunteers again
zzz's avatar
-4  
zzz committed
    * i2psnark: Add TPB tracker
zzz's avatar
-1  
zzz committed
    * NetDb: Rework part 1 of N:
      - Flood only to those closest to the key
      - Java 5 fixups
zzz's avatar
-4  
zzz committed
    * oldconsole.jsp: Remove almost all of it, add lines for tino
zzz's avatar
-1  
zzz committed
    * ProfileOrganizerRenderer:
      - Move to routerconsole
      - Write directly to Writer for speed
    * Router: Add router.hideFloodfillParticipant option for testing
    * StatisticsManager: Cleanup after release

* 2009-10-12  0.7.7 released

2009-10-11 zzz
    * Misc. cleanups after review, prep for release

zzz's avatar
zzz committed
    * ElGamalEngine: Fix rare AIOOBE (thanks hottuna!)
    * I2PTunnel: Fix persistent client tunnel keyfile location
zzz's avatar
zzz committed
    * peers.jsp: Fix NTCP rate formatting (thanks hottuna!)
2009-10-09 dr|z3d
    * Add paste.i2p2.i2p, and echelon's software links to readmes (thanks 
      to GoHE for Swedish translations); cosmetic tweaks to same.
    * Various optimizations and tweaks to all 3 themes.

zzz's avatar
zzz committed
2009-10-07 zzz
    * Doc and eepsite_index updates
    * UDP: Remove port number from thread names

2009-10-04 zzz
    * i2psnark: Fix NPE caused by last checkin (thanks wuxia!)

zzz's avatar
zzz committed
2009-10-02 zzz
    * BuildMessageTest: Move out of the lib
    * i2psnark: Fix changing opentracker list
    * Makefile.gcj: fixups
    * OCMOSJ: Fix SKM NPE on closed dest
    * ProfileOrganizerRenderer: static tweaks
    * SusiDNS: HTML transitional fixes, might help opera
    * Tunnel IVValidator: Increase size of bloom filter
      for high-bw routers (>= 512KBps share bw) to reduce
      false positive rate. Adds 2MB heap for >= 512KBps routers
      and 6MB for >= 1536KBps.

2009-09-21 sponge
    * fixups to SlackBuilds. requiredbuilder does the wrong thing, and
      thinks that java is perl! This isn't really a big deal, 
      the file format is simple enough and the requirements are known.

2009-09-07 mkvore
    * removes a SAM v1&2 bug

2009-09-04 zzz
    * SessionKeyManager, OCMOSJ, Garlic:
      - Enable per-client SessionKeyManagers for better anonymity
      - tagsDelivered() now means tags are sent, not acked.
      - OCMOSJ uses the new TagSetHandle object returned from tagsDelivered()
        to call tagsAcked() or failTags() as appropriate.
      - Assume tags delivered on an established session to
        reduce streaming lib stalls caused by massive tag deliveries;
        should increase throughput and window sizes on long-lived streams
      - Unacked tagsets on a new session are stored on a separate list
      - Don't kill an OB Session just because it's temporarily out of tags
      - Increase min tag threshold to 30 (was 20) due to new speculative
        tags delivered scheme, and to increase effective max window
      - More Java 5 and dead code cleanups, and more comments and javadoc,
        debug logging cleanups
      - Key toString()s for easier debugging
      - HandleGarlicMessageJob: cleanup of unused things
    * Tunnel TestJob:
      - Consume the tag after a failed test so it doesn't
        stay in the SKM
      - Disable tests with router.disableTunnelTesting=true
    * configkeyring.jsp: Add delete and cancel buttons
    * Logging: Fix directory for rotated log
    * TunnelDispatcher: Cleanup

sponge's avatar
sponge committed
2009-09-02 sponge
    * Small logic fix for dr|z3d

zzz's avatar
zzz committed
2009-08-28 zzz
    * Client: Fail if no date handshake after 30s or no leaseset
      after 5m, rather than hanging forever.
    * Console:
      - Prevent OOMs in NewsFetcher or StatsSummarizer from
        killing the router
      - Fix favicon (-17)
    * Data: Speed up many hashcodes
    * DataHelper: Fix byte array hashcode for small arrays
    * DecayingBloomFilter:
      - Replace with new DecayingHashSet for 3 of 4 uses,
        and also in the 4th if the router is low-bandwidth.
        Saves 8 MB heap.
    * EepGet, I2PSnark:
      - New I2PSocketEepGet fetches through existing tunnels
        rather than through the proxy
      - Use new eepget for i2psnark
      - Add a fake user agent for non-proxied fetches
      - Cleanups
    * NetDb:
      - oops, store leaseset locally even when shutting down
        (fix -16)
      - Java 5 cleanups
    * PRNG:
      - Rename config option to prng.buffers (was router.prng.buffers)
      - Change the default from 16 to 2 for I2PAppContext (saves 3.5MB)
    * Tunnel:
      - Adjust the random drop probability for the message size
      - Concurrentify HashSetIVValidator
    * TunnelPool:
      - Don't test tunnels when shutting down
      - Less rates
      - Java 5 cleanups

zzz's avatar
zzz committed
2009-08-24 zzz
    * ClientManager:
      - Prevent client destination theft by rejecting duplicates
      - Java 5 cleanups
    * Console:
      - Put favicon on every page
      - Make every page UTF-8, ☃ safe for snowmen
      - Remove options boxes on configtunnels.jsp
      - Fix UTF-8 form submission (i2ptunnel too)
      - Throw 403 instead of 404 from flags.jsp and viewstat.jsp
        so we don't render error.jsp
    * I2CP: Fix the SessionConfig serializer in DataHelper,
      so that UTF-8 tunnel names are not corrupted by
      I2CP and can be displayed on the console
    * Message: Move 2 unused classes out of the router lib (~15KB)
      (more SKM prep)
    * Message, I2PSession, SessionKeyManager, Console:
      Prep for SessionKeyManager work in the router -
      Fix up SKM renderStatusHTML(); add debug.jsp to see it;
      Redefine getClientSessionKeyManager();
      More cleanups
    * Ministreaming: Kill deprecation warnings
    * profiles.jsp: Bulletproofing, less memory usage
    * Streaming, I2PSession:
      Prep for SessionKeyManager work in the router -
      Comment out, deprecate, and javadoc for unused keys and tags,
      they are vestiges of end-to-end crypto
    * Updates: Verify zip at startup before extracting
    * Wrapper: Take a couple fields out of the log so it's narrower

2009-08-20 zzz
    * Config files:
      - Add some path and encoding help
    * configclients.jsp: Add full path to config file
    * configpeer.jsp: Limit max displayed banned IPs
    * Console:
      - Don't display firewall warning unless it's real
      - Cleanups
    * DataHelper, I2PTunnel, Router:
      - Save config files in UTF-8 rather than the default encoding,
        since we read them in UTF-8!
    * eepsite_index_de.html: localhost -> 127.0.0.1
    * i2psnark: Add size total
    * I2PTunnel:
      - Make IRC Proxy non-shared, delayed-start, close-on-idle
        for new users, for the anonymity benefits (see "Shared Clients,
        Correlation and Collusion" http://zzz.i2p/topics/217 )
      - Remove "experimental" flag on new client options
    * Jetty build: More clean targets
    * jetty.xml: Change encoding to UTF-8
    * jobs.jsp: Cleanup
    * logs.jsp: Add system encoding
    * Ministreaming: Cleanups, deprecation, move demos out of the lib
    * netdb.jsp: Flags for leases
    * NTCP: Clean up clock skew shitlist message
    * profiles.jsp:
      - Rename the Failing column
      - Reduce the time cutoff again to 90m (was 2h)
    * readme*html: localhost -> 127.0.0.1
    * Router: Don't do some things when we are shutting down
    * Shitlist: Clean up expire message
    * Stats:
      - Fix BufferedStatsLog so it works at all
      - Don't instantiate BufferedStatsLog unless stats.logFilters
        property is defined (restart now required to enable logging)
        This eliminates the StatLogWriter thread and a decent
        amount of memory.
      - Move two CLI classes out of the lib
      - Commment out places where getStatLog() isn't checked for null
      - Cleanups
    * Transports: Lower conn limit factor to 50 (was 60)
    * Update:
      - Fix problems where a requested unsigned update would actually
        kick off a signed update
      - Fix problem when policy set to notify, and clicking
        check for update, incorrectly causing unsigned update download
        and bad messages
      - Verify zip integrity of unsigned updates
      - Move zip files to router dir, not base dir
      - More tweaks and cleanup
    * VMCommSystem fixups
    * WorkingDir: Ensure modified files are processed with UTF-8 encoding
    * XmlPull: Remove, unused.

2009-08-19 sponge
    * Java code to set Router Console password for dr|z3d

2009-08-18 dr|z3d
    * Fixes for sidepanel
    * Overhauled classic theme for i2ptunnels
    * First stage of code validation to fix broken and "illegal" code
    * Multifarious other UI tweaks and fiddles.

sponge's avatar
sponge committed
2009-08-15 sponge
    * Merge in dr|z3d and my own html fixes for router console java and jsp
      files so that Opera (and now IE?) doesn't puke anymore on the missing 
      and misplaced HTML tags.
    * Optimized all jsp files so that they are shorter to save space, which
      is then used to fix the broken HTML. We should break even space-wise.
    * Bump to -13.

sponge's avatar
sponge committed
2009-08-11 sponge
    * Code Janitor time! Many fixes and documenting fixes that should be
      done in the future. for the most part, this is a general code cleanup.
    * On smaller/embedded systems, the "final" keyword cleanups will have
      more of an impact than on larger systems.
    * Document missing hashCode() methods.
    * Unhide more variables to make code easier to read.

2009-08-11 zzz
    * Android:
      - Merge in the branch
      - Build instructions in the android/ dir
      - Rename HMac to I2PHMac to avoid android lib conflicts
      - Configurable number of PRNG buffers in AsyncFortunaStandalone
        (router.prng.buffers=16) to control memory use - these
        are 256KB each.
      - Configurable size of the DecayingBloomFilters
        (router.decayingBloomFilterM=23) to control memory use - there
        are 4 pairs of these (8 total), each 2**(M-3) bytes,
        or 8MB total for M=23.
      - There's at least two unsolved fatal problems:
        1) Most of the routerinfo signature verifications fail,
           including our own
        2) It randomly dies after a while
    * Console:
      - Rename the shitlist and the blocklist
      - Try to reduce servlet problems on iframe
      - Select server or client icon for local dests
    * EepHead: New
    * Move StatsGenerator from router to routerconsole
    * Move the unused AdminManager from router to the apps directory
    * NetDb stats: Hide part. tunnel total events, effective next release
    * Router: Comment out dead oldconsole code
    * Updater:
      - Add new unsigned update option, triggered by
        last-modified date, using the new EepHead.
        Buttons still are not hidden after download complete.
      - Make the .sud updater use the temp dir when proxied
      - Several cleanups

z3d's avatar
z3d committed
2009-08-11 dr|z3d
    * Extensive sidepanel overhaul
      - Ensure all sidepanel headings link to pertinent pages
      - First stage of enhanced Local Destinations sub-panel presentation
      - Move Configuration, Help, and I2PTunnel manager links to headings
      - Add tooltips to all linked content; table content next in line
z3d's avatar
z3d committed

2009-08-07 dr|z3d
    * summarynoframe.jsp
      - Main content now tabulated for better presentation
      - Headings now more prominent
      - Pruning where necessary of text strings
    * Console themes (light/dark/classic)
      - Ensure functionality with new sidepanel layout
      - Custom hacks for IE/classic
      - Enhanced form/button presentation    

zzz's avatar
-8  
zzz committed
2009-08-07 zzz
    * build.xml:
      - Try to automate the release process
      - Take jetty back out of the updater after 4 releases
    * Console:
      - Add a custom error page
      - Don't count ourselves in known peers
      - Hide update button when shutting down
      - Increase skew warning threshold to 3s (was 100ms)
      - Remove UTC time from summary bar
      - Truncate long dest names
      - Try to reduce servlet problems on index page
    * Core:
      - Catch unzip fd leaks on error
      - Move 2 test classes out of the lib
    * Eepsite:
      - Quote the jetty.xml path in clients.config,
        and adjust the migration function, to fix the
        eepsite-won't-start bug on windows
    * HTTP Proxy:
      - Restore the localhost error message
      - Catch 127.0.0.1:xxxx addresses too
    * I2PTunnel:
      - Move the privkey files from the app dir to the
        config dir, in preparation for splitting the two
        dirs by default
    * Ministreaming:
      - Make getInt() static
      - Move the big TestSwarm class out of the lib
    * NetDb stats: Post-release cleanup
    * PersistentKeyRing: Fix broken storage of keys in config file
    * Router: Move the WorkingDir class from i2p.jar to router.jar
    * Streaming: New option i2p.streaming.answerPings (default true)
    * Timestamper: Don't start thread if not enabled
    * Wrapper:
      - Extend timeout to 20s (was 5s)
      - Shorten ping interval to 5m (was 10m)

2009-08-03 dr|z3d
    * Extensive update to the Classic theme; custom css hacks for IE.

2009-08-02 dr|z3d
    * Better support for Internet Explorer/classic theme.
    * Incremental improvements to classic theme.
    * More UI tweaks and fiddles. 
z3d's avatar
z3d committed
    * Fixes for I2PSnark UI; more to come.
    
2009-07-31 dr|z3d
    * Resolve anomalous buttons and text fields in console ui. 
    * Enhance presentation of data in /peers.jsp.
    * Fix themes issue with horizontal width of radio/checkbox icons.
    * Other cosmetic UI enhancements.

zzz's avatar
zzz committed
* 2009-07-31  0.7.6 released

2009-07-31 zzz
    * Update versions, package release
    * Fix snark.css link
    * Revert graph antialias enable
    * Remove <center> from iframe head
    * Fix tunnels.jsp HTML
    * Prevent linux-only installer screen from displaying on windows

zzz's avatar
zzz committed
2009-07-28 zzz
    * Add new reseed URL (thanks eche|on!)

2009-07-27 zzz
    * Add flag dimensions to speed up profiles.jsp rendering
    * Catch i2psnark create torrent with no data entered error
      http://forum.i2p/viewtopic.php?t=3763
    * Fix typos in proxy error files

2009-07-26 zzz
    * Add wrapper.config and i2prouter comments for 'portable'
    * Recognize same base and config dir in WorkingDir
    * Reformat XInfoPanel in installer for clarity

2009-07-25 dr|z3d
    * Enhance the layout of /graphs.jsp
    * Fix some of the irks in I2PSnark UI.
    * Ongoing tweaks and fiddles to the themes' css. Not finished by any means!
2009-07-24 zzz
    * Eepsite: Add Deutsch index page and css (thanks sperrbezirk!)
    * Router: Support i2p.dir.base and i2p.dir.config passed in via properties
    * Throttle: Decrease default max tunnels to 2500

2009-07-23 dr|z3d
    * Include additional tile graphics and I2PSnark header logo in /console/images/
    * Tidy up some layout irks; add some last minute 0.7.6 pre-release sparkle!
    * Ongoing overhaul of the I2PSnark UI.

sponge's avatar
sponge committed
2009-07-23 sponge
    * Add bob.i2p and sponge.i2p keys to hosts.txt

sponge's avatar
sponge committed
2009-07-23 sponge
    * Fix jdk 1.6izm in BOB as per zzz

2009-07-22 dr|z3d
    * More work on the I2PSnark UI.
    * Start of improvements to tunnel table data.
    * Ongoing theme enhancements.

2009-07-21 dr|z3d
    * First stage of overhaul of webapps ui. 
      susidns, susimail & i2psnark now lightly themed.
    * Proxy error messages now themed as per chosen theme.
    * Modest tweaks to the classic theme, et al.

2009-07-21 zzz
    * configclients.jsp: Close anchor
    * Console: Drop top-level css, unused now
    * Eepsite: Add default robots.txt (thanks v1v4)
    * GeoIP: Add license info
    * HTTP Proxy: Additional proxy.i2p restrictions
    * ServiceManager: Drop, unused

zzz's avatar
zzz committed
2009-07-20 zzz
    * BuildHandler: Increase threshold for dropping instead
      of rejecting to 81% (was 75%)
    * Console: Hide configui.jsp from IE, disable selection
    * GeoIP: Fix minor bugs (thanks Arsene)
    * graphs.jsp: Reduce refresh time to eliminate double iframe load
    * HTTP Proxy: Fix proxy.i2p "home page" (thanks dr|z3d)
    * I2PSnark: Remove Postman tracker
    * Peer Profiles:
      - Reduce max age for display to 2h (was 3h)
      - Drop unused Persist classes
      - Dynamically adjust expire time to control memory use
      - Increase reorganize time to 45s (was 30s) to reduce CPU use
        and lock contention
      - Remove some stat rates
      - Delay start of PeerTestJob
    * Stats: Increase coalesce time to 50s (was 20s) to reduce CPU use
    * summarynoframe.jsp: Cleanup
    * Transports: Reduce the number of Rates

zzz's avatar
zzz committed
2009-07-16 zzz
    * HTTP Proxy: Themes for error pages

sponge's avatar
sponge committed
2009-07-16 sponge
    * ministreaming:
      - small pedantic fix
    * streaming:
      - Fix a deadly race condition.
      - Some small pedantic fixes.
    * core:
      - Fix a deadly race condition.
    * BOB:
      - Fixed some races that occured from fixing races in streaming and core.
      - Some badly needed code refactoring to depend less on the database.

zzz's avatar
zzz committed
    * Console:
      - Make light the default theme
      - Convert readme_zh.html from GB2312 to UTF-8
    * Installer: Don't launch the router from the postinstall.sh script
      on linux anymore; add a panel to the installer to provide launch instructions.

sponge's avatar
sponge committed
2009-07-15 sponge
    * Slackware SlackBuild fixes.

2009-07-14 dr|z3d
    * Increment to 0.7.5-10
    * Tidy up layout of readme.* files.
    * Work on console css to make it more Opera/webkit friendly.
    * Other cosmetic tweaks.

zzz's avatar
-9  
zzz committed
2009-07-13 zzz
    * Build: Add readme*.html files to the udpater
    * Build Handler: Don't reject for conn limits if class O,
      under the assumption that they are already talking
      to most of the routers, so there's no reason to reject. This may drive them
      to their conn. limits, but it's hopefully a temporary solution to the
      tunnel build congestion. As the net grows this will have to be revisited.
    * Throttle: Increase default max tunnels to 3000,
      to give us more capacity during congestion
    * Tunnels: Change the default variance from 1 to 0.
      Under the one-packet-enough theory, and the fact that most
      tunnels in a x+1 pool are of length x, variable lengths
      don't really help that much. Also, a default of 1 led
      to all sorts of problems with iMule/SAM, who was not
      setting the variance properties.
      This will affect exploratory tunnels for new users,
      and those that have never saved a change on configtunnels.jsp,
      and iMule users 1.4.5 and earlier.

zzz's avatar
zzz committed
2009-07-12 zzz
    * Add configui.jsp
    * orange flash remove take 2

2009-07-11 zzz
    * netdb.jsp: Fix bad tag causing orange mouseovers

z3d's avatar
z3d committed
2009-07-11 dr|z3d
    * More enhancements to the router console, consolidation of the
      light and dark themes.     
      - Apply new themes with routerconsole.theme=light/dark/classic
        added to advanced config.

zzz's avatar
-6  
zzz committed
2009-07-11 zzz
    * Build Handler: Drop rather than reject requests when near
      conn limits and the next hop is not connected, to reduce
      connection congestion
    * Console: Force IE to the classic theme
    * I2PSnark:
      - Bring back details links for Postman2 B64 torrents
    * I2PTunnel:
      - Make reduce-on-idle the default for all the shared clients
        for new installs (15m)
    * Profile Organizer:
      - Allow NTCP-only peers in inbound tunnels
    * Transports:
      - Move from a single connection limit threshold (80%) to
        two (75% and 87%), and only start rejecting tunnels
        at the higher threshold, to increase build success
      - Move some limit methods from the transports to TransportImpl
      - Add limit methods with a threshold argument
      - Increase default SSU conn limits a little more

2009-07-07 dr|z3d
    * Introducing 2 new console themes (light & dark), in addition
      to changes to the console navigation; navbar now resides in 
      the sidepanel and other stuff besides. More to follow!
z3d's avatar
z3d committed

zzz's avatar
-4  
zzz committed
2009-07-06 zzz
    * Console: Fix small textareas on Opera
    * EepGet: Don't send X-Accept-Encoding for non-proxied fetches
    * HTTP Proxy: Limit proxy.i2p to /themes/ directory
    * I2PSnark:
      - Change postman2 announce URL to use hostname rather than B64
      - Shorten torrent name to fit better on one line
    * I2PTunnel:
      - Add edit text
      - Fix broken favicon
    * Move almost all uses of StringBuffer to StringBuilder,
      for efficiency (thanks Arsene for the suggestion)
    * Reseed:
      - Fix console status messages broken by global replace
      - Remove tino, add b.netdb.i2p2.de
    * SSUDemo: Move to the router/java/test directory
    * Startup: Log clients.config problems
    * Transport: Implement NTCP auto-transition from an
      address to no address, so that inbound NTCP is disabled
      after SSU detects a firewall. When UPnP was apparently successful
      but the router is still firewalled (due to an additional
      software firewall or a bad UPnP indication, for example)
      the router will now remove the NTCP address.

sponge's avatar
sponge committed
2009-07-05 sponge
    * Added X-I2P-DestB64 and X-I2P-DestB32 http headers

2009-06-29 zzz
    * Big directory rework:
      Eliminate all uses of the current working directory, and
      set up multiple directories specified by absolute paths for various uses.

      Add a WorkingDir class to create a user config directory and
      migrate certain files to it for new installs.
      The directory will be $HOME/.i2p on linux and %APPDATA%\I2P on Windows,
      or as specified in the system property -Di2p.dir.config=/path/to/i2pdir
      All files except for the base install and temp files will be
      in the config directory by default.
      Temp files will be in a i2p-xxxxx subdirectory of the system temp directory
      specified by the system property java.io.tmpdir.

      Convert all file opens in the code to be relative to a specific directory,
      as specified in the context. Code and applications should never open
      files relative to the current working directory (e.g. new File("foo")).
      All files should be accessed in the appropriate context directory,
      e.g. new File(_context.getAppDir(), "foo").

      The router.config file location may be specified as a system property on the
      java command line with -Drouter.configLocation=/path/to/router.config
      All directories may be specified as properties in the router.config file.

      There will be no migration from an existing installation
      unless the system property -Di2p.dir.migrate=true is set.
      If there is no migration, it will continue to use $I2P for all files,
      except for temporary and PID files.

      The following linux scripts are now customized with the install path at,
      installation, and may be moved to /usr/local/bin and run from any
      working directory:
          eepget, i2prouter, runplain.sh

      For new installs, the i2p base directory ($I2P) may be read-only
      if updates are disabled. The only time i2p should write to the base directory
      is to unzip the update file. Updates are downloaded to the config dir. If, upon
      restart, the base dir is not writable, it will log a message and continue.

      Additional information, copied from I2PAppContext:

      #  Directories. These are all set at instantiation and will not be changed by
      #  subsequent property changes.
      #  All properties, if set, should be absolute paths.
      #
      #  Name	Property 	Method		Files
      #  -----	-------- 	-----		-----
      #  Base	i2p.dir.base	getBaseDir()	lib/, webapps/, docs/, geoip/, licenses/, ...
      #  Temp	i2p.dir.temp	getTempDir()	Temporary files
      #  PID	i2p.dir.pid	getPIDDir()	router.ping
      #  Config	i2p.dir.config	getConfigDir()	*.config, hosts.txt, addressbook/, ...
      #
      #  (the following all default to the same as Config)
      #
      #  Router	i2p.dir.router	getRouterDir()	netDb/, peerProfiles/, router.*, keyBackup/, ...
      #  Log	i2p.dir.log	getLogDir()	logs/
      #  App	i2p.dir.app	getAppDir()	eepsite/, ...
      
      *  Note that the router can't control where the wrapper actually puts its files.

      All these will be set appropriately in a Router Context.
      In an I2P App Context, all except Temp and PID will be the current working directory.

      Related changes:
      i2prouter:
      - Don't cd to script location, no longer required
      jbigi, cpuid:
      - Extract files from jar to temp dir, load from that dir, then
        copy to the base dir if we have permissions (and failing silently
        if we don't), so we have optimized libs and no complaints
        when we have a read-only base dir.
      logs.jsp:
      - Get wrapper log location from a property too
      - Display log file locations
      RouterLaunch:
      - If no wrapper, put wrapper.log in system temp dir
        unless specified with -Dwrapper.logfile=/path/to/wrapper.log
        or it already exists in CWD (for backward compatibility)
      - Append rather than replace wrapper.log
      - Pass wrapper log location to router as a property, so that logs.jsp can find it
      runplain.sh:
      - Add path substitution to runplain.sh on install
      - Pass I2P base dir to the router as a property
      Systray:
      - Fix NPE if no config file
      wrapper.config:
      - Put wrapper.log in system temp dir for new installs
      - Pass I2P base dir to the router as a property

2009-06-29 zzz
    * HTTP Proxy:
      - Add simple web server for "proxy.i2p" to serve
        images and CSS for the error pages
      - Take CSS out of the error pages; use internal server
        for CSS, image, and favicon
    * i2psnark build:
      - Move FetchAndAdd to static inner class
      - Fix standalone build to include i2psnark.jar since classes
        aren't in the .war anymore
      - Have standalone jetty use I2PAppContext temp directory
      - Replace launch-i2psnark.jar with launch-i2psnark script,
        since RunStandalone is in i2p.jar
      - Clean up jetty-i2psnark.xml, turn off jetty logging
      - Remove standalone build from the pkg target in the main build.xml
    * Jbigi, CPUID:
      - Reduce memory demand on startup from 4MB to 4KB each
    * NetDb: Fix an NPE on early shutdown
    * Reseeding / NetDb:
      - Move reseeding from the routerconsole app to
        the router, so that we can bootstrap an embedded router lacking a routerconsole
        (iMule or android for example), without additional modifications.
        This allows better integration between the reseeding function
        and the netDb.
      - Call reseed from PersistentDataStore, not from the
        routerconsole init, and start seeding as soon as the netdb has read
        the netDb/ directory, not when the console starts.
      - Wake up the netdb reader as soon as reseeding is done,
        rather than waiting up to 60s.
      - Don't display the reseed button on the console until the
        netdb initialization is done.
    * RouterConsoleRunner:
      - Catch a class not found error better

zzz's avatar
zzz committed
2009-06-29 zzz
    * Console: Convert table headers to <th> to prep for CSS changes
    * Console CSS: Move css file, make a classic theme to prep for CSS changes
    * Console: Move favicon.ico and i2plogo.png out of the .war
      so that the HTTP proxy can use them directly;
      proxy error pages must be updated next
    * NetDb stats: Normalize tunnel build stats for increased anonymity,
      effective in 0.7.6

sponge's avatar
sponge committed
2009-06-30 sponge
    * General cleanup on streaming and ministreaming.
      This fixes some compile warnings, and prepares for a larger fix.
      There is no code-flow changes, just lint. One warning remains as I am
      unsure exactly how to solve the problem yet.

* 2009-06-29  0.7.5 released

2009-06-29 Complication
    * Update versions, package release
    * Remove the last reference to my eepsite as a "news.xml" source,
      and likewise stop my public key from being included
      among valid release signing keys.

sponge's avatar
sponge committed
2009-06-25 sponge
    * Summary frame layout change so it makes sense.

zzz's avatar
-4  
zzz committed
2009-06-23 zzz
    * Browser Launch: Add sensible-browser, x-www-browser, defaultbrowser, and
      www-browser in an attempt to launch the user's preferred browser
    * configupdate.jsp: Cleanup
    * Installer: Include console.css!!!
    * NTCP: Try again to prevent two Event Pumpers
    * Update: Increase max retries
    * UPnP: Catch AIOOBE reported by tuna

zzz's avatar
-3  
zzz committed
2009-06-21 zzz
    * Browser Launch: Wait until the routerconsole is up before launching the browser
    * Installer: Fix wrapper.config parsing on windows
    * netdb.jsp: Add country chart at bottom, clean up version chart
    * News Fetcher:
      - Change default news URL, use it instead of the old one even if
        the old one is saved in the configuration, to assist in the transition
    * ReseedHandler:
      - check for upper case HREF to be compatible with apache indexes
    * Statistics Manager: post-0.7.4 cleanup
    * Transport: Treat 5.0.0.0/8 (Hamachi) as local

mathiasdm's avatar
mathiasdm committed
2009-06-17 Mathiasdm
    * desktopgui:
      - Added client and server tunnel view
        (saving does not work yet)

zzz's avatar
zzz committed
2009-06-17 zzz
    * PeerSelector:
      - Limit exploratory tunnels to connected peers when over
        half the connection limit (was 80%)
      - Have the high capacity tier fall back to a new connected tier
        before moving on to the not failing tier
        so that tunnel build success doesn't collapse and drive
        connections to the limit
    * PeerTestJob:
      - Limit to connected peers

zzz's avatar
-1  
zzz committed
2009-06-12 zzz
    * Console:
      - Move the console css from default.css in the .war to docs/themes/console/console.css,
        and support console themes in the main console with routerconsole.theme=foo
      - Remove unused NoticeHelper

    * Installer:
        Upgrade to izpack 4.3.0 and add a short script to fix Vista install problems.
        (previous izpack was 3.7.2 from 2005-04-22)
        
        izpack 4.3.0 from :
        http://dist.codehaus.org/izpack/releases/4.3.0/IzPack-install-4.3.0.jar
        SHA1 f06da6b26ac2c68fed64ab38980352989b8d8841
        (no signatures or sha1sums found on website, and the jar is unsigned)
        License: Apache 2.0
        
        upack izpack:
        java -jar IzPack-install-4.3.0.jar
        or
        java -jar IzPack-install-4.3.0.jar -console
        
        get the standalone-compiler.jar from the installation lib/ directory:
        SHA1 6d2b4a5657bfb864a333b1c4b1c0f8223aa57d80
        (no signatures or sha1sums found on website, and the jar is unsigned)
        
        This fixes the bug with the install windows centered in all the
        workspaces, not the current workspace. And who knows what other
        bugs in the last 4 years.
        
        To fix Vista (and presumably Windows 7) permissiom problems,
        add a run-privileged flag for those, and run the new fixperms.bat
        which calls icacls to add the privileges to the install directory.
        
        Add support for 6 more language packs found in the new release.
        Change from ISO3 codes to native language names.
        
        Disable creation of the i2p.tar.bz2 file in build.xml
        (distributed as i2pheadless-0.7.x.tar.bz2), as izpack 4.3.0 now
        supports headless installation with java -jar i2pinstall.exe -console.
        Update INSTALL.txt and INSTALL-headless.txt accordingly.

      - Add install and temp path substitution to wrapper.config and
        i2prouter on install

      - Change the wrapper.config classpath to one line: lib/*.jar
        This means we lose control of classpath load order, so move the windows installer
        jars copy.jar, delete.jar, and exec.jar to a new installer/ directory so
        these jars won't be in the classpath or potentially conflict, since
        copy.jar and delete.jar include FileUtil.class, and we don't want to have
        to remember to add them to the updater if we ever change FileUtil.class.
        Delete the installer/ directory in postinstall.sh since it is windows-only.

    * Watchdog: Only try to dump threads if there is a wrapper
         and we aren't on windows

* 2009-06-12  0.7.4 released

2009-06-12 Complication
    * Update versions, package release

zzz's avatar
zzz committed
2009-06-09 zzz
    * NTCP: Fix startup race NPE (thanks postman!)

sponge's avatar
sponge committed
2009-06-08 sponge
    * Last commit for this cycle. All debugging except for WARN removed.
      I can use the visit command to debug now anyway.

sponge's avatar
sponge committed
2009-06-08 sponge
    * Removed BOB debugging as-per zzz

sponge's avatar
sponge committed
2009-06-08 sponge
    * Fixed NPE and some other goofups in BOB.
    * BOB bump version

zzz's avatar
zzz committed
2009-06-07 zzz
    * Build file:
      - Add updaterWithJettyFixesAndGeoIP, use it in pkg for one release
      - Cleanups
    * Console:
      - netdb.jsp cleanup
      - tunnels.jsp cleanup
zzz's avatar
zzz committed
    * ExploratoryPeerSelector:
      - Limit to connected peers when near connection limit
zzz's avatar
zzz committed
    * Timestamper:
      - Use locale country if geoip unavailable
    * Transport:
      - Lower min NTCP idle time to 3m (was 5m)
      - Increase SSU conn limit by 33%
    * UPnP: Fix deprecation warning
    * Watchdog:
     - Defang him again

sponge's avatar
sponge committed
2009-06-06 sponge
zzz's avatar
zzz committed
    * Added BOB's license to licenses
sponge's avatar
sponge committed
    * Janitorial javadoc fixes *sigh*
    * bump to -13

sponge's avatar
sponge committed
2009-06-05 sponge
    * Merge and bump to -12

sponge's avatar
sponge committed
2009-06-05 sponge
    * BOB now cleans up tunnels, although they can take up to 5 minutes to
      disapear. This is due to the fact that the streaming lib doesn't
      actually remove the connections properly and kill them off when the
      manager is destroyed. I'm not certain if this is a bug, or a feature,
      but it sure is annoying, and you have to wait for the connections to
      time out. What should happen is the streaming lib should cause an IO
      error to the pending read or write.

zzz's avatar
zzz committed
2009-06-05 zzz
    * Build file:
      - Add license info for launch4j includes
    * Console:
      - 16x11 transparent flags for ch and np, thanks anonim!

sponge's avatar
sponge committed
2009-06-04 zzz
    * Console:
zzz's avatar
zzz committed
      - Update geoip file to June 3 version
sponge's avatar
sponge committed
      - Hide some controls if no wrapper on configservice.jsp
    * I2PTunnel:
      - Fix bug where delayed-open and close-on-idle tunnels would
        use a different tunnel pool instead of building their own
      - Add standby indication to web page
    * NetDb:
      - Try to talk directly to a floodfill if we don't know enough,
        to help integrate more quickly
      - Change a no-floodfill error to a warn
    * NetDb Stats:
      - Average TX and RX bw stats for additional anonymity,
        effective in next release
    * Reseed:
      - Limit to 200 pulled randomly from the full fetched list
    * Transport:
      - Increase default bw for new installs to 96/40
        (was 64/32). This is as high as we can go upstream
        without making the default class M.
    * Watchdog:
      - Allow disabling by property again
      - Logging tweaks

zzz's avatar
zzz committed
2009-05-30 zzz
    * Console:
      - config.jsp now cause graceful restart
      - More peers.jsp and profiles.jsp cleanup
      - tunnels.jsp improvements
      - Use CSS for form messages
      - Goodbye nonce spoof messages (sorry jr)
      - config.jsp: Comment out unused burst config code
      - Don't forget Serbia!
      - configadvanced.jsp cleanup
    * LoadTestManager: Delete, unused
    * Peer Selector: Make strict order opaque to hash value
    * SendGarlicMessageJob: Delete, unused
    * Session Keys:
      - Don't instantiate unused SessionKeyPersistenceHelper
      - Use TransientSessionKeyManager instead of PersistentSessionKeyManager
      - Add generics to TransientSessionKeyManager to help understand it
      - Change initial session map size to 64 (was 1024)
      - Prepare for per-destination SessionKeyManagers in ElGamalAESEngine
      - More stubs for per-destination managers in the client manager
    * Transports:
      - Adjust bids when near conn capacity
    * UDP:
      - Remove unused stats and test code
      - Only save IP when it changes
    * UPnP:
      - Prevent NPE after ParserException
      - Tweak to help startup problems?
      - Retry port forward if it fails
      - Make peers.jsp display faster
      - Lengthen POST timeout
      - More comments

2009-05-29 sponge
    * added big fat start/stop lock into BOB
    * added zap command to shut down BOB... now we need a way to start it
      after it stops. :-)

2009-05-27 Mathiasdm
    * Increase sendProcessingTime some more, add a property to configure.
      Configure with 'router.defaultProcessingTimeThrottle'.

2009-05-27 Mathiasdm
    * Increased sendProcessingTime limits and added testSuccessTime
      to avoid unwanted throttling

2009-05-26 Mathiasdm
    * Throttling extension by looking at sendProcessingTime

zzz's avatar
-7  
zzz committed
2009-05-26 zzz
    * Console:
      - configlogging.jsp cleanup
      - Flags tweak
    * NetDb:
      - Don't send our own hash in the don't-include list when exploring
      - Remove any pending write when removing a RouterInfo
      - Cleanup to use routerHash()
    * Streaming: Hopefuly fix infinite loop in the SYN queue handler

zzz's avatar
-6  
zzz committed
2009-05-25 zzz
    * GeoIP:
      - Save our own location in the config
      - Check whole netDb at startup (last try didn't work)
    * NTCP:
zzz's avatar
-7  
zzz committed
      - Increase routerinfo send frequency to every 90m (was 9h)
zzz's avatar
-6  
zzz committed
      - Don't send 3 floodfill infos at startup or with routerinfo
    * Profile Organizer: Increase min fast peers based on
      number of local destinations
    * Timestamper:
      - Use GeoIP to query a closer ntp source if available
      - Lengthen query time if well-synced
      - Cleanup

2009-05-24 mkvore
    * SAM: logging some exceptions at INFO level instead of ERROR

mkvore-commit's avatar
-5  
mkvore-commit committed
2009-05-24 zzz
    * Connection limits / throttle:
      - Better limits when no inbound TCP
        (limit inbound and outbound separately)
      - Don't offer to SSU introduce when near connection limit
    * Console:
      - Move flags from icons/ to docs/icons
      - peers.jsp cleanup
      - Add readme_zh.html
    * GeoIP:
      - Check netDb SSU IP too
      - Check whole netDb at startup
    * NTCP: Log who is sending us big messages
    * UPnP: Move logging from wrapper log to router log

mathiasdm's avatar
mathiasdm committed
2009-05-23 Mathiasdm
    * Router netDB:
      - Added flags to the netDB page

mathiasdm's avatar
mathiasdm committed
2009-05-22 Mathiasdm
    * desktopgui:
      - Updating works in general config
      - Switched to Swingworker threads for improved responsiveness

zzz's avatar
zzz committed
2009-05-21 zzz
    * Router Watchdog:
      - Log memory stats
      - Dump threads on linux
      - Restart after 20 minutes (give the dog his teeth back)

zzz's avatar
-2  
zzz committed
2009-05-21 zzz
    * DataStore:
      - Adjust interface to have persistent and non-persistent methods,
        to prepare for partial storage in RAM
    * ExpireRoutersJob:
      - Rewrite, not enabled yet
    * I2Punnel:
      - Increase eepsite default to 3+0 for new installs
    * PersistentDataStore:
      - Cleanup, simplify, and concurrentify
      - Tweak stats
      - Remove write limit
      - Flush to disk on shutdown
      - Don't write out what we just read in
    * Router and console:
      - Bundle geoIP files and flags in new installs,
        spiff up tunnels.jsp and profiles.jsp.
        Existing installs can get files with 'ant updaterWIthGeoIP'
        or in the console docs bundle 'ant consoleDocs'
      - Use flags for shitlist and peers.jsp too
      - Tweak tunnels.jsp to show class letters
      - Hide in-progress details on tunnels.jsp
      - Add a little color to confignav
      - Remove 'no skew' message
      - More message tweaks if no wrapper
    * TunnelManager:
      - Remove now-unused isInUse()
    * UPnP:
      - Fix up port binding, add some logging on bind fails
      - Force IPv4 only for binds

2009-05-20 Mathiasdm
    * General configuration enabled by default
    * General configuration speed tab works completely

zzz's avatar
-1  
zzz committed
2009-05-17 zzz
    * Merge i2p.i2p.zzz.upnp branch
     * Major changes:
      - Detect IP with UPnP
      - Open firewall ports with UPnP
      - Detect IP by checking local interface addresses
      - Enable TCP auto-IP and auto-port by default, if UDP status is "OK"
      - Network configuration page rework
     * Other stuff:
      - Remove unused verifyupdate.jsp
     * Details of the UPnP and related Transport changes:
      - Add UDP Port configuration to config.jsp
      - Don't restart router when configs change on config.jsp;
        simply rebuild router info.
      - Clean up some port config code in UDP
      - Implement UPnP enable/disable
      - Start to rework inbound configuration
      - Tweak UPnP warning messages
      - Start of callbacks from UPnP to transports
      - Tell UDP local addresses at startup
      - NTCP Port must now be either auto or configured;
        now defaults to auto; and configured now trumps auto.
        Port configuration now does not affect whether inbound
        NTCP is enabled - the host configuration alone can do that.
      - i2np.ntcp.autoip=true redefined to enable inbound only if
        SSU reachability is OK. i2np.ntcp.autoip=always for the old behavior.
        autoip default is now "true".
        i2np.ntcp.hostname=xxx now trumps i2np.tcp.autoip.
      - SSU always tells NTCP when status changes.
      - Implement config save of new IP address options
      - Implement local address and UPnP configuration of UDP address
      - Limit received port to 1024 minimum
      - Simplify bw form
      - Add config link to UPnP status
      - Make short timeouts for UPnP HTTP POST so we don't hang when
        the UPnP device goes away
      - Fix a bug in UPnP HTTP Server timeout
      - Make short timeouts for the XML parser so we don't hang when
        the UPnP device goes away - same as for HTTP POST
      - Stuff the port mapping requester into a thread so it doesn't
        delay everything for several seconds
      - Handle UPnP devices that return IP = 0.0.0.0
      - Better HTML output when no IP found
      - Tweak logging
      - Set Disposer thread name
      - Keep the control point running after we find an IGD,
        so that we get notifications of it leaving or
        coming back or replaced.
      - Detect UPnP start failure
      - Sort local addresses
      - Store last IP for future laptop mode
      - Subscribe to service, doesn't seem to do anything though,
        need to test it more
      - Change UPnP listener port defaults, allow configuration option
      - Don't notify for non-changed options on config.jsp
      - Simplify config.jsp some more
      - No longer use i2np.udp.forceIntroducers
      - Tweak UDP port qualification
      - Fix allowing low ports again
      - Add option to completely disable NTCP, for those behind nasty firewalls
      - Use SSU reachability rather than global reachability for determining NTCP reachability,
        since we are now reporting NTCP reachability too
      - Tweak the config sub-navbar
      - Don't start UPnP if we have a public interface address
      - Fix setting IP to a local interface address
      - Work on the configuration help some more
      - Rework UDP peers.jsp table a little
      - Don't let UDP bid on messages that are too long
      - Clean up the max fragments code in UDP

zzz's avatar
zzz committed
2009-05-17 zzz
    * Build files:
      - Remove unneeded ant.jar from package (900KB)
      - Fail on Jsp compile errors
    * FloodfillVerifyJob: Don't consider an older search result as verified
    * logs.jsp: Add link to config
    * NetDb: Lower the routerinfo expiration again
    * SusiDNS:
      - Reduce displayed entries from 300 to 100
      - Add ability to go forward or back
      - Make textareas bigger
      - Clean up file names
      - Clarify messages about filter and search

* 2009-05-16  0.7.3 released

2009-05-16 Complication
    * Update versions, package release

sponge's avatar
sponge committed
2009-05-12 sponge
    * BOB clean up, change println's to _log.warn, bump BOB version
    * I2PSessionMuxedImpl.java changes as per zzz, and they test OK for me.

2009-05-12 mkvore
    * SAM: fix: warnings when generating javadoc

zzz's avatar
zzz committed
2009-05-11 zzz
    * Connect client: Fix NPE when used with advanced i2ptunnel features
    * Context: Don't instantiate unused AdminManager
    * logs.jsp: Put critical log at the top
    * NetDb: Don't accept stores of our own LeaseSets or RouterInfo

mkvore-commit's avatar
mkvore-commit committed
2009-05-11 mkvore
    * SAM: fix: removed ERROR level logging when a client disconnects
zzz's avatar
zzz committed

sponge's avatar
 
sponge committed
2009-05-09 sponge
    * merge

sponge's avatar
sponge committed
2009-05-09 sponge
    * fixed OOM on lock (woops! my bad!)

2009-05-08 Mathiasdm
    * desktopgui: moved files to stop polluting the namespace
          (everything now in net.i2p.desktopgui)
    * desktopgui: some variable renaming in general configuration

mkvore-commit's avatar
mkvore-commit committed
2009-05-07 mkvore
    * SAM: version 3 added
    * SAM: blocking case corrected on simultaneous client connection (v.1-3)
zzz's avatar
zzz committed

zzz's avatar
zzz committed
2009-05-07 zzz
    * Add nibble.i2p to proxy list and hosts.txt

zzz's avatar
-9  
zzz committed
2009-05-07 zzz
    * Addressbook: Name the thread
    * Console:
      - More IE button fixes, try harder to not refresh the iframe after shutdown
      - Disable idle options for streamr client, it will never be
        idle because it pings the server
    * Floodfill Monitor: Slow down the volunteers
    * Throttle: Throttle at 90% so we throttle before we WRED

2009-05-06 Mathiasdm
    * Improvements to popup menu rightclick action
    * Added general configuration options (still not available by default)
    * General fixes
    * Added ant build options (irc says eche|on would like that ;))

sponge's avatar
sponge committed
2009-05-06 sponge
    * Hopefully the last fixes for BOB.
    * Fixes to prevent race in client-side I2CP and Notifier.

sponge's avatar
sponge committed
2009-05-03 sponge
    * More hopeful fixes for BOB.
sponge's avatar
sponge committed
    * Added new Robert ID to snark

zzz's avatar
-6  
zzz committed
2009-05-01 zzz
    * Build files:
      - Fix up susidns build file so it will work with gcj
      - Add consoleDocs target
    * Client: Fix race NPE (thanks sponge)
    * Console: fix ERR-UDP Disabled and Inbound TCP host/port not set
    * I2CP: Fix race NPE
    * I2PTunnel:
      - Try to fix locking to prevent duplicate destinations when using
        the new option new-dest-on-resume. Still not right for shared clients
        but should be better for non-shared.
    * Router console:
      - Add jbigi and cpu info to logs.jsp
    * Session key manager:
      - Log before a hang maybe
    * URL Launcher:
      - Launcher on linux was stopping after trying opera, whether it succeeded or failed.
        Now it keeps going to try firefox, etc. as designed.
      - Extend default delay from 5s to 15s so it will reliably start

sponge's avatar
sponge committed
2009-04-27 sponge
    * more BOB fixes, complete with warnings when things go wrong, and
      success messages when things turn around and go right. Terminates
      early so that applications wait no more than 10 seconds or so.
    * Reversed a few earlier patches that caused some odd behavior.
    * Changed some core println()'s to debugging messages.

zzz's avatar
-4  
zzz committed
2009-04-27 zzz
    * Build files:
      - New updaterWithJettyFixes target, build it for pkg
      - Pass compiler args down from top build.xml
    * GarlicMessageBuilder: Reduce bundled tags to 40 (was 100)
    * i2psnark: Add Postman2 tracker
    * I2PTunnel: Allow spaces in dest and proxy lists
    * NetDb:
      - Adjust RouterInfo expiration down to control memory usage
      - Display LeaseSets and RouterInfos on separate console pages
    * NTCP:
      - Correct the meanings of the i2np.ntcp.autoip and i2np.ntcp.autoport
        advanced config. If you have one of these set but not the other, you
        will have to adjust your configuration on config.jsp.
    * RouterConsole: iframe tweaks
    * StatisticsManager: Cleanup
    * Streaming: Don't let jrandom yell so loud
zzz's avatar
zzz committed
    * Tunnel Pool: Don't self-destruct if more than 6 IB tunnels configured
zzz's avatar
-4  
zzz committed

sponge's avatar
sponge committed
2009-04-25 sponge
    * I2PSessionMuxedImpl atomic fixes
    * BOB fixes. This should be the final bug wack. Good Luck to everybody!

zzz's avatar
-2  
zzz committed
2009-04-23 zzz
    * Blocklist: cleanup
    * eepget: handle -h, --help, bad options, etc.
      (http://forum.i2p/viewtopic.php?p=16261#16261)
    * Fragmenter: don't re-throw the corrupt fragment IllegalStateException,
      to limit the damage - root cause still not found
    * i2psnark: (http://forum.i2p/viewtopic.php?t=3317)
      - Change file limit to 512 (was 256)
      - Change size limit to 10GB (was 5GB)
      - Change request size to 16KB (was 32KB)
      - Change pipeline to 5 (was 3)
    * logs.jsp: Move version info to the top
    * Jetty: Fix temp dir name handling on windows, which was
      causing susidns not to start
      (http://forum.i2p/viewtopic.php?t=3364)
    * NTCP: Prevent IllegalStateException
    * PeerProfile:
      - Replace a hot lock with concurrent RW lock
      - Rewrite ugly IP Restriction code
      - Also use transport IP in restriction code
    * RouterConsole: Make summary bar a refreshing iframe
    * Transport: Start the previously unused CleanupUnreachable

sponge's avatar
sponge committed
2009-04-21 sponge
zzz's avatar
-2  
zzz committed
    * Code janitor work, basic corrections involving @Override, and
sponge's avatar
sponge committed
      appling final where it is important. Also fixed some equals methods
      and commented places that need fixing.

2009-04-18 Complication
    * Fix typo in "news.xml", no build number increase.

* 2009-04-18  0.7.2 released

2009-04-18 Complication
    * Update versions, package release

sponge's avatar
sponge committed
2009-04-17 sponge
    * fixed setIP, just be sure to distclean before building :-)
    * more lint taken care of as well.

sponge's avatar
sponge committed
2009-04-17 sponge
    * setIP wants to be a static method in the class, but it produces
      warnings about it being static from other code.

sponge's avatar
sponge committed
2009-04-17 sponge
    * Catch NPE in NTCP.
      This possibly augments fix 2009-04-11 welterde below.
    * Various LINT on NTCP sources, and removal of space-wasting
      spaces at end of lines in sources touched.

2009-04-13 Mathiasdm
    * Bugfix on tray icon updating
    * Some more work on the general configuration menu
      (currently not added to the tray icon menu yet, needs more work)
    * Tweaked the desktopgui logo

2009-04-13 Mathiasdm
    * Added I2P version and GUI version to desktopgui
    * Tweaks to the tray icon menu
    * Some starting work on a GUI general configuration menu
    * Bugfix allowing spaces in directory structure

dev's avatar
dev committed
2009-04-13 welterde
    * small fix in the eepproxy

dev's avatar
dev committed
2009-04-11 welterde
    * fixed NPE in NTCP transport

sponge's avatar
sponge committed
2009-04-11 sponge
    * i2ptunnel janitorial work and fixes on most locks.
      Some locks still need work, and are marked with LINT in the comment.
      Just grep for "LINT" to see where the remaining places are.

sponge's avatar
sponge committed
2009-04-10 sponge
    * More BOB threadgroup fixes, plus debug dump when things go wrong.
    * Fixes to streaminglib, I2CP, which are related to the TG problem.
    * JavaDocs fixups.

sponge's avatar
sponge committed
2009-04-08 sponge
    * More hopeful fixups to the infamous orpahned tunnel problem. *Sigh*

zzz's avatar
zzz committed
2009-04-08 zzz
    * IPV6/localhost:
      - Enable IPv6 stack in the JVM, hopefully won't break anything
      - Patch Jetty to support binding to IPv6 addresses
      - Allow multiple bind addresses for the router console
        in the clients.config file; for new installs the
        default is now "127.0.0.1,::1"
      - Change most instances of "localhost" to "127.0.0.1"
        throughout the code
    * Router:
      - Move some classes to private static inner

sponge's avatar
sponge committed
2009-04-07 sponge
    * BOB prevent jvac from optimizing out thread-group code from -10

zzz's avatar
zzz committed
2009-04-07 zzz
    * NTCP: Prevent occasional NPE introduced in -4
    * streamr: Synchronize DatagramMaker

sponge's avatar
sponge committed
2009-04-07 sponge
    * SimpleTimer2, SimpleScheduler fixed so that the threads all run from
      The main threadgroup, not in the current possible child threadgroup.
      So long as any SimpleTimer2/SimpleScheduler is started *BEFORE* any
      child threadgroups, the constructors are threadgroup safe. What would
      be super cool is if they were to be all jailed within thier very own
      threadgroup too, but, I2P isn't up to the task of this yet.
    * Fixes to BOB to ensure the above is true.

sponge's avatar
sponge committed
2009-04-06 sponge
    * Debugging to make SimpleTimer2 and SimpleScheduler easier to debug.
    * Fix for the config files in the GUI from mathiasdm

2009-04-04 sponge
    * Hopeful fixups to the infamous orpahned tunnel problem.
    * BOB now 0.0.5

zzz's avatar
-7  
zzz committed
2009-04-04 zzz
    * NTCP: Don't bid on messages too big to handle

zzz's avatar
-6  
zzz committed
2009-04-03 zzz
    * Console:
      - Fix bug with IE buttons not working,
        because it sends the label instead of the value
      - Display version of downloaded update
    * Update:
      - Change default to "Download and verify"
      - Change news fetch default to 24h (was 12h)

sponge's avatar
sponge committed
2009-04-03 sponge
    * Fix broken dependencies for BOB.jar
sponge's avatar
sponge committed
    * Router build version incremented to 5.
zzz's avatar
-6  
zzz committed

zzz's avatar
-3  
zzz committed
2009-04-02 zzz
    * Profiles:
      - Remove unused calculators and RateStats:
        CapacityCalculator, StrictSpeedCalculator, IsFailingCalculator;
        sendFailureSize, processSuccessRate, processfailureRate, commErrorRate,
        tunnelTestResponseTimeSlow
      - Reduced number of Rates in these RateStats:
        sendSuccessSize, receiveSize, rejectRate, failRate
      - ~5KB/profile savings total
      - Deflate speed calculation once an hour instead of once a day,
        to improve fast tier selection
      - Remove dup comment in persisted files
    * StatisticsManager - effective in 0.7.2:
      - Spoof uptime to 90m for all
      - Change tunnel stats from 10m to 60m
    * Transport:
      - Maintain a router hash -> IP map in transport,
        to support additional IP checks (unused for now)
      - Catch error on pre-2.6 kernels
      - Some concurrent conversion
      - Fix an HTML error on peers.jsp

2009-04-01 zzz
    * I2PTunnel: Fix tunnel close
      http://forum.i2p/viewtopic.php?t=3231

zzz's avatar
-1  
zzz committed
2009-03-30 zzz
    * I2CP:
      - Implement BandwidthLimitsMessage
      - Have i2psnark use new message, remove
        build dependency on router
    * Peer Selection:
      - Limit peers to a max % of all tunnels with
        router.maxTunnelPercentage=nn, default 33
      - Add chart to tunnels.jsp to see results

* 2009-03-29  0.7.1 released

2009-03-29 Complication
    * Update versions, package release

zzz's avatar
zzz committed
2009-03-27 zzz
    * Add readme_fr.html
    * License splash update
    * Catch rare TunnelGatewayMessage AIOOB, root cause unknown

zzz's avatar
zzz committed
2009-03-24 zzz
    * I2PTunnel:
      - Add some warnings about new features
      - Fix encrypted leasesets broken in about -4
      - Suppress log error on manual stop
      - Fix NPE on close of a tunnel not open yet
    * Transport:
      - Increase default bw to 64/32, burst 80/40
    * Tunnels: Change some fragmentation errors to warns

zzz's avatar
-9  
zzz committed
2009-03-16 zzz
    * help.jsp: Add some
    * I2PTunnel: Cleanup
    * I2PTunnelHTTPClient: Fix NPE on delayed open
    * I2PTunnelHTTPServer: Maybe catch an NPE
    * SOCKS: Allow .onion addresses for onioncat testing
    * Tunnel: Catch a rare AIOOB

zzz's avatar
-8  
zzz committed
2009-03-09 zzz
    * Client:
      - Clean up retry code
      - Bring I2CP listen error to the summary bar
        http://forum.i2p/viewtopic.php?t=3133
    * I2PSnark: Remove the http from the add torrent box
    * I2PTunnel:
      - Add persistent key option for standard and IRC clients
      - Add delay-open option for clients
      - Get regenerate-dest-on-reconnect working
      - Add default key file name
      - Add link to addressbook
      - I2PSink: Send protocol byte
    * OCMOSJ:
      - Change from 5% reply requests to at least
        once per minute, in hopes of reducing IRC drops
      - More clean up of the cache cleaning
    * Routerconsole: Don't OOM configpeer.jsp on huge blocklists

zzz's avatar
-7  
zzz committed
2009-02-26 zzz
    * I2CP Client: Add support for muxing
    * I2PTunnel:
      - Add new IRCServer tunnel type
      - Add SOCKS 4/4a support
      - Catch OOMs in HTTPServer
      - Name the IRCClient filter threads
      - Port Streamr to I2PTunnel
      - The beginnings of SOCKS UDP support
    * Naming: Add reverse lookup by hash
    * OCMOSJ: Clean up the cache cleaning
    * Router: Move addShutdownTask from Router to I2PAppContext
      so that apps can register more easily
    * Routerconsole:
      - Thread hard shutdown and restart requests from the routerconsole,
        and add a delay even if no tunnels, to allow time for a UI response
      - Sort the summary bar destinations
      - Move dest-to-hash converter to new helper class so we can
        use it in i2ptunnel

sponge's avatar
sponge committed
2009-02-22 sponge
    * BOB: Orphan tunnel issue fix, bump BOB version
    * bump to Build 6

zzz's avatar
-5  
zzz committed
2009-02-16 zzz
    * Streaming lib: Plug timer leak, don't send keepalives
      after close, don't disconnect hard after close

zzz's avatar
-4  
zzz committed
2009-02-15 zzz
    * Add licenses to all packages
    * I2PSession: Concurrent _messagesReceived
    * i2psnark: tmp file removal try #3
    * I2PTunnel:
      - Don't buffer POST data in HTTPClient
      - Display destination even when stopped
      - Enable key generation, dest modification, and
        hashcash estimation in the GUI
      - Add new CONNECT client
    * NetDb: Enforce 60s minimum leaseset publish interval
    * Streaming lib:
      - Plug connection leak
      - Move ConEvent from SimpleTimer to SimpleScheduler
      - Move RetransmissionTimer (ResendPacketEvent)
        from SimpleTimer to new SimpleTimer2
      - Move ActivityTimer and Flusher from SimpleTimer to RetransmissionTimer
      - SimpleTimer2 allows specifying "fuzz" to reduce
        timer queue churn further
    * Susidns: Fix save of new dest broken in 0.7
    * TunnelPool:
      - Allow leasesets with reduced leases for robustness and startup speed
      - Plug in-progress build leak

zzz's avatar
-3  
zzz committed
2009-02-07 zzz
    * ClientConnectionRunner, Shitlist, TunnelDispatcher:
      Update using concurrent
    * Streaming ConnectionHandler: Bound SYN queue and
      use concurrent to prevent blowup
    * HTTP Proxy: Fix error msg for b32 addresses
    * I2CP: Implement optional reduce tunnels on idle - not hooked
      in to i2ptunnel GUI yet - still needs tweaks
    * I2CP MessageReader: Prevent rare NPE
    * I2CP Writer: Rewrite using concurrent
    * i2psnark: Add torrent and connection count
    * I2PTunnel & I2CP:
      - Fix tunnel reduction/restore, hook in the GUI
      - Hook leaseset encryption into the GUI
      - Implement saves for all the new stuff
      - Add cancel button
      - Add b32 display for non-http servers
      - Prep for CONNECT
      - Fix error msg when connection goes away
    * NetDb: Remove all DataPublisher stuff
    * Wrapper: Remove dup timeout

2009-02-02 sponge
    * Final? cleanups to Slackbuilds.
    * ant target for Slackbuilds.

sponge's avatar
sponge committed
2009-02-01 sponge
    * Slackbuild files... if we can have them for Debian, why not :-)

zzz's avatar
-2  
zzz committed
2009-02-01 zzz
    * Convert some inner classes to static (findbugs)
    * DataHelper.readLong(): Was returning -1 on EOF instead
      of throwing exception
    * i2psnark: Increase tunnels and pipeline to 3
    * NTCP: Use a java.util.concurrent execution queue instead of
      SimpleTimer for afterSend() to reduce lock contention
    * Remove source from susimail.war, susidns.war, i2ptunnel.war (85KB)
    * Routerconsole:
      - Move common methods to new HelperBase class
      - Make reseed link a button
    * SimpleScheduler: New replacement for SimpleTimer when events
      will not be rescheduled or cancelled, to reduce SimpleTimer
      lock contention
    * Tunnel Pool:
      - Remove tunnel from participating if can't contact next hop
      - Fail outbound build faster if can't contact first hop
    * Wrapper: Remove dup timeout

2009-01-31 dream
    * Debian files

sponge's avatar
sponge committed
2009-01-31 sponge
    * One line BOB discarded interger fix 
      (not that it mattered at this point)

zzz's avatar
-1  
zzz committed
2009-01-25 zzz
    * Build files:
      - Don't bundle unneeded XML parser xercesImpl.jar (1MB)
      - Don't include unneeded stuff in Copy, Delete, Exec.jar (300KB)
    * I2CP:
      Implement new I2CP message ReconfigureSessionMessage.
      Will be used for tunnel reduction.
    * I2PTunnel Edit Pages:
      - Change default length to 2+0
      - Cleanup helper code
      - Prevent null spoofhost
      - Stub out the following new options (C=client, S=server):
        + Access list (S)
        + Certificate type (S)
        + Encrypted LeaseSet (S)
        + New dest on idle restart (C)
        + Tunnel closure on idle (C)
        + Tunnel reduction on idle (C,S)
    * I2PTunnel Socks:
      - Add support for SOCKS to GUI
      - Don't NPE on SOCKS 4, just close
      - Don't have SOCKS build a new dest for every request
      - Beginnings of SOCKS configuration by port
      - HTML error msg for attempted HTTP access
    * LeaseSet: Add encrypt/decrypt methods
    * netdb.jsp: Don't show stats by default
    * OCMOSJ: Bundle a reply when we switch tunnel or lease,
      to detect failure sooner
    * PublishLocalRouterInfoJob:
      - Delay for 5m at startup
      - Run every 20m (was 7.5m)
    * RebuildRouterInfoJob: Don't run it
    * Router: Add a keyring for decrypting leases
    * Routerconsole: Add configkeyring.jsp
    * SummaryHelper.getTransferred() move to DataHelper,
      rename to formatSize(), use on tunnels.jsp
    * Streaming, I2CP, Client Message sending:
      Pass message timeout through new I2CP message
      SendMessageExpiresMessage, so that the router
      uses the same expiration as the streaming lib.
      Should help reliability.
    * Streaming: TCB control block sharing

* 2009-01-24  0.7 released

2009-01-24 Complication
    * Update versions, package release

zzz's avatar
zzz committed
2009-01-17 zzz
    * NTCP: Prevent two NTCP Pumpers

zzz's avatar
zzz committed
2009-01-14 zzz
    * config.jsp: Fix burst seconds display
    * HTTPClient: Fix per-tunnel settings for i2cp.gzip and
      i2ptunnel.httpclient.send* (thx tino)
    * i2psnark:
      - Fix double completion message
      - Add crstrack
    * initialNews.xml: Add .de (thx echelon)
    * Message: Always distribute an inbound msg back out
      a tunnel to foil a possible latency-measuring attack
      (welterde)
    * Naming:
      - Change base32 names to *.b32.i2p
      - Add i2p.naming.hostsTxt.useB32 config
    * profiles.jsp: Remove 1m column
    * SAM: Don't build tests by default
    * Streaming:
      - Prevent a rare NPE
      - Reduce initial RTT to 8s (was 10s)
    * tunnels.jsp: Add netdb links

zzz's avatar
-9  
zzz committed
2009-01-08 zzz
    * addressbook: Prevent Base32 hostnames
    * build.xml: Remove readme_xx.html from updater
    * configtunnels.jsp: Fix display of outbound backup count
    * configupdate.jsp: Fix corruption of update URLs
    * i2psnark: Recognize Robert 0.3 and 4
    * ExploreJob/SearchJob - fix brokenness:
      - Give each search a minimum of time even at the end
      - Fix ExploreJob exclude peer list
      - Always add floodfills to exclude peer list
      - Don't queue keys for exploration or run ExploreJob
        if floodfill
      - Allow floodfills to return non-floodfills in
        a DSRM msg so exploration works
    * ExploreJob/SearchJob - more fixes:
      - Disable ExploreKeySelectorJob completely, just have
        StartExplorersJob select a random key if queue is empty
      - Add netDb.alwaysQuery=[B64Hash] for debugging
      - Queue results of exploration for more exploration
      - Floodfills periodically shuffle their KBuckets, and
        FloodfillPeerSelector sorts more keys, so that
        exploration works well
    * Shitlist: Reduce max time to 30m (was 60m)
    * Streaming:
      - Reduce default initial window size from 12 to 6,
         to account for the MTU increase in the last release
         and try to limit initial packet loss
      - Reduce fast retransmit threshold from 3 to 2
    * Transport: Don't shitlist a peer if we are at our
      connection limit

zzz's avatar
zzz committed
2009-01-03 zzz
    * config.jsp: Move the buttons up
    * configservice.jsp: Clean up and fix the broken (?)
      browser launch configuration
    * i2psnark:
      - Try again to remove the i2psnarkurl files on shutdown
      - Sort torrents with a locale-based sort
    * NetDb:
      - Expire routers with introducers after 90m.
        This should improve reachability to firewalled routers
        by keeping introducer info current.
      - Expire routers with no addresses after 90m.
      - Convert to java concurrent
    * Stats: Add router.memoryUsed, graph by default
    * Summary bar: Remove spurious UDP warning on startup
    * UpdateHandler: Make extensible for upcoming
      torrent updater

2008-12-15 zzz
    * Remove apps/ bogobot jdom pants q rome stasher syndie

zzz's avatar
zzz committed
2008-12-14 zzz
    * Contexts: Add int getProperty(String prop, int default)
    * I2PAppThread: Constructor fix
    * More split classes into their own files for mkvore
    * Streaming: Don't build test cases by default
    * Summary bar: Replace links with buttons
    * Transport:
      - Cleanup max connections code
      - Add i2np.udp.maxConnections
      - Set max connections based on share bandwidth
      - Add haveCapacity() that can be used for connection
        throttling in the router
      - Reject IBGW/OBEP requests when near connection limit
      - Reduce idle timeout when near connection limit
    * Tunnel request handler:
      - Require tunnel.dropLoad* stats
      - Speed up request loop
    * I2CP, HostsTxtNamingService, I2PTunnel:
      Implement Base32 Hash hostnames, via the naming service.
      Names are of the form [52-characters].i2p, where
      the 52 characters are the Base32 representation of our
      256-byte hash. The client requests a lookup of the hash
      via a brief I2CP session using new I2CP request/reply
      messages. The router looks up the leaseset for the hash
      to convert the hash to a dest. Convert the I2PTunnel
      'preview' links to use Base32 hostnames as a
      demonstration.

zzz's avatar
zzz committed
2008-12-08 zzz
    * ATalk: Move from core to apps
    * Blocklists: enable by default, include blocklist file
      in new installs
    * Build: Add findbugs target
    * Cleanup of removed netdb stats
    * Console:
      - Don't display restart button if no wrapper
      - Remove PRNG stats
    * Eepsite: Disable jetty webapps by default for new installs
    * i2psnark:
      - Add default i2psnark.config for new installs
      - Remove wishlist link
      - Recognize robert and i2psnarkxl clients
      - Increase max files to 256
    * Increase standalone heap size to 128MB
    * NetDb: Split classes into their own files for mkvore
    * PeerManager: Fix NPE on early shutdown
    * SusiDNS: Add textareas
    * Transport:
      - Fixes, avoid NPEs, and cleanups when NTCP and/or UDP transports disabled
      - More TCP removal cleanup
      - Clean up bandwidth limiting, centralize defaults
      - Force burst to be >= limit
      - Increase default bw to 48/24, burst 64/32
    * Tunnels: Avoid two NPEs on corrupt fragments

2008-12-01 zzz
    * i2psnark:
      - Refactor to allow running a single Snark without a SnarkManager again,
        by moving some things from SnarkManager to I2PSnarkUtil,
        having Snark call completeListener callbacks,
        and having Storage call storageListener callbacks.
        This is in preparation for using Snark for router updates.
        Step 2 is to allow multiple I2PSnarkUtil instances.
      - Big rewrite of Storage to open file descriptors on demand, and
        close them when unused, so we can support large numbers of torrents.

    * i2psnark:
      - Remove static instances of I2PSnarkUtil, ConnectionAcceptor,
        and PeerCoordinatorSet
      - Convert static classes in Snark to listeners
      - Fix Snark to work in single torrent mode again
      - Should now work with multiple single Snarks

    * i2psnark:
      - Use new I2PAppThread that does not call global listeners on OOM,
        so that OOMing apps will not shutdown the whole router.

    * i2psnark:
      - Don't create SnarkManager instance until first call,
        so it doesn't create the i2psnark dir, read the config,
        etc., for single Snark instances.
      - Don't read i2psnark.config twice; fix setting
        i2psnark.dir
      - More Snark constructor changes for calling from router
      - Make max connections per torrent configurable

    * SAM:
      - Use new I2PAppThread that does not call global listeners on OOM,
        so that OOMing SAM will not shutdown the whole router.

* 2008-12-01  0.6.5 released

2008-12-01 Complication
    * Update versions, package release, fix typo in comment

zzz's avatar
zzz committed
2008-11-26 zzz
    * Fix Windows UrlLauncher

2008-11-21 zzz
    * Cache DNS and negative DNS for 5m (was 1m and forever)
    * Delay shitlist cleaner at startup
    * Strip wrapper properties from client config
    * Define multiple cert type
    * Prohibit negative maxSends in streaming
    * HTML fixup on configtunnels.jsp
    * Increase wrapper exit timeout from default 15s to 30s

zzz's avatar
zzz committed
2008-11-20 zzz
    * I2PTunnel: Handle missing fields in edit pages better
    * Move DummyNetworkDatabaseFacade to his own file
      to help the build dependencies
    * Drop old tcp transport and old tunnel build sources
    * EepGet:
      - Better handling of 504 gateway timeout
        (keep going up to limit of retry count rather
         than just one more partial fetch)
      - Add -t cmd line option for timeout
      - Better handling of 403, 409, 503 errors
      - Don't keep going after unknown return code
      - Don't delay before exiting after a failure

zzz's avatar
zzz committed
2008-11-15 zzz
    * Build files:
      - Don't die if depend not available
      - Only verify Jetty hash once
      - Add streaming lib tests to depend task
    * I2CP Compression:
      - Add i2cp.gzip option (default true)
      - Add compression stats
      - Don't bother compressing if really small

zzz's avatar
zzz committed
2008-11-13 zzz
    * Streaming:
      - Add more info to Connection.toString() for debugging
      - Fix lifetimeMessages{Sent,Received} stats
      - Reduce RTT damping to 0.875 (was 0.9)
      - Add a stream.con.initialRTT.{in,out} stats
    * Build files:
      - Use the depend task with caching for more accurate dependencies
      - Make sure the routerconsole gets the latest router version
      - Fix addressbook repeated builds
    * HTTPClient: Add config options to pass Via, Referer,
      and User-Agent through
    * Blocklists: Fix lists with hashes only

2008-11-11 zzz
    * Streaming - Fix several bugs and improve performance
      when the initial data is larger than one MTU,
      e.g. HTTP GETs with large URLs, CGI params or cookies,
      or large HTTP POSTS:
      - Don't reject additional packets received without a
        send stream ID (i.e. sent before the SYN ACK was received)
      - Put unknown non-SYN packets on the SYN queue also
        so they won't be rejected
      - Reduce flusher delay to 250ms (was 500)
      - Flush unless window is full (was window is non-empty)
    * Streaming: Enforce a minimum MTU of 512
    * I2PTunnel: Change "interactive" max window size to 16 (was 1)
    * NetDb: Fix a deadlock caused by last checkin

zzz's avatar
-9  
zzz committed
2008-11-09 zzz
    * build.xml: Build speedups:
      - Don't distclean in the updaterRouter target
      - Don't make prepUpdate and prepupdateSmall depend
        on distclean
      - Don't make susimail build always clean
      - Make pkg depend on distclean to be sure
      - Clean out more routerconsole and susidns files in 'ant clean'
      - i2ptunnel, routerconsole, susidns:
        Only build WEB-INF when necessary
      - systray: Only build jar when necessary
      - Don't build i2psnark standalone for the updater target
    * configclients.jsp: Provide a link when starting a webapp
    * configtunnels.jsp:
      - Code cleanup
      - Add 4-hop option
      - Remove +/- 0-2 option
    * javadoc: Add some more package.html files
    * I2PTunnelHTTPServer: Put the requestor's dest hash
      in the request headers
    * Jetty: Add a I2PRequestLog class to log request dest hash
    * NetDb: Don't drop routerInfos if we have connectivity
      issues or other problems
    * NTCP: Lower idle timeout to 10m (was 15m)
    * Routerconsole: Replace wtf msg w/ something nicer
    * Tunnel BuildHandler: add config router.participantOnly,
      set to true to refuse OBEP and IBGW roles, should
      reduce connections significantly if set.

zzz's avatar
zzz committed
2008-11-02 zzz
    * Certificates:
      - Add a signed Certificate type
      - Add a main() to PrivateKeyFile to generate
        Destinations with various Certificate types
      - Add a VerifiedDestination class to check Certificates
        of various types
      - Add a HashCash library from http://www.nettgryppa.com/code/
        (no distribution restrictions)
      - Allow non-null Certificates in addressbook
    * I2PTunnel: Move some wayward stats to the I2PTunnel group
    * NamingServices: Implement caching in the abstract class
    * NewsFetcher: Fix last updated time
    * Streaming: Increase MTU to 1730 (was 960);
      see ConnectionOptions.java for analysis
    * Throttle: Reduce default max tunnels to 2000 (was 2500)
    * clients.config: Disable SAM and BOB by default for new installs

2008-10-26 zzz
zzz's avatar
zzz committed
    * config.jsp: Add more help
    * peers.jsp: Clean up 'Listening on' formatting
    * profiles.jsp: Don't override locale number format
    * netdb.jsp: Indicate if hidden
    * summary.jsp: Indicate if hidden
    * i2ptunnel/edit.jsp: Disable word wrap in textarea
    * Blocklist: Change logging from ERROR to WARN
    * FloodfillMonitor:
       - Fix ff count (we forgot ourselves)
       - Don't become ff if hidden
    * HandleFloodfillDatabaseLookupMessageJob:
      Send back your routerinfo with the DSRM if not ff to
      spread the word that you aren't ff anymore
    * I2Ping:
       - Add -n count option
       - Add rtt output
       - Enhance help
       - Fix option handling
    * More findbugs cleanups
    * NetDb:
       - Fix behavior when router.isHidden=true
       - Delay StartExplorersJob for 10m at startup
       - Update dbLookup profile stats in FloodOnlySearchJob
         and FloodfillVerifyStoreJob
       - Fix response time store in profile in SearchJob
    * Stats:
       - Remove unused tunnel.buildSuccess and tunnel.buildFailure
       - Remove tunnel.buildRequestTime and 5m rate stats from
         netDb, effective in next release
    * UDP:
       - Don't do peer tests when hidden
       - Don't offer to introduce when hidden
       - Don't continually rebuild routerInfo when hidden
       - Don't continually rebuild routerInfo when
         i2np.udp.internalPort is set but i2np.udp.port is not
       - Remove some unused functions

zzz's avatar
zzz committed
2008-10-20 zzz
    * configclients.jsp: Handle clients with no args
    * index.jsp: Add readme_nl.html (thanks mathiasdm!),
      readme_sv.html (thanks hottuna!)
    * Big findbugs cleanup
    * Client: Prevent a race causing session reconnect
    * FloodfillMonitor:
       - Don't become ff if clock skew is high
       - Rebuild routerinfo immediately when ff status changes
    * FloodOnlySearchJob: Recover better if the floodfills
      you know are no longer floodfill or are gone
    * Installer: Bump min JRE to 1.5
    * ShellCommand: Fix main()

2008-10-14 zzz
    * index.jsp: Add multilanguage support for readme.html;
      add readme_de.html (thanks devzero!)
    * configupdate.jsp, configadvanced.jsp:
      Disable word wrap in textareas
    * install*.txt: Update for 1.5
    * summary.jsp: Remove failing peer count

2008-10-10 zzz
    * Profiles: Reduce reject penalty in
      capacity calculation to avoid a congestion collapse
    * Throttle: Change reject to BANDWIDTH from CRIT on shutdown
      for improved anonymity
    * Tunnels: Implement random discard to enforce share limit
    * Tunnel Tests: Add time for outbound delay, to avoid
      congestion collapse
    * UDPPacketReader: Adjust logging
    * build files: Change to source=1.5, target=1.5
    * configpeer.jsp: Table cleanup
    * i2psnark: Change default tunnel length from 1+1 to 2+0
    * peers.jsp: Change <,> to in,out for UDP

2008-10-09 sponge
    * Update version to -3
    * BOB database threadlocking fixes

sponge's avatar
sponge committed
2008-10-08 sponge
    * Update version to -2
    * Bugfixes and additions to BOB

sponge's avatar
sponge committed
2008-10-07 sponge
    * Bugfixes and additions to streaming.
    * Added SimpleStore class in utils.
    * Fixed SimpleTimer class to allow exit.
    * BOB (Basic Open Bridge) added.

* 2008-10-05  0.6.4 released

2008-10-05 Complication
    * Update versions, package release

zzz's avatar
zzz committed
2008-09-29 zzz
    * i2psnark: Add codevoid link, remove mastertracker

2008-09-23 zzz
    * config.jsp: Add some reachability help
    * configpeer.jsp: Add blocklist info
    * help.jsp: Add link to German FAQ
    * tunnels.jsp: Fix inactive participating count
    * SearchReplyJob: Don't look up references to shitlisted peers
    * TunnelPeerSelector: Avoid a peer for 20s after a reject or timeout

2008-09-20 zzz
    * NetDb: Fix the totally broken "check new routers against blocklist"
      code from 3 checkins ago
    * tunnels.jsp: Sort participating tunnels by usage, display rate

zzz's avatar
zzz committed
2008-09-19 zzz
    * Tunnels:
      - Add missing message accounting for inbound gateways,
        we were underestimating participating traffic because of it,
        and the tunnels were classified "inactive"
      - Add participating tunnel role on tunnels.jsp

zzz's avatar
zzz committed
2008-09-18 zzz
    * Throttle:
      - Correctly check inbound and outbound total bw limits separately
      - Fix up and actually use the tunnel.participatingMessageCount stat,
        favor it if lower than the total bw stat, so that
        client traffic isn't included for throttle decisions
      - Reduce min message count from 60 to 40
    * Tunnel Dispatcher:
      - Add tunnel.participatingBandwidth stat
      - Remove all 3h and 24h stats

2008-09-15 zzz
    * FloodOnlySearchJob:
      - Ask non-floodfill peers if we don't know any floodfills
      - Lookup hashes in the DatabaseSearchReplyMessage if we
        don't know enough floodfills
    * NetDb: Check new routers against blocklist
    * Router: Shutdown clients first
    * Throttle:
      - Use 60s rather than 10m tunnel.participatingMessageCount stat
      - Fix a summary bar message
    * Tunnel Dispatcher: Update tunnel.participatingMessageCount
      every 20s, rather than at tunnel expiration, to maintain
      a more current stat
    * Tunnel Pool:
      - Prevent excess zero-hop tunnels
      - Always wait before looping in BuildExecutor
    * configlogging.jsp: Increase box width
    * logs.jsp: Remove unused connection log, cut wrapper log output in half

2008-09-12 zzz
    * Blocklist: Fix a log message format
    * HarvesterJob: Don't instantiate if disabled
    * i2psnark:
      - Add config i2psnark.linkPrefix to enable access to completed
        torrents from a different machine - examples:
           i2psnark.linkPrefix=file://///localserver/path/to/files/
           i2psnark.linkPrefix=http://localwebserver/path/
        (Stop i2psnark, add to i2psnark.config, restart)
      - Remove Galen and NickyB trackers
    * NetDb: Add netDb.exploreKeySet stat
    * netdb.jsp: Add parameter ?r=xxxxxx to view a single routerinfo,
      and ?r=. to view our own; change links on other pages too
    * Transport: Make 0.0.0.0/8 and 169.254.0.0/16 private

2008-09-06 zzz
    * EepGet command line: Fix byte counts after a failed resume
    * NTCP: Mark unreachable on outbound connection timeout
    * Shitlist: Fix partial shitlisting (still unused though)
    * Summary Bar: Warn if firewalled and floodfill
    * Throttle: Combine current and last bw measurement,
      reduce default max tunnels to 2500 (was 3000)
    * Tunnel BuildHandler: Logging cleanup
    * UpdateHandler: Cleanup, clarify failure message
    * DataHelper: Prepare for 999 day uptime :)

2008-08-29 zzz
    * Tunnel BuildExecutor: Debug cleanup
    * Profiles: Penalize capacity when tunnel build request times out
    * Shutdown: Call the shutdown hooks before the router shutdown
      rather than after
    * Stats: Remove tunnel.Bps.* stats when the tunnel pool is closed

2008-08-27 zzz
    * Floodfill Peer Selector: Prefer already-connected floodfill
      peer for direct RouterInfo stores, to mimimize floodfill
      connections
    * Peer Profiles: Classify connected peers as "active",
      which will help improve the fast pool
    * Transport Manager: Add isEstablished(Hash)
    * NTCP: Reduce max idle time from 20m to 15m
    * NetDb stats: Post-0.6.3 clean up

* 2008-08-24  0.6.3 released

2008-08-24 Complication
    * Update versions, package release

2008-08-20 zzz
    * Blocklists: Handle blank lines and \r\n in blocklist.txt
    * NTCP: Add connection limit, set by i2np.ntcp.maxConnections,
      default is 500 (very high for now)
    * Persistent data store: Increase write limit from 300 to 600
      so floodfill routers don't get backed up
2008-08-13 zzz
    * i2psnark: Fix OOM vulnerability by checking incoming message length
      (thanks devzero!)

zzz's avatar
zzz committed
2008-08-04 zzz
    * Floodfill Peer Selector:
      - Avoid peers whose netdb is old, or have a recent failed store,
        or are forever-shitlisted

zzz's avatar
zzz committed
2008-07-30 zzz
    * Blocklists:
      - New, disabled by default, except for blocking of
        forever-shitlisted peers. See source for instructions
        and file format.
    * Transport - Reject peers from inbound connections:
      - Check IP against blocklist
      - Check router hash against forever-shitlist, then block IP

zzz's avatar
-9  
zzz committed
2008-07-16 zzz
    * configpeer.jsp: New
    * i2psnark: Open completed files read-only the first time
    * profiles.jsp: Show bonuses, link to configpeer.jsp
    * PRNG: Move logging from wrapper to router log
    * SSU:
        Don't proactively reconnect until 30m idle, so
        we don't lose introducer tags prematurely

2008-07-16 Oldaris
    * Imports cleanup

zzz's avatar
zzz committed
2008-07-07 zzz
    * i2psnark:
      - Repair corrupted files with wrong length rather than die
      - Register shutdown hook to properly shutdown torrents when
        the router shuts down, hopefully will reduce corruption
      - Add Galen tracker
zzz's avatar
-9  
zzz committed
      - Add a note about how to change directory
zzz's avatar
zzz committed
    * HTTP Proxy: Don't show jump links for unknown jump hosts
    * KeyManager:
      - Don't write router key backup when leaseSet keys are updated
      - Synchronize to prevent concurrent writes (thanks Galen!)
      - Backup keys every 7 days instead of every 5 minutes
    * LoadTestManager: Don't instantiate, it's disabled 
    * Router console: Flag placeholder pages as noncacheable
    * Streaming lib:
      - Change some logging from WARN to INFO
      - Clean up toString()
    * SSU:
      - Try to pick better introducers by checking shitlist,
        wasUnreachable list, failing list, and idle times
      - To keep introducer connections up and valid,
        periodically send a "ping" (a data packet with no data and no acks)
        to everybody that has been an introducer in the last two hours
      - Add a stat udp.receiveRelayRequestBadTag, make udp.receiveRelayRequest only for good ones
      - Remove some 60s and 5m stats, leave only the 10m ones
      - Narrow the range for the retransmit time after an allocation fail
      - Adjust some logging

zzz's avatar
zzz committed
2008-06-30 zzz
    * configstats.jsp: Fix NPE when no stats checked (thanks nothome27!)
    * i2psnark:
      - Fix NPE caused by race (thanks echelon!)
      - Add mastertracker, remove de-ebook
    * NTCP:
      - Try to fix 100% CPU, caused perhaps by JVM NIO bug...
      - Fix failsafe stats
    * PersistentDataStore: More leaseSet code cleanup
    * SimpleTimer: Change congestion message from error to warn

2008-06-24 zzz
    * FloodfillMonitorJob: Change range from 5-7 to 4-6
    * NTCP: Remove getIsInbound(), duplicate of isInbound()
    * PersistentDataStore: Don't try to remove nonexistent leaseSet files
    * Router console: add placeholder pages for i2psnark, i2ptunnel,
      susidns, and susimail for use when the .wars are not running
    * Streaming lib: Increase max window size to 128

2008-06-22 welterde
    * Optimize I2PDatagramDissector

2008-06-20 zzz
zzz's avatar
zzz committed
    * configclients.jsp: Add start button for clients and webapps.
    * PRNG: Add two stats
    * Summary bar:
      - Display Warning for TCP private IP address
      - Display PRNG stats
    * OutNetMessage: Change cache logging from WARN to INFO

2008-06-17 zzz
    * Comm System: Add new STATUS_HOSED for use when UDP bind fails
    * Summary bar: Display helpful errror message when UDP bind fails
    * UDP: Don't bid when UDP bind fails
    * configclients.jsp: Implement saves for clients and webapps.

2008-06-16 zzz
    * UDP: Prevent 100% CPU when UDP bind fails;
      change bind fail message from ERROR to CRIT
    * Refactor LoadClientAppsJob.java, move some functions to new
      ClientAppConfig.java, to make them easily available to
      new configclients.jsp
    * RouterConsoleRunner: Use a new config file, webapps.config,
      to control which .wars in webapps/ get run. Apps are enabled
      by default; disable by (e.g.) webapps.syndie.startOnLoad=false
      Config file is written if it does not exist.
      Implement methods for use by new configclients.jsp.
    * configclients.jsp: New. For both clients and webapps.
      Saves are not yet implemented.

2008-06-10 zzz
    * Floodfill: Add new FloodfillMonitorJob, which tracks active
      floodfills, and automatically enables/disables floodfill on
      Class O routers to maintain 5-7 total active floodfills
    * NetDb Stats:
      - Remove several more stats
      - Don't publish bw stats in first hour of uptime
      - Publish floodfill stats even if other stats are disabled
      - Changes not effective until 0.6.2.1 to provide cover.
    * Throttle: Use BANDWIDTH rather than CRIT as the rejection reason at
      startup, so peers don't list us as failing.
    * graphs.jsp: Fix a bug where it tries to display the combined
      bandwidth graph when it isn't available

zzz's avatar
zzz committed
2008-06-09 zzz
    * Propagate i2.i2p.i2p-0.6.2.1-pre branch to i2p.i2p

zzz's avatar
zzz committed
2008-06-09 zzz
    * Reachability: Restrict peers with no SSU address at all from inbound tunnels
    * News:
      - Add display of last updated and last checked time
        on index.jsp and configupdate.jsp
      - Add a function to get update version (unused for now)
    * config.jsp: Add another warning

2008-06-07 zzz
    * NetDb: Tweak some logging on lease problems
    * Shitlist:
      - Add shitlistForever() and isShitlistedForever(), unused for now
      - Sort the HTML output by router hash
    * netdb.jsp:
      - Sort the lease HTML output by dest hash, local first
      - Sort the router HTML output by router hash

zzz's avatar
zzz committed
2008-06-06 zzz
    * LeaseSet:
      - Sort the leases by expiration date in TunnelPool.locked_buildNewLeaseSet()
        to make later LeaseSet comparisons reliable. This cleans up the code too.
      - Fix broken old vs. new LeaseSet comparison
        in ClientConnectionRunner.requestLeaseSet(),
        so that we only sign and publish a new LeaseSet when it's really new.
        Should reduce outbound overhead both in LeaseSet publishing and LeaseSet bundling,
        and floodfill router load, since locked_buildNewLeaseSet() generates
        the same LeaseSet as before quite frequently, often just seconds apart.

zzz's avatar
zzz committed
2008-06-05 zzz
    * LeaseSet - code cleanup:
      - Add exception to enforce max # of leases = 6, should be plenty
      - Rewrite TunnelPool.locked_buildNewLeaseSet() so it doesn't add lots of
        leases and then immediately remove them again, triggering
        the new leaseSet size exception
      - Remove the now unused LeaseSet.removeLease(lease) and
        LeaseSet.removeLease(index)
      - Store first and last expiration for efficiency
    * Peer Profiles - Preparation for using bonuses:
      - Use CapacityBonus rather than ReachablilityBonus in the Capacity calculation
      - Persist CapacityBonus rather than ReachabilityBonus
      - Include SpeedBonus in the Speed calculation
      - Prevent negative values in Speed and Capacity when using bonuses
      - Clean up SpeedCalculator.java
    * HTTP Proxy error pages: Don't say eepsites are 'temporarily' down since we don't know
    * Add some config files for a future small distribution
    * configtunnels.jsp: Add warnings for <= 0 and >= 4 hop configurations

zzz's avatar
zzz committed
2008-06-01 zzz
    * Client Apps: Add new parameter for clients.config,
        clientApp.x.startOnLoad=false, to disable loading
        (for SAM for example). Defaults to true of course.
    * Logging: Move common WARN output to DEBUG so we can ask users to
        set the default log level to WARN without massive spewage
    * ProfileOrganizer: Restrict !isSelectable() (i.e. shitlisted) peers from the High Capacity tier,
      not just the Fast tier, since we don't use them for tunnels anyway
    * SAM: Add some compiler flexibility to two obscure makefiles
    * i2psnark: Change displayed peer idents to match that shown by bytemonsoon
      (sponge's suggestion)
    * summary bar:
      - Hide ident, provide a tooltip and a link
      - Add a warning if you are firewalled and class O

zzz's avatar
zzz committed
2008-06-07 Complication
    * Fix version in news.xml so it could be published

* 2008-06-07  0.6.2 released

2008-06-07 Complication
    * Write announcement and prepare for release

2008-05-29 zzz
zzz's avatar
zzz committed
    * Fix up initialNews.xml

2008-05-27 zzz
    * Transport:
      - NTCP and UDP: Don't bid to connect to private IP addresses, mark unreachable
      - UDP: Don't bid when IP address missing, mark unreachable

2008-05-26 zzz
    * Throttle: Set a default router.maxParticipatingTunnels = 3000 (was none)
    * Stats: Add a fake uptime if not publishing stats, to get participating tunnels
    * build.xml:
      - Add an updaterSmall target which includes only the essentials
      - Add an updaterRouter target which includes only i2p.jar and router.jar
      - Clean up the build file some 
      - Remove empty eepsite/ and subdirs from i2pupdate.zip
    * configtunnels.jsp: Add warning
    * i2psnark: Catch a bencode exception (bad peer from tracker) earlier
    * i2psnark-standalone: Fix exception http://forum.i2p/viewtopic.php?p=12217

2008-05-22 welterde
    * Change jetty download location in build script

zzz's avatar
zzz committed
2008-05-20 zzz
    * Reachability:
      - Call the previously unused profile.tunnelTestFailed()
        (redefined to include a probability argument)
        and severely downgrade a peer's capacity upon failures,
        depending on tunnel length and direction.
        This will help push unreachable and malicious peers
        out of the High Capacity tier.
      - Put recent fail rate on profiles.jsp
    * ProfileOrganizer: Logging cleanup
    * eepsite_index.html: Update add-host and jump links
    * HTTP Proxy: Remove trevorreznik jump server from list

dev's avatar
dev committed
2008-05-20 welterde
    * implemented PrivateKeyFile

2008-05-18 zzz
    * Throttle: Reject tunnels for first 20m uptime (was 10m)
    * TunnelPeerSelectors:
       - Re-enable strict ordering of peers,
         based on XOR distance from a random hash
       - Restrict peers with uptime < 90m from tunnels (was 2h),
         which is really 60m due to rounding in netDb publishing.
    * i2psnark:
       - Limit max pipelined requests from a single peer to 128KB
         (was unlimited; i2p-bt default is 5 * 64KB)
       - Increase max uploaders per torrent to 6 (was 4)
       - Reduce max connections per torrent to 16 (was 24) to increase
         unchoke time and reduce memory consumption
       - Strictly enforce max connections per torrent
       - Choke more gradually when over BW limit
    * help.jsp: Add a link to the FAQ
    * peers.jsp: Fix UDP direction indicators
    * hosts.txt: Add update.postman.i2p

zzz's avatar
zzz committed
2008-05-12 zzz
    * Outbound message:
      - Tweak the cache key for efficiency
    * Stats:
      - Require two udp stats when stats.full=false, caused NPE on peers.jsp
    * Summary bar:
      - Add messages when dropping tunnel requests due to load
    * Update Handler:
      - Add postman to the list
    * i2psnark:
      - Randomize the PeerCheckerTask start times to make global limiting
        work better
      - Calculate bw limits using 40s rather than 4m averages to make
        bw limiting work better
      - Change default bw limit from uplimit/3 to uplimit/2 due to
        overhead reduction from the leaseset bundling change
    * libjbigi:
      - Add documentation on dynamic build option
      - Add two speed tests to the build script
      - Clean up the build script, make it easier to build dynamic

zzz's avatar
zzz committed
2008-05-10 zzz
    * NetDb: Don't write the my.info file to disk, it isn't used for anything
    * Stats:
      - Simplify oldstats.jsp if no events in a stat
      - Fix the hosed inNetPool.droppedDeliveryStatusDelay stat
        (caused by an SSU hack)
    * Update Handler:
      - Add option to download and verify only
      - Add distinct error message if version check fails

2008-05-09 welterde
    * Add an update URL to the list

zzz's avatar
zzz committed
2008-05-07 zzz
    * Reachability:
      - Restrict peers requiring introducers from inbound tunnels,
        since it's slow and unreliable... and many of them advertise
        NTCP, which seems unlikely to work
      - Provide warning on summary bar if firewalled with inbound NTCP enabled
    * Stats: Remove the bw.[send,recv]Bps[1,15]s stats unless
      log level net.i2p.router.transport.FIFOBandwidthLimiter >= WARN
      at startup (you didn't get any data unless you set the log level anyway)
    * oldstats.jsp: Don't put 2 decimal places on integer event counts
    * Remove the Internals link from the menu bar
    * i2psnark: Extend startup delay from 1 to 3 minutes

2008-05-06 welterde
    * HTTP Proxy: Add i2jump.i2p jump service

zzz's avatar
-1  
zzz committed
2008-05-05 zzz
    * NetDb Stats: Cleanup of commented out stats
    * Outbound message:
      - Fix a couple of tunnel cache cleaning bugs
      - Cache based on source+dest pairs rather than just dest
      - Send the reply leaseSet only when necessary,
        rather than all the time (big savings in overhead)
      - Enable persistent lease selection again
      - Logging tweaks
    * Reachability:
      - Restrict <= .32 SSU-only peers from inbound tunnels,
        since they don't know if they are unreachable
      - Have SSU bid aggressively when it has less than 3 peers, so
        we can determine our IP address and do peer testing.
        Otherwise a router may never determine its IP address or reachability status.
    * Summary bar:
      - Add reachability status
      - Add participating tunnel acceptance status
    * Throttle: Reject tunnels for first 10m uptime
    * I2PTunnel: Change default outproxy to false.i2p
zzz's avatar
zzz committed
    * profiles.jsp: Add router version
zzz's avatar
-1  
zzz committed

zzz's avatar
zzz committed
* 2008-04-26  0.6.1.33 released

zzz's avatar
zzz committed
2008-04-20 zzz
    * Outbound message/Reachability:
      - Fix a bug from -19 causing the persistent lease selection
        removed in -17 to be back again
      - Use netDb-listed-unreachable instead of detected-unreachable
        for exclusion of unreachable peers from selected leases,
        as there are potential anonymity problems with using
        detected-unreachable
      - Tweak logging some more
    * NetDb stats: Remove a couple more including the inefficient stat_identities

zzz's avatar
zzz committed
2008-04-17 zzz
    * Reachability:
      - Track unreachable peers persistently
        (i.e. separately from shitlist, and not cleared when they contact us)
      - Exclude detected unreachable peers from inbound tunnels
      - Exclude detected unreachable peers from selected leases
      - Exclude detected unreachable floodfill peers from lookups
      - Show unreachable status on profiles.jsp

zzz's avatar
zzz committed
2008-04-16 zzz
    * SSU/Reachability:
      - Extend shitlist time from 4-8m to 40-60m
      - Add some shitlist logging
      - Don't shitlist twice when unreachable on all transports
      - Exclude netDb-listed unreachable peers from inbound tunnels;
        this won't help much since there are very few of these now
      - Remove 10s delay on inbound UDP connections used for the
        0.6.1.10 transition
      - Track and display UDP connection direction on peers.jsp
      - Show shitlist status in-line on profiles.jsp

2008-04-15 zzz
    * SSU Reachability/PeerTestManager:
      - Back out strict peer ordering until we fix SSU
      - Back out persistent lease selection until we fix SSU
      - Fix detection of UDP REJECT_UNSOLICITED by recording status on expiration
      - Increase known Charlie time to 10m; 3m wasn't enough
      - Don't continue retransmitting peer test if we know Charlie
      - Don't run multiple peer tests at once
      - Tighten test frequency range to 6.5-19.5m, was 0-26m

2008-04-12 zzz
    * Addressbook: Disallow '.-' and '-.' in host names
    * NTCP: Don't drop a connection unless both directions are idle;
            Fix idle time for outbound connections
    * Outbound message: Make sure cached lease is in current leaseSet
    * Stats: Put all NetworkDatabase stats in same group
    * TunnelPool: Stop building tunnels and leaseSets after client shutdown
    * i2psnark: Add locking to prevent two I2CP connections

zzz's avatar
zzz committed
2008-04-07 zzz
    * i2psnark:
      - Implement upstream bandwidth limiting
      - Fix a rare NPE at startup/shutdown
      - Really increase retries for .torrent fetch
    * profiles.jsp: Minor cleanup
    * DataHelper: Only format < 5s as ms
    * Eepget: Fix percentage output on command line eepget retries
    * Lower partipating message priority from 400 to 200
    * NTCP: Add a debug message
    * Outbound message: Minor cleanup

2008-03-30 zzz
    * ExploratoryPeerSelector: Try NonFailing even more
    * HostsTxtNamingService: Add reverse lookup support
    * Outbound message: Minor cleanup
zzz's avatar
zzz committed
    * i2psnark TrackerClient: Minor cleanup
    * checklist.txt: Minor edit
    * hosts.txt: Add perv.i2p, false.i2p, mtn.i2p2.i2p
    * i2ptunnel.config: Change CVS client to mtn
    * netdb.jsp: Show leaseSet destinations using reverse lookup
    * profiles.jsp: First cut at showing floodfill data

2008-03-27 zzz
    * Send messages for the same destination to the same inbound
      lease to reduce out-of-order delivery.
    * ExploratoryPeerSelector: Back out the floodfill peer exclusion
      for now, as it prevents speed rating of those peers

2008-03-26 zzz
    * ReseedHandler: Support multiple urls,
      add netdb.i2p2.de as a 2nd default

zzz's avatar
zzz committed
2008-03-25 zzz
    * i2psnark:
      - Add support for secondary open trackers
      - Refactor and simplify the TrackerClient code
      - Add welterde's tracker to the default list
      - Don't have eepget retry announces
      - Slow down tracker contacts if they've failed for a while
      - Add some debug support showing connections (?p=2)
    * hosts.txt: Add nickyb.i2p, tracker.welterde.i2p
zzz's avatar
zzz committed

2008-03-22 zzz
    * NewsFetcher: Fix bug causing fetch every 10m

zzz's avatar
zzz committed
2008-03-22 zzz
    * Tunnel Testing:
      - Fix counting so it really takes 4 consecutive failures
        rather than 4 total to remove a tunnel
      - Credit or blame goes to the exploratory tunnel as well
        as the tunnel being tested
      - Adjust tunnel test timeout based on tunnel length
    * ExploratoryPeerSelector: Tweak logging
    * ProfileOrganizer: Adjust integration calculation again
    * build.xml: Add to help
    * checklist.txt: Tweak
    * readme.html: Fix forum links
    * netDb: Remove tunnel.testFailedTime

zzz's avatar
zzz committed
2008-03-19 zzz
    * ExploratoryPeerSelector:
      - Exclude floodfill peers
zzz's avatar
zzz committed
      - Tweak the HighCap vs. NonFailing decision; try NonFailing
        at least a minimum % of the time
zzz's avatar
zzz committed
    * i2psnark: Increase retries for .torrent fetch
    * IRC Proxy: Prevent mIRC from sending an alternate DCC request
      containing an IP
    * readme.html: Reorder some items
    * Stats: Add some more required stats
    * Streaming lib: Fix slow start to be exponential growth,
      fix congestion avoidance to be linear growth.
      Should speed up local connections a lot, and remote
      connections a little.

2008-03-14 zzz
    * Floodfill Search:
       - Prefer heard-from, unfailing, unshitlisted floodfill peers

zzz's avatar
zzz committed
2008-03-14 zzz
zzz's avatar
zzz committed
    * ProfileOrganizer:
       - Use more recent stats to calculate integration
zzz's avatar
zzz committed
       - Show that fast peers are also high-capacity on profiles.jsp
    * readme.html: Update Syndie link
    * TunnelPool: Update comments
    * netDb: Report 1-2h uptime as 90m to further frustrate tracking,
      get rid of the 60s tunnel stats
      (effective as of .33 to provide cover)

2008-03-13 zzz
zzz's avatar
zzz committed
    * Floodfill Search:
       - Fix a bug that caused a single FloodfillOnlySearchJob
         instance to be run multiple times, with unpredictable
         results
       - Select ff peers randomly to improve reliability
       - Add some bulletproofing

zzz's avatar
zzz committed
2008-03-11 zzz
    * ProfileOrganizer:
       - Don't require a peer to be high-capacity to be
         well-integrated (not used for anything right now,
         but want to get it right for possible floodfill verification)
       - Don't fall back to median for high-capacity threshold
         if the mean is higher than the median, this prevents
         frequent large high-capacity counts
       - Fix high-capacity selector that picked one too many
    * Console: put well-integrated count back in the summary

2008-03-10 zzz
    * EepGet: Fix byte count for bytesTransferred status listeners
      (fixes command line status)
    * UpdateHandler:
       - Fix byte count display
       - Display final status on router console
       - Don't allow multiple update jobs to queue up
       - Increase max retries
       - Code cleanup
       - Don't show 'check for update' button when update in progress
       - Enhance error messages
    * NetDb: Comment out published netDb stats disabled for .32

zzz's avatar
-2  
zzz committed
2008-03-08 zzz
zzz's avatar
zzz committed
    * TunnelPeerSelectors: Implement strict ordering of peers,
zzz's avatar
-2  
zzz committed
      based on XOR distance from a random hash
      separately generated for each tunnel pool

2008-03-07 zzz
    * Naming: Optimize lookups for a destkey
    * ProfileOrganizer, TunnelPoolSettings, ClientPeerSelector:
      - Prevent peers with matching IPs from joining same tunnel.
        Match 0-4 bytes of IP (0=off, 1=most restrictive, 4=least).
        Default is 2 (disallow routers in same /16).
        Set with router.defaultPool.IPRestriction=x
      - Comment out unused RebuildPeriod pool setting
      - Add random key to pool in preparation for XOR peer ordering
    * SusiMail: Add 'Create Account' link
    * TunnelDispatcher: Change a common wtf error to a warn

2008-03-05 zzz
    * Naming: Make HostsTxt the sole default NamingService
      (was Meta = PetName + HostsTxt)
    * Naming: Add two new experimental NamingServices, EepGet and Exec,
      not enabled by default -
      see source comments in core/java/src/net/i2p/client/naming
      for configuration instructions
    * i2psnark: Don't do a naming lookup for Base64 destkeys
    * i2psnark: Add a StartAll button
    * Stats: Add code to disable most stats to save memory.
      Set on configstats.jsp or set stat.full=false to disable the stats.
      (true by default for now)

complication's avatar
complication committed
2008-03-09 Complication
    * Give the Jetty build file ability to ask permission
      before downloading the Jetty archive from the web,
      and to verify its SHA1 + MD5 hashes. Adjust the main build file
      in accordance with this change.
    * Improve the release checklist.

* 2008-03-09  0.6.1.32 released

2008-03-07 zzz
    * Update news and version numbers

2008-03-01 zzz
    * Fix netdb.knownLeaseSets count reported by floodfill routers
      (was broken by -3)

2008-02-27 zzz
    * i2ptunnel: Add 3-hop option to edit.jsp to match configtunnels.jsp
    * i2psnark: Remove orion and gaytorrents from default tracker list
    * Remove orion from jump list and from eepsite_index.html
    * Jbigi: Change jbigi version to 4.2.2 in build scripts - tested by amiga
    * Capitalize OutboundMessageDistributor job name
    * TunnelPool: Add a warning if all tunnels are backlogged

2008-02-26 zzz
    * Reintroduce NTCP backlog pushback, with switch back to
      previous tunnel when no longer backlogged
    * Catch an nio exception in an NTCP logging statement if loglevel is WARN
    * IRC Proxy: terminate all messages with \r\n (thanks TrivialPursuit!)

2008-02-21 zzz
    * Raise inbound default bandwidth to 32KBps
    * Fix config.jsp that showed 0KBps share bandwidth by default

zzz's avatar
-5  
zzz committed
2008-02-19 zzz
    * Addressbook: Disallow '--' in host names except in IDN,
      add some reserved host names
    * I2PTunnel: Clarify edit form
    * NetDb: Remove many stats from netDb, effective as of .32
    * profiles.jsp: Display capabilities
    * Tunnels: Enforce max tunnel length of 8, catch an index error
      http://forum.i2p/viewtopic.php?t=2561

2008-02-16 zzz
    * Fix race in TunnelDispatcher which caused
      participating tunnel count to seesaw -
      should increase network capacity
    * Leave participating tunnels in 10s batches for efficiency
    * Update participating tunnel ratestat when leaving a tunnel too,
      to generate a smoother graph
    * Fix tunnel.participatingMessageCount stat to include all
      participating tunnels, not just outbound endpoints
    * Simplify Expire Tunnel job name

2008-02-13 zzz
    * PersistentDataStore: Write out 300 records every 10 min
      rather than 1 every 10 sec;
      Don't store leasesets to disk or read them in
    * Combine rates for pools with the same length setting
      in the new tunnel build algorithm
    * Clarify a log message in the UpdateHandler

2008-02-13 zzz
    * Make graphs clickable to get larger graphs
    * Change SimpleTimer CRIT to a WARN, increase threshold
    * Checklist update

zzz's avatar
-5  
zzz committed
2008-02-11 welterde
    * Fix an NPE in UDP http://forum.i2p/viewtopic.php?t=2545

2008-02-10 zzz
    * Add new tunnel build algorithm (preliminary)
    * Change NTCP backlogged message from error to warning
    * Checklist updates

* 2008-02-10  0.6.1.31 released

2008-02-10 Complication
    * Update news and version numbers

2008-02-06 zzz
    * build.xml: Add some apps to javadoc
    * checklist.txt: Add some things
    * news.xml: make links relative
    * runplain.sh: Add some comments
    * wrapper.config: Add some comments

complication's avatar
complication committed
2008-02-05 Complication
    * Change the dates too (sorry for such forgetfulness!)

complication's avatar
complication committed
2008-02-04 Complication
    * Also use the new key for checking, and add it into news.xml
zzz's avatar
zzz committed

complication's avatar
complication committed
2008-02-04 Complication
    * Added my release signing key into TrustedUpdate.java

2008-01-31 zzz
    * NewsFetcher: Change fetch failed from error to warning
    * installer: Fix URL and "email"
    * checklist.txt: New release checklist

zzz's avatar
zzz committed
2008-01-29 zzz
    * Addressbook: Change default subscription
    * ConfigUpdateHandler: Change default news URL
    * initialNews.xml: Update version to .31
    * news.xml: More updates
    * hosts.txt: Add i2p-projekt.i2p
    * readme.html: More URL updates
    * SusiDNS: Change references to default subscription

zzz's avatar
zzz committed
2008-01-28 zzz
    * news.xml: Updates, still preliminary
    * ReseedHandler: Change default URL
    * i2ptunnel.config: Change default outproxies
    * readme.html: Change *.i2p.net URLs
    * help.jsp: Change *.i2p.net URLs
    * eepsite_index.html: Change stats.i2p addressbook subscription URL
    * hosts.txt: Add krabs.i2p, true.i2p, www.i2p2.i2p

* 2008-01-28  0.6.1.30-20 converted from CVS to MTN
zzz's avatar
zzz committed

2008-01-08 zzz
    * addressbook: Limit size of subscribed hosts.txt,
        don't save old etag or last-modified data
    * EepGet: Add some logging,
        enforce size limits even when size not in returned header,
        don't return old etag or last-modified data,
        don't call transferFailed listener more than once
    * Sign my update signing key
    * NewsFetcher: add last-modified support, reduce number of retries
    * Error pages: add icon and logo,
        clarify 'destination not found' and 'proxy not found' pages

zzz's avatar
zzz committed
2008-01-07 zzz
    * profiles.jsp formatting cleanup
    * NTCP: Reduce max idle time from 60m to 20m
    * NTCP: Fix idle time on connections with zero messages,
      correctly drop these connections
zzz's avatar
zzz committed

2008-01-03 zzz
    * addressbook: Do basic validation of hostnames and destkeys
    * susidns: Add support for the private addressbook,
      update the text and links somewhat
zzz's avatar
zzz committed

2008-01-02 zzz
    * Add stats.i2p to the jump list
    * Impose 20MB limit on POSTs and catch OOMs in POST
    * eepsite_index.html: add stats.i2p services
    * addressbook: log source of new keys; disallow dests > 516 bytes
    * addressbook: convert hostnames to lower case to prevent duplicates
    * susidns: generalize references to orion
zzz's avatar
zzz committed

2007-12-29 zzz
zzz's avatar
zzz committed
    * Tweak IRC inbound PONG filtering to fix xchat/BitchX lagometers
zzz's avatar
zzz committed
    * Allow commas in router.trustedUpdateKeys and router.updateURL again
zzz's avatar
zzz committed
    * Change default news host from dev.i2p.net to dev.i2p
zzz's avatar
zzz committed
    * Change jetty timeout from 30 to 60 sec (thanks sponge!)
zzz's avatar
zzz committed

2007-12-28 zzz
    * Add zzz's update signing key
complication's avatar
complication committed

2007-12-26 Complication
    * Improve reseed handler (less repetitive code,
      avoid reporting errors when less than 10% of fetches fail)
complication's avatar
complication committed

2007-12-26 Complication
    * Escape both CR, LF and CR LF line breaks in Router.saveConfig()
      and unescape them in DataHelper.loadProps() to support
      saving and loading config properties with line breaks
    * Change the update URLs textbox into a textarea like keys have,
      so different URLs go on different lines
    * Modify TrustedUpdate to provide a method which supplies a key list
      delimited with CR LF line breaks
    * Modify DEFAULT_UPDATE_URL to supply a default URL list
      delimited with CR LF line breaks
    * Modify selectUpdateURL() to handle URL lists
      delimited by any kind of line breaks
    * Start saving trusted update keys
    * Improve formatting on configupdate.jsp
zzz's avatar
zzz committed

2007-12-22 zzz
    * Add support for multiple update URLs
    * Change default for update to use i2p proxy,
      add several URLs as defaults
    * Enable trusted key form on configupdate.jsp
    * Clarify the 'destination not found' error page

2007-12-16 zzz
    * i2psnark: remove anonymitytracker from default list
zzz's avatar
zzz committed

2007-12-10 zzz
    * Fix NPE in CLI TrustedUpdate keygen
complication's avatar
complication committed

2007-12-02 Complication
    * Commit SAM v2 patch from mkvore (thank you!)
    * Minor reformatting to preserve consistent whitespace
      in old SAM classes (new classes unaltered)
complication's avatar
complication committed

2007-12-01 Complication
    * Separate the checks "does Jetty .zip file need downloading"
      and "does Jetty .zip file need extracting" in the Jetty buildfile.
      First download (unless already done), then extract (unless done).
zzz's avatar
zzz committed

2007-11-26 zzz
    * i2psnark: add timeout for receive inactivity
zzz's avatar
zzz committed

2007-11-24 zzz
    * i2psnark: increase streaming lib write timeout to 240 sec and change
      timeout action from "ping" to "disconect", as the fix in .30 to
      honor options on outbound connections led to hung outbound connections
      (bitfield never transmitted, connection never dropped)
jrandom's avatar
jrandom committed

2007-11-06 jrandom
zzz's avatar
zzz committed
    * add i2host.i2p to the jump list
zzz's avatar
zzz committed

2007-10-11 zzz
    * IRC Proxy: Fix several possible anonymity holes:
      - Block CTCP in NOTICE messages
      - Block CTCP anywhere in PRIVMSG and NOTICE, not just at first character
      - Check for lower case commands
    (Thanks sponge!)
jrandom's avatar
jrandom committed

2007-10-07  jrandom
    * back out the NTCP backlog pushback, as it could be used to mount an
      active anonymity attack.
jrandom's avatar
jrandom committed

* 2007-10-07  0.6.1.30 released
complication's avatar
complication committed

2007-10-07  Complication
    * Fix an issue in EepGet whereby sending of "etag" and "lastModified" headers
      broke retrying.
zzz's avatar
zzz committed

2007-09-27  zzz
    * Implement pushback of NTCP transport backlog to the outbound tunnel selection code
    * Clean up the NTCP and UDP tables on peers.jsp to be consistent,
      fix some of the sorting
zzz's avatar
zzz committed

2007-09-22  zzz
    * Send messages for the same destination out the same outbound
      tunnel to reduce out-of-order delivery.
zzz's avatar
zzz committed

2007-09-19  zzz
    * i2psnark: Fix broken multifile torrent Delete;
        cleanup Storage resources in AddTorrent;
        don't autostart torrent after Create
zzz's avatar
zzz committed

2007-09-18  zzz
    * eepsite_index.html: Add links to trevorreznik address book
    * streaming lib: Fix SocketManagerFactory to honor options on outbound connections
    * streaming lib: Fix setDefaultOptions() when called with a ConnectionOptions parameter
    * i2psnark: Don't make outbound connections to already-connected peers
    * i2psnark: Debug logging cleanup
zzz's avatar
zzz committed

2007-09-14  zzz
    * eepget: Increase header timeout to 45s
    * HTTP proxy: Return a better error message for localhost requests
    * tunnels: Fix PooledTunnelCreatorConfig memory leak
zzz's avatar
zzz committed

2007-09-09  zzz
    * eepget: Add support for Last-Modified and If-Modified-Since
    * addressbook: Finish incomplete support for Last-Modified

2007-09-08  zzz
    * eepget: Copy over SocketTimeout.java file from syndie

2007-09-07  jrandom
    * eepget: Merge timeout support from syndie
jrandom's avatar
jrandom committed

* 2007-08-23  0.6.1.29 released
zzz's avatar
zzz committed

2007-08-12  zzz
    * readme.html - Add inproxy.tino.i2p, replace search.i2p with eepsites.i2p,
      tweak the eepsite and troubleshooting sections
zzz's avatar
zzz committed

2007-08-11  zzz
    * Add stats for individual tunnel rates (nice when graphed)
    * i2psnark: Fix outbound tunnel nickname
complication's avatar
complication committed

2007-08-05  Complication
    * Update the sharing calculator on config.jsp
      and explain the trade-off even more thoroughly.
complication's avatar
complication committed

2007-08-04  Complication
    * Lower the threshold between the K and L bandwidth class,
      so that K is now < 12 KB/s, instead of <= 16 KB/s.
      Hopefully this lets people with 128 kbit/s (16 KB/s) upload lines
      participate in routing, if they keep the default share percentage.
zzz's avatar
zzz committed

2007-07-16  zzz
    * i2psnark: Add tooltip info for choked/uninterested
zzz's avatar
zzz committed

2007-07-16  zzz
    * Make selection of graphed data configurable via configstats.jsp,
      remove most of the default graphs to save some memory
zzz's avatar
zzz committed

2007-07-15  zzz
    * Add current values to graph legends
    * Fix up previous Rate fix to check for divide by zero
complication's avatar
complication committed

2007-07-14  Complication
    * Take the post-download routerInfo size check back out of ReseedHandler,
      since it wasn't helpful, and a lower limit caused false warnings.
    * Give EepGet ability to enforce a min/max HTTP response size.
    * Enforce a maximum response size of 8 MB when ReseedHandler
      downloads into a ByteArrayOutputStream.
    * Refactor ReseedHandler/ReseedRunner from static to ordinary classes,
      change invocation from RouterConsoleRunner accordingly.
    * Add an EepGet status listener to ReseedHandler to log causes of reseed failure,
      provide status reports to indicate the progress of reseeding.
    * Enable icon for default eepsite, and the index page
      of the router console (more later).
zzz's avatar
zzz committed

2007-07-14  zzz
    * Clean up graphs.jsp - set K=1024 where appropriate,
      output image sizes in html, catch ooms, other minor tweaks
    * Fix current event count truncation which fixes graphs with low
      60-sec event counts displaying high values
      (bw.* and router.* graphs for example were 1.5x too high)
      Affects all "events per period" (non-lifetime) counts.
zzz's avatar
zzz committed

2007-07-09  zzz
    * i2psnark: give a better error message for a non-i2p torrent
zzz's avatar
zzz committed

2007-07-07  zzz
    * Add auto-detect IP/Port to NTCP. When enabled on config.jsp,
      SSU will notify/restart NTCP when the external address changes.
      Now you can enable inbound TCP without a static IP or dyndns service.
zzz's avatar
zzz committed

2007-07-04  zzz
    * Display calculated share bandwidth and remove load testing
      on config.jsp
zzz's avatar
zzz committed

2007-07-01  zzz
    * Replace broken option i2np.udp.alwaysPreferred with
      i2np.udp.preferred and adjust UDP bids; possible settings are
      "false" (default), "true", and "always".
      Default setting results in same behavior as before
      (NTCP is preferred unless it isn't established and UDP is established).
      Use to compare NTCP and UDP transports.
jrandom's avatar
jrandom committed

2007-06-27  jrandom
    * fix for a streaming lib bug that could leave a thread waiting
      indefinitely (thanks Complication!)
complication's avatar
complication committed

2007-06-16  Complication
    * First pass on EepGet and ReseedHandler improvements,
      please avoid use on routers which matter!
    * Give EepGet ability of downloading into an OutputStream,
      such as the ByteArrayOutputStream of ReseedHandler.
    * Detect failure to reseed better, report it persistently
      and more verbosely, provide a link to logs
      and suggest manual reseed.
complication's avatar
complication committed

2007-05-06  Complication
    * Fix the build.xml file, so the preppkg build target won't try copying files
complication's avatar
complication committed
      which became deprecated with the old Syndie (thanks for alerting, itsu!)
zzz's avatar
zzz committed

2007-03-31  zzz
    * Add trevorreznik jump server to the http proxy error page
    * Add anonymity to the trackers supporting details links in i2psnark
zzz's avatar
zzz committed

2007-03-24  zzz
    * Remove Syndie from build targets and navbar
zzz's avatar
zzz committed

2007-03-22  zzz
    * i2psnark tracker handling tweaks:
    -   Add link to tracker details page (Postman only for now, requires bytemonsoon patch)
    -   Add Base URL to tracker list configuration
    -   Web page links built from tracker list Base URLs
    -   Only build and sort tracker list once
    -   Add anonymityWeb tracker to default list
    -   Add tooltip info for TrackerErrs
    -   Stop torrent if not registered with tracker
    -   Mark temp files as delete on exit
zzz's avatar
zzz committed

2007-03-18  zzz
    * i2psnark: Cleanup some handling of saved partial pieces
    * i2psnark: Put bit counting in Bitfield.java for efficiency
    * i2psnark: Save torrent completion state in i2psnark.config
jrandom's avatar
jrandom committed
* 2007-03-17  0.6.1.28 released
zzz's avatar
zzz committed

2007-03-13  zzz
    * i2psnark: Make max total uploaders configurable (thanks Amiga4000!)
jrandom's avatar
jrandom committed

2007-03-12  jrandom
    * dodge a race on startup (thanks zzz!)
zzz's avatar
zzz committed

2007-03-10  zzz
    * Streaming lib: Change initial RTT deviation from RTT to RTT/2
      (RFC 2988) to reduce early RTO values
zzz's avatar
zzz committed

2007-03-08  zzz
    * i2psnark changes to improve upload performance:
    *  Implement total uploader limit (10)
    *  Don't timeout non-piece messages out
    *  Change chunk size to 32K (was 64K)
    *  Change request limit to 64K (was 256K)
    * i2psnark: Disconnect from seeds when complete

2007-03-07  zzz
    * Remove dynamic router keys from config.jsp
zzz's avatar
zzz committed

2007-03-07  zzz
    * Streaming lib changes to improve upstream performance during congestion:
    *   Change min window size from 12 to 1
    *   Change max timeout from 10 to 45 sec
    *   Change initial timeout from 10 to 15 sec
    *   Change intial window size for i2psnark from 12 to 1
    *   Change slow start growth rate for i2psnark from 1/2 to 1

2007-03-04  zzz
    * Update eepsite_index.html
zzz's avatar
zzz committed

2007-03-03  zzz
    * Upgrade from Jetty 5.1.6 to 5.1.12 which fixes spaces in URL
    * Add a updaterWithJetty build target
zzz's avatar
zzz committed

2007-03-03  zzz
    * Implement priority sending for NTCP
    * Disable trimForOverload() in tunnel BuildExecutor which
      was preventing tunnel builds when outbound traffic was high
      (i.e. most of the time when running i2psnark)

2007-02-28  zzz
    * i2psnark: File reopen cleanup

2007-02-28  zzz
    * i2psnark: Add peer details to web page
jrandom's avatar
jrandom committed

* 2007-02-15  0.6.1.27 released

2007-02-15  jrandom
    * Limit the whispering floodfill sends to at most 3 randomly
      chosen from the known floodfill peers
jrandom's avatar
jrandom committed

2007-02-14  jrandom
    * Don't filter out KICK and H(ide oper status) IRC messages
      (thanks Takk and postman!)
jrandom's avatar
jrandom committed

2007-02-13  jrandom
    * Tell our peers about who we know in the floodfill netDb every
      6 hours or so, mitigating the situation where peers lose track
      of floodfill routers.
    * Disable the Syndie updater (people should use the new Syndie,
      not this one)
    * Disable the eepsite tunnel by default
zzz's avatar
zzz committed

2007-01-30  zzz
    * i2psnark: Don't hold _snarks lock while checking a snark,
      so web page is responsive at startup
zzz's avatar
zzz committed

2007-01-29  zzz
    * i2psnark: Add NickyB tracker
zzz's avatar
zzz committed

2007-01-28  zzz
    * i2psnark: Don't hold sendQueue lock while flushing output,
      to make everything run smoother
zzz's avatar
zzz committed

2007-01-27  zzz
    * i2psnark: Fix orphaned Snark reader tasks leading to OOMs
complication's avatar
complication committed

2007-01-20  Complication
    * Drop overlooked comment
complication's avatar
complication committed

2007-01-20  Complication
    * Modify ReseedHandler to query the "i2p.reseedURL" property from I2PAppContext
      instead of System, so setting a reseed URL in advanced configuration has effect.
    * Clean out obsolete reseed code from ConfigNetHandler.
zzz's avatar
zzz committed

2007-01-20  zzz
    * i2psnark: More choking rotation tweaks
    * Improve performance by not reading in the whole
      piece from disk for each request. A huge memory savings
      on 1MB torrents with many peers.

2007-01-17  zzz
    * Add new HTTP Proxy error message for non-http protocols
zzz's avatar
zzz committed

2007-01-17  zzz
zzz's avatar
zzz committed
    * Add note on Syndie index.html steering people to new Syndie

2007-01-16  zzz
zzz's avatar
zzz committed
    * i2psnark: Fix crash when autostart off and
      tcrrent started manually
zzz's avatar
zzz committed

2007-01-16  zzz
    * i2psnark: Fix bug caused by last i2psnark checkin
      (ConnectionAcceptor not started)
    * Don't start PeerCoordinator, ConnectionAcceptor,
      and TrackerClient unless starting torrent
jrandom's avatar
jrandom committed

2007-01-15  jrandom
    * small guard against unnecessary streaming lib reset packets
      (thanks Complication!)
zzz's avatar
zzz committed

2007-01-15  zzz
    * i2psnark: Add 'Stop All' link on web page
    * Add some links to trackers and forum on web page
    * Don't start tunnel if 'Autostart' unchecked
    * Fix torrent restart bug by reopening file descriptors
zzz's avatar
zzz committed

2007-01-14  zzz
    * i2psnark: Improvements for torrents with > 4 leechers:
      choke based on upload rate when seeding, and
      be smarter and fairer about rotating choked peers.
    * Handle two common i2psnark OOM situations rather
      than shutting down the whole thing.
    * Fix reporting to tracker of remaining bytes for
      torrents > 4GB (but ByteMonsoon still has a bug)
zzz's avatar
zzz committed

2006-10-29  zzz
    * i2psnark: Fix and enable generation of multifile torrents,
      print error if no tracker selected at create-torrent,
      fix stopping a torrent that hasn't started successfully,
      add eBook and GayTorrents trackers to form,
      web page formatting tweaks
jrandom's avatar
jrandom committed

* 2006-10-10  0.6.1.26 released

complication's avatar
complication committed
2006-10-29  Complication
    * Ensure we get NTP samples from more diverse sources
      (0.pool.ntp.org, 1.pool.ntp.org, etc)
    * Discard median-based peer skew calculator as framed average works,
      and adjusting its percentage can make it behave median-like
    * Require more data points (from at least 20 peers)
      before considering a peer skew measurement reliable

jrandom's avatar
jrandom committed
2006-10-10  jrandom
    * Removed the status display from the console, as its more confusing
      than informative (though the content is still displayed in the HTML)
complication's avatar
complication committed

2006-10-08  Complication
    * Add a framed average peer clock skew calculator
    * Add config property "router.clockOffsetSanityCheck" to determine
      if NTP-suggested clock offsets get sanity checked (default "true")
    * Reject NTP-suggested clock offsets if they'd increase peer clock skew
      by more than 5 seconds, or make it more than 20 seconds total
    * Decrease log level in getMedianPeerClockSkew()
zzz's avatar
zzz committed

2006-09-29  zzz
    * i2psnark: Second try at synchronization fix - synch addRequest()
      completely rather than just portions of it and requestNextPiece()
jrandom's avatar
jrandom committed

2006-09-27  jrandom
    * added HMAC-SHA256
    * properly use CRLF with EepPost
    * suppress jbigi/jcpuid messages if jbigi.dontLog/jcpuid.dontLog is set
    * PBE session key generation (with 1000 rounds of SHA256)
    * misc SDK helper functions
complication's avatar
complication committed

2006-09-26  Complication
    * Take back another inadverent logging change in NTCPConnection
complication's avatar
complication committed

2006-09-26  Complication
    * Take back an accidental log level change
complication's avatar
complication committed

2006-09-26  Complication
    * Subclass from Clock a RouterClock which can access router transports,
      with the goal of developing it to second-guess NTP results
    * Make transports report clock skew in seconds
    * Adjust renderStatusHTML() methods accordingly
    * Show average for NTCP clock skews too
    * Give transports a getClockSkews() method to report clock skews
Loading
Loading full blame...