Skip to content

SafeDNS v0.4.0

Choose a tag to compare

@sms1sis sms1sis released this 05 Feb 19:22
· 33 commits to android-app since this release

SafeDNS v0.4.0 — Performance & Reliability Overhaul

This major release transforms SafeDNS into a highly robust, performant, and standards-compliant DNS-over-HTTPS tool. We've rewritten the core
request handling to support parallelism, fixed long-standing caching issues, and introduced a suite of advanced configuration options for power
users.

🚀 Highlights

  • Parallel DNS Processing: The Android service now utilizes a thread pool to handle multiple DNS queries concurrently. A single slow query will no
    longer block internet access for the entire device.
  • RFC 8484 Compliance: Improved compatibility with strict DoH providers (like AdGuard) by correctly handling DNS Message IDs per the official
    specification.
  • Intelligent Caching: The DNS cache now strictly honors Time-To-Live (TTL) using high-precision timers, ensuring you never get stuck with stale
    records.
  • Advanced Settings UI: A new "Advanced" section in the navigation drawer allows you to tune performance parameters directly from the app.

🦀 Backend (Rust Core)

  • Multi-IP Bootstrap: The resolver now fetches all available IP addresses for DoH providers, significantly increasing availability if one IP is
    unreachable.
  • Protocol Optimization:
    • Added support for HTTP/2.0 with adaptive window tuning.
    • Optimized HTTP/3 negotiation to prefer standard ALPN, ensuring better stability on unstable mobile networks.
  • Socket Performance: Integrated socket2 (v0.6.2) with SO_REUSEADDR and SO_REUSEPORT support for near-instant proxy restarts.
  • Detailed Diagnostics: Activity logs now provide specific error types (e.g., Connect Error, Timeout, Bad Request) instead of generic failure
    messages.
  • Dynamic Cache Exclusion: Implemented a mechanism to bypass the cache for specific domains (like the Latency Pulse target) to ensure real-time
    accuracy.

📱 Android Frontend

  • Enhanced Log Management:
    • Added Clear Logs button to refresh the activity feed.
    • Added Copy to Clipboard feature for easier debugging and sharing.
  • Input Safety (Debounce): All configuration fields now feature a "debounce" delay—the service won't restart until you've finished typing.
  • Improved Focus Management: Text fields now automatically deselect and hide the keyboard when you press "Done."
  • Visual Polishing: Refined the "Status Hero" section with better visibility for connection states and latency updates.

🛠️ Maintenance

  • Upgraded socket2 dependency to v0.6.2.
  • Optimized JNI bridge for safer string handling.
  • Explicitly managed async task lifecycles to prevent resource leaks on service shutdown.