Skip to content

Releases: neohiro/dnscrypt-proxy-gui

DNSCrypt Proxy GUI 1.2.1

Choose a tag to compare

@neohiro neohiro released this 25 Aug 13:14

DNSCrypt Proxy GUI 1.2.1

Changed

  • Removed the "Restore DNS" button. It performed exactly the same action as Deactivate while the proxy was running, and its only other use - repairing settings left behind by a crashed session - already happens automatically every time the app starts.

Nothing else changes: your DNS settings are still snapshotted before any activation and restored verbatim on deactivation or exit, and recovery after a crash remains fully automatic.

What's Changed

  • Remove redundant Restore DNS button by @neohiro in #20

Full Changelog: v1.2.0...v1.2.1

DNSCrypt Proxy GUI 1.2.0

Choose a tag to compare

@neohiro neohiro released this 25 Aug 13:01

DNSCrypt Proxy GUI 1.2.0

New

  • Update checker (Configuration tab, bottom row): a quiet version line with a Check for update button. The app also probes silently at startup - if a newer release exists, the version line lights up as a clickable link to the download page. Version comparison is true semver (component-wise), so 1.10.0 correctly ranks above 1.9.0; network failures never nag at startup.

Fixed

  • Config changes during an active session now really restart the proxy. Previously "Changes are applied immediately" only wrote settings - the running proxy kept its old configuration until a manual deactivate/reactivate.
  • A crashed tray icon no longer tears down your protection: the app degrades to taskbar mode instead of quitting, and closing then asks before exiting.
  • Auto-reactivation race eliminated: starting the app could spawn two dnscrypt-proxy processes racing for port 53, leaving one that Deactivate could not stop. Reactivation is strictly once per session.
  • Corrupted/mirrored resolver lists are handled safely: duplicate or nameless entries are dropped at ingestion instead of crashing the server table; hand-edited relay mappings in settings.json are ignored with a warning instead of raising errors.

For contributors

  • New integration test drives the real GUI through activate → config-change-restart → deactivate against a stub proxy on every push (Linux CI under xvfb, both Python 3.11 and 3.12). 93 tests total.

What's Changed

  • Fix: config changes during an active session never restarted the proxy by @neohiro in #18
  • Update checker (semver) + restart-cycle integration test by @neohiro in #19

Full Changelog: v1.1.0...v1.2.0

DNSCrypt Proxy GUI 1.1.0

Choose a tag to compare

@neohiro neohiro released this 24 Aug 23:36

DNSCrypt Proxy GUI 1.1.0

Robustness release covering everything landed since 1.0.5.

Fixed

  • Tray crash no longer deactivates your proxy. If the system-tray thread failed, the app used to quit entirely - silently stopping a running proxy and reverting your DNS. It now logs the failure, switches to taskbar mode and keeps protecting you; closing the window then asks before exiting.
  • Auto-reactivation race eliminated. When a resolver-list refresh completed faster than startup reactivation, a second activation attempt could spawn a second dnscrypt-proxy over the live one - leaving a proxy that the Deactivate button could not stop. Reactivation now happens exactly once per session.
  • Corrupted or mirrored resolver lists can no longer break the app. Duplicate or nameless entries are dropped at both ingestion points (upstream fetch and local cache); previously a duplicate name crashed the server table with an internal error.
  • Hand-edited settings are tolerated. A malformed relay mapping no longer crashes config generation, and listing the same relay twice produces one clean route instead of duplicated entries.
  • Partial cache files load safely - older cache files missing newer fields no longer cause errors when populating the server list.

Hardened

  • Run-at-startup registration is correct for every install type and handles paths with spaces/quotes/special characters on Windows, Linux and macOS.
  • Single-instance detection is reliable; configuration restarts report "busy" instead of silently dropping changes.
  • Partial DNS restores keep their backup for retry instead of falling back to a DHCP reset.
  • More diagnostics in the log file for proxy-output and shutdown edge cases.

For contributors

  • CI gates every PR and push: lint + tests + headless GUI smoke test on Python 3.11/3.12, with job timeouts; Dependabot tracks GitHub Actions versions.

What's Changed

  • Production readiness: name dedupe, tray fallback, reactivation race by @neohiro in #16
  • Ingestion tolerance: malformed relay maps, duplicate relays, partial caches by @neohiro in #17

Full Changelog: v1.0.5...v1.1.0

DNSCrypt Proxy GUI 1.0.5

Choose a tag to compare

@neohiro neohiro released this 24 Aug 22:38

DNSCrypt Proxy GUI 1.0.5

Fixed

  • Linux/Wayland: app no longer crashes on startup. The system-tray backend could fail while importing on Wayland-only sessions or headless systems in a way the previous guard did not catch; any tray failure now degrades gracefully to running without a tray icon (closing minimises to the taskbar).

Hardened (since 1.0.4)

  • Run-at-startup registration is now correct for every install type: frozen builds no longer register themselves twice, and paths containing spaces, quotes or % characters work in Windows Run keys, Linux .desktop entries and macOS launch agents.
  • Single-instance detection is now reliable (Windows last-error handling hardened).
  • Configuration restarts report "busy" instead of silently dropping changes when another operation is still running.
  • Safer DNS restore policy: a partially failed restore keeps its backup for retry instead of falling back to a DHCP reset.

For contributors

  • CI now runs lint + tests + a headless GUI smoke test on Python 3.11/3.12 for every PR and push, with job timeouts; Dependabot also tracks GitHub Actions versions.

What's Changed

  • Hardening pass: autostart quoting, mutex reliability, lock and restore policies by @neohiro in #7

Full Changelog: v1.0.4...v1.0.5

DNSCrypt Proxy GUI 1.0.4

Choose a tag to compare

@neohiro neohiro released this 24 Aug 22:16

DNSCrypt Proxy GUI 1.0.4

A major robustness release focused on protecting your existing network configuration.

Highlights

  • Your DNS settings are now safe. Before any change, the GUI snapshots your current system DNS configuration and restores it exactly on deactivation or exit - manually configured servers are no longer replaced by DHCP defaults. A new Restore DNS button is always available as a safety hatch.
  • Crash-safe by design: if the GUI is force-killed, the proxy child process is cleaned up automatically (Windows Job Object / POSIX watchdog) instead of leaving your DNS pointed at a dead port.
  • Visible errors: a rotating log file now records what happens (%LOCALAPPDATA%\DNSCryptClientGUI\logs, ~/Library/Logs/DNSCryptClientGUI, ~/.cache/dnscryptclientgui/logs), and proxy start failures show their actual error output.
  • Honest session persistence: explicit Deactivate stays deactivated across restarts; settings persist even when the resolver list cannot be fetched offline.
  • Correct configs: relay mappings that reference relays which no longer exist upstream are dropped instead of producing configs dnscrypt-proxy rejects; stale-relay and parser behaviour covered by a new automated test suite.
  • Faster refreshes: server/relay lists use conditional downloads - unchanged lists cost almost nothing.
  • Better UX on modern systems: crisp text on high-DPI Windows displays, dark-theme-friendly table rows, window size/position remembered, modal relay selector, single-instance guard, cache fields validated (and correctly labelled as entries).

For contributors

  • New CI pipeline: lint + unit tests (Python 3.11/3.12) + headless GUI smoke test on every PR/push.
  • Release archives now ship with SHA256SUMS.txt; Linux builds target glibc 2.35 for wider distro compatibility.

Notes

  • macOS builds remain unsigned - right-click → Open on first launch (or allow in Privacy & Security).
  • Place the official dnscrypt-proxy executable next to the GUI, or set its path under Configuration → System Paths.

What's Changed

  • Robustness overhaul: exact DNS backup/restore, crash-safety, UX & CI hardening by @neohiro in #6

New Contributors

Full Changelog: v1.0.3...v1.0.4

v1.0.3

Choose a tag to compare

@github-actions github-actions released this 24 Aug 15:31

Full Changelog: v1.0.2...v1.0.3

v1.0.2

Choose a tag to compare

@github-actions github-actions released this 23 Jul 01:13
Fix Python 3.11 syntax error with f-string backslash

dnscrypt-proxy-gui.exe

Choose a tag to compare

@neohiro neohiro released this 28 Dec 08:18
bfe6491
  • Fixed error
  • Added zebra effect for better viewing as per request on reddit

dnscrypt-proxy-gui.exe

Choose a tag to compare

@neohiro neohiro released this 01 Dec 21:11
9862a01

Removed a blocking fallback resolver

dnscrypt-proxy-gui.exe

Choose a tag to compare

@neohiro neohiro released this 01 Dec 13:09
ecde43a

Better persistence after reboot