2026-05-10 dr|z3d
  * Router/NetDB: Fix counter race conditions, thread safety, and performance
  * Addressbook: Drop LeaseSet from cache after HostChecker use
  * Security: Add constant-time password comparison, query sanitization
  * SusiMail: Add local password hash for session protection (WIP))
  * Core: Cleanup JBigi/JCpuID build scripts, add VS 2022 support

2026-05-09 dr|z3d
  * Console: Add login page with authentication, session-bound nonces
  * I2PTunnel/I2PSnark: Refactor nonces to session-bound, consolidate forms
  * SusiMail: Add custom markdown renderer, XSS protection
  * Crypto: Use constant-time modular exponentiation for private key operations

2026-05-08 dr|z3d
  * Security: Reduce digest auth nonce lifetime to 1 hour
  * I2PSnark: Fix torrent file path sanitization
  * Console: Fix XSS sanitization in ConfigClients

2026-05-07 zzz
  * Security: Fix multiple upstream security issues (constant-time crypto, I2NP length checks)

2026-05-06 zzz
  * Crypto: Fix Noise protocol implementation, reduce message padding
  * Router: Scale job runners dynamically based on message delay

2026-05-05 dr|z3d
  * Router: Fix client LeaseSet tracking to not grow unbounded
  * Console: Fix tunnel build success showing 0%

2026-05-04 dr|z3d
  * Router: Fix NPE in tunnel build stats, forceExplore property
  * Transport: Fix IPv6 bugs in Origin header CSRF check
  * Tools: Add auth failure delays to slow repeat attempts

2026-05-01 zzz
 * Transport: Fix PQ SSU2 I2NP block header

2026-04-30 zzz
 * Util:
   - Update minidns to 1.1.1
   - Update json-simple to 2.3.1

2026-04-25 2.12+ (API 0.9.69) released

2026-04-21 dr|z3d
  * Router:
    - Tunnel pool pruning: add pruneExcessTunnels() method to stay within
      configured budget; use ExpireJob.scheduleExpiration() for graceful
      early expiry (30s) instead of direct removal
    - Tunnel pool early expiry: add TOO_SLOW and OVER_BUDGET test statuses;
      add router.pruneEarlyExpiryDelay property for configurable early expiry;
      skip tunnel tests on early-expiry tunnels
    - PeerTestJob: add priority peer testing for slow tunnel peers;
      prioritize testing untested peers before retesting
    - LU router handling: simplify ban to 1h, no version check; add periodic
      cleanup job; fix lookup-before-drop for banned peers; skip direct lookup
      in ExploreJob for banned peers
  * Console:
    - Session bans: toggle ban display off by default for >=500 routers
    - Increase auto-refresh on session bans page to 30s (was 15)

2026-04-20 dr|z3d
  * Router:
    - Acceptance ratio for peers: demote peers with low tunnel acceptance
    - ClientPeerSelector: add selectBestReliablePeer() for peer quality filtering;
      enhance last hop, middle hop, and first hop selection with reliability checks;
      improve stress fallback chain with progressive fallbacks
    - Add setExpiration for proactive tunnel cleanup
    - Add tunnel acceptance tracking to TunnelHistory: getAcceptanceRatio(),
      getLastTestedSuccessfully(), incrementTestSucceeded(); add decay mechanism
  * Console:
    - Consolidate banned pages: remove old banned page, rely on session bans page
    - Session bans: toggle ban reasons on page, hide by default if >=1000 bans
  * Core:
    - Add new tests: ChaCha20, HKDF, SigType, SigUtil, elgamal, x25519
    - Add router tests: crypto ratchet, PQC, peermanager, transport
    - Add TunnelRemovalEvent, TunnelStatusListener interfaces

2026-03-21 dr|z3d
  * JBIGI:
    - Parallelize builds: per-CPU GMP dirs, build_one.sh helper
    - Bundle Linux x86_64 JNI headers; remove JAVA_HOME dependency
    - Add list-jbigi.sh summary script and ant listJbigi target

2026-03-18 dr|z3d
  * JBIGI:
    - Clean up jbigi.h: remove outdated nativeDoubleValue declaration, add current
      JNI functions (nativeModPowCT, nativeModInverse, version getters)
    - Remove dead code from jbigi.c: commented-out nativeNeg() function
    - Fix convert_mp2j() dead code: duplicate mpz_export calls, off-by-one loop
    - Add error handling for patch application in download_gmp.sh
    - Add jbigi build artifacts to .gitignore (bin/, lib/, gmp-*/, *.tar.bz2)
    - Remove zen4/zen5 from build-all.sh (not supported by GMP 6.3.0)
    - New jbigi binaries built with GMP 6.3.0: libjbigi-linux-none_64.so,
      jbigi-windows-none_64.dll, libjbigi-linux-zen2_64.so,
      libjbigi-linux-zen3_64.so
    - Remove deprecated libjbigi-linux-ppc.so
    - Add BUILD_MULTIARCH.md with Docker/QEMU build instructions for ARM
    - Add setup scripts for cross-compilation environments
    - Add GCC 15+ compatibility patch (gcc15-fix.diff) for GMP 6.3.0 configure
    - Consolidate build scripts: build.sh with local/all/help commands
    - Add --dry-run option to preview builds
    - Rewrite README with comprehensive build documentation, convert to markdown
  * CPU Detection:
    - Add IsZen4/IsZen5 detection methods to AMDCPUInfo interface
  * Router:
    - Optimize ByteCache and SimpleByteCache with global cleanup timers,
      reduce EXPIRE_PERIOD to 90s for more aggressive memory cleanup
    - Adaptive tunnel test frequency based on job lag (30s-360s range);
      increase MAX_CONCURRENT_TESTS (12/24 vs 8/16) for better coverage;
      add PENDING_REPLIES tracking to prevent overwhelming replies
  * Console:
    - Fix InfoHelper RDNS cache limit display (1GB+ systems now show 24K)

2026-03-17 dr|z3d
  * Router:
    - Batch IterativeTimeoutJob via SimpleTimer2 to reduce queue pressure
    - Aggressive job dropping when lagging (5ms threshold vs 50ms)
    - Reduce MAX_WAITING_JOBS to 48 to trigger dropping earlier
    - Throttle tunnel tests when any lag exists (>10ms)
    - Limit tunnel tests to 1/6 of runners
    - Increase test delays (120s base, 60s min vs 90s/30s)
    - Drop timeout jobs (SendTimeoutJob, VerifyTimeoutJob) when lagging
    - Drop non-critical NetDb verification jobs when lagging
    - Improve LeaseSet refresh timing and tunnel pool throttling
    - Tunnel Pool - improve pool management and expiry handling
    - More responsive job runner scaling; document config option
    - Reduce job stats memory (500 entries default, 5000 for high-freq jobs)
    - Enable more runners on startup (8 min during first 3 minutes)
    - Streamline stats collection to reduce ram footprint
    - Cache DecimalFormat instances to reduce memory footprint
    - Switch CachedIteratorCollection to ThreadLocal for thread safety
    - Defensive copy in FloodfillNetworkDatabaseFacade to prevent race condition
    - JobQueueScaler: relax failure thresholds, circuit breaker auto-reset
  * Console:
    - Add recent/all stats toggle for /jobs page (10s default)
    - Show dropped job count in ready/waiting section on /jobqueue
    - Display session bans for ip-blocked routers without RouterInfo
    - Fix stale row removal in 10s jobs display
    - Cache DecimalFormat instances to reduce memory footprint

2026-03-16 dr|z3d
  * Router:
    - Drop tunnel test jobs if > 1000 ready/waiting jobs
    - Increase tunnel test periods to reduce queue pressure
    - Track in-flight jobs to prevent duplicates and add dropped count for UI
    - Fix deadlock in getMaxLag() and reduce FloodfillNetworkDatabaseFacade
      lock contention
    - Scale max waiting jobs with CPU cores
    - Fix ConcurrentModificationException in FloodfillPeerSelector
    - Increase SimpleTimer2 thread pool and tune streaming RTO
    - Fix ConcurrentModificationException in FloodfillVerifyStoreJob
    - Add separate _timedJobsReady queue for O(1) job polling
    - Fix RemoveSlowTunnelsJob to use requeue()
    - Add and document slowTunnelInterval config for local tunnel removal
  * Streaming: Optimize flusher timer and use StringBuilder for logging
  * Console: Group active jobs by name and display avg lag in jobqueue

2026-03-14 dr|z3d
  * Router: Simplify local tunnel replacement strategy, increase redundancy
  * Streaming:
    - Increase max resends from 8 to 30 for more tunnel failover attempts
    - Increase initial window size from 12 to 16 for better throughput

2026-03-13 dr|z3d
 * Console: Add worker-based sorting for large tables (>100 rows)

2026-03-12 dr|z3d
 * Console: Update tunnel counts on /tunnels dynamically on refresh
 * Router:
   - Use getValidTunnelCount() for accurate tunnel counts in console
   - Increase build timeouts to handle slow network conditions
   - Fix tunnel pool issues - paired pools, duplicate tunnel IDs
   - Fix timer storm in PeriodicCleanup
   - Fix ConcurrentModificationException in TunnelDispatcher
   - Scale tunnel pump threads/queues based on cores/memory
   - Add periodic cleanup and fix expiration of participating tunnels

2026-03-11 dr|z3d
 * Router:
   - Fix tunnel pool build logic - multiple fixes
   - Count usable tunnels (>4min expiry) before building
   - Ensure minimum 3 tunnels or configured + 2 for redundancy
   - Cap tunnel builds to configured amount + 2
   - Cap lease expiration to max future time
   - Add idle tunnel monitor to drop unused transit tunnels after 3m
   - Add JobQueueScaler for dynamic job runner scaling
   - Reduce NTCP/UDP latency for lower latency response
   - Fix job registration race condition and memory leaks
   - Fix AddrComparator bug and timer memory leak

2026-03-10 dr|z3d
 * Router:
   - Fix getValidTunnelCount() to exclude expired tunnels
   - Increase renewal window to 2m, more aggressive tunnel building
   - Fix blocking WHOIS/DNS lookups in console rendering
   - Make IterativeTimeoutJob droppable to reduce queue congestion

2026-03-09 dr|z3d
 * Router:
   - Make countHowManyToBuild more aggressive - build 4-7m before expiry
   - Fix countHowManyToBuild to skip failed tunnels
   - Reduce CLOCK_FUDGE_FACTOR to 30s for faster lease renewal
   - Fix lease renewal timing - check latestLeaseDate immediately

2026-03-08 2.11.0+ (API 0.9.68) (re-)released

2026-03-08 dr|z3d
 * Router: Increase tunnel build timeouts and old version threshold
 * Console: Collapsible sections for /jobqueue

2026-03-07 dr|z3d
 * Console/Router: Add tunnel pool summary, expiry bars and test status
   to /tunnels page

2026-01-30 dr|z3d
 * I2PSnark: Optimize DHT for more efficient memory management
 * Console: Enhance and declutter presentation of jobs on /jobqueue
 * Router:
   - Fix TestJob counter issues and atomic contention
   - Fix TestJob scheduling bugs causing negative delays
   - Implement adaptive tunnel testing frequency

2026-01-26 dr|z3d
 * Router:
   - Fix test job failure count to stop after 2 consecutive failures
   - Improve tunnel test performance with faster failure detection
   - Add getAvgLag() method to JobQueue class
   - Allow higher number of transit tunnels before throttling

2026-01-24 dr|z3d
 * Router:
   - Optimize PeerTestJob performance with caching
   - Reduce bantime for excessive lookups
   - Add 10m grace period after startup before banning for lookups
   - Prevent duplicate ban log events for same router

2026-01-23 dr|z3d
 * Router:
   - Optimize NTCP inbound performance
   - Raise transit tunnel per-peer limits to prevent gradual decay
   - Fix domain shortening for multi-part TLDs like co.uk

2026-01-19 dr|z3d
 * Router: Improve transit tunnel count stability and reduce decline cycles

2026-01-18 dr|z3d
 * Router: Add cache cleanup to prevent memory leaks in RepublishLeaseSetJob

2026-01-13 dr|z3d
 * Router:
   - Skip LeaseSet republish if job already active
   - Prevent LeaseSet job queue buildup
   - Fix LeaseSet expiry validation, socket recovery, session race conditions

2026-01-10 dr|z3d
 * I2PTunnel: Cancel delayed server shutdown on router shutdown cancel
 * I2PTunnel/Console: Add random shutdown delay for graceful restart

2026-01-09 dr|z3d
 * I2PTunnel: Implement optional random startup delay for automatically
   started server tunnels

2025-12-26 dr|z3d
 * SusiDNS: Add support for Blacklisting host(s) via "Blacklist selected"
   button on addressbook pages

2025-12-19 dr|z3d
 * SusiDNS: Display site categories in host lists, classfications
   courtesy of notbob.i2p

2025-12-17 dr|z3d
 * SusiDNS: Implement blacklist feature to hide blacklisted hosts from
   addressbook lists
 * I2PTunnel: Use SusiDNS blacklist to block access to hosts via http
   proxy

2025-12-13 dr|z3d
 * SusiDNS: Implement automated host checker to determine reachability
   and display status in host lists

2025-12-10 dr|z3d
 * Router: Reduce memory footprint by optimizing stats collection

2025-12-08 dr|z3d
 * Console/Webapps: Tibetan translation

2025-12-07 dr|z3d
 * SusiDNS: Add source and date added columns to main hostlist tables

2025-11-18 dr|z3d
 * Console:
   - Migrate various auto-refreshing pages to refreshElements.js,
     leverage morphdom.js for improved refresh rendering performance,
     and use our shared worker for background updates
   - Fixup and enhance column sorting on eligible tables
   - Add auto-refresh to leasesets and netdb listings pages

2025-10-08 dr|z3d
 * Console: Rendering speedups for tunnels pages and routerinfo listings

2025-10-03 dr|z3d
 * Console: Indicate errors on logs sidebar icon and tooltip

2025-10-01 dr|z3d
 * Console: Replace combined logs view with error view and remove
   error logs from /routerlogs page; add error logs counter on nav

2025-09-29 dr|z3d
 * Console: Iconize and add tooltips to peer status on /profiles
 * Transports: Optimize and refactor NTCP EventPumper

2025-09-24 dr|z3d
 * Transports: Fix syntax bug preventing inbound SSU connections

2025-09-24 dr|z3d
 * Console: Add compact NetDb search form to /netdb pages

2025-09-22 dr|z3d
 * Console: Add optional fallback whois lookups for routers when
   reverse dns lookups are enabled

2025-09-12 dr|z3d
 * Console: Add UI option to toggle sticky sidebar on /configsidebar

2025-09-09 2.10.0+ (API 0.9.67) released

2025-09-02 dr|z3d
 * Console: Add navigation bar to /logs with additional links

2025-09-02 dr|z3d
 * Console: Optimize and enhance page loader bar

2025-08-28 dr|z3d
 * Console: Implement interstitial for homepage searches

2025-08-28 dr|z3d
 * Console: Add UI option to toggle unified sidebar on /configsidebar

2025-08-23 dr|z3d
 * Console: Ensure configuration changes to sidebar display immediately

2025-08-23 dr|z3d
 * Router: New addJobToTop method in JobQueue to send job to head of
   of job queue and use when publishing leasesets

2025-08-23 dr|z3d
 * Console: Add summary section and autorefresh to session bans page

2025-08-20 dr|z3d
 * Console: Add routerconsole.unifiedSidebar={true|false}
   configuration option to present the standard sidebar on /home

2025-08-18 dr|z3d
 * Console: Add javascript graphs search/filter feature

2025-08-16 dr|z3d
 * I2PTunnel: Add javascript tunnel search/filter feature to index

2025-08-15 dr|z3d
 * Console: Ensure local services sidebar section correctly updates
   when service tunnel status changes
 * I2PTunnel: Ensure isDown status is correctly displayed and page
   is correctly restored when router is detected

2025-08-09 dr|z3d
 * Console: Add leaseset search on single leaseset page

2025-08-08 dr|z3d
 * SusiDNS: Add clear filter / search button to search input

2025-08-04 dr|z3d
 * I2PTunnel:
   - Display hop and tunnel count on index page in expanded view
   - Migrate screenlogs to a <ul> and colorize warnings and errors

2025-07-31 dr|z3d
 * I2PTunnel:
   - Modify Restart All button to only restart running tunnels
     and add Restart buttons for individual tunnels
   - Add timestamps to screen log events

2025-07-25 dr|z3d
 * Console: Implement leaseset sorting when not on debug page

2025-07-25 dr|z3d
 * Console: Add auto-refresh for leaseset pages; add signature
   and encryption type counters on LS debug page

2025-07-20 dr|z3d
 * Console: Enhance and condense presentation of leasesets

2025-07-20 dr|z3d
 * I2PTunnel: Only show MLKEM768 option in UI, hide 512 and 1024

2025-07-15 dr|z3d
 * I2PSnark: Fix form submission on /configure

2025-07-06 dr|z3d
 * Console: Use bars to display connections / limits on /peers

2025-07-04 zzz
 * I2PSnark: UDP announce fixes
 * SSU: Increase inbound ban time
 * Util: Android Java version detection improvements

2025-07-01 zzz
 * Streaming: Allow configured max window size higher than default

2025-06-30 zzz
 * I2CP: Don't send multiple SetDate messages to sessions with subsessions

2025-06-26 zzz
 * I2PSnark: UDP announce fixes
 * Router: Reduce and document the banlist-forever threshold

2025-06-03 2.9.0+ released

2025-05-30 dr|z3d
 * I2PSnark: Enhance download/upload bar tooltips with js

2025-05-29 dr|z3d
 * I2PSnark: Ensure csp response headers are sent for html and js

2025-05-26 dr|z3d
 * I2PSnark:
   - Reimplement toggle all file download priorities

2025-05-20 dr|z3d
 * I2PSnark: Ensure active search queries are retained when activating
   torrent filters

2025-04-30 zzz
 * I2CP: Datagram 2/3 preliminary support (Proposal163)
 * Jetty: Migrate jetty.xml files at startup to fix id and
   DTD issues for existing installs

2025-04-26 zzz
 * I2PTunnel: Canonicalize Host header at the server proxy

2025-04-25 zzz
 * Util: Add ability to force IPv6 for SSLEepGet

2025-04-24 zzz
 * Blockfile: Catch unchecked exceptions thrown from value deserializers
 * CLI: Add -6 flag to force IPv6 reseed test
 * NetDB: Add new reseed

2025-04-23 zzz
 * I2PSnark standalone: Change Ref id to refid in Jetty config file

2025-04-20 zzz
 * Build: Change Ref id to refid in Jetty config files
 * I2PSnark:
   - Remove outstanding requests from pieces when connection is replaced
   - Show lifetime download rate since added on details page
   - Show current tunnel config in dropdowns even if outside normal range
 * SusiDNS: Add b32 and dest reverse lookups

2025-04-16 zzz
 * Tunnels: Implement proposal 168 (part 1)
   - Add bw params to build requests
   - Add bw param to build reply
   - Reject build request if cannot allocate min bw
   - Track allocated bw in HopConfig
   - Track total allocated bw in TunnelDispatcher

2025-04-10 zzz
 * I2PTunnel: Reduce HTTP server thread usage
   - Increase performance and properly enforce limits.
   - Handle all GET and HEAD requests in the handler thread
   - Handle POST and CONNECT in threads from the server pool,
     to not bypass server thread limits
   - For POST and CONNECT, the opposite-direction (Sender) thread
     is still run in the client pool
   - Ensure the server thread limit is at least the streaming
     max connections limit so we don't run out

2025-04-04 zzz
 * Crypto: Use /dev/random PRNG by default

2025-03-25 dr|z3d
 * Console / Webapps: Implement page zoom aware theme overrides
   (dark theme only, other themes to follow)

2025-03-22 zzz
 * Router: Prevent double-free of SHA256 instances from Noise

2025-03-21 dr|z3d
 * Console: Fix form submission when clicking submit button on
   /configadvanced when advanced mode is enabled

2025-02-23 zzz
 * SusiDNS: Reduce memory usage in AddressBean
 * Tests: Fix build

2025-02-21 zzz
 * Client: Deprecate getters for unused encryption private key
 * I2PSnark: Set bulk profile
 * I2PTunnel: Set bulk profile for servers
 * Tunnels: Prep for bw params (prop. 168)

2025-02-20 zzz
 * Tunnels: Fix tunnel test for OB client tunnels

2025-02-17 zzz
 * I2PTunnel: Add .i2p.alt support to HTTP and SOCKS client tunnels
 * SusiDNS: Implement sort-by-added-date

2025-02-10 zzz
 * Router: Unused stats removal
 * Transport: More SSU1 code removal

2025-02-09 zzz
 * SusiDNS: Remove null checks in comparator

2025-02-07 zzz
 * Build: Check for mismatched version in Izpack config files
 * Crypto:
   - Allow external use of pooled SHA256 instances
   - Use pooled SHA256 instances in Noise lib
 * Data:
   - Fix compression of RouterIdentities
   - Check key order when parsing RI mappings and fail-fast if out-of-order
 * I2PSnark: Reduce PeerCoordinator CHECK_PERIOD interval
 * Transport:
   - Remove old NTCP 1 stats
   - SSU 1 removal part 10/n (UDPPacket)

2025-02-05 2.8.0+ (API 0.9.65) released

2025-02-03 zzz
 * Data: Fix compressible padding detection and expansion
 * NetDB: Fix reversed conditional in ExpireLeasesJob.java

2025-01-27 zzz
 * NetDB: RI publishing improvements

2025-01-26 zzz
 * Transport: Increase min peer test version

2025-01-12 dr|z3d
 * Console: Use shared worker for sidebar and logs refresh

2025-01-18 zzz
 * BW Test:
   - Disable some status messages
   - Set connection timeout
   - Tag status strings for translation
   - Unused code removal
   - Use IP provided by test server

2025-01-17 zzz
 * I2PSnark: Require POST on forms
 * SusiDNS: Require POST on forms

2025-01-12 zzz
 * CLI: Improve selfsignedgenerator usage help

2025-01-12 dr|z3d
 * Console: Add new hosts (last 24h) sidebar badge count with hosts
   displayed on tooltip (dark theme, others to follow)

2025-01-09 dr|z3d
 * Console: Run sidebar refresh (fetch) on background thread in browser

2025-01-05 dr|z3d
 * Console/Webapps: Leverage uglifyjs during build process to compress
   console and webapp javascript

2024-12-28 dr|z3d
 * Console: Add GeoIP build information to /info page

2024-12-26 zzz
 * NetDB:
   - Reduce max ff response time
   - Base lookup timeout on peer's average response time
 * Profiles: Remove unused 10m and 24h rates for DB response time

2024-12-18 zzz
 * NetDB: Aggressive expire for leasesets when over limits

2024-12-12 dr|z3d
 * Console / Webapps: Migrate display font from Droid Sans to Open Sans

2024-12-02 dr|z3d
 * Console: Streamline sidebar refresh javascript
 * I2PSnark: Add inline text viewer with open in new tab links in file view

2024-11-29 dr|z3d
 * I2PSnark: Rewrite and optimize lightbox.js; add slideshow feature,
   fullscreen in iframe

2024-11-27 dr|z3d
 * I2PSnark: Migrate network request to use fetch instead of XHR; ensure that
   network requests are stopped when page isn't visible in the browser

2024-11-26 dr|z3d
 * Console: Refactor sidebar refresh to use a more robust refresh mechanism and
   improve detection of page visibility to stop network requests when tab isn't
   active

2024-11-25 dr|z3d
 * Console: Add collapsible sections on /configtunnels; only show randomization
   dropdowns for exploratory tunnels or if already configured in the tunnel
   manager and advanced mode is active

2024-11-20 dr|z3d
 * Console: Add collapsible sections on /configstats and /configplugins

2024-11-20 dr|z3d
 * Console: Add filter feature to /tunnelpeercount to allow selective display
   of peers based on filter input or query paramaters

2024-11-18 dr|z3d
 * Console: Add query parameter support to /netdbmap to allow display of
   all / floodfills / X tier by country: ?class={countries|floodfill|tierX}

2024-11-16 dr|z3d
 * Console: Add ok.js to provide simple, themeable alert boxes and implement
   on /configadvanced

2024-11-13 dr|z3d
 * I2PSnark: More robust toggle magnets / links and copy magnet to
   clipboard functionality
 * Console: Refactor and simplify graphs js loader

2024-11-11 dr|z3d
 * I2PSnark: Replace default browser confirmation dialog with confirm.js
   themeable implementation

2024-11-09 dr|z3d
 * Console: Enhance presentation and functionality of /configadvanced
   when in advanced mode; add key/value filter

2024-11-08 dr|z3d
 * Console: Add section toggles to /help/advancedsettings and /help/faq

2024-11-06 dr|z3d
 * Console: Add navigation bar to /viewprofile

2024-10-31 dr|z3d
 * Console: Replace links to i2pplus gitlab revisions with git.skank.i2p

2024-10-31 dr|z3d
 * Console: Tabulate individual profiles with js to enhance presentation

2024-10-30 dr|z3d
 * Console: Enhance presentation of changelog

2024-10-29 dr|z3d
 * Console:
   - Migrate remaining js to separate files and consolidate
   - Streamline display of routerinfos on /netdb and suppress display of
     various stats in full/advanced mode

2024-10-25 dr|z3d
 * Console: Migrate inline js on /peers and /profiles to separate files

2024-10-22 zzz
 * Console: Merge in more upstream rrd4j changes for 3.10

2024-10-20 dr|z3d
 * Console: Add counts for max permitted NTCP/SSU connections on /peers

2024-10-10 dr|z3d
 * Console: Display host and port before other key values in RouterInfos

2024-10-09 dr|z3d
 * I2PSnark: Iconize main table footer counters (torrents/torrent size/peers)

2024-10-07 2.7.0+ (API 0.9.64) released

2024-10-04 dr|z3d
 * Console: Add X Tier by country count to netdb overview page

2024-09-30 dr|z3d
 * Console: Add floodfill by country count to netdb overview page

2024-09-28 dr|z3d
 * Console: Add stats to record local leaseset republish failure

2024-09-25 dr|z3d
 * Console:
   - Exclude LU class routers from banlist display if bans > 300
   - lazyload.js optimizations

2024-09-23 dr|z3d
 * Console:
   - Sort sidebar service tunnels by icon and type
   - Streamline presentation of leasesets

2024-09-21 dr|z3d
 * SusiDNS:
   - Remove inline addressbook javascript and migrate to togglePanels.js
   - Fix display of informational messages / warnings

2024-09-21 dr|z3d
 * SusiDNS: Make Add/Import panels togglable with header butttons
   (WIP - dark theme only for now)

2024-09-15 dr|z3d
 * Console: Start work on overhauling LeaseSet display in netdb

2024-09-12 dr|z3d
 * Router: If we can't identify an ip from peer's routerinfo, try transport

2024-09-11 dr|z3d
 * Console: Include number of results returned for routerinfos in NetDb

2024-09-10 dr|z3d
 * Console: Add pagination when displaying all routerinfos in NetDb

2024-09-08 dr|z3d
 * Console: Display leaseset count badge in sidebar net status section when we
   are floodfill (enabled in dark/light themes, others to follow)

2024-09-08 dr|z3d
 * I2PSnark: Make file filters and trackers sections togglable on config page

2024-09-06 marek
 * I2PSnark: Ensure we don't modify the infohash when editing torrents

2024-09-05 dr|z3d
 * Console: Limit display of fastest / most recent transit tunnels to 100 max

2024-09-04 dr|z3d
 * Router: Harden router in same country blocking when i2np.blockMyCountry=true
   or we're in hidden mode or in a strict country

2024-08-30 dr|z3d
 * Console: Remove full banlist from /configpeers, provide links instead
 * Updater: Disable vanilla I2P updates unless router.enableVanillaUpdates=true

2024-08-27 dr|z3d
 * Console: Attempt to display (direct) ip address for unreachable routers
   in NetDb listings

2024-08-26 dr|z3d
 * Console: Display I2P icon in netdb router listings if we think a router
   is a Java I2P variant

2024-08-25 dr|z3d
 * Router: Fallback to RouterInfo lookups for router ips when we haven't
   recently connected with a router to fix console flags / unknown country

2024-08-24 dr|z3d
 * I2PSnark: Add disk usage/freespace indicator to torrents table footer;
   move our destination indicator to configuration -> tunnels header

2024-08-21 dr|z3d
 * Console: Linkify leasesets in router logs and add leading key icon

2024-08-09 zzz
 * I2PSnark:
   - Reduce minimum bandwith, reduce max connections if low bandwidth
   - Normalize strings when searching (Gitlab #488)
 * Tunnels: Do not select ElG routers for tunnels
 * Util: Reduce number of PRNG output buffers

2024-08-08 dr|z3d
 * I2PSnark:
   - Enable Vary Tunnel Length options in UI with javascript
   - Fixup custom font handling for standalone

2024-07-25 dr|z3d
 * I2PSnark:
   - Add UI options for +0/1 inbound/outbound tunnel hop variance
   - Increase maximum permitted peer/total connections per min/hour

2024-07-25 dr|z3d
 * Translations: Complete coverage for all translations, new Hindi translation,
   translate remaining untranslated eepsite help pages to abridged help with
   links to corresponding console help pages

2024-07-25 zzz
 * I2PTunnel: Additional fixes for invalid entries in filter file (Gitlab #483)
 * Installer: Fix some izpack5 translated languages
 * rrd4j: More optimizations for graph generation
 * Util: Add new processors for CPUID

2024-07-24 dr|z3d
 * Console: Add links to git.skank sourcetree for compiled resources on
   translation status page

2024-07-19 2.6.0+ (API 0.9.63) released

2024-07-19 dr|z3d
 * Console: Ensure /help section and /sitemap also display
   routerconsole.pageTitlePrefix when configured
 * Scripts: Add --no-location optional flag to remove_fuzzies.sh

2024-07-16 dr|z3d
 * Console: Add js toggle to translation report to permit toggling of
   completed translations

2024-07-16 dr|z3d
 * Scripts: add remove_fuzzies.sh script to purge all .po files in specified
   dir and sub-dirs recursively of fuzzy translations with optional --no-wrap
   flag to remove wrapping

2024-07-16 zzz / dr|z3d
 * Console: Add translation report to debug section as per upstream MR and
   add flags and percentage bars and enhance presentation

2024-07-09 dr|z3d
 * I2PSnark:
   - Complete overhaul of zilvero theme
   - Fix link to config section in multipage view when not on first page

2024-07-09 dr|z3d
 * Graphs: Use relative coordinates for svg paths to reduce filesize

2024-07-06 zzz
 * Console: Fix tunnel.Bps.* graphs sometimes not rendering

2024-07-05 zzz
 * I2CP: Send DestroySessionMessage with dummy SessionID if unset

2024-07-02 zzz
 * Jetty: Don't show null exception message in XSSFilter

2024-07-01 zzz
 * Tunnels: Peer selection tweak

2024-06-30 zzz
 * Router: Remove ancient test code for variable leasesets
 * Tunnels: Remove old check for buggy routers now that MIN_VERSION is higher

2024-06-29 zzz
 * I2PSnark: Fix config display of limit for max up bw after restart (Github #75)
 * Util: Remove discontinued DoH server (Github PR #79)

2024-06-29 dr|z3d
 * I2PSnark: Enforce absolute max down/up speeds of 9999KB in Bandwidth Manager

2024-06-29 zzz
 * I2PSnark: Fix config display of limit for max up bw after restart (Github #75)

2024-06-27 dr|z3d
 * I2PSnark: Fix assigning download priorities to files (spotted by postman)

2024-06-27 zzz
 * I2CP: Increase % of router bandwidth reported to clients

2024-06-26 zzz
 * Console: Fix typo in Permissions-Policy header

2024-06-23 dr|z3d
 * Console: Add experimental router world map at /netdbmap

2024-06-20 dr|z3d
 * Console: Add configuration routerconsole.pageTitlePrefix={text} to set a
   prefix for console page titles (requested by postman) and associated help

2024-06-20 zzz
 * SusiMail: Update size limits to match current postman limits
 * I2PTunnel: Reduce severity of access filter errors (Gitlab #483)

2024-06-19 dr|z3d
 * SusiDNS: SVG identicons with fallback to original bitmaps when no js

2024-06-12 dr|z3d
 * Console: Add floodfill indicator to sidebar network status when ff is active

2024-06-12 dr|z3d
 * I2PTunnel: Resolve non-i2p addresses served by the HTTP Server tunnel to
   identify 404s and block attempts to access localhost/loopback addresses via
   hostname

2024-06-11 zzz
 * Build: Put JspC wrapper in its own jar, used only at build time

2024-06-11 dr|z3d
 * I2PSnark: If peer client has version string, display on tooltip only
 * Graphs: Downsample graph data progressively as the display period increases

2024-06-10 dr|z3d
 * Console: Move "Select Stats" link on /graphs config panel header to button
   inside panel and indicate panel toggle status on header

2024-06-10 zzz
 * Router: Increase min version for floodfills, tunnels, reseed

2024-06-08 dr|z3d
 * Console: Add toggle for inbound/outbound tunnels on /tunnels page

2024-06-06 dr|z3d
 * Graphs: Tweak decimal places on legends

2024-06-05 dr|z3d
 * Router: Don't temp ban peers for sending unsolicted NetDb store requests
 * Console: Improve graphs loading and detecting/setting dimensions
 * Graphs: Only show time label every other major gridline if spacing between
   labels is less than the width of a single label

2024-06-03 dr|z3d
 * I2PSnark: Enhance and streamline debug panel presentation

2024-06-01 dr|z3d
 * I2PSnark: Use AJAX for page navigation

2024-05-31 dr|z3d
 * I2PSnark: Toggle debug mode inline without page reload

2024-05-30 dr|z3d
 * I2PSnark: Don't display toggle peers icon when no peers connected

2024-05-29 dr|z3d
 * Graphs: Various presentational improvements

2024-05-28 dr|z3d
 * I2PSnark:
   - Fixes for single torrent peer toggle
   - Distinguish between active and inactive seeding torrents
 * Console: Display I2PChat icon instead of server icon in sidebar when active

2024-05-27 dr|z3d
 * I2PSnark: Use AJAX for torrent filters and sort navigation

2024-05-21 zzz
 * Transport: Remove SSU1 code from IES/OES/PacketReader/HMAC (Gitlab MR !197)
 * Tunnels: Don't parse messages at the OBEP (Gitlab MR !194)

2024-05-19 zzz
 * I2PSnark: Fix NPE when attempting to create torrent with too many files

2024-05-18 zzz
 * Transport: Remove SSU1 code from PacketBuilder/PeerState/OMF (Gitlab MR !193)

2024-05-17 dr|z3d
 * I2PTunnel: URL based blocking for HTTP Server Tunnel - enabled with a url
   blocklist at .i2p/http_blocklist.txt, one entry per line, blocked clients
   logged at .i2p/http_blocklist_clients.txt for adding to tunnel filter

2024-05-16 zzz
 * I2CP: Hopefully fix rare NPE
 * Util: Remove ST2 timers from queue on cancel

2024-05-15 2.5.2+ (API 0.9.62) released

2024-05-15 dr|z3d
 * Console:
   - Add realtime js logging filter for router logs on /logs
   - Linkify ip addresses in router logs on /logs

2024-05-14 zzz
 * I2PTunnel: Fix keepalive bug causing truncation of chunked content

2024-05-14 dr|z3d
 * Console: Add refresh interval feature (js) to /logs to permit manually
   configuring the interval, with persistence via local storage

2024-05-12 dr|z3d
 * Console:
   - Add Unknown country to NetDb summary for non-GeoIP resolved peers
   - Ensure pages linked in iframes load at top
   - Migrate inline javascript on /jobqueue to refreshElements.js

2024-05-11 dr|z3d
 * Console: Add Show/Hide Legend button on single graph page

2024-05-08 zzz
 * Router: Publish G cap if symmetric natted
 * Tunnels: Validate peer RI expiration in TunnelPeerSelector

2024-05-09 dr|z3d
 * Console: Update graphs and handle graph manipulation using AJAX

2024-05-06 2.5.1+ (API 0.9.62) released

2024-05-06 dr|z3d
 * Console: Display graphs as SVGs using jfreesvg library
   (I2P integration courtesy of zzz)

2024-04-26 dr|z3d
 * Console: Add delete sybil blocklist button to sybil section
 * Router: Don't tolerate routers sending unsolicited DbSearch reply messages

2024-04-25 zzz
 * Transport: Remove SSU1 code from IMF/IMS (Gitlab MR !189)

2024-04-24 dr|z3d
 * I2PSnark: Display free space info at startup

2024-04-23 dr|z3d
 * Router: Add bans at SSU2 Establishment phase for various suspect behaviors

2024-04-22 zzz
 * Profiles: Don't update last heard time on tunnel failure
 * Transport: Remove SSU1 code from PeerTest and IntroductionManager
   (Gitlab MRs !185, !186)

2024-04-21 dr|z3d
 * SusiDNS: Enhance presentation of subscription logs and linkify new hosts

2024-04-19 dr|z3d
 * SusiDNS: Reverse the order of the subscription logs so newest
   added domains appear first
 * I2PSnark: Fix display of progress bars on details page

2024-04-17 zzz
 * Build: Update to Tomcat 9.0.88

2024-04-16 dr|z3d
 * Console: Optimize progressx.js and add support for theme-specific colors

2024-04-15 dr|z3d
 * SusiMail: When blocked images are present in HTML view and not shown, add
   a toggle button to enable display of placeholders, with src as tooltip

2024-04-13 zzz
 * Susimail:
   - Reply-all improvements
   - Add sender name to default config, use when replying
   - Improve validateAddress()

2024-04-13 dr|z3d
 * SusiMail: Remove parenthesis and anything contained therein in
   From column in list view

2024-04-13 dr|z3d
 * I2PSnark: Assign active filter query parameter to main nav and close
   search buttons when filterbar is enabled

2024-04-11 dr|z3d
 * I2PSnark: Modify logging output for snark create torrent file filtering
   so we only display path relative to the data dir, not full paths

2024-04-11 snex
 * I2PSnark: Fix create torrent filtering when applying a "." filter and
   log filtered files or filtered file count to screenlogs and terminal

2024-04-08 I2P+ 2.5.0+ released

2024-04-07 dr|z3d
 * SusiMail: Display blocked image count in html messages if
   view.html.blockedImages=false

2024-04-06 dr|z3d
 * SusiMail:
   - Enable dark mode for HTML messages when dark themes active:
     view.html.darkMode={true|false}
   - Hide blocked images in HTML messages by default:
     view.html.blockedImages={true|false}

2024-04-05 zzz
 * SusiMail:
   - Fix truncation of quoted-printable encoded attachments
   - Fix loading mail bodies in non-inbox/drafts folders

2024-04-04 dr|z3d
 * SusiMail:
   - Add icon indicators in list view for HTML attachments
   - Add config option to disable html remote content warning:
     view.html.warning={true|false}

2024-04-03 dr|z3d
 * SusiMail:
   - Merge zzz's html mail viewer code, enhance presentation
   - Fix various potential display issues with html messages,
     swapout broken remote images for a blocked image icon

2024-03-03 dr|z3d
 * I2PSnark: Activate snex's create torrent filtering

2024-03-26 zzz
 * NetDB: Store message handling changes
 * Transports: Incoming connection checks
 * Tunnels:
   - Refactor message distribution
   - Tunnel test changes

2024-03-23 zzz
 * I2PSnark: Preserve private=0 in torrent files

2024-03-01 zzz
 * SSU2: Cancel peer test if Bob picked a Charlie without a B cap

2024-02-29 zzz
 * SSU2: Treat IPv6 peer test result as unknown if no response
   from firewalled Charlie

2024-02-26 zzz
 * I2PSnark:
   - Don't allow changing data dir when connected
   - Delete all torrents except magnets when changing data dir

2024-02-25 zzz
 * SSU2:
   - Increase min version for peer test
   - Update last rcv time when receiving data, not acks

2024-02-10 snex
 * I2PSnark: Implement create torrent file filtering

2024-02-02 zzz
 * I2PTunnel: Implement client-side persistence (Gitlab MR !176)

2024-01-31 zzz
 * CLI: Add sdns stamp decoder

2024-01-30 zzz
 * Naming: Add .i2p.alt support
 * Util: DoH server list update

2024-01-29 dr|z3d
 * Reseeding: Add StormyCloud server

2024-01-29 zzz
 * Crypto:
   - More efficient enum lookup by code
   - Verify RSA sigs after signing
 * I2PSnark: Sanitize unicode LTR/RTL control chars
 * Util: Add .alt to selfsigned cert alt names

2024-01-28 zzz
 * Build: Update gradlew to 8.5 (Gitlab MR !180)

2024-01-27 zzz
 * Console: Update RRD4J to 3.9 (Gitlab MR !178)
 * Transport: Remove SSU1 code from EstablishmentManager (Gitlab MR !179)

2024-01-23 zzz
 * I2PTunnel, SusiDNS: Fix IDN decoding for newer codepoints

2024-01-15 zzz
 * I2CP: Prevent loopback messages to same session
   (i2pd Github #2005, Gitlab MR !173)
 * I2PSnark: Bandwidth limiter improvements (Gitlab MR !164)

2024-01-14 zzz
 * Data: Store compressed RI and LS in compressed form (Gitlab MR !171)
 * I2PTunnel:
   - Add utilities for keepalive (WIP) (Gitlab MR !166)
   - Don't send HTML errors on CONNECT sockets (Gitlab MR !175)
 * Transport: Remove SSU1 code from PacketHandler (Gitlab MR !174)

2024-01-12 dr|z3d
 * Console: Add auto-refresh toggle button to /logs

2024-01-11 dr|z3d
 * Console: Add tunnelId toggler to /tunnels if advanced mode enabled

2024-01-10 zzz
 * SusiMail: Add markdown js for plain text content (Gitlab MR !161)
 * SSU2: Delay sending relay tag (Gitlab MR !169)

2024-01-08 zzz
 * Transport: Ignore SSU1 enable config

2024-01-02 zzz
 * Console: News fetch improvements (Gitlab MR !163)
 * Router: Enforce max RI size (Gitlab MR !168)
 * SusiMail: Speed up initial loading (Gitlab MR !162)
 * Tunnels: Peer selection adjustments (Gitlab MR !167)

2023-12-31 dr|z3d
 * Console: Add support for Noto Sans / Source Sans CJK fonts for graphs

2023-12-30 dr|z3d
 * Router: Fix out-of-bounds error for RDNS domain truncation
 * I2PTunnel: Case-insensitivity when detecting existing http server headers

2023-12-27 dr|z3d
 * Console: Ensure sidebar continues auto-refresh after router restart

2023-12-27 dr|z3d
 * SusiMail: enable image attachment thumbnail previews;
   display file icons for non-images
 * Router: bump minimum version in various places for RI storage,
   selective transit tunnel hosting etc

2023-12-23 zzz
 * SusiMail:
   - Add regex util (WIP)
   - Extract multipart type and content id (WIP)
   - Logging enhancements on file read failures
   - Show size and thumbnail of draft attachments
 * Util: Move SyntheticREDQueue from router to core

2023-12-23 dr|z3d
 * Console: Add redirect for /help/changelog at /changelog

2023-12-22 zzz
 * Blockfile: Fix bug in unused getNames()
 * Console: Fix encoding issues in persisted news
 * I2CP: Add router rates to bandwidth limits message
 * I2PSnark: Adjust max peers for small torrents
 * I2PTunnel:
   - Change return code for host-not-in-addressbook to 502
   - Log correct server host/port on error when multiple targets configured
 * NTCP2: Add key validity check
 * Plugins: Don't auto-update in test mode
 * Ratchet: Use correct method for Elg2 keygen
 * SusiMail: Include attachment sizes in displayed draft size
 * Transports: Don't flood huge RIs
 * Util:
   - Catch OOM in timer
   - Add 2nd order comparison in ObjectCounterUnsafe sort

2023-12-22 dr|z3d
 * Console: Fix sticky sidebar misbehavior at < 1500px viewport width

2023-12-20 dr|z3d
 * I2PSnark: Fix display of bottom page navigation buttons

2023-12-18 I2P+ 2.4.0+ released

2023-12-18 dr|z3d
 * Console: Ensure we write out the news.xml feeds in utf-8 (fix by zzz)
 * Router: stat when we receive a good search reply

2023-12-17 dr|z3d
 * Console: Ensure correct sidebar tunnel status visuals for translations

2023-12-16 dr|z3d
 * I2PTunnel: Process tunnel control events in situ, don't reload page

2023-12-15 dr|z3d
 * Tor blocklist update

2023-12-11 dr|z3d
 * Console: Selectively show shutdown errors in wrapper logs
 * Console: Don't display untagged strings language option on wizard page

2023-12-09 dr|z3d
 * Console: When update is available, display on configupdate

2023-12-08 dr|z3d
 * Installer Fix rare misidentification of OS (patch from zzz)

2023-12-07 dr|z3d
 * SusiMail: Show spam flags for all in spam folder (patch from zzz)
 * Console: Make Check for Updates button more prominent on configupdate

2023-12-06 dr|z3d
 * Console:
   - Refactor configupdate
   - Remove obsolete oldHome pref and conditionals from NewsHelper
   - Add Router Updates link to home

2023-12-04 dr|z3d
 * Console: Form submission improvements in config section

2023-12-02 dr|z3d
 * Console: Iconize help section nav menu

2023-12-02 zzz
 * SusiMail: Fix binary content-encoding

2023-12-01 zzz
 * I2PSnark: Change js mime type as per RFC 9239

2023-11-29 zzz
 * UPnP:
   - Fix missing port in Host header causing failures on libupnp-based devices
   - Fix handing of multiple IGDs
   - Improve logging about multiple IGDs
   - Make case of HTTP headers more standard

2023-11-27 zzz
 * I2PSnark: Delay bandwidth limits check briefly

2023-11-23 dr|z3d
 * Console: Streamline /profiles display

2023-11-21 zzz
 * Addressbook: Workaround for i2p-projekt.i2p etag bug (upstream Gitlab #454)
 * I2PTunnel: Add thread number to server thread names
 * Profiles: Increase congestion cap penalties (upstream Gitlab #412)

2023-11-18 zzz
 * I2PSnark: Uncomment and fix local torrent file picker

2023-11-16 zzz
 * Build: Force build to die on fatal JspC errors

2023-11-15 zzz
 * I2PSnark:
   - Handle metainfo url-list as single byte string
   - Increase comment bucket size to reduce duplicates
   - Sort tracker list on details page

2023-11-12 dr|z3d
 * Router: Don't log ban events if router is already banned
 * Sybil Don't ban NAT64 addresses (patch from zzz)

2023-11-12 zzz
 * Banlist: Throw if banning far in the past, to catch bugs
 * Router: Temp. ban routers publishing in the future
 * Sybil: Don't ban NAT64 addresses

2023-11-11 dr|z3d
 * Router: Fix congestion cap publishing

2023-11-11 zzz
 * Router: Fix congestion cap publishing

2023-11-10 dr|z3d
 * I2PTunnel: Exempt tunnel name from XSS filter (upstream Gitlab #467)
 * NetDb Lookup handler throttler fixes (upstream Gitlab #468)

2023-11-10 zzz
 * I2PTunnel: Exempt tunnel name from XSS filter (upstream Gitlab #467)
 * NetDb: Lookup handler/throttler fixes
   - Allow limited lookups when non-ff, but still disallow expl. lookups
   - Remove unnecessary banlist checks in handler
   - Add lower non-ff limit in throttler
   - Fix check for our RI
   - Remove now-unused stats

2023-11-09 zzz
 * Console: Fix published LS count on the debug LS tab

2023-11-08 zzz
 * NetDb: Fix and deprecate unused store() method

2023-11-04 zzz
 * NetDb: Type changes (Gitlab #402)
   - Revert ctx.netDb() return type change
   - Revert all DummyNetworkDatabaseFacade changes
   - Add DummyNetworkDatabaseSegmentor
   - FNDS/SNDF return type changes
   - Add back casts of netDb() calls to FNDF where necessary
   - Fix console NPE when using DummyNDF

2023-11-02 zzz
 * NetDb: Enforce no RIs in subdbs (Gitlab #465)
   - Throw IAE if attempting to store/publish RI to subdb
   - Log warnings if attempting to lookup RI in subdb
   - Revert changes to createPeerSelector()
   - Revert peer selector changes in SearchJob and StoreJob
   - Use common PeerSelector and KBucketSet for all dbs
   - Revert/fix FloodfillVerifyStoreJob to looukp RIs in the main DB
   - Don't start ExpireRoutersJob in subdbs
   - Revert change in InboundMessageDistributor that was looking up RI in subdb
   - Remove KNDF.isMainDb(), replace with !isClientDb()

2023-10-28 zzz
 * I2PTunnel:
   - Remove nonstandard Proxy-Connection headers (Gitlab #452)
   - Fix gzip footer check in GunzipOutputStream (Gitlab #458)
 * NetDb: Fix lifecycle issues for subsessions (Gitlab #460, #406)
   - Don't create subdb for subsession and lose ref for primary subsession;
   - Simplify CCR.getFNDF() to simply return the subdb or null; nothing else is necessary
   - Do not unpublish LS from main db on session shutdown; not necessary, it is not in there

2023-10-24 zzz
 * NetDb: Subdb lifecycle fixes (Gitlab #406)
   - Disable RefreshRoutersJob for subdbs
   - Cancel ExpireRoutersJob and ExpireLeasesJob at netdb shutdown
   - Do not run ExpireRoutersJob at shutdown for subdbs
   - Do not create _exploreKeys HashMap for subdbs, and add checks for subdbs
   - Convert NegativeLookupCache timer to SimpleTimer2 so we may cancel it
   - Add method to cancel NegativeLookupCache timer; cancel it when netdb shuts down

2023-10-22 dr|z3d
 * Core: Update clearnet user agent string as per latest Tor browser
 * I2PSnark: Show correct count on filter badge when search is active
 * Router: Reimplement no GeoIP router bans 10m grace period after startup

2023-10-21 zzz
 * Tests:
   - Disable console scala tests in gradle tests
   - Exclude BuildMessageTestStandalone from gradle tests
 * SAM: Reset incoming socket if no subsession is matched (Gitlab #456)

2023-10-17 dr|z3d
 * Console:
   - Remove some cruft from home and searchbar
   - Allow vertical resize for configlogging textarea

2023-10-12 dr|z3d
 * I2PTunnel:
   - Add some default mimetypes in case we don't find any in the response headers
   - Add some header null checks, source cleanups
   - Add cache control, referrer policy, x-xss-protection headers if missing in HTTPServer

2023-10-12 zzz
 * I2PTunnel: HTTPResponseOutputStream cleanups

2023-10-11 dr|z3d
 * Reseeding: Add prestium reseed hosts and certs
 * I2PTunnel:
   - Increase max packet size in I2PTunnelRunner
   - Increase cache size for http response

2023-10-10 zzz
 * I2PSnark: Shutdown incomplete torrents first

2023-10-03 zzz
 * SSU2: Prevent rare IAE in peer test timer (Gitlab #433)

2023-10-10 dr|z3d
 * Router: Fix in-console rendering of flags
 * Console: Improve rendering time of tunnels pages

2023-10-09 dr|z3d
 * Console: Unsigned update notification improvements courtesy of zzz

2023-10-07 dr|z3d
 * Console: /home and /graphs pages rendering speedup

2023-10-02 dr|z3d
 * I2PSnark:
   - Speed up rendering of main torrents table
   - Preload fonts
 * Console
   - Speed up rendering of /tunnelpeercount and js fixes

2023-09-30 dr|z3d
 * SSU2: Prevent rare IAE in peer test timer Gitlab 433
 * I2PSnark: eventlistener improvements in refreshTorrents.js
 * Console: I2PTunnel unique names for xhr requests
 * Console/Webapps: Don't use capturing phase in js unless needed

2023-09-29 zzz
 * SAM: Fix accept after soft restart (Gitlab #399)

2023-09-27 dr|z3d
 * Console: Check for presence of countries table before adding sort listeners
 * Console: Ensure sidebar section toggler works when refresh disabled

2023-09-27 zzz
 * Debian: Change JRE dependency order (Gitlab #443, Debian #1024461)
 * I2PSnark: Prevent start-all from within search results erroring (Gitlab #445)
 * NTCP2: Fix updating address on transition to firewalled (Gitlab #435)
 * SSU2: Fix uncaught IAE caused by itags with zero values (Gitlab #415)
 * Transport: Fix NPE during soft restart (Gitlab #437)

2023-09-26 dr|z3d
 * Imagegen: Speed up generation of identicons

2023-09-25 dr|z3d
 * Console/Webapps/eepsite: Remove svg xlink namespace, convert xlinks to hrefs

2023-09-22 dr|z3d
 * SusiDNS: Remove mimetype sniffing from headers.jsi since we're just using the URI
 * Console: Suppress logging the file extraction process for reseed zips

2023-09-20 dr|z3d
 * Console: Reduce max threads from 24 to 8
 * Console: Indicate updated table cells when refreshing on /jobs

2023-09-19 dr|z3d
 * Eepsite: Don't serve cookies (max-age: 0)

2023-09-18 dr|z3d
 * I2PSnark: Reduce max messages in screenlog to 50 was 100

2023-09-15 dr|z3d
 * I2PSnark: Remove redundant IE8 9 workarounds and checks in lightbox.js

2023-09-14 dr|z3d
 * Console: Display wrapper logs newest entry at top to match router logs and
   presentational improvements

2023-08-29 dr|z3d
 * Console: Don't display Tunnel lag indicator in sidebar if 0

2023-08-27 dr|z3d
 * Router: Add reverse DNS lookup file cache when RDNS is enabled

2023-08-20 dr|z3d
 * Console: Update url for /I2PTunnelmgr to /tunnelmanager
 * Console: Rename some pages with auto redirects from old page names

2023-08-19 dr|z3d
 * Console: Sticky sidebar improvements

2023-08-09 dr|z3d
 * I2PSnark: Add new magnets column to main view toggled via javascript

2023-08-01 dr|z3d
 * Router: Don't build client tunnels with congestion cap peers

2023-07-12 dr|z3d
 * Jetty update default eepsite caching policies

2023-07-11 dr|z3d
 * Console: swapout home news bg image dark

2023-06-30 I2P+ 2.3.0+ released

2023-06-30 dr|z3d
 * Console: Fix display of floodfills in /profiles section

2023-06-28 dr|z3d
 * Router: Add info level logging for replies as floodfill to lookup requests

2023-06-28 idk
 * Router:
   - Cache stores of multihomed leaseSets when stored from multihome peers,
     and if our local LS is not in the keyspace return multihome instead
   - When updating a leaseSet because recieving it as published always
     make a complete copy of the leaseSet before merging the flags.
   - Rate limit peer lookup requests

2023-06-21 dr|z3d


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

EARLIER HISTORY IS AVAILABLE IN THE SOURCE PACKAGE