Skip to content

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 15 Jul 02:30
· 47 commits to main since this release

macOS

  • macOS tray: KVO on button effectiveAppearance for W glyph colour
  • macOS tray: follow real menu-bar appearance; live-update open menu
  • macOS tray: theme-aware coloured icons, green badge restored
  • macOS tray: native click-to-open menu + template icons (issue #18)

Features

  • feat(release): wire Ed25519 update signing into CI (fixes #21)
  • feat(automation): open editor live-reflects external config edits (issue #12)
  • feat(cli): install-skills — teach coding agents to use wireguide ctl (issue #10)
  • feat(gui): watch config.json + tunnels dir so all CLI changes reflect live (issue #10)
  • feat(cli): settings toggles + diagnostics (issue #10)
  • feat(cli): automation rule config, rename, delete (issue #10)
  • feat: drag-resizable tunnel-list column (issue #16)
  • feat: tunnel list sort by date-added / last-used (issue #17)
  • feat(wifi): Windows gateway-MAC via GetBestRoute + SendARP (issue #12)
  • feat(automation): editor polish — live drag, scroll cues, validation, MAC canon
  • feat(automation): drag-to-reorder priority + fixed-size scrolling editor
  • feat(automation): network pick-list from a remembered-networks registry (issue #12)
  • feat(automation): gateway-MAC "this network" condition (issue #12)
  • feat: subnet suggestions + retire legacy Wi-Fi Rules screen (issue #12)
  • feat: Automation rule editor UI (issue #12, 4/n)
  • feat: ctl automation read-only engine preview (issue #12/#10)
  • feat: wireguide ctl command-line control interface (issue #10)
  • feat(helper): drive tunnels from Automation rules + hybrid triggers (issue #12, 3/n)
  • feat(wifi): physical-interface IP enumeration for subnet rules (issue #12, 2/n)
  • feat(wifi): per-tunnel Automation rule model + evaluator (issue #12, 1/n)
  • feat: tunnel list sorting — name + active-on-top (issue #17)
  • feat: compact tunnel list mode (issue #16)
  • Add per-tunnel latency target

Bug fixes

  • fix(build): forward SIGN_PUBKEY through the package task chain
  • Fix NSIS build: add UTF-8 BOM to project.nsi
  • fix(wifi): SSID lifecycle on macOS — stale invalidation + helper-restart resend (issue #12)
  • fix: re-review round 2 — helper settings restore, latency prune, cleanups (issue #12)
  • fix(storage): stable date-added sort via stamped creation time (issue #17)
  • fix(windows): gateway-MAC underlay route + NSIS PATH injection (issues #12, #10)
  • fix(automation): editor save/load races (issue #12)
  • fix(storage): cross-process settings transaction + rule key migration (issue #12)
  • fix(cli): correctness hardening from code review (issue #10)
  • fix(automation): headless-safe engine + firewall parity + macOS SSID (issue #12)
  • fix: reflect CLI-applied settings in a running GUI (issue #10)
  • fix(automation): both subnet and gateway-MAC conditions, self-entry + autocomplete
  • fix(wifi): migration translates only explicit rules, no forced disconnect
  • Fix meta sidecar lost-update race; validate latency probe target

Reliability

  • refactor: remove legacy per-tunnel Wi-Fi auto-connect UI (issue #12)

UI

  • docs: document CLI + Automation; fix stale Wi-Fi-rules references

Build / CI

  • build: put wireguide CLI on PATH after install (macOS cask + Windows NSIS) (issue #10)

Other

  • release: 0.4.0
  • chore: regenerate stale bindings (SettingsChangedPayload) + gofmt flock
  • chore: bump dev version to 0.3.1-dev7; CHANGELOG for code-review fixes
  • storage: create config dir before writing settings
  • storage: fsync parent directory after atomic rename (durability)
  • update: reuse scheduler timer; validate initial update URL scheme/host
  • helper/diag: prune latency cache on disconnect/rename; honour ctx in probes
  • windows: don't fail full-tunnel connect on unusable IPv6 endpoint
  • windows firewall: precise DNS-protection filter lifecycle
  • linux network: validate DNS search domains; capture original DNS once
  • linux firewall: validate endpoint port; oifname for tunnel; disable idempotency
  • storage: reject reserved names and case-collisions; allow case rename
  • tunnel: don't hold Manager.mu across slow teardown on connect race
  • darwin: supervise route-monitor subprocess; fix Stop/reapply race
  • linux: delete split-tunnel routes from the table they were added to
  • windows: fix MIB_IPINTERFACE_ROW buffer overflow and NlMtu offset
  • update: bind Ed25519 signature to the hash actually installed

Full Changelog: v0.3.1...v0.4.0