Full Changelog: v1.8.3...v1.8.4
v1.8.4
Bug Fixes
- Fixed Slipstream port stuck after disconnect — Rust native thread was
holding the port forever because SHOULD_SHUTDOWN was reset before the
abandoned thread could see it - Added shutdown check before QUIC setup phase so the thread exits promptly
during reconnect cycles - Capped idle sleep at 2s to ensure shutdown is detected within the 3s JNI
stop timeout - Added port fallback (+10/+20/+30/+40/+50) if preferred port is still held by
a previous session - Faster disconnect: reduced port wait from 5s to 1s (next connect has
fallback if needed) - Synchronized stopClient() to prevent double-stop race from onDestroy +
coroutine cleanup - Fixed database crash on first launch for users upgrading from very old
versions (v1–v4) by adding fallbackToDestructiveMigrationFrom - Fixed MIGRATION_6_7 default value mismatch (forward_dns_through_ssh: 1 → 0)
that could cause schema validation failures on newer SQLite versions
New Features
- DNSTT standalone now uses DnsttSocksBridge (same architecture as Slipstream)
with persistent DNS worker pool, Dante auth, and multi-phase resilience - DNS Scanner: scan random IPs from country CIDR ranges (geo-based resolver
discovery) - Server reachability test simplified to SSH-only (DNS/tunnel pings were
misleading)
Improvements
- QUIC liveness monitoring: automatically reconnects after 30s of QUIC being
down (fixes background traffic dying on Samsung) - Debug log sheet: batched updates (100ms flush timer) instead of per-line
ArrayList copy; removed scroll animation jank - Add-menu popup animation smoothed out with faster durations and fixed shadow
lag - Bridge link icons in Tor profile editor (Telegram, Web, Email)