I2P 0.9.1 "Shebang"

Milestone information

Code name:
Release registered:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata


Assigned to you:
No blueprints or bugs assigned to you.
No users assigned to blueprints and bugs.
No blueprints are targeted to this milestone.
No bugs are targeted to this milestone.

Download files for this release

After you've downloaded a file, you can verify its authenticity using its MD5 sum or signature. (How do I verify a download?)

File Description Downloads
download icon i2pupdate_0.9.1.zip (md5, sig) I2P 0.9.1 Update 44
last downloaded 25 weeks ago
download icon changelog-since-0.9.txt (md5) i2p 0.9.1 changelog 15
last downloaded 11 weeks ago
download icon i2pinstall_0.9.1_windows.exe (md5, sig) I2P 0.9.1 installer (Windows) 135
last downloaded 37 weeks ago
download icon i2pinstall_0.9.1.jar (md5, sig) I2P 0.9.1 installer (Linux / OSX / FreeBSD / Solaris) 46
last downloaded 5 weeks ago
download icon i2psource_0.9.1.tar.bz2 (md5, sig) I2P 0.9.1 Source Code 36
last downloaded 11 weeks ago
Total downloads: 276

Release notes 



- Fix several bugs in downloading torrents with skipped files
- Fix places where rarest-first was not honored
- Fix handling of encoded magnet links
- Additional inbound connection limits
- Immediate closing of connections with handshake errors
- Blocklist peers with multiple handshake errors
- Delay "ballooning" files on disk until required, to speed torrent adds
- Store partial pieces in temp files to greatly reduce memory usage when leeching
- Remove peers restriction when leeching torrents with large pieces
- Improve configuration of open and private trackers
- Prevent configuratino of default trackers as private
- Improved display and control of torrent file downloads
- Reduced number of threads
- Faster startup and shutdown of torrents
- Allow clearing of message box
- New light theme
- Torrent info page updates and cleanups
- Fix problems with restarted torrents
- Delay tunnel close at shutdown to ensure trackers are notified
- Better UI behavior during tunnel startup and shutdown

Bug Fixes

- Prevent shutdown hangs caused by buggy plugins
- Fix for Raspberry Pi crashing
- Fix rare job queue hang
- Fix routing key modifier rarely not updating at midnight
- Fix excessive padding in some AES-encrypted messages
- Fix occasional gunzip failures
- Several fixes to streaming lib to speed recovery after dropped packets and improve retransmit behavior
- Fix bug that reduced reuse of tunnels


- Ports are now passed through the SOCKS and HTTP proxies to support eepsite virtual hosts. See http://zzz.i2p/topics/1182 for setup instructions.
- I2PTunnel configuration changes now take effect immediately. No tunnel restart required.
- Summary bar iframe removed, refresh is now via Javascript only
- Reduce netDB flood redundancy
- Reduce stats publishing frequency
- Minor router console changes
- New Hungarian and Greek translations
- Completed Italian translation
- Updates to Dutch, Finnish, French, German, Spanish, and Swedish translations
- Update geoip to Maxmind 2012-07-04
- Theme updates
- Theme support for SusiMail and SudiDNS; new dark themes
- I2PTunnel and SusiDNS now iframed with summary bar
- Console home page now shows news summary in summary bar
- Console home page icon updates
- Console summary bar now configurable
- Change the HTTP proxy error code from 404 to 500
- Cleanups for efficiency in netdb and I2CP
- Increase timeout for internal uses of eepget to improve reliability


View the full changelog

* 2012-07-30 0.9.1 released

2012-07-28 str4d
 * Console: theme fixes

2012-07-26 kytv
* Update geoip.txt based on Maxmind GeoLite Country database from 2012-07-04
* Finnish, French, German, Spanish and Swedish translation updates from TX

2012-07-26 sponge
* BOB Fix static references to Log

2012-07-24 sponge
 * BOB reset spin flag to enable restart from zap command

2012-07-24 str4d
 * Summary bar: disable fallback iframe in summary.jsi (so when JS is disabled
   the summary bar will not refresh at all)
 * Home page:
   - Replaced 16x16 icons with 32x32 ones
   - Updated icon for git.repo.i2p
   - Moved RestartStatus back above LocalDestinations

2012-07-24 zzz
 * LookaheadInputStream: Fix bug causing gunzip fails, esp. on Android
 * Router: Don't create router.ping file on Android
 * SSLEepGet: Fix on Android (ticket #668)

2012-07-21 zzz
 * i2psnark: Remove dark theme
 * Reseed: Add new cert for cowpuncher
 * SSU: Remove exception creation (ticket #665)

2012-07-21 str4d
 * Home page: unlinked the iframed pages for i2psnark and susimail (the pages
   /webmail and /torrents still exist, but the console links to the apps
   directly instead for now)

2012-07-19 str4d
 * Home page: replaced itoopie with an eepsite icon (c/o dr|z3d) for eepsites
   with no icon of their own.
 * i2psnark:
   - New light theme (c/o dr|z3d) which integrates with console light theme
   - Moved table heading text into tooltips to reduce visual clutter

2012-07-18 str4d
 * Home page: Added id3nt.i2p and git.repo.i2p

2012-07-18 zzz
 * Home page: Add colombo-bt.i2p, remove keys.i2p
 * i2psnark: Clear rate stats when restarting torrent

2012-07-16 str4d
 * console: work towards better integration
   - Wrapped the bundled apps in iFrames (with a link in the page header to
     open the app in a new tab):
     - i2ptunnel
     - i2psnark
     - susimail
     - susidns
   - Theme improvements
     - Added theme support to susimail and susidns
       - "susimail.theme=foo" in susimail.config
       - "theme=foo" on susidns config page
     - Extensive work on dark console theme (dr|z3d)
       - Improved integration of i2ptunnel in iframe
       - General improvements
     - New dark themes for i2psnark, susimail and susidns which integrate well
       with dark console theme (dr|z3d)
     - Tweaks to other themes (console and i2psnark) to work with the various
       structural changes (dr|z3d)
     - Added per-theme favicons
     - Updated IE shim to fix some issues
   - Summary bar improvements
     - Updated every console page to use Ajax for the summary bar
       - Falls back to iFrame if JS disabled
       - Ajax refresh time is adjustable
     - The summary bar is now customizable; sections can be added, removed and
       reordered as desired
     - Added/updated tooltips
     - Added a new summary bar section to show news headings when the main news
       display is hidden
   - Changes to structure of /home to bring it in line with rest of console
 * i2psnark
   - Reworked the torrent info/file manager page to improve the layout

2012-07-15 zzz
 * XORComparator: Reduce object churn (Ticket #658)

2012-07-12 kytv
* Translations from Transifex:
  - Add new Greek translation
  - Dutch translation update

2012-07-01 zzz
 * i2psnark:
   - Don't send a keepalive to a peer we are going to disconnect
   - Disconnect peer when idle a long time
   - PeerCheckerTask cleanup
   - Static ref cleanup
   - Don't show a downloaded torrent file as "seeding"
   - Better torrent file download icon

2012-06-29 zzz
 * HTTP Proxy: Change the error code for unknown host from 404 to 500
 * SimpleTimer: Fix logging
 * Streaming:
   - Allow at least 3 packets and up to half the window to be active resends
     instead of just 1, to reduce stall time after a packet drop
   - Increase fast retransmit threshold back to 3 to reduce retransmissions
   - Don't fast retransmit if we recently retransmitted it already
   - Allow double the window as long as gaps are less than the window
   - Don't set the MSS in a resent packet (saves 2 bytes)
   - Remove redundant calls to updateAcks()
   - Update activity timer when resending a packet
   - Reset unackedPacketsReceived counter at all places where acks are sent
     so it isn't wrong
   - Fix some places where the activeResends count could become wrong
   - Prevent storm of CLOSE packets
   - Never resend the whole packet in ackImmediately(), just send an ack
   - Cancel flusher timer in MessageOutputStream when closed
   - Move some createRateStats to ConnectionManager to reduce repeated calls
   - Cleanups, javadocs, logging, volatile, finals
 * Update: Increase eepget timeouts

2012-06-24 zzz
 * ElGamalAESEngine: Fix bad size estimate when tags are included,
                     resulting in trailing zeros after the padding
                     in the unencrypted data
 * i2psnark: Don't create a new PeerCoordinator after restart, as the
             TrackerClient holds on to the old one and that causes it
             to not get peers. Possibly fixes ticket #563.
 * I2PTunnel: Fix NPE on shared client creation, thx kytv
 * Transport: Add Ethiopia to hidden mode list

2012-06-21 zzz
 * I2CP: Make separate message ID counters per-destination, use atomic,
         increase max (could have caused "local loopback" problems)
 * IRC Client: Don't flush output unless out of input, so the
               streaming messages don't get split up unnecessarily
 * OCMOSJ, ElG, Streaming: log tweaks
 * TunnelInfo: Change msg counter from long to int
 * TunnelPeerSelectors: Minor refactoring to store context
 * TunnelPool: Fix bug where a tunnel was marked as reused when it wasn't
 * TunnelPoolManager: Use one ClientPeerSelector for all pools

2012-06-20 zzz
 * I2PSession:
   - Greatly simplify the VerifyUsage timers
   - Constructor cleanup

2012-06-19 zzz
 * i2psnark:
   - Hide buttons while stopping all
 * Socks: Pass remote port through
 * Streaming:
   - Listen only on local port if set
   - Listen only for streaming protocol if configured (new option)
   - Javadocs re: ports

2012-06-18 zzz
 * i2psnark:
   - Improve torrent shutdown handling to maximize chance of
     announces getting to tracker
   - Thread task to open tunnel and improve UI feedback while open is pending
   - Clean up delete-torrent messages
   - Remove redundant shutdown hook
   - Avoid NPE in PEX message handling
   - Log tweaks

2012-06-15 zzz
 * I2PSocketEepGet: Use specified port
 * I2PTunnel:
   - Don't strip port from an I2P URL
   - More client options cleanups
   - Options changes now propagate to running
     socket managers and sessions, and through to the router
   - Better parsing of jump server URLs
 * NetDB: Only publish stats every so often, to improve
   anonymity while preserving the ability to monitor
   the network (effective next release)
 * SocketManager:
   - Simplify factory, use 4-arg constructor,
     make fields final, deprecate 0-arg constructor
   - Improve how options are updated
   - Javadocs

2012-06-13 zzz
 * I2PSocketEepGet: Set port to 80
 * I2PTunnel:
   - Pass port through HTTP client proxy
   - HTTP server proxy sets host header to
     the value of "spoofedhost.xx" option for port xx
   - Set client options more efficiently
 * i2psnark: Possible fix for piece-after-choke
 * Streaming:
   - Channel cleanups and comments
   - New I2PSocketAddress

2012-06-11 zzz
 * i2psnark:
   - Display torrent file downloads in torrent area
   - Sort magnets and downloads first
   - Fix sorting problem when torrent dir is a symlink
   - Reduce max file idle time
   - Reduce TrackerClient threads
   - Reduce delay between peer adds for faster startup
   - Thread the announces and reduce timeout when stopping
 * NativeBigInteger: Workaround for Raspberry Pi to load the correct lib
 * Router: Don't let shutdown tasks hang the shutdown (tickets #564, #566)

2012-06-08 zzz
 * i2psnark:
   - Move private tracker config from create box to torrent config
   - Refactor private and open tracker configuration
   - Add private indication on details page
 * netdb.jsp: Don't show our info on summary page

2012-06-04 zzz
 * i2psnark: Take tracker out of opentracker list when removed

2012-06-03 kytv
* Translation updates:
  - Add Hungarian language from Transifex (thanks AdminLMH!)
  - Italian language updates from Transifex (thanks ColumboBT)

2012-06-02 zzz
 * i2psnark: Improve opentracker configuration
 * Job Queue: Add failsafe check

2012-06-01 zzz
 * Console: Tab the netdb and profile pages
 * i2psnark: Fix partially-complete torrent not announcing
 * NetDB: Reduce flood redundancy from 8x to 6x

2012-05-31 zzz
 * i2psnark:
   - Add per-hour conn limit
   - Blacklist peer after two bad handshakes
   - Reduce connect timeout
   - Close connection immediately if bad protocol
   - Stop adding peers when we hit the limit
   - Lower limit for outbound connections so we give
     new peers a better chance in large swarms

2012-05-30 zzz
 * Graphs: Reduce log EOF error to warn
 * i2psnark:
   - Increase max upload (ticket #645)
   - Increase per-minute conn limit from 6 to 8
   - Improve rarest-first behavior
   - Handle URI encoding, UTF-8, and multiple trackers in magnet links
 * Timestamper:
   - Move from core to router, leave stub in core
     so it doesn't break compatibility. This removes a
     thread in app context and prevents any app context from
     running NTP; external clients must use the time
     received from the router.
   - Increase query interval

2012-05-28 kytv
 * i2prouter: Add support so that 'i2prouter install' will work in ArchLinux
 * jbigi/jcpuid scripts: Improve support for ArchLinux

2012-05-25 kytv
 * German, Italian, Spanish, and Swedish translation updates from Transifex

2012-05-23 zzz
 * i2psnark:
   - Fixes when complete except for skipped files
     (ticket #447) status in UI, don't connect outbound,
     disconnect seeds when done
   - Custom tracker map AIOOBE fix
   - More classes pkg private
 * jobs.jsp: Add more queue diagnostics

2012-05-22 zzz
 * i2psnark:
   - Refactor tracker map
   - Prevent torrent shutdown when changing file priority to skip
   - Fix deadlock when changing file priorities
 * RoutingKeyModifier: Update after large clock shift

2012-05-20 zzz
 * Console: Add full file path to thread dump message
 * i2psnark:
   - Create sparse files at torrent creation and delay
     "ballooning" until first write (ticket #641, #447)
   - Redo clear messages button
   - Concurrent message queue
 * Profiles: reduce same-country bonus
 * RoutingKeyModifier: Several changes to ensure the routing key
                       is correctly changed just after midnight.

2012-05-19 zzz
 * i2psnark:
   - Store received chunks in temp files
   - Don't allocate from heap for unneeded chunks
   - Remove peer count restriction for torrents with large pieces
   - Use priorities and rarest calculations to sort partials
   - Preserve p parameter in clear messages link

2012-05-13 zzz
 * Console: Add X-Frame-Options to headers,
   disable with routerconsole.disableXFrame=true

* 2012-05-02 0.9 released

0 blueprints and 0 bugs targeted

There are no feature specifications or bug tasks targeted to this milestone. The project's maintainer, driver, or bug supervisor can target specifications and bug tasks to this milestone to track the things that are expected to be completed for the release.

This milestone contains Public information
Everyone can see this information.