2026-07-14 dr|z3d * Upstream security: I2NP length checks, susimail AUTH session fix, blocklist IP conversion * Console: Fix classloader for plugin install/start * I2PSnark: Reannounce early after magnet→metainfo transition * Datagram2: Fix validation with offline keys * Performance: Streaming ByteCache pool for outbound payloads; NTCP2 ThreadLocal block list; Tunnel duplicate NetDB lookup elimination; SSU ChaCha sync removal, fragment list copy, buffer zero-fill removal; garlic one-pass serialization * Stats: Fix Rate.coalesce getAverage() ~20% high 2026-07-13 dr|z3d * Console: Add /health dashboard with ring sparklines; sidebar overlay/disconnect fixes; news feed pagination fix; 17 web audit fixes (timer leaks, prototype pollution, race conditions); expose throttler tuning params in Advanced config * Reseed: Escape untrusted URL strings in status messages * Streaming: Partial window collapse on RTO; lower initial RTO to 2s with 1.5x backoff; lower passive flush delay * Transport: BanLogger caps in sessionbans.txt; ban duration scaling at high ban count; NTCP handshake ban reduction (15m, noise filters); netdb prefer direct transport IP for ban logging * Router: Remove unsolicited DbSearchReply and HashPatternDetector bans (false-positive risk); lock/timer/leak audit fixes * Throttlers: Probabilistic load-modulated transit rejection * I2CP: Replace per-session reader threads with shared dispatcher * Tuner: Expand NTCP establish timeout to 10s with failure-adaptive push; fix initialRTO diverge; add Transit subsection * Core: Cache SystemVersion.getCores() 2026-07-12 dr|z3d * Console: - Sidebar CPU load indicator — more responsive; memory/CPU bar CSS width transitions - Defer health ring scores until 5 min uptime on /tuning 2026-07-11 dr|z3d * Console: - Add 1s update option to sidebar bandwidth graph - Smooth ring chart animation, presentational tweaks * I2PTunnel: Reduce client pool idle keepalive 120s→30s * GeoIP: Improve reversed ASN name overrides for more accurate hostname display in tables 2026-07-10 dr|z3d * Console: Add subsystem ring chart dashboard to /tuning with health scoring; fix Router group sorting for non-English locales * GeoIP: Auto-detect reversed MaxMind org names, full-string reversal for compound words, double-apostrophe cleanup * i18n: Add 24 new locale translations for ndt module 2026-07-08 dr|z3d * Console: - Add dual-baseline canvas minigraph renderer with gradient fills, glow effects, configurable time period (2-30 minutes), split or overlay display modes, and horizontal scrolling; legacy SVG renderer remains available via routerconsole.sidebarGraphLegacy - Fix RDNS cache budget enforcement, 3-day TTL, and info page limit display - Add sidebar graph configuration options to advanced settings help 2026-07-07 dr|z3d * Router: - Improve first-hop quality and build concurrency - Fix RTT measurement and concurrent message limits - Scale request throttle limits for transit stability - Add RED/Codel tuning, pending lookup queue, raised lookup limits * Transport: - UDP peer state leak and hot loop fix, PacketPusher shutdown fix, peer removal race fix - NTCP reader/writer thread scaling; ISP name override for Emirates * Console: - Tuning params in collapsible sections; non-blocking RDNS for faster loads - Fix graph settings save - Theme tweaks - Configban toggle wiring * Core: - CoDel/RED leak fix, TryCache resize, replace SimpleTimer with shared SimpleTimer2 - Fix JobQueue thread CPU explosion * Streaming: Replace per-session timer pools with shared global timer * I2PTunnel: Bounded server executor with Tuner integration * Wrapper: Add -XX:-OmitStackTraceInFastThrow for crash diagnostics * Docker: Configurable UID/GID; fix restart hang with stop_grace_period 2026-07-04 dr|z3d * Console: Add /tuning page with sparkline history, parameter descriptions, and per-row auto-tuning toggle * Router: - Add auto-tuning framework (46 params across 10 subsystems) with live-editable ranges, system health scoring, and per-tunnel BWE divisor / tunnel growth factor configuration - Sort peers by measured latency in tunnel peer selection to reduce first-hop delay; deprioritize untested peers - Dynamic concurrent message limit based on peer RTT; halve window when RTT > 200ms, increase when < 100ms - Fix CapacityCalculator new-peer penalty (integer division); refactor severe congestion age logic - Fix ProfileOrganizer fast-tier fallback selectability gaps and demoted peers unbounded growth cap - Fix PeerTestJob uptime constant 5min → 3min - Fix DBHistory and PeerProfile data races (AtomicLong counters, volatile timestamps); remove dead code, update class javadocs - Add periodic cleanup guard for RepublishLeaseSetJob static maps - Fix ant bump regex for JLS-standard modifier order (public static final); remove dead NTCPConnection _i2npHandlers queue 2026-06-29 dr|z3d * Router: - Replace network whois with local ASN MMDB for instant hostname lookups; RDNS remains optional fallback - Fix stale RDNS cache entries; skip unknown/IP for re-lookup - Fix NTCP buffer leak, BanLogger race, wasUnreachable map removal; non-blocking pumper offer timeout; staggered pool expiry - Cap client pool tunnels at 3x target; hard ceiling on consecutive test failures; per-pool peer diversity enforcement * Console: - Always show hostname/domain column in tunnel, banlist, and profile tables; use sync lookup for instant results - Stagger netdb RDNS lookups in background worker; remove broken per-instance caches; consolidate sessionbans.txt reads - Add ASN Db info row on /info page * Core: Add 18 unit tests 2026-06-28 dr|z3d * Router: - Reduce peer test frequency to 5 min (was 5s); limit concurrency to 1; simplify timeout to never reduce below configured default - Fix ExpireJob lifecycle — increase MAX_ENTRY_LIFETIME 15→25 min; null-safe getTunnelKey(); try-catch in runJob/runPhase; per-tunnel exception handling in removeTunnel/refreshLeaseSet/dispatcher.remove - Remove ExpireJob.removeFromExpiration() from pool removal paths to complete 2-phase lifecycle; lower zombie ceiling >10→>4 - Build backoff 1→8s; maxConcurrent cores*2 min 16; TUNNEL_POOLS 48→8; re-include TIMEOUT in adaptive stats; skip builds when untested tunnels cover deficit - BuildHandler: fix RTT calc; remove "No BW Tier" ban; raise inbound conn limit 87→93%, outbound 87→97%; congestion threshold 90→96% - Peer selection: centralize no-signal pre-qualification; randomize BW32 exclusion; default unreachable-exclude to false - TestJob: recent-traffic window 60→30s; exemptions 2→1; failure threshold >2→>1 for faster dead tunnel removal * Streaming: Route SYN packets to receiveNewSyn regardless of sendId; close stale connections on duplicate SYN; relax ack guard for SYN-ACK; handle empty nacks array; set _connectionError on bounded connect timeout; simplify packetSendChoke; remove invalidateStaleLeaseSet * I2PTunnel: Restore HTTP keep-alive socket overrides 2026-06-27 dr|z3d * Router: - Extend UNTESTED tunnel lifetime up to 6×30s before expiry to prevent death spiral from premature removal - Preserve IB endpoint participants in cleanup; don't shorten outbound dispatch expiry - Reduce max concurrent builds to cores×4, cap per-iteration at 4; simplify TestJob scheduling; remove adaptive queue logic - Dynamic pool scaling; server-pool prune guard; LS fallback reserve; zombie ceiling fixes * Console: Improve streaming connections unavailable message; add auto-refresh 2026-06-25 dr|z3d * Router: Atomic per-pool test cap; peer-aware test timeouts; skip slow peers; don't prune UNTESTED tunnels or fire EMERGENCY when untested capacity exists * Console: Add auto-refresh, tablesort, and direction filtering to /streams page 2026-06-24 dr|z3d * Router: - Fix pool collapse and churn from aggressive pruning, slow rebuilds, and stale peer failures - Fix EMERGENCY build storm, zombie threshold, LS cache invalidation, reduce churn - Stabilize pool collapse; fix EMERGENCY deadlock; cap test scheduling * ProfileOrganizer: Filter first-hop-failing peers in isSelectable; atomic strike tracking * TunnelPeerSelector: Extend first-hop cooldown to 5 min * BuildExecutor: Synchronize pool failure tracking; prioritize collapsed pools in build queue * ClientAppConfig: Consolidate non-boot startup delay to 15s 2026-06-23 dr|z3d * Router: Fix tunnel pool collapse — reduce aggressive peer filtering; remove UNTESTED tunnel skipping; increase test throughput (shorter periods, higher caps) * Console: - Add /streams page showing live streaming connections - Fix hide/show news nonce mismatch on /home 2026-06-18 dr|z3d * Router: Tunnel build timeout 20s, first-hop peer filtering, FAILING cap exclusion; latency-based tier demotion; SSU2, NTCP, streaming fixes; netdb probe/republish fixes; addressbook HostChecker fix 2026-06-09 dr|z3d * Router: - Peer Manager: Freshness proof-of-life check in isSelectable() — exclude non-connected peers with stale RouterInfo (>2h) and no activity (<1h); 10 min startup grace; demoteIfStale() removes stale peers from fast/high-cap tiers immediately - Profile: Extend expiration windows — passive 3d (was 24h), gossip 24h (was 2h); lastHeardAbout qualifies for passive tier - NetDB: ProbeStalePeerJob proactively pings stale peers via DirectLookupJob (3 min cycle, up to 5 per cycle, 10 min cooldown) - Tunnel: Extend setLengthOverride() to client pools for adaptive hop reduction (min 2); increase build timeouts 15→20s; raise latency threshold 10→15s; boost test concurrency 64→128 - Client: Handle expired LeaseSet gracefully without disconnecting * Streaming: Make resend delay, disconnect timeout, and RTO configurable via PROPs * EepGet: Make timeouts and retries configurable via PROPs 2026-06-06 dr|z3d * Router: - Skip peer pre-qualification during first 15 min of uptime - NetDB: Only purge HostChecker-fetched LS from cache; LS refresh interval 150s with unconditional re-fetch each cycle 2026-06-05 dr|z3d * Router: - Tunnel pool: Fix cascading collapse — keep failing tunnels for retest; paired pool fallback; data-based survival for tunnels with verified content; remove 60s pre-test grace period; fail() removes both directions; clear test failures on data-bearing tunnels - Peer pre-qualification: Prefer peers with recent test success or active connection - GOOD-based build urgency; building cap 2×wanted - Profile: Drop buildSuccess throttling; raise CPU throttle to 95% * Console: GOOD-only pool summary; nofilter_ prefix for login 2026-06-03 dr|z3d * Router: - Tunnel pool: emergency LS on empty pool; isDestinationReachable uses pool state for inbound (not netDB); graduated build urgency; 30s early expiry; adaptive build concurrency; inbound-first startup; fall back to exploratory when client test reply is null; skip paired tunnel ≥2 consecutive failures for build reply - Peer Manager: Persisted low-latency flag; speed decay 30 min (was 5); bypass isActive for proven peers; test frequency 5-8s at 2-4 concurrency - NetDB: Cancel+reschedule LS republish instead of dropping * Streaming: raise MAX_WINDOW_SIZE to 256; fix retransmit delay clamping, window sizes, outbound connection reset 2026-05-22 dr|z3d * Router: - Protect server pools from premature expiry; prioritize peer tests - Peer Manager: Fix profile retention and getIsActive inversion * Streaming: fix retransmit, memory, and enqueue-guard regressions 2026-05-19 dr|z3d * Router: - Peer Manager: Composite speed scoring, congestion gating, auto-tier promotion; high-latency demotion; tiered expiration - Fix RepublishLeaseSetJob to restore LS publication for hosted services - SSU2: Fix peer test result as Alice when Charlie's RI missing * Streaming: immediate packet retransmit on soft tunnel failures 2026-05-15 dr|z3d * Router: fix NSR stale tag handling after session established 2026-05-12 dr|z3d * Security: Console theme/lang allowlisting, redirect sanitization, XSS fixes; I2PTunnel path validation, MD5→SHA-256 for nonces; Router constant-time NTCP, bounds validation in GarlicMessage/ DatabaseLookupMessage/LeaseSet2 (reported by bottomlineit.za); fix TOCTOU race in NTCP2 Reader * Router: SSU2 peer-diversity requirement for address confirmation; fix volatile counter races; only auto-refresh LS for active tunnels * Console: /configban blockMyCountry, clear/reset, auto-purge * Addressbook: remove HostChecker LS from tracking after completion 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