Files
syncwarden/CHANGELOG.md
Axel Meyer 59a98843f7
Some checks failed
CI / lint (push) Failing after 27s
CI / test (push) Successful in 30s
Release / build (push) Failing after 2m33s
v0.3.0: fix HTTP client leak, add tests and CI pipeline
Reuse a single long-poll HTTP client instead of creating one per
Events() call (~every 30s). Make TLS skip-verify configurable via
syncthing_insecure_tls. Log previously swallowed config errors.
Add unit tests for all monitor trackers, config, and state logic.
Add CI workflow (vet, golangci-lint, govulncheck, go test -race).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 00:36:52 +01:00

1.7 KiB

Changelog

v0.3.0

  • Fix memory leak: reuse HTTP client for long-poll events instead of creating a new one every ~30s
  • Add syncthing_insecure_tls config field (default: true) — TLS skip-verify is now opt-out
  • Log previously swallowed errors: config parse, config save (tray, menu, monitor)
  • Add unit tests for all monitor trackers, config round-trip, state aggregation, and detect
  • Add CI pipeline: go vet, golangci-lint, govulncheck, go test -race
  • Add .golangci.yml with errcheck, gosec, govet, ineffassign, staticcheck, unused

v0.2.0

  • Detect missing Syncthing installation (checks PATH and config file)
  • Tray: show "Install Syncthing..." menu item with link to download page when not found
  • Setup: print download note and open browser when Syncthing is not installed
  • Rewrite README with architecture diagram, dependency breakdown, and badges

v0.1.0

Initial release.

  • System tray icon with 5 sync states (idle, syncing, paused, error, disconnected)
  • Syncthing REST API integration with auto-discovered API key
  • Long-polling event listener for real-time status updates
  • Transfer rate monitoring (download/upload speed)
  • Dynamic tooltip with status, device count, transfer rates, and last sync time
  • Full context menu: status info, folders, recent files, conflicts
  • Pause/Resume, Rescan All, Restart Syncthing actions
  • Settings submenu with toggle checkboxes
  • Embedded admin panel via webview (separate binary)
  • OS notifications for sync events (configurable per-event)
  • Syncthing process management with auto-restart
  • Cross-platform installer with autostart configuration
  • Supports Windows (Edge WebView2), Linux (WebKit2GTK), macOS (WebKit)