* 2018-08-23 0.9.36 released

2018-08-20 zzz
 * Jetty 9.2.25.v20180606

2018-08-19 zzz
 * NTCP2: Catch bad IV exception
 * Update translations

2018-08-16 zzz
 * i2ptunnel: Change read timeout defaults now that streaming timeout works

2018-08-13 zzz
 * Console: Format part. tunnel rate

2018-08-04 zzz
 * Data: Check sooner for unknown sig type
 * I2NP: Remove unused Stream methods

2018-08-03 zzz
 * NTCP2: Fix termination handling and padding calculation

2018-08-02 zzz
 * i2psnark: Don't disconnect seeds if comments enabled (ticket #2288)
 * NTCP2: Send termination on idle timeout
 * Streaming: More efficient copying in MessageInputStream

2018-07-28 zzz
 * Console: Catch ISE in get/setAttribute() (ticket #1529)
 * Streaming: Throw exception on read timeout (ticket #2292)

2018-07-27 zzz
 * Console: Split netdb output into pages
 * Router: Implement router.rejectStartupTime config (ticket #2285)
 * Transport: Defer NTCP 1/2 classifiation until receiving 64 bytes

2018-07-21 zzz
 * Build: Add check for libtaglibs package in debian builds
 * Console: Add netdb search by transport
 * i2psnark: Sequential order option for single-file torrents (ticket #2234)
 * NTCP2:
   - Fix error sending large message (ticket #2286)
   - Fix NPE after handshake failure (ticket #2286)
   - Reduce log levels
 * Tests: Backport EdDSA junit changes; fixes NPE in 2 tests

2018-07-16 zzz
 * Console: Fix HTML error on /configservice w/o wrapper

2018-07-15 zzz
 * I2CP: Add option for forcing gzip on/off per-message
 * NTCP: Increase failsafe sleep threshold (ticket #2251)
 * Router: Add CLI tool to generate family keys

2018-07-14 zzz
 * i2psnark: Recreate deleted files on recheck/reopen (ticket #2125)

2018-07-13 zzz
 * i2psnark: Add sequential order option (ticket #2234)

2018-07-10 zzz
 * Installer (ticket #1864):
   - Fix wrapper selection on Windows 10
   - Add support for IzPack 5
 * SSU: Sync/notify improvements (ticket #2260)
 * Util: Convert more caches to TryCache (ticket #2263)

2018-07-08 zzz
 * i2psnark: Add comment icon (ticket #2278)
 * NTCP2: Avoid possible NPEs (ticket #2286)
 * Transport: More efficient caching (ticket #2263)

2018-07-06 zzz
 * NTCP: Read all available data when able (ticket #2243)
 * SSU: Change remaining acks from List to Set (ticket #2258)

2018-07-05 zzz
 * i2psnark:
   - Fix IOOBE when stopping torrent that is allocating (ticket #2273)
   - Fix comments wrapping (ticket #2284)
 * NTCP2: Increase max message size

2018-07-04 zzz
 * NTCP: Don't advertise interface address when configured for force-firewalled

2018-07-01 zzz
 * Build: Move Jetty/Tomcat version properties to top-level build.xml
 * Crypto: Backport EdDSA versions 0.2/0.3 from github
 * NTCP2: Adjust padding defaults and size calculation

2018-06-30 zzz
  * Console: Fix reading flags when symlinked (ticket #2270)
  * Router: Reselect jbigi lib when processor changes (ticket #2277)

2018-06-28 zzz
  * Debian: Initial work on reproducible builds (ticket #2279)

2018-06-27 zzz
  * Debian: Add dependency for famfamfam-flag-png (ticket #2270)

2018-06-26 zzz
  * Console: Move modified flags to new dir (ticket #2270)
  * Console servlets: Move to new package (ticket #2265)
  * NTCP pumper: Reduce false positives in failsafe code (ticket #2237)
  * NTCP2: Initial checkins (proposal #111)
  * Streaming: Enforce valid port in setters

* 2018-06-26 0.9.35 released

2018-06-23 zzz
 * Pull translation updates from Transifex
 * New Azerbaijani translations
 * GeoIPv6 update from MaxMind 2018-06-04

2018-06-21 zzz
 * Console: Add Azerbaijani
 * SusiMail: Fix NPE on logout (ticket #2266)

2018-06-19 zzz
 * Console:
   - Restore line breaks in copy/pasted logs (ticket #2078)
   - Don't show individual tx/rx graphs if showing combined graph (ticket #2106)
 * SSU: Set volatile on field (ticket #2260)

2018-06-17 zzz
 * NTCP: Log and fail messages on outbound queue overflow

2018-06-16 zzz
 * GeoIP: Don't log error when reading to the end
   of the geoipv6.dat file

2018-06-15 zzz
 * i2ptunnel: Add new irc server
 * SusiMail: CSS fixes (ticket #2242)

2018-06-13 zzz
 * Console: po-update
 * NTCP: Fix clearing of write interest ops on
   inbound establishment (ticket #2237)

2018-06-09 zzz
 * eepsite: Fix up help page in prep for translation (ticket #2214)
 * i2psnark: Fix torrent ignoring priority settings when
   autostart is enabled (ticket #2229)

2018-06-02 zzz
 * Console: Sort tunnels within pools by expiration (ticket #2232)
 * NTCP:
   - Refactor EstablishState in prep for NTCP2
   - Initial NTCP2 RI and payload code, disabled for now
   - Fix state lock, should not have been static

2018-06-01 zzz
 * SusiDNS: Fix deleting notes (ticket #1433)

2018-05-31 zzz
 * Console:
   - Fix CSS preventing ordered lists (ticket #2075)
   - Change Java 10 warning to Java 11,
 * SusiDNS: Add notes form (ticket #1433)

2018-05-30 zzz
 * Debian build fixes, remove things from source package
 * NTCP: Cleanup, prep for NTCP2, increase max RI size
 * SusiMail:
   - Button and CSS fixes
   - Don't require confirmation to delete from Trash,
   - Clear reallydelete flag when clicking cancel or change folder
   - Fix dup ConnectWaiter run, lack of failure message
   - Fix persistent loading/fetching/refresh messages

2018-05-28 zzz
 * Console: Tagged string fixes (ticket #2017)
 * SusiMail: (ticket #2087)
   - Send deletions after connect so emails don't come back after a move
   - Fix fetches in check mail
   - CSS fixes

2018-05-26 zzz
 * /confignet: Reorganize (ticket #2217)
 * /configsidebar: Tag sections for translation; sort unselected sections by translated name
 * i2psnark:
   - Hide "0 Bps" if no peers (ticket #2152)
   - Hide peers button if no peers (ticket #2152)
   - Hide column 1 icon for peers (ticket #1996)
 * i2ptunnel: Retry accept after server socket closed (ticket #2003)
 * Jetty: Skip files with [] in default servlet listing
 * ministreaming: Add classpath to jar (ticket #2228)
 * Router: Fix wrapper.config path in OOM message when installed as
   Debian package, but not running as a service (ticket #2223)
 * Summary Bar: Change header from "I2P Updates" to "Update Status" (ticket #2137)
 * Utils: Disable DNSoverHTTPS by default (ticket #2201)

2018-05-25 zzz
 * Console: Fix changes to wrong tunnel on /configtunnels (ticket #2227)
 * i2ptunnel: Fix dup tunnels clicking generate on new tunnel (ticket #2225)

2018-05-06 meeh
 * launchers:
   - rewritten some logic
   - made CompleteDeployment which extracts i2pbase.zip
   - made a SBT task that creates i2pbase.zip
   - after the hassle I had even getting an JRE7, short: OSX assumes JRE8+
   - started on a class SystemTrayManager which also holds router state info for menu item filter
   - "ant osxLauncher" produces now a valid app bundle under launchers/output
 * Updated ant and made osxLauncher work again (first time triggers SBT dl if not already installed.)
 * monotone ignore file update

2018-05-05 zzz
 * i2ptunnel:
   - Link to SSL wizard (ticket #2159)
   - Enable SSL to i2p hosts by default
 * Streaming: Don't send HTTP response on an HTTPS connection

2018-05-01 meeh
 * launchers:
   - Added deployment profile for Mac OS X launcher.
   - Sourced out common code to a common library SBT project.
   - Decided ~/Library/I2P should be base path on Mac OS X when using regular bundle (Non-BB).

2018-04-29 zzz
 * Console: Fix NPE on /configsidebar (ticket #2220)

2018-04-28 zzz
 * i2ptunnel:
   - Fix startup deadlock in TCG
   - Initial work on SSL wizard

2018-04-27 zzz
 * Tunnels: Fix and consolidate allow-zero-hop logic,
   prevent zero-hop client tunnels when no active peers

2018-04-24 meeh
 * Mac OS X launcher is still WIP, but:
   - Building the I2P.app bundle is mostly done
     - It copies certificates, locale and manuals
     - It copies jar and war files to the bundle
 * Added new entries to mtn-ignore so we avoid any PEBCAK with commiting build directories
 * Added an SBT AutoPlugin named IconHelper to generate valid ICNS images for Mac OS X

2018-04-23 zzz
 * Clock: Fix early NPE via DoH
 * EepGet: Handle HTTP response line with no status text

2018-04-23 meeh
 * Added launchers for Browser Bundle and Mac OS X

2018-04-22 zzz
 * SusiMail: Include attachments when forwarding (ticket #2087)

2018-04-21 zzz
 * SusiMail: Remove Bcc-to-self feature, replace with
   copy-to-sent config (ticket #2087)

2018-04-19 zzz
 * SusiMail:
   - Fix reply/forward filling in compose form
   - Better formatting of addresses in forwarded mail

2018-04-18 zzz
 * SusiMail: Fix unhandled decoding exception

2018-04-17 zzz
 * Console: Fix sidebar status when updating plugin (ticket #2137)
 * Reseed, NTP: Use DNSoverHTTPS (ticket #2201)
 * SusiMail: Fix error message on login page

2018-04-16 zzz
 * Console: Add links to bandwidth graphs on /tunnels
 * SusiMail: Move logging to router logs (ticket #2191)

2018-04-14 zzz
 * Console: Add built-by to /logs (ticket #2204)
 * CPUID: Fix TBM detection (ticket #2211)
 * Debian updates (ticket #2027, PR #15)
 * i2ptunnel: Build restructuring
 * Jetty: Fix quote in header line tripping XSS filter (ticket #2215)
 * SusiMail: Add folders, drafts, background sending (ticket #2087)

2018-04-11 zzz
 * Debian updates for 0.9.34
 * Jetty 9.2.24-v201801015
 * Tomcat 8.5.30

* 2018-04-10 0.9.34 released

2018-04-10 zzz
 * Console: Change Java 9 log warning to Java 10
 * i2psnark: Fix logic error in warning
 * Tunnels: Fix fallback stat name

2018-04-05 zzz
 * EepGet: Increase max header length
 * SSLEepGet: Set default CLI proxy type back to none
 * GeoIP update

2018-04-04 zzz
 * Reseed: Move ReseedBundler from console to router (ticket #2203)

2018-04-03 zzz
 * Stats: Enable per-tunnel bw stats by default (tickets #2106, #2145)

2018-04-02 zzz
 * KeyStore: Fix ConncurrentModificationException (ticket #2196)

2018-03-24 zzz
 * i2psnark: Change default sort order for some columns (ticket #2152)
 * i2ptunnel: Fix display of 'tunnels not initialized' message

2018-03-19 zzz
 * i2ptunnel: Rewrite or pass through Accept: header

2018-03-15 zzz
 * i2psnark: Start even if data directory not found (ticket #2166)

2018-03-14 zzz
 * Console:
   - Hide links to webapps and eepsite if not running (ticket #2161)
   - Hide link to /configplugins if disabled
   - Add error handler to webapps (ticket #2155)
 * i2ptunnel: Hide links to webapps that are not runnning (ticket #2161)
 * SusiDNS: Translate svg image text (ticket #1749)
 * SusiMail: Shorten URLs

2018-03-12 zzz
 * SusiMail: Fix up compose.js (ticket #2176)

2018-03-11 zzz
 * Crypto: Add utils for renewing a cert in a keystore
 * Router: More peer selection fixes for hidden mode

2018-03-10 zzz
 * Console: Fix compression logic
 * i2ptunnel: Strip server Date header
 * NetDB: Wake up FloodfillMonitor when setting changes
 * Router: Fix rekey after hidden config change

2018-03-09 zzz
 * Console:
   - Enable compression (ticket #2157)
   - Close output stream on redirect
   - Add Accept-Ranges header

2018-03-08 zzz
 * Crypto: Generate non-CA cert for family
 * Router:
   - Improved tunnel peer selection of closest hop for routers
     that are hidden, IPv6-only, or have disabled transports
   - Don't select IPv6-only routers for IBGW or OBEP
   - Don't try to build tunnel if adjacent peers aren't compatible
   - Remove ancient version check in peer selectors
   - Check for transport compatibility before direct store of RI;
     send through tunnel if incompatible
   - Fix repeated store of RI when IPv6-only

2018-03-07 zzz
 * Router:
   - Validate tunnel ID in requests
   - Remove ancient version check in BuildRequestor
   - Disable floodfill for IPv6-only and disabled transports

2018-03-05 zzz
 * Util: Consolidate FileFilters

2018-03-04 zzz
 * Console:
   - Show SAM cert on /certs
   - Fix more forms inside tables
 * i2ptunnel: Fix multipart config for /register
 * KeyStore: Log expiration of self-signed certs

2018-03-03 zzz
 * Utils:
   - Skip IPs of down interfaces on Windows
   - Improve identification of temporary IPv6 addresses

2018-02-28 zzz
 * Logs: Fix lost log messages at router shutdown
 * Tools: CLI improvements for Addresses and UPnP
 * Transport: Rescan addresses and UPnP after network reconnection
 * UPnP: IGD IP validation

2018-02-27 zzz
 * UPnP:
   - Improve diagnostics
   - Fix event listening, prep for using events
   - Recognize IGD2 schemas (ticket #2175)
   - Don't use IGD on same host
   - Preliminary work for IPv6

2018-02-25 zzz
 * Crypto: Add support for more alt names in certs (tickets #2159, #2160)

2018-02-24 zzz
 * Console: Mark request handled when rejecting in HostCheckHandler
 * i2psnark standalone: Add DNS rebinding protection
 * XSSFilter: Catch cascaded ISE

2018-02-23 zzz
 * Getopt: Add new translations, fix tests
 * i2psnark: Number formatting tweaks (ticket #1913)
 * SusiMail: Check mail fixes (ticket #2174)

2018-02-22 zzz
 * Util: Support setSoTimeout() for InternalSockets

2018-02-21 zzz
 * Console: Hide options on /configupdate if a package (ticket #2172)
 * SusiMail: Add Date header to sent messages

2018-02-20 zzz
 * Console:
   - Redirect to HTTPS if available (ticket #2160)
   - Change all 302s to 303 or 307
   - Change sendError() to setStatus() for 3xx responses
 * Crypto: Backdate selfsigned cert to allow for clock skew
 * Eepget: Handle 308

2018-02-19 zzz
 * Console:
   - Change trac links (ticket #2014)
   - Change selfsigned cert cname to localhost (ticket #2160)
 * Crypto: Add IP addresses to selfsigned cert SAN (ticket #2160)
 * Streaming: Don't exceed configured tag settings
 * Time: More sanity checks on NTP responses

2018-02-18 zzz
 * i2ptunnel: Retry accept after router soft restart (ticket #2003)

2018-02-17 zzz
 * Console: Number formatting tweaks (ticket #1913)
 * i2psnark: folder.js cleanup (ticket #2168, PR #14)
 * i2ptunnel: Close sockets in finally{}
 * SusiMail: Fix mail save truncation

2018-02-16 zzz
 * i2psnark: Fix NPE on torrent not found (ticket #2167)
 * i2ptunnel: Change POST throttle response to 429
 * Streaming: Configurable response when over conn limits (ticket #2145)

2018-02-12 zzz
 * i2ptunnel: Close sockets
 * Proxy: Update clearnet user-agent (ticket #2163)
 * SusiMail:
   - Background email checking (ticket #2087)
   - Set Cache-Control header for attachments
   - Fix rotated attached images

2018-02-11 zzz
 * Util: Number formatting tweaks (ticket #1913)

2018-02-09 zzz
 * SusiMail:
   - Don't collapse spaces in email display (ticket #2156)
   - Constant URL for attachments
   - Fixes when no subject is present
   - Filename encoding fixes
   - Handle lower case in Q-P decode
   - Don't show the no-charset warning
   - Thread loading mail from disk
   - More error handling fixes

2018-02-08 zzz
 * SusiMail:
   - Error handling fixes
   - More tolerant parsing of Date headers
   - Set a date if we don't get a Date header
   - Fix parsing long Base64 encoded headers
   - Fix page count after changing page size
   - Make attribute name parsing case-insensitive
   - Import mail method for debugging

2018-02-07 zzz
 * SusiMail: Use input streams for reading mail (ticket #2119)
   - Rewrite Base64, HeaderLine, and QuotedPrintable decoders
   - Rewrite ReadBuffer class and utilities for streams
   - ReadBuffer becomes Buffer interface with multiple implementations
   - Rewrite Mail and MailPart to parse the headers only once
   - Rewrite MailPart parser to use streams
   - MailPart decoder rewrite to decode stream-to-stream

2018-02-01 zzz
 * Console: Fix number formatting (tickets #1912, #1913, #2126)
 * i2psnark: URL escape fixes
 * i2ptunnel: Reset connection if out of threads
 * NetDB: Increase min floodfill version
 * SusiMail: Don't duplicate Re: and Fwd: in subject

* 2018-01-30 0.9.33 released

2018-01-26 zzz
 * i2ptunnel: Fix dup tunnels on create
 * Update translations from Transifex

2018-01-25 zzz
 * GeoIP 2018-01-05
 * SusiMail: Close POP3 socket on error

2018-01-24 zzz
 * i2psnark: Prevent commenting without comment name (ticket #2138)
 * SusiMail: Fix header corruption (ticket #2139)

2018-01-19 zzz
 * i2ptunnel: Prevent changing sigtype after dest creation (ticket #2128)

2018-01-18 zzz
 * Build: New poupdate-source target
 * Util: Consolidate console URL generation in PortMapper

2018-01-17 zzz
 * i2ptunnel:
   - Set defaults for limits
   - Change include style for edit jsps

2018-01-16 zzz
 * i2ptunnel: Fix NPE stopping TCG

2018-01-14 zzz
 * Keyring (ticket #2108):
   - Separate local and remote dests on /configkeyring
   - Prohibit local changes on /configkeyring
   - Remove local keys on tunnel shutdown or encryption disable
   - Ensure subsession encryption setting matches primary session

2018-01-13 zzz
 * SessionKeyManager: Clean up sessions with excess tagsets

2018-01-10 zzz
 * Addressbook: Remove finalizers (ticket #2115)
 * /confignet: Display IP even if firewalled (ticket #2133)
 * i2psnark:
   - Fix double-escaping of '&' (ticket #2127)
   - Fix infinite loop stopping update torrent (ticket #2125)
 * jrobin: Disable DeallocationHelper for Java 9
 * /netdb: Note encrypted leasesets

2018-01-09 zzz
 * SusiMail: Rewrite/fix subject line encoding

2018-01-06 zzz
 * Console: Show and set burst bandwidth (ticket #2123)
 * i2ptunnel:
   - Advanced config in/out tunnels separately
   - Better error message on invalid URLs (eepget too) (ticket #2130)
   - Escape chars unescaped by browsers (ticket #2130)

2018-01-04 zzz
 * i2psnark: Fix overflow in ratio sorter (ticket #2129)

2017-12-23 zzz
 * SusiMail:
   - Fix filenames for inline attachments
   - Support RFC 5987/6266 for attachment and save-as filenames
   - Add alt tags for images
   - Fix long encoded lines in headers
   - Fix replacing underscores in Base 64 decoded headers

2017-12-22 zzz
 * SusiMail:
   - Fix bug sending CC recipients as a 2nd To line
   - Separate recipients by commas
   - Workaround on receive side for CC bug
   - Display To and CC lists on show page
   - Case-insensitive handling of all mail headers
   - Escape leading '-' in q-p encoding

2017-12-16 zzz
 * SusiMail:
   - Sorting cleanups and fixes, only sort when required
   - Show result after server check (ticket #2087)

2017-12-15 zzz
 * SusiMail: Don't store state in session object (ticket #1373)

2017-12-14 zzz
 * SusiMail (ticket #1373):
   - Put more parameters in forms and use P-R-G to
     put several parameters into the URLs
   - Redesign sort parameter handling
   - Fix state tracking issues with delete

2017-12-13 zzz
 * i2ptunnel: Add internal sockets for SMTP and POP3 (ticket #2118)
 * Util: InternalSocket improvements

2017-12-11 zzz
 * Jetty: Fix request log showing zero length for static content
 * Startup: Raise open files ulimit (ticket #1967)

2017-12-10 zzz
 * Router: Change RI locking to a read/write lock (ticket #2096)

2017-12-08 zzz
 * SU3File: Flush and sync on extract (ticket #1941)
 * SusiMail:
   - Reference mails by UIDL, not index on page, put UIDL in
     attachment links, remove session object UIDL (ticket #1373)
   - Fix download of attachments without a Content-Transfer-Encoding
   - Fix error return for attachment not found
   - Fix handling of requests for unknown messages
   - Set encoding for text attachments
   - Add more safe mime types for downloading
   - Add tooltips for icon-only buttons

2017-12-07 zzz
 * Console: Don't list aliased tunnels separately on
   /tunnels and /configtunnels
 * i2psnark: Better locking on BitField byte array
 * SusiMail: Recheck max size if SMTP server reports less than default
 * Util: Deprecate BigPipedInputStream

2017-12-05 zzz
 * Console: Fix multipart config for /configplugins
 * SusiMail:
   - Don't store attachments of composed email in-memory (ticket #1668)
   - Fix bug corrupting sent text and text attachments
     larger than about 1000 chars
   - Fix bug corrupting some sent text and text attachments
     containing '.'
   - Fix handling of unimplemented encoders
   - Add test code for encoders
   - Error message improvements
   - Adjust multipart size limits
   - Better handling of errors when multipart limits are exceeded
   - Test for total size limit

2017-12-04 zzz
 * Servlet: Refactor RequestWrapper to use Servlet 3.0 API (ticket #2109)

2017-12-03 zzz
 * i2ptunnel:
   - Don't lose messages on refresh (ticket #2107)
   - New clear messages button
   - Hide message box if none

2017-12-02 zzz
 * i2ptunnel: Propagate resets from streaming to Socket
   and vice versa (ticket #2071)
 * Streaming: Send reset when receiving more data after locally closed,
   rather than acking (ticket #2071)
 * Tests: Fix up deprecation warnings

2017-12-01 zzz
 * Build: Split net.i2p.router.web into two packages
 * Console: Move /configkeyring HTML to console, fix deletion,
   don't truncate hashes, better form errors, tag for translation (ticket #2108)
 * LeaseSet: Better error messages when decode fails (ticket #2108)
 * Streaming: Double the RTO on congestion (ticket #1939)

2017-11-27 zzz
 * Debian: Exclude gradle, IntelliJ, Docker, .tx, gcj files from source tarballs

2017-11-27 str4d
 * Build: Add Gradle build scripts for compiling the codebase and generating
   IDE project files.

2017-11-26 zzz
 * Build: Add xenial build option
 * Console: Safer processing of changes on /configadvanced
 * Context: Hopefully fix rare NPE on Android (ticket #2092)

2017-11-25 zzz
 * Console:
   - Show full logger.config path on /configlogging
   - Don't say 'Plugin downloaded' when installing from file
 * Debian:
   - Replace glassfish-javaee with libtaglibs-standard-* (ticket #2093)
   - Remove libecj-java dependency (ticket #2094)

2017-11-23 zzz
 * i2ptunnel: Add timeout to header reads for CONNECT, HTTP, and SOCKS clients
 * Wrapper 3.5.34

2017-11-22 zzz
 * i2psnark: Fix nbsp in logs on config change (ticket #2082)
 * Streaming: Fix bug causing loopback hangs and
   preventing desired ack behavior (ticket #1939)
 * Tomcat 8.5.23

2017-11-21 zzz
 * EepGet: Refuse attempted redirect to HTTPS, won't work
 * Reseed: Add support for reseeding via outproxy or Orchid (ticket #1841)

2017-11-20 zzz
 * HTTP Proxy: Better HTTP status message when no outproxy configured
 * i2prouter: Fix echo -n on OSX
 * Reseed: Add outproxy and Orchid proxy support (ticket #1841)

2017-11-19 zzz
 * Debian:
   - Fix builds for x32 (ticket #2076)
   - Incorporate patches 2 and 3 into build scripts
 * DTG: On OSX, set dock icon, and enable by default

2017-11-18 zzz
 * Reseed:
   - Add SOCKS proxy support (ticket #1130)
   - Show proxy info, if applicable, in logs
   - Show status in summary bar for manual reseed (previously hidden if more than 30 routers)
   - Show status in summary bar after successul completion
   - Show reseed button in summary bar if less than 50 known RIs (previously 30)
   - Show current status on /configreseed if already running
   - Consolidate proxy settings detection in ReseedRunner constructor
   - Enhance help text on /configreseed (tickets #423, #1130)

2017-11-17 zzz
 * Addressbook: Fix adding alternates after importing an empty book (ticket #2072)
 * Reseed: Add HTTPS proxy support (ticket #423)
 * SOCKS: Move code from i2ptunnel to core, in prep for SSLEepGet use (ticket #1130)

2017-11-16 zzz
 * Console: Hide Reseed HTTP proxy options if no HTTP URLs (ticket #2007)
 * i2psnark: Fix bad completion status after recheck (ticket #2046)
 * Jetty 9.2.22

2017-11-07 zzz
 * Utils: Constant-time password check

* 2017-11-07 0.9.32 released

2017-11-03 zzz
 * Update translations, add Indonesian as selection
 * GeoIP update

2017-11-03 str4d
 * Console:
   - /graphs:
     - Reorganised config form
     - Fixed "hide legends" option
   - Sidebar: limit event logs to last 7 days, to avoid page freezes
   - Fix scrolling latency issue light theme in Chrome/blink and older Firefox
     versions (ticket #2024)
   - Various cosmetic tweaks, fixes and enhancements
 * I2PSnark:
   - Reduce scrolling and hover latency
   - Add sort direction hover indicators to .snarkTorrents header icons
     (dark/midnight)
   - Various cosmetic tweaks, fixes and enhancements
 * Susimail/SusiDNS:
   - Various cosmetic tweaks, fixes and enhancements

2017-11-02 str4d
 * Console:
   - Sidebar:
     - Fix erratic display of sidebar graph
     - Add id to memory bar so we can target it for Chrome/blink display issue
 * I2PSnark:
   - Roll back target="_top" in config page to prevent embedded view from
     breaking out of iframe
   - Add target="_blank" to relevant links to avoid display in iframe in
     embedded mode
   - Enhance presentation of tracker links in TorrentInfo view

2017-10-31 str4d
 * I2PSnark: Use reflection to access ConfigUIHelper in standalone build

2017-10-25 str4d
 * Console:
   - /graphs:
     - Add option to hide legends
     - Adjust size of up/down bw graph to match other graphs (ticket #1996)
     - Modify image font color to better blend with themes
     - Tweak spacing of elements for non-Debian installs
   - Sidebar:
     - Adjust vertical spacing of general section
     - Rename 'General' section to 'Router Info' and move ident info to h3
       tooltip (ticket #1996)
     - Replace 'Short Router Info' with a new 'Advanced Router Info' section in
       default advanced sidebar (adds memory usage and clock skew)
     - Add optional embedded bandwidth graph (experimental)
     - Add optional memory usage bar
     - Add optional Advanced Peers section (adds failing and banned peers)
     - Add Help link to 'I2P Internals' section
     - Add help page anchored links and troubleshooting to 'Help & FAQ' section
     - Add download progress bar for router and plugin updates
     - Add 'Advanced Minimal' sidebar configuration
     - Add Jobs and Events links to Advanced section
     - Add additional reachability states for clockskew and vmcomm (with icons)
   - Homepage: Add 'Customize Sidebar' link to signpost the feature now that
     there are more optional sections available (ticket #1996)
   - /configui:
     - Add option to embed Susimail and I2PSnark in console
     - Use larger flags for language selection
   - /help:
     - Update sidebar help section (en)
     - Remove redundant CSS class from all help section files (li.tidylist)
   - /tunnels:
     - Indicate that no participating tunnels will be built when shared bw is too low
     - Replace <a name> with id attribute for anchor links
   - light:
     - Lighten/tint buttons and dropdowns to better blend with reworked theme,
       vary text color for different button states
     - Increase vertical spacing for status/buttons in news section
     - Fix minor rendering issue with h1's (remove bottom border-radius)
     - Fix some mismatched heading coloring issues
     - Fix alignment issue on /configservice in Arabic/Chinese (ticket #2024)
     - Ensure spacing of sidebar elements is consistent in Chinese
   - dark: Overhaul theme
   - classic: Add fallback CSS to ensure browsers without CSS3 support can
     display icons on buttons (tested with Netsurf)
 * Proxy: Remove truncation of URLs in the error messages and handle with CSS to
   avoid UI breakage
 * I2PTunnel: Add hostname / destination (b32) information to server section on
   index page (for parity with client tunnels section)
 * I2PSnark
   - Fix broken collapsible panels issue for browsers that don't support the
     feature by conditionally loading override CSS to expand panels by default
     and disable hover/active states for panel headings (tickets #2002, #2026)
   - Add UI option to configuration section to enable collapsible panels, and
     disable the option if a non-compliant browser is detected
   - Fix multiple instances of snark refreshing to the homepage (ticket #2028)
     (patch supplied by mindless)
   - Tentative fix for caching of images so ajax refresh doesn't reload all
     image resources
   - Standardize 'Save Configuration' action to return to top of the page
     (so we can see message log entry)
   - Add button hoverstate for tracker details, torrent details and file icons
   - light
     - Sync buttons in embedded mode with console theme
     - Fix non-functioning message log close icon
   - dark: Overhaul theme and sync with console theme in embedded mode
   - classic: refresh CSS
 * SusiDNS:
   - Reinstate filter removal on addressbook navigation links (ticket #1996)
   - Reduce vertical padding for filter buttons section
   - Migrate search section to div and reposition page elements to better
     integrate with host list and minimize whitespace
 * Susimail:
   - Overhaul dark theme
   - Sync theme to console theme by default, override if user sets theme
     (unless universal themeing is enabled)

2017-10-24 zzz
 * NTCP: Convert configured NTCP hostname to IP address
   before publishing (proposal #141)

2017-10-21 zzz
 * UDP: Reduce log level on IP change (ticket #2053)

2017-10-11 zzz
 * Console: Validate host header (thx Kevin Froman)
 * Router: Honor IPv6 setting when converting configured hostnames
   to IP addresses (proposal #141)

2017-10-04 zzz
 * Router: Convert configured hostnames to IP addresses
   before publishing (proposal #141)

2017-09-29 zzz
 * Debian: Backport fixes from 0.9.30-4 package (ticket #2027)

2017-09-14 zzz
 * Router: Don't lookup hostnames in addresses (proposal #141)

2017-09-12 str4d
 * Core: New benchmarking framework based on JMH (ticket #2036)

2017-09-02 zzz
 * Data: Prohibit excess key data in certs (ticket #2035)
 * i2psnark: New open trackers
 * Startup: Add property to disable output redirect (ticket #2037)

2017-08-26 str4d
 * Console (light):
   - Sidebar Restart/Shutdown buttons:
     - Increase width to better occupy available space and increase width of
       containing form to ensure browser scaling doesn't wrap buttons
     - Reduce vertical padding
     - Reduce height of buttons in console_big.css
   - /debug:
     - Multi-column view for Session Key Manager expiry IDs
     - Fix color mismatch of inbound/outbound h3s
 * I2PSnark (ubergine):
   - Fix hover state for inert section headings
   - Minor adjustments to DHT debug section
 * Susimail (light): Minor adjustment of notifications in embedded view

* 2017-08-07 0.9.31 released

2017-07-31 zzz
 * Translations update, Debian patch refresh

2017-07-31 str4d
 * Console: fix router family page form (ticket #2022)

2017-07-30 str4d
 * Console
   - light theme:
     - Fix spacing issue with banned peers list
     - Tweak font sizes for Arabic
   - Shrink icons in sidepanel network status span
   - Add single graph view buttons to classic theme
   - Better separation of graphing controls in single graph view
   - Enhance presentation of /oldconsole and /proof

2017-07-28 str4d
 * Console:
   - Enhance presentation of show/hide news links on home page
   - Fix some issues with Arabic CSS (light/dark)
   - Further tweaks to graphs display and fixes for borderless single graphs
     in midnight/dark themes
   - Fix minor coloring issues with light theme post-rework
   - Misc theme fixes
 * I2PSnark:
   - Move </center> tag in fileinfo view that prevented sticky navbar from
     working
   - ubergine:
     - Alternative panel tabs for embedded view
     - Tighten .snarkTorrents thead/tfoot spacing
     - Tweak embedded navbar coloring
     - Reduce height of download bars

2017-07-26 str4d
 * Themes:
   - 'light' theme (console & apps):
     - Rework to reduce contrast (ticket #1996)
     - Add custom radio/checkbox icons for Chrome/Blink
 * Console:
   - Add JavaScript snippet to reset dest address scroll position onblur (fixes
     Chrome/Blink disappearing text bugs in i2ptunnel and susidns)
   - Fix reseed failure notice overlap when "check connection" message shown
   - Enhance presentation of console "error 500" messages
   - Cosmetic tweaks to welcome page presentation, arabic welcome page tidyup
   - Migrate .smallhead th class to tr to simplify markup
   - Sidebar:
     - Remove "Congestion" from default sidebar (still present in default
       advanced sidebar)
     - Fix label wrapping issue with translations
     - Migrate sidepanel news section to tables to permit better control over
       wrapping and placement (ticket #1996)
     - Move news item dates to tooltips to lessen chance of headlines wrapping
       and cleanup presentation
     - Increase maximum length of local tunnel links in the sidebar (and handle
       overflow with CSS) to minimize chance of default tunnels display
       truncating in translations
     - Add the power off icon to sidebar restart button on hover to clarify
       button function (ticket #1996)
   - /configadvanced: Move floodfill status to row above to remove unnecessary
     whitespace and cleanup UI
   - /debug:
     - Add container divs and styling markup
     - Add top navigation menu
     - Add debug icon to h2 headers to aid navigation
   - /graphs: Improve presentation of graph images by removing rendered border
     and setting background color to better integrate with themes
   - /home: Widen div.app to lessen chance of truncation (classic/midnight)
   - /jars:
     - JARs, WARs & individual plugins separated with headers
     - Filenames stripped of path info (path indicated on headers and tooltips)
     - Add container divs and styling markup
     - Minimize table overflow with conditional scaling of content
     - One-click select for revision, sha256 & unsigned mods
   - /logs:
     - Reduce line/entry spacing for router and critical logs (#ticket 1996)
     - Multi-column view for changelog at >=1400px to address horizontal
       whitespace issue
   - /netdb:
     - Multi-column display of Leases in LeaseSet tables
     - Better alignment of Lease elements, iconify gateway
     - Placeholder flag for unknown/unresolved peers for [flag+dest] combos to
       improve presentation / fix deadspace issue
   - Chinese:
     - Fix alignment of table contents in /tunnels (classic)
     - Fix sidebar content display width (midnight)
     - Cosmetic fixes (all themes)
 * I2PSnark:
   - Mitigate truncation of ratings dropdown in comments section (translations)
   - light: Reduce contrast of display text
   - light/classic: Increase contrast of download bars
   - Create Torrent trackers table: Replace "Tracker URL" with "Tracker Type"
     (ticket #1996)
   - Add a persistent warning to the messagelog when JavaScript is disabled to
     indicate potential loss of form data upon refresh (ticket #1996)
   - Migrate "view or change bandwidth" to [Configure] tooltip to standardize
     configuration links, allow for more space for option labels and lessen
     chance of option labels wrapping in translations
 * I2PTunnel:
   - Ensure message log font scales proportionately
   - Fix overflow issue with dropdowns in Chrome/blink (dark/midnight)
 * SusiDNS
   - Reduce width of filter buttons to lessen chance of wrapping (ticket #1996)
   - Add non-selectable items to improve copy/paste of hosts in address books
   - Make dest addresses in host list only display scrollbar on focus to reduce
     screen clutter
   - Hide broken imagegen images
 * SusiMail:
   - Dismiss notifications on click
   - Enhance presentation of 'postman' links on login panel

2017-07-25 str4d
 * Console: Move JRobin default color and font changes into SummaryRenderer

2017-07-16 zzz
 * Imagegen: Test page text fixups

2017-07-15 zzz
 * Console: Fix compile error with Jetty 9.2.22 (ticket #2019)

2017-07-13 zzz
 * Crypto: Preserve CRT parameters for RSA private keys (ticket #2005)
 * Various fixes after review

2017-07-11 str4d
 * Console:
   - Increase displayed changelog lines to help ensure at least one whole
     release cycle is visible
   - /tunnels: Fix display issue with inbound/outbound glyph display in table
     header (classic/light)
   - light: Prevent routerlogs from causing horizontal page overflow
 * I2PSnark:
   - Fix I2PSnarkUtil.getCommentsName() to match its JavaDoc
   - Reduce size of screenlog font at 1400-1600px viewport width to lessen
     chance of text-wrapping (ticket #1996)
   - classic: Fix a linespacing issue in the config section (options:) that only
     triggers in foreign languages that force the options labels to wrap
 * Fix HTML tags across non-default conditional branches

2017-07-08 zzz
 * GeoIP, blocklist, translations update

2017-07-06 str4d
 * Console:
   - /configlogging: Fix log file size config bug (ticket #1996)
   - /logs: Correctly format unavailable crypto warnings (ticket #1996)
   - Show advanced sidebar links by default in advanced mode (ticket #1996)

2017-07-02 str4d
 * Console:
   - Show correct icon for "Firewalled" network status
   - Cosmetic changes to new firewalled network status in sidebar
   - Arabic: ensure the destinations correctly align on /tunnels
 * SusiDNS: Default to the console theme
 * I2PSnark: Ensure .snarkNoneLoaded background color remains constant on
   mouseover in dark theme

2017-07-01 str4d
 * Console:
   - /netdb:
     - All Routers/Leasesets/Sybil sections:
       - Each transport instance on own line
       - Better presentation of address characteristics
       - Place flag in table header
     - Container div for leasesets to allow responsive 2 column display
     - Increased spacing of lease information in leaseset tables
     - Add div for "not initialized" message
     - Reorganize content in sybil db to reduce horizontal whitespace:
       - Conditional 2-column display of sybil families
       - Multi-column view for sybil router characteristics & threatpoints
       - Empty (n/a) fields to maintain visual consistency in column view
   - /tunnels:
     - Tag "Local" for translation (and convert to lowercase in CSS)
     - Arabic: ensure our tunnel tables display correctly
 * I2PSnark:
   - Fix unclosed <label>
   - Standalone:
     - Better target the per-theme and imported console resources
     - List all available themes in config section
   - Themes: tidyups & further optimizations to reduce lag

2017-07-01 zzz
 * Fix family key export (ticket #2011)

2017-06-19 str4d
 * Console:
   - Welcome page readmes:
     - Responsive 2 column layout for eepsite section
     - Minor formatting corrections
     - Ensure urls in Arabic display correctly
     - Fix commenting out of forum.i2p where it impacts surrounding text
     - Cleanup unneeded CSS classes
     - Enhance Chinese legibility
   - Add untagged strings for /tunnels tooltips and local tunnel indicator
     (to be tagged for translation post .31 release)
   - classic: reduce color contrast of main display font
   - classic/dark/midnight: alignment on /peers and /tunnels
   - /tunnels:
     - Add bandwidth tiers definitions
     - Indicator for local tunnels
   - /profiles:
     - Split capabilities and version
     - Minimize wrapping at narrow viewport width
     - Iconify view profile link
     - Add "OK" status indication for functional peers
   - /peers: merge Dir and CWND rows in definitions table
   - /events: when no events found, place result in table
   - All themes: marginally increased width of sidebar to better accommodate
     extra long strings
   - Chinese: ensure buttons do not deviate in height (ticket #1996)
   - Arabic: fix alignment issues on /configui; presentational enhancements
   - Misc: remove erroneous tags
 * i2ptunnel: consistent tooltips and Destinations for editClient and editServer
 * I2PSnark:
   - Disable JavaScript td:onclick (handled by css)
   - Fix minimode bug in vanilla/ubergine
   - Minimode for dark/classic
   - ubergine:
     - Further optimizations to reduce lag/cpu load
     - New hidpi details.png to bypass mix-blend mode in .snarkTorrents
   - Usability:
     - Tab navigation now works for toggle panels
     - Touch target for configure button now extends entire length
   - All themes: cleanups and optimizations

2017-06-15 zzz
 * Data: Cache hostname lookups in RouterAddress (ticket #1998)
 * Job Queue: Make search jobs droppable (ticket #1998)
 * Router: Increase JVM DNS cache time (ticket #1998)
 * Util: Add negative DNS lookup cache, increase cache size (ticket #1998)

2017-06-12 str4d
 * Console:
   - /logs: fixed environment/running info table resize on hover (ticket #1996)
   - Scale theme/language divs so we don't truncate language display
   - Arabic (light) adjust font size for sidebar elements
   - Sidebar network status display (ticket #1996)
   - Usability:
     - Enhance presentation of tables on /peers (header/column alignment,
       center to separator for multi-value rows)
     - Enhance presentation of tables on /tunnels (reliable alignment of mixed
       content in rows, more prominence to bandwidth tiers)
   - /netdb: Fix UI bug with unpublished LeaseSets
 * I2PSnark:
   - Usability: add tabindex="0" to screenlog
   - Update navbar link classes to allow easier targetting of button type
   - Remove disabled cursor for known tracker radio icons (ticket #1996)
   - Fix alignment issue for comments (ticket #1996)
   - ubergine: further optimize theme to reduce scroll lag (ticket #1996)
   - ubergine/vanilla:
     - Add mini-mode at <=800px
     - Small size reduction to navbar links (ticket #1996)
 * Imagegen: Theme tweaks

2017-06-05 str4d
 * Add state classes to network status messages in sidebar
 * Switch light theme to the same top-nav style as the other themes

2017-06-04 str4d
 * De-duplicate strings for translation
 * Minor theme tweaks and bugfixes
 * SusiDNS: Update SVG image to use grouped objects for styling and hotlinks
 * Hardcode language names in their native language (to make them easier for
   users to identify)

2017-06-03 str4d
 * Console:
   - Add spans to /stats page to avoid summary info breaking mid-sentence, and
     to aid presentation
   - Adjust /stats CSS so information isn't over-dense
   - Set graph size for generated graphs on /stats to 600x200
   - Fix netdb leaseset tables
     - Ensure we only iconify add to addressbook links and not b32 dests
   - Individual icons for I2PSnark and I2P Plugins on /home
   - Add div to upnpstatus on peers to comply with layout
   - Fix various unclosed/erroneous tags
 * SusiDNS:
   - Rework SVG image
     - Now features interactive feedback when mouseover objects and hotlinks
   - Update fallback images for en and fr
   - Update overview text
   - added tabindex="0" to destination addresses, highlighted on :focus
 * i2psnark:
   - Reorder .snarkCommentInfo sections so my rating / average rating is located
     directly above posted comments/ratings in .snarkComments
   - If author name for comments is configured, display it in .snarkCommentInfo
     table header
   - Full status tooltips for status icons in .snarkTorrents
   - Rework td/th classes for .snarkTorrents so each column (both th + td) now
     belongs to a given class
   - Stop .snarkTorrentStatus class being incorrectly applied to .peerinfo
     columns
   - Spans for DHT peers / Dest in #totals, .snarkTorrentInfo info hash
   - Delete icon for delete comments td
   - Overhaul .snarkTorrents column widths
   - CSS tidyups
 * Compress some of the larger image files by 40-60%
 * UI feedback:
   * Console:
     - Increase contrast of table rows on profile/tunnels/peers tables
     - Changed pink font to magenta in /logs to increase legibility
     - Soften H3 headings in sidebar
     - Single click to select I2P Version and Running Environment table text,
       with table:hover color change and text cursor to better reflect selection
       - Modify text above to indicate what exactly needs to be included in logs
     - Reduce size of monospace dests in peers/profiles/tunnels, add additional
       spacing (responsive)
     - Fix resizing of sidebar reseed button
     - De-emphasise sidebar app icons with background-blend-mode: luminosity
     - Change sidebar snark icon to match homepage icon
     - Bump div.main text color from #222 to #333 (reduce contrast)
     - (light, dark, midnight) fix minor alignment issues with Arabic CSS
     - JRobin (graphs):
       - Fix font size issue for non-title text on graphs
       - Optimise layout (tweaked padding, legend box size etc)
       - Tweak graph lines (now dotted, slightly less opaque)
   * i2ptunnel:
     - Remove redundant labels and spans for keyaccess
     - Edit Server:
       - Shift Local Destination / Private Key file to share table row
       - Move "Use SSL to connect to target" to Target Port column
     - Add translation tagging for title tags
     - Remove redundant title tags and provide enhanced strings for features
       that benefit from clarification
     - Move title tags to <label> where applicable
     - Fixed Cancel button on registration so it now jumps back to the list page
     - textareas for registration page and local destination on edit server page
       changed to divs
       - Scrollbars hidden until mouseover, 1 click to select content
       - Responsive width, tabindex="0"
     - Fix overflow issue on select dropdowns (edit server/client -> tunnel
       options) in Chrome / Blink
     - More generous vertical padding for th (responsive)
     - Larger h2/h3s (responsive)
     - Increase spacing between panels in iframe mode
   * SusiDNS: Change address helper icon to add book icon
   * i2psnark:
     - Remove font-adjust-size (ubergine/vanilla)
     - Add extra spacing to screenlogger bullets (ubergine)
     - (ubergine) speed up tr:hover events by optimizing css (remove latency)
     - (all) remove fade activation delay for download bars, speed up fade-in /
       fade-out
     - Fix i2psnark link in navbar overflow issue in Arabic (ubergine/vanilla)
     - (ubergine) change default font for screenlog from Noto Mono to Droid Sans
       Mono to soften text/slightly reduce text size

2017-05-25 zzz
 * Crypto: Fix AES NPE on 4-core RPi 2nd try (ticket #1989)

2017-05-24 zzz
 * GeoIP: Fix NPE

2017-05-21 zzz
 * i2psnark: Fix bencoded scrape response for zzzot (ticket #1994)

2017-05-21 str4d
 * i2psnark: Integrate ratings and comments into themes

2017-05-20 str4d
 * Console:
   - Clarify choices on address helper save page (ticket #1940)
   - Add router.hideFloodfillParticipant to advanced settings help
 * i2psnark:
   - Make DHT debug section collapsible
   - Tooltips for downloading/finished torrents
   - Download bars for torrents, torrent parts and peer downloads
   - Friendlier date format (with completed: <date> tooltip for finished torrents)

2017-05-19 zzz
 * Console: Move /peers page rendering from router to console (ticket #1879)
 * i2psnark: Add ut_comment UI and per-torrent configuration

2017-05-18 str4d
Prop from i2p.i2p.str4d.ui:
 * Backend HTML changes to routerconsole and apps:
   - IDs, classes and <span>s for styling
   - <label>s to extend touch targets
   - Table layouts where it makes sense
   - Tooltips
   - Move most of the hard-coded styles to CSS
 * Overhaul all themes:
   - Responsive layouts
   - Standardisation of UI elements, configuration labels, etc.
   - Consistent layouts, spacing, font sizes, etc.
   - Routerconsole themes now present for all bundled plugins
   - HiDPI images
   - Accessibility and localisation improvements
   - Testing on a wide array of browsers and screen sizes
 * Console:
   - /home:
     - Move console links above hidden service links
     - Link are now full touch button targets
     - Add tabindex ="-1" to icon links
   - Sidebar:
     - Include bandwidth in minimal sidebar
     - Optional Advanced section
   - /graphs:
     - Graph image updates
       - Improve contrast
       - Custom fonts with fallback
       - Left-align legend
       - Thinner restart and graph lines for clarity
       - Separate legend and display period date
       - Text tidyups
     - Tweak layout and text of configuration options
     - Default width to 400px to avoid info truncation
     - 15s and 30s refresh options
   - /help:
     - Collate help topics from various routerconsole pages
     - Document various router.config settings
     - Add mini-FAQ
   - /peers: CSS sort buttons, with new icons to avoid conflation of
     tunnel direction and sort direction
   - /profiles: Add definitions for capabilities
   - Limit file inputs to accepted extensions
   - Fix bug in /configui lang selector when not in advanced mode
 * i2psnark:
   - Collapsible "Add Torrent" and "Create Torrent" sections
   - Disable theme selector when "universal theming" enabled
   - Debug info styling
   - <noscript> fallbacks:
     - Use meta-refresh
     - Hide JavaScript-dependent buttons
 * SusiDNS:
   - Disable spellcheck on config editor
   - Additional column on hostname list page for helper address with icon, and
     iconfication of b32 addresses
   - Add minified identicon to hostname column
   - Consolidation of Hostname/host name/name referenced: now all "Hostname"

2017-05-14 zzz
 * Crypto: Fix AES NPE on 4-core RPi (ticket #1989)
 * i2psnark: Fix HTML double-escape (ticket #1992)
 * Router: New method to get bandwidth class

2017-05-12 zzz
 * i2psnark: Better handling of read-only i2psnark dir (ticket #1990)

2017-05-10 zzz
 * Debian: Fix apparmor profile (ticket #1986)
 * SusiDNS: Fix display of default subscription

2017-05-05 zzz
 * Blockfile: Move from i2p.jar to addressbook.jar
 * i2psnark: Initial support for ut_comment, no UI yet
 * Jetty: New default servlet for eepsite, with
   locale-independent directory listing (ticket #1965)

* 2017-05-03 0.9.30 released

2017-04-30 zzz
 * Jetty: Rollover log files at midnight, not noon

2017-04-29 zzz
 * Build: Fix failing release tests
 * Jetty:
   - Revert previous checkin, unrelated to the Jetty Timer bug
   - Add patch to fix Jetty Timer bug, backported from Jetty 9.4
 * Translations update

2017-04-27 zzz
 * Console: Disable Jetty timer thread consolidation
   causing log file rollover to stop (ticket #1068)

2017-04-26 zzz
 * HTTP Proxy: Add delay before jump page

2017-04-14 zzz
 * SSU:
   - Reuse previous introducer expiration if available,
     so we don't force a republish
   - Don't run peer test if configured to force firewalled

2017-04-13 zzz
 * SSU: Publish introducer expiration (proposal 133)

2017-04-06 zzz
 * Debian: Add bash-completion scripts

2017-04-04 zzz
 * Router: Fix config dir location in Gentoo

2017-04-02 zzz
 * Context: Fix ClientAppManagerImpl in AppContext
 * i2psnark: Fix standalone configuration for Jetty 9

2017-04-01 zzz
 * Console: Fix stopping of webapps when console stops (ticket #1893)
 * i2psnark: Only rewrite torrent config file if changed (ticket #1893)
 * KeyStoreUtil: Reduce log level of expired cert error
 * Util: Don't sync config writes on Android/ARM (ticket #1893)

2017-03-31 zzz
 * SSU:
   - When a IPv6 peer connects, trigger a IPv6 peer test, not a IPv4 one
   - Require two consecutive peer test results for some state transitions,
     to prevent frequent transitions to firewalled and back

2017-03-29 zzz
 * SSU: Refactor PeerTestEvent out of UDPTransport
 * Throttle: Reduce threshold for probabalistic throttling
   on slow platforms (ticket #1964)

2017-03-27 zzz
 * Blockfile: Include authentication strings in exports
 * Build: Suppress JarScanner warning during Debian build (ticket #1975)
 * Debian: Add missing addressbook.jar to package (ticket #1973)
 * SusiDNS: Add addressbook.jar to classpath, don't fail
   to start if it's still not found (ticket #1973)
 * Time: Fix crashes on old Androids (ticket #1976)

2017-03-25 zzz
 * Blockfile: Upgrade to Blockfile format 4 on non-Android ARM
 * i2ptunnel: Allow alt priv key file to be added without restarting I2P

2017-03-24 zzz
 * Addressbook: Remove static reference, hide implementation
 * CPUID: Recognize Ryzen

2017-03-23 zzz
 * Plugins:
   - Blacklist i2pbote and BwSchedule
   - Translate exceptions thrown from PluginStarter
   - Add version number to console messages when installing/starting

2017-03-21 zzz
 * i2psnark: Enhancement to support RPC plugin
 * Context: New ClientAppManagerImpl in AppContext, so registration works

2017-03-20 zzz
 * i2psnark: Enhancements to support RPC plugin
 * SSU: More work on introducer expiration (proposal 133)

2017-03-18 zzz
 * Addressbook (ticket #1966):
   - Build as jar, not war
   - Put empty war in updater
   - Move Servlet starter to SusiDNS
   - Skip war in RouterConsoleRunner

2017-03-14 zzz
 * Blockfile: Fix specified-destination deletion from the correct book
 * i2ptunnel:
   - New form to enter private key file for alternate destination
   - Use alt destination for registration if set
 * NBI: Adjust info logging at startup
 * SusiDNS:
   - New button for adding alternate destination
   - Fix nonces on details page with multiple destinations
   - Fix single dest deletion on details page with multiple destinations
   - Set book in all forms to ensure correct book

2017-03-13 zzz
 * i2ptunnel:
   - Add subsession support to servers
   - Reset I2P socket on TCP socket errors
 * SAM: Reset I2P socket on handler errors
 * Streaming: Add reset() to I2PSocket API

2017-03-11 zzz
Prop from i2p.i2p.zzz.jetty9:
 * Console: Fix RouterConsoleRunner for Jetty 9
 * Debian packages:
   - Remove libjetty8-java and ant-optional dependencies
   - Add libjetty9-java and libtomcat8-java dependencies
     Fixes stretch/sid package (ticket #1902)
   - Fix up build files for package builds
 * Eepsite: Update initial configuration files for Jetty 9
 * Jetty:
   - Update to Jetty 9.2.21.v20170120 and Tomcat 8.0.33 (tickets #1512, #1935)
     Fixes jsp compilation on Java 9 (ticket #1870)
     Fixes InstanceManager warning (ticket #1818)
     We now support servlet API 3.1, JSP API 2.3, and EL API 3.0.
     Breaks the following plugins: bwschedule, i2pbote, i2pcontrol, zzzot
 * Startup: Add migration code for eepsite Jetty 8 configuration files

2017-03-09 zzz
 * i2psnark: Prevent RuntimeException caused by corrupt i2psnark.dht.dat file
 * Router: Set default sig type to EdDSA for non-Android ARM
 * Streaming: Don't change buffer size when max message size is adjusted

2017-03-06 zzz
 * CPUID:
   - Fix saving of libjcpuid.jnifile on Macs,
     was incorrectly saving as libjcpuid.so (tickets #1865, #1900)
   - Try to load libjcpuid-x86_64-osx.jnilib for 32-bit Macs,
     because as of 0.9.26 it's a 'fat binary' with 32-bit in it also.
   - Add library search path logging to main()
 * NBI:
   - Try to load the "none" architecture for x86, even if
     CPUID loading fails (tickets #1865, #1900)
   - Add library search path logging to main()
 * Throttle: Fix disable of probabalistic throttling
   (ticket #1963) (thx mysterious)

2017-03-03 zzz
 * Utils: Fix crash in Windows installer

2017-03-02 zzz
 * SSU:
   - Initial work on introducer expiration (proposal 133)
   - Fix bug in error handling for introduction parameters in RI

2017-03-01 zzz
 * Servlet: Catch OOM in MultiPartRequest

2017-02-27 zzz
 * i2psnark: Fix disappearing start button
 * addressbook: Add date parameter to authentication strings

* 2017-02-27 0.9.29 released

2017-02-27 zzz
 * i2ptunnel: Fix generation of advanced authentication strings

2017-02-23 zzz
 * HostTxtParser: Add -q command line option, enhance return codes
 * PrivateKeyFile: Add option to generate addressbook authentication

2017-02-20 zzz
 * GeoIP and blocklist update



----------------

EARLIER HISTORY IS AVAILABLE IN THE SOURCE PACKAGE