* 2019-01-22 0.9.38 released

2019-01-21 zzz
 * Debian:
   - Add source param to javadoc target (ticket #2394)
   - Replace ttf-dejavu with fonts-dejavu (ticket #2395)
 * Reseed: Update SSL cert

2019-01-18 zzz
 * Build:
   - Update translations
   - Add files for Disco
 * NTCP: Stop X25519KeyFactory on shutdown (ticket #2388)
 * Plugins: Fix loading of webapp configuration classes (ticket #2385)

2019-01-15 zzz
 * Debian: AppArmor updates (ticket #2319)
 * SusiMail:
   - Fix sending mail with attachments (ticket #2373)
   - Fix deleting attachments from drafts
   - Fix dup attachments after clicking add attachment without browsing first
   - Fix update of draft folder after saving as draft
   - Change text of add attachment button for clarity

2019-01-13 zzz
 * I2CP: Set LS2 unpublished bit, show in debug output

2019-01-12 zzz
 * NetDB: Use isSlow() in floodfill criteria
 * SSU: More consolidation of clock().now() calls

2019-01-10 zzz
 * I2CP:
   - Router-side handling of meta LS2
   - Remove client-side-only options from those sent to router
   - Router-side stub for encrypted LS2

2019-01-09 zzz
 * Console: Fix broken image link on /configui
 * I2CP: Stub out client-side creation of meta and enc. LS2
 * Wrapper: Increase default heap to 256 MB

2019-01-05 zzz
 * Crypto: Stub out EdDSA blinding (proposal 123)

2019-01-04 zzz
 * Build: Check cert validity
 * Data: Add type byte to MetaLease (proposal 123)
 * NetDb: Prevent ISJ deadlock (ticket #2366)
 * Router: Reseed updates

2019-01-02 zzz
 * Console: Wizard styling (ticket #1473)
 * Data: Encrypted LS2 progress (proposal 123)

2019-01-01 zzz
 * Console:
   - New light background (ticket #738)
   - Add warning for OpenJDK Zero VM
 * Data:
   - Add support for LS2 multiple encryption keys (proposal 123)
   - Fix Meta LS2 bugs (proposal 123)
 * Debian: Remove obsolete systray.config
 * NBI: Add lookup tables for ARMv8

2018-12-24 zzz
 * Console: Update ARM warning (ticket #2368)

2018-12-23 zzz
 * Console: Sybil tool background analysis setup form

2018-12-21 zzz
 * Transports: Improve banning of routers from wrong network

2018-12-19 zzz
 * NTCP: Efficiency improvements (ticket #2355)

2018-12-17 zzz
 * Console: Sybil tool background analysis
 * Data: Set encrypted LS2 hash (proposal 123)
 * GeoIP: Fix NPE (thx parg)
 * NTCP: Use new HKDF class

2018-12-15 zzz
 * Console: Sybil tool refactoring

2018-12-13 zzz
 * Crypto: Add HKDF class for LS2 and NTCP2 (proposal 123)

2018-12-12 zzz
 * DTG: Use UrlLauncher to launch browser
 * Installer: Drop unused systray.config
 * UrlLauncher: Improvements and cleanups
 * Util: Add another ShellCommand String[] method

2018-12-11 zzz
 * Crypto: HMAC-SHA256 cleanup
 * Debian: Add conffiles list
 * Utils: Enable TLSv1.3 for SSL sockets

2018-12-08 zzz
 * Console: Hide I2CP config if disabled
 * NetDb: Allow longer expiration for Meta LS2
 * Transport:
   - Don't repeatedly publish RI if IPv6-only but
     not configured IPv6-only
   - Don't set status to disconnected if IPv6-only but
     not configured IPv6-only

2018-12-05 zzz
 * I2CP:
   - Propagate error from disconnect message to session listener
   - Set offline keys in generated LS2
   - Set and validate offline sig in SessionConfig

2018-12-04 zzz
 * Data: Add preliminary PrivateKeyFile support for LS2 offline keys (proposal #123)
 * I2CP: Add preliminary support for LS2 offline keys (proposal #123)

2018-12-03 zzz
 * I2CP: Consolidate all the port 7654 definitions
 * NetDb: Don't send our RI in response to DSM when shutting down
 * Wizard: Update text

2018-12-02 zzz
 * Router: Allow LS2 DSM down a tunnel
 * Transport: Add methods to force-disconnect a peer

2018-12-01 zzz
 * I2CP: Add preliminary support for LS2 (proposal #123)
 * Router: More support for LS2 types (proposal #123)

2018-11-30 zzz
 * Crypto: Move X25519 primitives from router to core (proposal #144)
 * Data: Update LS2 sign/verify to match spec changes (proposal #123)

2018-11-25 zzz
 * Utils: Catch ProviderException in SelfSignedGenerator (ticket #2344)

2018-11-20 zzz
 * GeoIP: Add support for Maxmind GeoLite2 format (ticket #2268)

2018-11-19 zzz
 * Debian: Add libjson-simple-java dependency
 * Util: Change json lib from net.minidev.json to com.json.simple

2018-11-17 zzz
 * Console: Wizard fixes and improvements

2018-11-15 zzz
 * Console: Connect NDT to setup wizard, various fixes

2018-11-13 zzz
 * Console:
   - New M-Lab NDT subsystem (ticket #2321)
   - Setup wizard (WIP) (ticket #1473)
 * Router: LS2 handling for proposal 123

2018-10-13 zzz
 * Build: Add javac.classpath to junit.compileTest targets (ticket #2333)
 * Data: Add LS2 classes for proposal 123

2018-10-11 zzz
 * Console: Remove static Server reference

2018-10-10 zzz
 * Build: Provide option to prevent Class-Path in manifests (ticket #2317)

2018-10-09 zzz
 * Console: Sybil tool refactoring

2018-10-08 zzz
 * Console: Refactor StatSummarizer

2018-10-07 zzz
 * Build: Fix config with-libtomcat8-java but not
   with-libjetty9-java (ticket #1934)
 * Debian: Don't override dh_builddeb (ticket #2329)

2018-10-06 zzz
 * Console:
   - Fix P/X caps on /tunnels
   - Netdb search fixes (ticket #2326)
   - Sort addresses in RIs
   - Split /peers page into tabs (ticket #1934)

* 2018-10-04 0.9.37 released

2018-10-01 zzz
 * Pull translations from tx

2018-09-26 zzz
 * Crypto: Avoid privkey conversion when generating CRL,
   failing on Android for unknown reasons (ticket #2296)
 * IRC: Make inbound whitelist static
 * Router: Don't add 'O' cap for P/X anymore

2018-09-24 zzz
 * Build: Compile jsps in-order for reproducibility (ticket #2279)

2018-09-23 zzz
 * Plugins: Blacklist neodatis and seedless for Java 9+ (ticket #2295)

2018-09-22 zzz
 * NTCP:
   - Fix handling of multiple connections
   - Change termination code for expired RI

2018-09-16 zzz
 * Build: Fix hang with Tomcat 8.5.33+ (ticket #2307)
 * Tomcat 8.5.34

2018-08-27 zzz
 * Debian: Prevent dup version (ticket #2300)

2018-08-26 zzz
 * NTCP2: Publish outbound address after transition to firewalled

2018-08-24 zzz
 * i2psnark: Better comment deduping, fixes rating average
 * NTCP2: Enable by default

* 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 classification 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


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

EARLIER HISTORY IS AVAILABLE IN THE SOURCE PACKAGE