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>
36 lines
1.7 KiB
Markdown
36 lines
1.7 KiB
Markdown
# 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)
|