2022-05-23 1.8.0 released

2022-05-19 zzz
 * Pull translations from Transifex

2022-05-17 zzz
 * i2psnark: Fix remaining size calculation causing tracker errors

2022-05-11 zzz
 * Transport: Fix thrashing of UPnP IPv6 listen sockets
 * Util: Rename modified apache classes (Gitlab ticket #353)

2022-05-02 zzz
 * GeoIP 2022-05-01
 * Tomcat 9.0.62

2022-04-27 zzz
 * SSU2: Peer test updates and fixes

2022-04-24 zzz
 * SSU: Publish empty IPv6 address when missing introducers
 * SSU2: Finish peer test implementation

2022-04-17 zzz
 * More soft restart fixes

2022-04-14 zzz
 * Startup: Don't set our RI loaded from disk if too old

2022-04-13 zzz
 * Router:
   - Reset uptime on soft restart
   - Don't rekey after failure to store our RI due to clock skew
   - Change comm system state during soft restart

2022-04-12 zzz
 * Console: Fix Sybil closest hash tabs
 * Transport: Fix UPnP deadlock
 * Tunnels: Don't build client tunnels less than min length

2022-04-11 zzz
 * I2CP: Fix external I2CP broken when session ID is 0

2022-04-05 zzz
 * SSU2: Fragmented Session Confirmed

2022-03-27 zzz
 * Crypto: Fix CertUtil loading EdDSA certs, check sigs
 * Router: Validate family sig at startup
 * SSU: Increase min pending establish states limit
 * SSU2: Misc. fixes, prep for fragmented RI

2022-03-26 zzz
 * Crypto: Add official EdDSA OIDs to provider
 * SSU: Reduce ack delay to minimize addition to measured RTT
 * SSU2: Hook in IMF Bloom filter to detect dups

2022-03-25 zzz
 * Console: Prevent creating a family that another router is using

2022-03-23 zzz
 * I2CP: Synch fixes
 * SSU2: Refactor tokens

2022-03-22 zzz
 * Router family fixes

2022-03-20 zzz
 * NetDB:
   - Refactor family validation
   - Remove duplicate store in FloodOnlyLookupMatchJob
   - Don't store an entry which is older

2022-03-18 zzz
 * Console: Fix rare IAE on destination sort
 * SSU2: Implement peer test state machine

2022-03-17 zzz
 * SSU: Peer Test refactor
 * SSU2: Relay and Peer Test WIP

2022-03-15 zzz
 * SSU2: Fixes

2022-03-13 zzz
 * SSU2: Fixes, stubs for relay and peer test (phase 2)

2022-03-12 zzz
 * SSU2: Fixes
 * Tunnels: Reduce build reply timeout

2022-03-11 zzz
 * i2psnark standalone: Add DTG

2022-03-10 zzz
 * SSU2: Fixes

2022-03-09 zzz
 * DTG: Add new ExternalMain class for app context use

2022-03-08 zzz
 * I2NP: Fix TunnelGatewayMessage.calculateWrittenLength()
 * SSU2: Fixes

2022-03-06 zzz
 * Console: Improve class selection on /configlogging
 * SSU2: Fixes

2022-03-04 zzz
 * Console: Add SSU version column to /peers
 * i2psnark: Add js theme preview
 * i2psnark standalone: Add more CLI messages, increase memory
 * NTCP: Fix port selection when SSU disabled
 * Transport: Fix wasUnreachable() for transports with alt style

2022-03-03 zzz
 * NetDB: Load reseed RI if newer than in-memory
 * NTCP: Start out reachable if SSU disabled

2022-03-02 zzz
 * SSU: Finish initial implementation of SSU2
   Unit tested only, testnet testing to follow
   Data phase retransmissions unimplemented

2022-03-01 zzz
 * NetDB: Add new reseeds
 * Util: More efficient detection of connectivity

2022-02-25 zzz
 * Sybil: Family analysis improvements

2022-02-24 zzz
 * SSU: SSU2 classes and keys (WIP)

2022-02-23 zzz
 * i2psnark: Load system mime types if available
 * SSU: More SSU2 prep and support (WIP)

2022-02-22 zzz
 * BOB: Remove source
 * Crypto: Prep for SSU2
 * NetDB: Prevent rare deadlock via FloodfillMonitorJob at startup
 * NTCP: Reduce max writer threads
 * SSU: PacketHandler cleanup (prep for SSU2)
 * SSU: Start of SSU2 support
 * Update: Add notification for new version
 * Util: Speed up PRNG nextInt() and nextLong()

2022-02-21 1.7.0 released

2022-02-18 zzz
 * Update translations

2022-02-17 zzz
 * i2psnark standalone: Increase open files ulimit

2022-02-09 zzz
 * NTCP: Fixes for SSU disabled

2022-02-03 zzz
 * SSU: Don't bid on connection to buggy routers
 * Tunnels: Avoid buggy routers

2022-01-30 zzz
 * Reseed, DoH: Fixes for IPv6-only

2022-01-26 zzz
 * NTCP: Clock skew handling improvements

2022-01-25 zzz
 * Tunnels:
   - Enable tunnel testing by default
   - Use tunnel builds as a tunnel test
 * NTCP: Ban IP if RI signature fails
 * UDP: Pass priority through the packet builder,
   add priority to UDP-Sender queue

2022-01-21 zzz
 * Util: Fix leak of SimpleTimer2 shutdown task

2022-01-06 zzz
 * Router: Prevent deadlock at startup

2022-01-05 zzz
 * Plugins:
   - Fix console icon when consoleLinkURL is specified
     and different from the plugin name
   - Fix webapp classpath setting when the webapp name
     is different from the plugin name

2022-01-04 zzz
 * i2pcontrol: Send translated tunnel status string

2022-01-02 zzz
 * i2pcontrol: Handle more router states mapping to i2pcontrol states
 * i2ptunnel: Add hooks to get the session from the contoller

2021-12-28 zzz
 * Console: Partial string case-insensitive match for netdb family search
 * i2ptunnel: Add IRC filter support for IRCv3 message tags
 * NetDB:
   - StoreJob reliability improvements
   - Ensure tunnel diversity in lookup retries
   - Fix usage of dbResponseTime stat
   - Increase lookup throttle time
   - Don't requeue LS republish on failure if there is a newer LS

2021-12-27 zzz
 * Banlist: Increase ban time again for routers without netID
 * I2CP: Send DestroySession message when destroying session
         in client-side AppContext SimpleSession
 * i2psnark: Standalone fixes for router startup/shutdown

2021-12-23 zzz
 * i2psnark: Various standalone fixes

2021-12-21 zzz
 * Transport: Async NTCP writes (MR !43)

2021-12-18 zzz
 * Tunnels:
   - Restore support for IP restriction in client tunnels (MR !45)
   - Add support for IP restriction in exploratory tunnels
   - Do not allow failed tunnels to be rebuilt

2021-12-08 zzz
 * i2ptunnel: Refactor UDPTunnel, Streamr, and SOCKS UDP for I2CP ports

2021-12-07 zzz
 * Debian: Add explicit dependency on libservlet3.1-java (Debian #997213)

2021-12-05 zzz
 * DTG: Add notification enable/disable to menu
 * Router: Tweak shutdown messages

2021-12-04 zzz
 * Build: Fix minimum Java version in installer config
 * DTG:
   - Show I2P starting message
   - Show all CRIT log messages
   - Change to dark icon on Windows
 * i2psnark:
   - Format multiple lines in torrent comment
   - Notify completed downloads on DTG
 * SusiMail: Notify new messages on DTG

2021-12-03 zzz
 * i2psnark: Add torrent edit page
 * Tunnels:
   - Refactor build completion handling
   - Count consecutive build timeouts per-pool
   - Immediately fail outbound tunnel when connect
     to first hop fails

2021-12-01 zzz
 * DTG: Add notification service to display popup messages
 * Router: Reduce ban time for localhost addresses

2021-11-30 zzz
 * Build: Remove BOB from installer, updater, and clients.config
 * Console: NetDB search form improvements
 * i2ptunnel: Increase priority for IRC and standard tunnels

2021-11-29 1.6.1 released

2021-11-29 zzz
 * Tunnels: Fix NPE in BuildHandler

2021-11-29 1.6.0 (not released)

2021-11-23 zzz
 * Tunnels:
   - Drop request if hop throttle exceeded by 50%
   - Revert banning peer in throttles

2021-11-21 zzz
 * Console: Drop peer when manually banned
 * Tunnels:
   - Ban peer on excessive build requests
   - Drop requests if previous or next peer is banned
 * Update: Drop peer when banlisted

2021-11-12 zzz
 * Tunnels: Improve build success when at conn limits

2021-11-09 zzz
 * GeoIP 2021-11-01

2021-11-09 zzz
 * Util: Update DoH server list

2021-10-23 zzz
 * Debian: Update JRE dependencies

2021-10-21 idk
 * Improve consistency between light and dark theme on Bandwidth Config Wizard

2021-10-20 zzz
 * SSU: Send Peer Test from Bob to Alice in-session

2021-10-13 zzz
 * Util: Recognize newer Intel processors

2021-10-11 zzz
 * Tomcat 9.0.54

2021-10-10 zzz
 * Jetty 9.3.30.v20211001

2021-10-05 zzz
 * NetDB: Reduce ban time for routers without netId

2021-10-03 zzz
 * Console: Add theme selection to wizard

2021-10-01 zzz
 * i2ptunnel: Fix enc type configuration logic

2021-09-30 zzz
 * Console: Add js to /configui to preview themes

2021-09-27 zzz
 * Router: Rekey all Android/ARM routers

2021-09-25 zzz
 * Tunnels:
   - Implement Bloom filter for short TBM
   - Reduce TBM Bloom filter size and interval for EC routers

2021-09-22 zzz
 * UDP: Replace ACKSender thread with per-PeerState ack timers

2021-09-10 zzz
 * I2CP: Don't call listener.readError() after external client disconnect

2021-09-05 zzz
 * Update: Get backup URLs from news feed

2021-08-28 zzz
 * Console: Catch error checking systray availability (gitlab issue #331)

2021-08-26 zzz
 * Debian: Fix dh_installdocs build error
 * Router: Increase rekey probability
 * Tunnels: Enable sending short build messages

2021-08-23 1.5.0 released

2021-08-20 zzz
 * Update GeoIP and translations

2021-08-13 zzz
 * Crypto: Fix corruption of EC and DSA private keys on Java 17

2021-08-07 zzz
 * UPnP: Fix URL handling

2021-08-02 zzz
 * Console: Show restart button if there's an update
   to be handled by a post-processor

2021-07-30 zzz
 * Util: Update DoH server list

2021-07-28 zzz
 * Tunnels: Fixes for proposal 157

2021-07-23 zzz
 * Transport: Fix UPnP IPv6 NPE

2021-07-22 zzz
 * Tunnels: Fixes for proposal 157

2021-07-20 zzz
 * NetDB: Increase min ff version to 0.9.38

2021-07-18 zzz
 * Tunnels: Updates for proposal 157

2021-07-07 zzz
 * Streaming: Reduce immediate ack delay

2021-07-02 zzz
 * UPnP: IPv6 address validation fix

2021-06-22 zzz
 * Tests: Fix duplicate classes in i2ptest.jar
 * Tunnels: Changes for new build messages (Prop. 157)

2021-06-20 zzz
 * Jetty: Case-insensitive sort on directory listing, put directories first

2021-06-18 zzz
 * Console: Add Permissions-Policy header
 * SSU: Fix handling of bad peer test responses
 * Transport: Remove 4/6 caps config

2021-06-16 zzz
 * Router: Increase key pool sizes for slow machines

2021-06-13 zzz
 * Tests: Fix and expand BuildMessageTestStandalone
 * Tunnels: Continue work on new build messages (proposal 157)

2021-06-11 zzz
 * UPnP: Bind to IPv6 addresses for search responses

2021-06-10 zzz
 * Updates:
   - Add preliminary support for dmg/exe updates
   - Make backup news URL configurable (see gitlab MR !33)

2021-06-08 zzz
 * NetDB: Prevent rare deadlock in rebuildRouterInfo()
 * Tunnels:
   - More work on short tunnel build messages (proposal 157)
   - Fix compare logic in ITBM parser (ticket #2814)
   - Extend use of high cap peers in expl. tunnels at startup, after extended downtime
   - Switch from SHA256 to SipHash for peer ordering

2021-06-01 zzz
 * i2psnark: Fix autostart for magnets
 * Router: Fix JobQueue getLastJobBegin() and getLastJobEnd() (ticket #2809)

2021-05-23 zzz
 * UPnP: Fix IPv6 address check (ticket #2811)

2021-05-21 zzz
 * Router: Increase rekey probability
 * RRD4J 3.8

* 2021-05-18 0.9.50 released

2021-05-14 zzz
 * SAM: Remove ancient client demo code
 * Update Translations

2021-05-10 zzz
 * Sybil: Fix retention of analysis files when configured
   to never delete

2021-05-07 zzz
 * Console: /configpeer improvements

2021-05-04 zzz
 * GeoIP 2021-05

2021-05-02 zzz
 * Console: Update bug report URLs

2021-04-25 zzz
 * Console: Add author for initial news

2021-04-24 zzz
 * Jetty: Patch for CVE-2021-28165 Jetty #6072 -
   Jetty server high CPU when client send data length > 17408
 * SusiMail: Fix infinite loop in decoder on malformed input

2021-04-24 zlatinb
 * SusiMail:
   - Fix stream closed exception reading new mail
     (trac ticket #2202, gitlab ticket #17)
   - Fix corruption of large messages (ticket #2765)

2021-04-23 idk
 * Router: Fix update on Windows from very old versions (gitlab ticket #16)

2021-04-20 zzz
 * NTCP:
   - Set outbound addresses at startup when force-firewalled
   - More NTCP1 removal cleanup
 * SSU:
   - Fix setting addresses from interfaces at startup
   - Don't start peer test when shutting down

2021-04-18 zzz
 * Proxy: Decode IDN hostnames in error pages

2021-04-17 zzz
 * Transport: IPv6 state transition fixes

2021-04-12 zzz
 * SSU: Fix peer test getting stuck

2021-04-11 zzz
 * Proxy: Precompress error page CSS
 * SSU: IPv6-only fixes

2021-04-09 zzz
 * Router: Fixes for setting up config dir in embedded applications

2021-04-08 zzz
 * Debian: Fix link to compiler jar (Debian ticket #986474)
 * SSU: IPv6 introducer fixes

2021-04-05 zzz
 * Build: Remove launcher code
 * Console: Convert update versions to times for debug page
 * Sybil: Register blocklist version with update manager

2021-04-04 zzz
 * Tunnels: Fix timestamp checking for ECIES records

2021-04-03 zzz
 * SAM: Remove subsessions when primary session closes
 * SSU: Remove restrictions on IPv6 introducers (prop. 158)

2021-04-02 zzz
 * SSU: Fix dup IPv6 introducers

2021-04-01 zzz
 * NetDB: Negative cache LS received with zero leases

2021-03-31 zzz
 * SSU: Update address when IPv6 introducers change (prop. 158)

2021-03-30 zzz
 * Transport: Fix NTCP removing IPv4 address when SSU removes IPv6 address

2021-03-29 zzz
 * SSU: Don't request introducers when hidden
 * Transport: Don't open UPnP ports when hidden or force-firewalled

2021-03-27 zzz
 * Router: Fix decryption of blinded leasesets

2021-03-25 zzz
 * i2ptunnel: Force non-SSL socket to local target for SSL ports
 * SSU: Implement IPv6 introductions (proposal 158)
 * Transports: Don't open UPnP ports for disabled IPv4/v6

2021-03-23 zzz
 * NetDB: Sort published addresses for consistency
 * SSU: Fix IPv6 transition from firewalled to non-firewalled

2021-03-22 zzz
 * Sybil: Persist blocklist
 * Tunnels: Don't count established routers as new in OBEP throttle (ticket #2245)

2021-03-20 zzz
 * Tunnels: Fix RED dropping for part. tunnels (Gitlab MR #24)

2021-03-18 zzz
 * Util:
   - DoH: Update server list
   - EepGet timeout fixes
   - EepHead: Fix failure if headers specify chunked
   - SSLEepGet: Specify hostname for SSL socket when using DoH
   - SSLEepGet: Use DoH by default (reseeding) (ticket #2201)

2021-03-16 zzz
 * Console: Fix netdb SSU caps search
 * Transports: Enable 4/6 caps

2021-03-15 zzz
 * SSU: Fix IPv6 addresses not being removed on some state transitions
 * Util: Don't call out to InetAddress for IP parsing

2021-03-13 zzz
 * Console: Limit share to 90% max

2021-03-11 zzz
 * NetDB: Queue RI file deletion and delete in a single thread
 * SSU: Limit port changes

2021-03-09 zzz
 * Throttle: Don't do exponential calculation unless necessary
 * Util: Consolidate dup BandwidthEstimator interfaces

2021-03-08 zzz
 * NTCP: Remove NTCP 1 suppport
 * SSU: Increase CoDel drop threshold at UDPSender queue

2021-03-06 zzz
 * SSU: Require confirmation for IPv6 firewalled state transitions

2021-03-04 zzz
 * I2CP: More prep for different release and API versions
 * i2ptunnel: Add missing button icons for proxy forms
 * Router: Increase rekey probability
 * Transports: Prefer IPv6 temporary addresses if the kernel does

2021-03-03 zzz
 * NTCP: Fix reachability status when force-firewalled
 * SSU:
   - Only advertise 'C' cap if we can really introduce
   - Only ask for relay tag if we don't have enough
   - Fix transition out of IPv4 firewalled after UPnP success
   - Fix validation of current introducers
   - Don't publish IPv4 address at startup when force-firewalled
   - Publish empty '4' address if firewalled and no introducers
   - Publish empty '6' address if firewalled
   - 4/6 caps fixes
   - Increase hole punch rate limit
 * UPnP: Fix retention of deprecated addresses

2021-03-02 zzz
 * UPnP:
   - Limit event subscription time
   - Subscribe to IPv6 service also

2021-03-01 zzz
 * UPnP:
   - Fix mappings not being renewed before expiration
   - IPv6 port forwarding fixes
   - Continue to forward deprecated addresses for a while

2021-02-28 zzz
 * SSU: Fix set of states requiring address confirmation
 * UPnP:
   - Add support for IPv6 firewall addresses
   - Add support for forwarding IPv6 addresses

2021-02-27 zzz
 * UPnP: Move IPv6 checks from Parser to ControlPoint

2021-02-25 zzz
 * NetDB: Fix NPE validating expired blinded LS2
 * NTCP: Don't publish IP at startup when configured as firewalled
 * SSU: Enable RelayRequest over IPv6
 * Transports: Adjust conn limits for some platforms

2021-02-24 zzz
 * Jetty: Fix detection of SSL connector
 * SSU: Avoid outbound connections to buggy routers

2021-02-23 zzz
 * Build: Prep for different release and API versions
 * Transports: Add 4/6 transport caps

2021-02-21 zzz
 * Console: List all Jetty servers in sidebar
 * Profiles: Disable peer test (ticket #2456) and tunnel test response time stat

2021-02-20 zzz
 * Router: Don't rekey previous ECIES every restart on ARM

2021-02-19 zzz
 * i2psnark: Fix theme selection

2021-02-18 zzz
 * Build: Remove empty jars and wars from installers
 * NTP: Year 2036 fixes (gitlab ticket #12)

* 2021-02-17 0.9.49 released

2021-02-15 zzz
 * Build: Test script fixes
 * Pull translations from Transifex

2021-02-13 zzz
 * Util: Update router su3 keys

2021-02-10 zzz
 * Util: Fix up KeyStoreUtil CLI

2021-02-06 zzz
 * Proxy: Update default jump servers
 * NetDB:
   - Ensure RI is published after netdb is initialized
   - Only rewrite blind cache at shutdown if changed
 * NTCP: Don't publish saved local address when hidden

2021-02-05 zzz
 * GeoIP update

2021-02-03 zzz
 * Tunnels: Peer selection changes

2021-01-31 zzz
 * Router:
   - Update list of hidden mode countries
   - Force hidden mode routers to LU
   - Don't publish stats in first hour of uptime
   - Add H.323 to invalid ports list
   - Improve crashed message in event log
 * Util: Improved classification of public/local IPv6 addresses

2021-01-30 zzz
 * UPnP: Fix NPE (android gitlab ticket #1)

2021-01-29 zzz
 * Tests: Addresses tests
 * Util: Don't allow empty string as valid IP

2021-01-24 zzz
 * Tunnels: Update profiles for tunnel peers on corrupt message at endpoint

2021-01-23 zzz
 * Console: New readme translations
 * Eepsite: New help translations

2021-01-22 zzz
 * Build: Drop old Makefile.gcj
 * Console: Drop old proof page

2021-01-20 zzz
 * Console: Fix link to UPnP status
 * SSU: Fix deadlock with router restart
 * Tests: ConvertToHash tests

2021-01-14 zzz
 * Router:
   - Change default encryption type to ECIES-X25519 (proposal 156)
   - Move Sybil subsystem from console to router
   - Limit max addresses in RI

2021-01-13 zzz
 * Jetty: Fix URI in request logs

2021-01-12 zzz
 * i2psnark: Don't decrement downloaded counter after receiving bad piece

2021-01-11 zzz
 * Console: Delete rrd files for no-longer-configured stats at startup

2021-01-08 zzz
 * i2ptunnel: Disable shared clients (DSA) (part 2)
 * SSU: Fix bandwidth estimator deadlock (ticket #2798)

2021-01-07 zzz
 * Router: Disable reseeding and NTP in vmCommSystem
 * SSU: Implement fast retransmit (tickets #2427, #2668)

2021-01-05 zzz
 * Console: Reduce limit of concurrent graph generation on slow devices
 * i2psnark: Add ability to remove I2CP options
 * SusiDNS: Hide last-modified on details page if empty

2021-01-04 zzz
 * Build:
   - Gradle build fixes
   - Update external javadoc links

2021-01-02 zzz
 * Sybil: Reduce default threshold
 * Tunnels: Improve error handling at OBEP

2020-12-31 zzz
 * Console: Use local time on graphs by default
 * NetDB:
   - Drop lookups with replies going to us
   - Extend lookup expire time

2020-12-30 zzz
 * Ratchet: Fix N pattern for ECIES build replies

2020-12-29 zzz
 * Crypto: Cache AES Ciphers
 * i2ptunnel: Disable shared clients (DSA)
 * NetDB: Verify RI stores for a while after starting
 * Ratchet: mixHash() not required after message for N pattern

2020-12-28 zzz
 * Debian: Add Java 15/16 to control

2020-12-27 zzz
 * SSU: Fix restoration of window after failed message

2020-12-26 zzz
 * Console:
   - Move flag overrides to war
   - Move initial news to jar
 * Router: Move some geoip files to jars

2020-12-24 zzz
 * I2CP: Fix requesting leasesets for subsessions (ticket #2458)

2020-12-23 zzz
 * Crypto: Increase ratchet tag window
 * I2CP: Fix encrypted leaseset for ECIES and offline keys
 * i2ptunnel: Fix writing config file twice on save

2020-12-22 zzz
 * Console:
   - Add netdb search by enc. type
   - Move readme files to war

2020-12-21 zzz
 * SSU: Fix partial acks not being sent

2020-12-20 zzz
 * Console: Fix theme selection
 * Proxy: Move error page resources to jar
 * SSU: Westwood+ congestion control (ticket #2427)

2020-12-18 zzz
 * Crypto: Fix use after free (ticket #2797)

2020-12-17 zzz
 * SSU: Send subset of fragments (ticket #2427)

2020-12-16 zzz
 * NetDB: Fix rare floodfill monitor NPE
 * SSU: Fix occasional high CPU usage

2020-12-11 zzz
 * Router (proposal 156):
   - Change router ECIES SKM to use N pattern
   - Allow encrypted messages to ECIES routers
   - Allow ECIES routers to become floodfill
   - Add XDH factory to VM comm system for tests

2020-12-06 zzz
 * Console, webapps: Move web resources to wars
 * i2psnark:
   - Add support for web seeds (ticket #2780)
   - Preserve file attribute strings in metainfo
 * Streaming: Add Retry-After header to throttle response
 * Util: Change DoH to RFC 8484 protocol (ticket #2201)

* 2020-12-01 0.9.48 released

2020-11-26 zzz
 * NTCP: Enable nodelay by default
 * SSU: Don't wakeup OMF after ack if no more messages are pending

2020-11-24 zzz
 * Build: Fix targets for git
 * NTCP: Add nodelay option for testing

2020-11-23 zzz
 * Console: Serve default favicon.ico
 * i2pcontrol: Basic HTML fixes and HTTP headers for static pages

2020-11-22 zzz
 * NetDB: Increase min FF version for LS lookups

2020-11-21 zzz
 * i2psnark: Remove old default opentrackers
 * Proxy:
   - Remove old default jump servers
   - Fix CSP for conflict error page

2020-11-20 zzz
 * NetDB: Increase exploration rate when hidden
 * Tomcat 9.0.40

2020-11-19 zzz
 * Build: Reproducible build fix (ticket #2279)
 * Crypto: Adjust Java key cache sizes
 * Debian: Update apparmor profile for usrmerge

2020-11-17 zzz
 * Jetty:
   - Update to 9.3.29.v20201019
   - Patch to fix console not starting on Java 11.0.9.1
 * NetDB: Disable sending encrypted messages to ECIES routers
 * Wrapper: Add missing binaries for armv7 and aarch64
   to installer (ticket #2308)

2020-11-16 zzz
 * GeoIP 2020-11-01
 * I2NP: Don't extend DataStructureImpl, to save space
 * Imagegen: Update zxing to 3.4.1
 * Wrapper: Update to 3.5.44

2020-11-11 zzz
 * Data: Store timestamps as longs, not Dates, to save space
 * I2CP: Don't have I2CP Messages extend DataStructureImpl, to save space

2020-11-10 zzz
 * Data: SDS no longer extends DataStructureImpl to save space
 * i2psnark: Larger read buffer for large files
 * Ratchet: Destroy HandshakeState after fatal NS/NSR errors

2020-11-07 zzz
 * Tunnels: Simplify TunnelId and HopConfig to save space

2020-11-05 zzz
 * NetDB: Ensure RI republish time is less than validation time

2020-11-04 zzz
 * Util: ELiminate unneeded data copying in ByteArrayOutputStream

2020-11-03 zzz
 * i2ptunnel: Add checks for offline expiration of alternate destination

2020-11-02 zzz
 * I2CP: Remove tunnels immediately on client disconnect
 * i2psnark: Limit max size of embedded video
 * i2ptunnel: Restart tunnel if offline-signed private key file updated

2020-10-30 zzz
 * i2psnark: MetaInfo support for url-list (prep for BEP 19)
 * Util: Fix NPE in EepGet CLI callback via PartialEepGet

2020-10-29 zzz
 * Crypto: Precalculate Noise initial hashes
 * i2psnark: Store BEP 47 padding file info
 * Tunnels: Improved logging and handling of offline signature expiration

2020-10-28 zzz
 * Tunnels: Fix tunnel tests for ECIES routers

2020-10-27 zzz
 * Util:
   - DNSOverHTTPS improvements
   - Fix SSLEepGet handling of previous SSL state

2020-10-26 zzz
 * Util: Fix EepGet allowCaching parameter

2020-10-25 zzz
 * Router: Quick checks of eph. key MSB before Noise DH
 * Tunnels: Additional checks on ECIES BRR to catch old/buggy routers

2020-10-23 zzz
 * i2ptunnel: Remove mtn tunnel (new installs only)
 * Tunnels:
   - Move AES reply keys from HopConfig to TunnelCreatorConfig
   - Add missing expiration field to ECIES BRR

2020-10-21 zzz
 * NetDB:
   - ECIES router support for encrypted lookups and stores (proposal #156)
   - Reseed after a long downtime
 * SSU:
   - Increase socket buffer size (ticket #2781)
   - Redesign of the congestion control (tickets #2412, #2649, #2654, #2713)

2020-10-17 zzz
 * i2psnark: Remove references to "maggot" links
 * SSU: Fix calculation of nextSendDelay (ticket #2714)

2020-10-15 zzz
 * Crypto: libjbigi for aarch64 (ticket #1840)
 * i2psnark: Hide BEP 48 padding directory from UI
 * Router:
   - More efficient initialization of Noise state
   - Destroy ratchet HandshakeState after NS failure
   - Add support for ratchet zero key (proposals #144, #156)
 * Util: Singleton OrderedProperties comparator

2020-10-12 zzz
 * DTG: Enable by default for Linux KDE and LXDE;
   Hide option on /configservice if not supported
 * New translations for Kurdish, Turkmen, Argentinian Spanish
 * NTCP:
   - Fix sending termination on idle timeout (ticket #2777)
   - Catch possible race IAE in Reader

2020-10-11 zzz
 * Installer: Disable pack200 (ticket #2778)

2020-10-10 zzz
 * i2psnark: Cache length of metainfo
 * Transport: Improved IPv6 address validation

2020-10-09 zzz
 *  NetDB:
    - Don't use DSA-SHA1 routers for lookups, stores, or tunnel peers
    - Don't use non-ElGamal routers for lookups or stores
    - Prevent DSA-SHA1 routers from auto-floodfill

2020-10-07 zzz
 * Build:
   - Set javac release property (ticket #2775)
   - Ant version 1.9.8 or higher now required
   - Drop support for Xenial package build
   - Fix up BOB build configuration
   - Fix i2psnark standalone build
 * i2ptunnel: Filter server response headers even if not compressing

2020-10-03 zzz
 * Router: Support building tunnels through ECIES routers (proposal 152)

2020-09-28 zzz
 * Router: Don't unregister a message without a selector (ticket #2771)

2020-09-27 zzz
 * Streaming: Fix tag option handling

2020-09-26 zzz
 * JBigI: GMP 6.2.0 for linux 64 bit Zen and Zen2 (ticket #1869)

2020-09-22 zzz
 * i2ptunnel: Change enctype default to both for:
   HTTP, IRC, and Streamr servers
   IRC, SOCKS IRC, and Streamr clients
 * Susimail, SAM: More defensive ByteBuffer casting (ticket #2775)

2020-09-18 zzz
 * Build: More git support for release and Debian targets

2020-09-16 zzz
 * i2psnark: Defensive checks for v2 format files and magnet links
 * Router: Block same-country when in hidden mode (ticket #2759)

2020-09-11 zzz
 * Blocklist: Refactoring, Move HTML status generation to console
 * Console: Fix /configclients help message for split client config files
 * Crypto: Cache HMAC256 instances
 * GeoIP: Add methods to get all IPs for a country (ticket #2759)
 * Router: Use MuxedSKM for ECIES routers (proposal 156 WIP)

2020-09-08 zzz
 * Blocklist: Track versions of each file
 * NTCP: Call afterSend() for multiple messages in NTCP2 (ticket #2769)

2020-09-04 zzz
 * Console: Support remote lookup of full router hash from search form
 * Tunnels: Don't try to decrypt build record if router is ECIES (proposal 152 WIP)

2020-09-02 zzz
 * Installer: New Ed25519 destinations for postman's servers
 * Router:
   - Prep for router encryption types (Proposal 156 WIP)
   - Randomize SSU intro key
   - Reduce next key threshold for ratchet
   - Change ratchet SparseArray from int to char to reduce space
 * Util: Fix decompression of compressed zero bytes (ticket #2770)

2020-08-29 zzz
 * i2ptunnel: Prevent creating bad alt destination when
   tunnel is running

* 2020-08-24 0.9.47 released

2020-08-14 zzz
 * Profiles: Create profiles in the nonblocking path

2020-08-10 idk
 * Replace all icons with icons from a single consistent source/style, icons
   used from FontAwesome suggested by design team and selected and edited by
   Sadie.

2020-08-01 zzz
 * Debian: Support libjson-simple-java 3 for bullseye
 * I2NP: Locking for message ID
 * NetDB: Track client that requested LS
 * OCMOSJ: Don't send to a RAP LS
 * Router: Logging fix for client start failures
 * Util:
   - More efficient use of random data
   - Add KeyStore and SHA256 to CLI

2020-07-28 zzz
 * Data: Don't check LS1 revocation signature

2020-07-22 zzz
 * i2ptunnel:
   - Change default encType to both for new tunnels, http client,
     shared clients, and all tunnels for new installs (ticket #2751)
   - Change IRC tunnel sigType to EdDSA for new installs (ticket #2749)
   - Change CONNECT tunnel default sigType to EdDSA (ticket #2749)

2020-07-19 zzz
 * i2psnark: Increase max pipeline, negotiate actual value (ticket #2280)

2020-07-11 zzz
 * NTCP: Atomics for NTCP final state (ticket #2701)
 * OCMOSJ: Don't lookup an expiring LS2 if unpublished

2020-07-07 zzz
 * i2psnark: Change ETA default sort order (ticket #2733)
 * Reseed: Enforce minimum version in generated bundle

2020-07-02 zzz
 * i2ptunnel: Fix missing throttling section for non-HTTP servers (ticket #2758)

2020-06-28 zzz
 * NetDB: Check signature in verify

2020-06-23 idk
 * Update the images on the bandwidth wizard, based on undraw
   assets, used under licenses/LICENSE-Undraw.txt. Design and assets
   were developed by @sadie.

2020-06-22 zzz
 * Sybil: Enable analysis and blocking by default

2020-06-12 zzz
 * I2CP: Meta LS2 error code handling

2020-06-10 zzz
 * Util: Support hostname lookups in LookupDest CLI

2020-06-07 zzz
 * i2ptunnel: Fix missing tunnel quantity section for servers (ticket #2747)
 * Jetty: Update servlet-api

2020-06-06 zzz
 * Data: Fix creation of Encrypted LS2 (ticket #2746)
 * I2CP: Fix issues with persisted leaseset private keys
 * I2CP, i2ptunnel: Check for expired offline signature client-side

2020-06-03 zzz
 * i2psnark: Enable dual-keys
 * Router: Implement ratchet-layer acks (proposal 144)

2020-06-01 zzz
 * Profiles: Make more calls nonblocking
 * Transports: Make unreachable maps concurrent

2020-05-31 zzz
 * Tomcat 9.0.35 (Servlet 4.0)
 * Util: Update json-simple lib to 2.3.0

2020-05-30 zzz
 * Streaming: Increase MTU for ratchet (proposal 155)
 * Util: Fix DoH handling of Cloudflare responses

2020-05-28 zzz
 * Console: RRD4J 3.6 (ticket #2716)

2020-05-27 zzz
 * Installer:
   - Require Java 8 (ticket #2511)
   - Sign the dlls (ticket #2704)
 * Jetty 9.3.28 (ticket #2098)
 * UPnP: More fixes
 * Util: Faster gzip

* 2020-05-25 0.9.46 released

2020-05-23 zzz
 * Windows: Fix permissions in install directory

2020-05-22 zzz
 * Console: Translations update
 * UPnP: More fixes

2020-05-21 zzz
 * Streaming: Fix timer race (ticket #2739)

2020-05-20 zzz
 * i2ptunnel: Disable gzip for streamr server
 * i2ptunnel, SusiDNS: Replace onblur with CSP-safe js
 * Tunnels: Reduce the IBGW and client OBGW batch time

2020-05-19 zzz
 * Util: Speed up zero compression

2020-05-18 zzz
 * NetDB: Reseed update
 * Proxy: Fix error code for incompatible encryption
 * Ratchet: Prep for ratchet-layer acks (WIP)

2020-05-17 zzz
 * Streamr: Add expiration timer
 * UPnP:
   - Fixes for multiple devices
   - Fixes for device and interface changes
   - Handle devices that support permanent leases only
   - Prevent using public IP on Android

2020-05-15 zzz
 * i2ptunnel: Remove javascript from proxy error pages

2020-05-14 zzz
 * Streaming: Change pushBackRTO() log error to warn (ticket #2739)

2020-05-13 zzz
 * Console:
   - Fix option text on /confignet (ticket #2738)
   - Changes to support handlers on /configplugins and /configreseed
   - HTML fixes on /configplugins

2020-05-12 zzz
 * Console: Hide sensitive properties on /configadvanced
 * Console, susimail: Refactor js, stricter CSP
 * i2ptunnel:
   - Fix data loss in forms
   - Encrypt keys in forms
   - Disable more options when running
   - Hide shared client warning when it doesn't apply

2020-05-11 zzz
 * Console: Fix delete confirmation dialog on /configplugins
 * Console, i2psnark, i2ptunnel: Refactor js, stricter CSP

2020-05-10 zzz
 * i2psnark: Support file paths in add form (ticket #2100)

2020-05-10 idk
 * SusiDNS: Fix trac #2419

2020-05-08 zzz
 * Build: Use git revisions when available
 * i2ptunnel: Disable changing some options while running
 * Router: FloodfillPeerSelector cleanup (ticket #2694)

2020-05-07 zzz
 * Router:
   - Fix INMP NPE on non-default config (ticket #2688)
   - Min version for tunnel peers

2020-05-06 zzz
 * Streaming: Reduce default ack delay (ticket #2706)

2020-05-05 zzz
 * Build: Use --java2 for msgfmt
 * i2ptunnel:
   - Add ECIES persistent key support
   - Fix changing enc type on servers
   - Remove experts label from dual-key option
 * Ratchet: Add padding based on optimal message size

2020-05-04 zzz
 * Console: Add log clear buttons (ticket #2449)
 * i2ptunnel: Copy over all relevant options to other shared clients
   when saving, not just tunnel quantity and length (ticket #1545)

2020-05-02 zzz
 * eepsite: Fix RTL issues on Arabic help page (ticket #2731)
 * i2ptunnel: Disable I2CP gzip for HTTP server tunnels
 * i2psnark: Disable I2CP gzip

2020-05-01 zzz
 * Ratchet: Fix NPE ratcheting IB NSR tagset

2020-05-01 idk
 * i2ptunnel: Collapse/Expand UI elements for advanced features, organize
   advanced features by category. Replace nested tables.
 * SusiMail: Fix missing icon from dark theme (ticket #2726)

2020-04-30 zzz
 * i2ptunnel: Prevent changing enc type on running tunnel
 * Ratchet: Error handling fixes
 * Streaming: Westwood+ congestion control (ticket #2719)

2020-04-29 zzz
 * Ratchet: Increase callback timeout
 * Router: Replace old data structure classes

2020-04-27 zzz
 * Crypto: Reduce max ElG tagset expiration at receiver
 * i2psnark:
   - Don't unchoke when we don't have pieces
   - Don't avoid partial pieces if there are several seeds

2020-04-25 zzz
 * i2psnark: Increase min size for video preview
 * Ratchet: Variable tagset lookahead/trim limits

2020-04-24 zzz
 * i2psnark: Don't mark torrent BAD on I2CP errors (ticket #2725)
 * Logging: Log to wrapper log after log manager shutdown (ticket #2725)
 * Router:
   - Allow more time to send disconnect messages at shutdown (ticket #2725)
   - Don't delete router context at shutdown, to prevent a late
     creation of a new app context (ticket #2725)

2020-04-23 zzz
 * Ratchet: Fixes and parameter adjustments
 * Router: Check for key certs in dests (proposal 145)
 * Streaming: Reduce TCB cache time
 * SusiDNS: Fix typo that broke the add form

2020-04-21 zzz
 * Router: Fix logging NPE (thx zlatinb)

2020-04-19 zzz
 * Ratchet: Adaptive order of muxed decrypt based on previous traffic
 * Streaming: Single retransmit timer per connection (ticket #2715)

2020-04-18 zzz
 * i2psnark: Connect out to other seeds to fetch comments (ticket #2288)

2020-04-17 zzz
 * Crypto: Disable speculative AES tagset usage
 * Streaming: Slow start fix

2020-04-16 zzz
 * Build: Reproducible build fix (ticket #2279)

2020-04-14 zzz
 * Ratchet: Improve muxed decrypt
 * Streaming:
   - Fix slow start (ticket #2708)
   - Reset retransmission timer after ack (ticket #2710)

2020-04-13 zzz
 * i2ptunnel: Allow comments in CLI command files

2020-04-10 zzz
 * Streaming: Fix retransmission time (ticket #2709)

2020-04-10 zzz
 * Jetty: Add GzipHandler for eepsites on Jetty 9.3/9.4 (ticket #2599)

2020-04-08 zzz
 * i2psnark: Give peers preference to get first pieces (ticket #2473)
 * NetDB: Remove class M from auto-floodfill
 * NTCP: Retain pending messages when replacing connection
 * Ratchet: TagSet cleanups

2020-04-07 zzz
 * Console: Fix disabling sidebar refresh
 * Graphs:
   - Reduce rrd4j sync thread pool size
   - Disable pool if not persisting
   - Stop pool on shutdown

2020-04-06 zzz
 * Ratchet:
   - Finish Next Key impl.
   - Simplify OB Session
   - Performance improvements and cleanups
   - Debug page fixes

2020-04-03 zzz
 * PrivateKeyFile: Add support for addsubdomain authentication strings

2020-04-01 zzz
 * Ratchet:
   - Next Key WIP
   - Validate NS datetime block; add NS key bloom filter

2020-03-31 zzz
 * NetDB:
   - Add support for ratchet replies (proposal 154)
   - Add support for ElG lookups and stores from ECIES-only destinations
   - Variable timeout for MessageWrapper-generated tags
 * Ratchet:
   - Variable timeout for tagsets
   - Expire tags too far behind current one
   - Remove ID and DI from ACKREQ block
   - Add timeout job in OCMOSJ
   - Prep for next key support
   - Add support for acks and callbacks
 * Tunnels:
   - Refactor TestJob to use MessageWrapper
   - Add support for ratchet

2020-03-24 zzz
 * Blockfile: Add b32 to export output
 * Graphs: Fix rrd4j deprecation warnings
 * Profiles:
   - Don't decay during first 90 minutes of uptime
   - Change decay from .75 twice a day to .84 four times a day
 * Tunnels: Make new tunnel selection round-robin

2020-03-20 zzz
 * Tunnels: FragmentHandler cleanup (ticket #2699)

2020-03-17 zzz
 * i2psnark: Hide non-i2p trackers on details page

2020-03-15 zzz
 * Ratchet: Stub out ack and ack request blocks

2020-03-01 zzz
 * Console:
   - Disable browser launch on /configclients when a service
   - Hide temporary IPv6 addresses from bind options
   - Add security headers to XHR targets
   - Fix wizard XHR initialization

2020-02-29 zzz
 * i2ptunnel: Check for same interface before warning of dup port
 * Profiles: Limit average speed calculation to max high cap peers
 * SusiDNS: Support adding b32's (ticket #2101)

2020-02-28 zzz
 * Console: Fix /viewlicense for Debian packages
 * Debian: Remove fonts-dejavu as package recommendation

2020-02-27 zzz
 * Systray: Don't attempt to launch browser when running as a service

2020-02-26 zzz
 * Profiles: Fix bug causing persisted speed values to be
   reduced when read back in

2020-02-25 zzz
 * Graphs: Replace jrobin with rrd4j 3.5 (ticket #2684)
 * NetDB: Don't send 'fake hash' for exploration any more

* 2020-02-25 0.9.45 released

2020-02-21 zzz
 * Update translations

2020-02-20 zzz
 * Build: Add non-pack200 release targets (ticket #2693)
 * GeoIP (ticket #2692):
   - Add unknown and Kosovo country codes for db-ip.com
   - Change GeoIP update script to use db-ip.com
   - Prefer more recent of mmdb or Debian files if we have both
 * Update: Don't require pack200 for in-net update (ticket #2693)

2020-02-18 zzz
 * Util: Improve LookupDest CLI, add to CommandLine

2020-02-17 zzz
 * Debian: Remove GzipFilter in base-context.xml,
   does nothing with Jetty 9.4 (ticket #2599)
 * Install: Remove commented-out GzipFilter in cgi-context.xml
 * i2psnark: Revert API changes that broke i2psnark-rpc plugin

2020-02-15 zzz
 * Console: Fix jump-to-section on /stats
 * NTCP: Remove closed connections from write queue (ticket #2686)

2020-02-12 zzz
 * I2CP: Place ECIES first in LS2
 * i2ptunnel: Change default sig type to Ed for non-shared HTTP client

2020-02-10 zzz
 * Transport: Mark yggdrasil IPv6 prefix as not routable

2020-02-09 zzz
 * Console: Show local tunnel status as green if any leases are valid
 * I2CP: I2CPMessageHandlerMap cleanup

2020-02-05 zzz
 * SSU: Skip down interfaces when looking for MTU

2020-02-03 zzz
 * Graphs: Clean up font setting, fix bugs (ticket #2684)

2020-01-26 idk
 * changed many icons on both light and dark themes out for Feather equivalents.

2020-01-26 zzz
 * Tunnels: Don't test ECIES-only tunnels

2020-01-21 zzz
 * SSU: Use same valid IP criteria for relay request and response

2020-01-21 zzz
 * Ratchet: Randomize two high bits of Elligator2 encoding

2020-01-15 zzz
 * i2ptunnel: Fix NPE if no config file

2020-01-11 zzz
 * SSU: Extend timeout for msgs with multiple fragments (ticket #2640)

2020-01-08 zzz
 * i2psnark: Support "preview" HTML5 play for partial files
 * Jetty 9.2.29.v20191105
 * Tomcat 8.5.50

2020-01-03 zzz
 * Console:
   - Don't refresh bw graph unless enclosing sidebar refresh is longer
   - Remove scroll-in-scroll for wrapper logs
   - Refactor the configstats js
 * i2psnark:
   - CSS tweaks so the refresh isn't as glitchy
   - Reduce default refresh to 15 sec
 * Tests: Drop empty unit test files

2020-01-02 idk
 * Dark Theme: Colors, borders, icons were simplified across the board
 * Images: Checked in icons from Feather icons, which are under the MIT License
  - https://github.com/feathericons/feather/blob/master/LICENSE

2020-01-02 zzz
 * Util:
   - Add https redirect support to EepGet and SSLEepGet
   - Add https support to EepGet CLI

2019-12-25 zzz
 * Console, webapps: CSP improvements
 * Console: Remove onload and use nonce for inline scripts where able

2019-12-24 zzz
 * Console: Don't show a temporary IP ban if it's permanently banned also
 * i2ptunnel: Double default conn. and POST limits

2019-12-21 zzz
 * Console:
   - Don't show 'Unresolved TCP address' error
   - Fix displayed name when installing new plugin
 * i2psnark: Fix autostart for torrent files copied into the dir

2019-12-20 zzz
 * I2CP: Don't throw exception on early internalConnect()
 * SSU:
   - Reduce log level on packet size error (ticket #2675)
   - Move statement affecting debug stats (ticket #2676)

2019-12-18 zzz
 * Proxy: Clean up links in error pages
 * Router: Prep for a new router bundle

2019-12-17 zzz
 * Util: Move some from console to new core bundle
 * NetDB: Fixes for hidden routers losing peers (ticket #2673)

2019-12-16 zzz
 * Console: Partial az translation

2019-12-15 zzz
 * Console:
   - Hide services sidebar section if empty
   - Fix Hebrew translation

2019-12-14 zzz
 * Console:
   - Add Content-Disposition header to graphs
   - Stat group display names
 * Router: Add new known peers stat

2019-12-03 zzz
 * NDT: Numerous fixes (ticket #2672)


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

EARLIER HISTORY IS AVAILABLE IN THE SOURCE PACKAGE