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

Skip to content
Snippets Groups Projects
history.txt 447 KiB
Newer Older
  • Learn to ignore specific revisions
  •       - 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
    
    zzz's avatar
    zzz committed
        * 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