chore: TUI screenshots, README polish, changelog rewrite #32

Merged
lerko merged 5 commits from chore/screenshots into main 2026-05-29 17:45:32 +00:00
Showing only changes of commit d7c2c5bd3b - Show all commits
+72 -30
View File
@@ -1,46 +1,88 @@
# Changelog # Changelog
## [2026.05.2] — 2026-05-23 ## [2026.05.5] — 2026-05-29
### Added ### Added
- Comprehensive test suite (94 tests across monitor, server, cluster) - Error reason display when monitors go DOWN (#33)
- golangci-lint config with CI enforcement - Push monitor lifecycle — PENDING, LATE, DOWN states (#34)
- Gitea Actions CI pipeline (test + lint) - Logs tab overhaul — severity tags, filtering, recovery durations (#35)
- Graceful shutdown for HTTP and SSH servers - Alert channel health indicator and test alerts (#36)
- Context-aware alert delivery with timeout
- Request size limits on all POST endpoints
- Constant-time secret comparison
- Check interval jitter to prevent thundering herd
- `--version` flag with build metadata injection
### Fixed ### Changed
- Silent JSON unmarshal failures in alert settings - Visual polish — detail sections, column headers, alert detail (#37)
- Panic on crypto/rand failure replaced with error return
- Alert delivery errors now logged instead of swallowed ## [2026.05.4] — 2026-05-27
- log.Fatalf in goroutines replaced with log.Printf
- Deprecated LineUp/LineDown API calls ### Added
- SSH user seeding from `UPTOP_ADMIN_KEY` env var and `UPTOP_KEYS` file (#31)
- GoReleaser for binary releases
- govulncheck in CI pipeline
- Multi-arch Docker builds (amd64 + arm64)
### Changed
- CI overhaul — Go 1.26, build caching, streamlined pipeline (#30)
- Bumped golang.org/x/crypto v0.47.0 → v0.52.0
- Bumped Alpine 3.21 → 3.23
### Security ### Security
- Cluster secret compared with crypto/subtle (timing-safe) - Phase 1: SSRF protection, input validation, safe dial (#26)
- http.MaxBytesReader on all JSON endpoints - Phase 2: TLS hardening, auth bypass fixes, rate limiting (#27)
- ReadHeaderTimeout added to HTTP server - Phase 3: Graceful degradation, connection limits, timeout enforcement (#28)
- Phase 4: Code quality, error handling, linter fixes (#29)
## [2026.05.1] — 2026-05-14 ## [2026.05.3] — 2026-05-25
### Added
- Theme system with 5 dark palettes — Default, Dracula, Nord, Tokyo Night, Gruvbox (#24)
- `--version` flag with build metadata injection
- Gitea Actions CI pipeline — test + lint (#20)
- golangci-lint configuration
- Comprehensive test suite — 94 tests across monitor, server, cluster (#19)
- CONTRIBUTING.md and SECURITY.md
### Changed
- Renamed project from go-upkeep to uptop (#25)
- Updated LICENSE with dual copyright for independent fork
### Fixed
- Form validators scoped to relevant monitor types (#23)
- Graceful shutdown for HTTP, SSH servers and database (#19)
- Constant-time secret comparison, request size limits (#19)
- Check interval jitter to prevent thundering herd (#19)
- TUI visual polish — zebra striping, group icons, sparkline stats (#18)
## [2026.05.2] — 2026-05-22
### Added
- Incident management and maintenance windows (#17)
- Production docker-compose.yml
### Fixed
- Viewport sizing and dynamic chrome calculation (#16)
- Form height constrained to terminal with resize forwarding
- Maintenance'd monitors excluded from down count and pulse
- Group status correctly skips children in maintenance
## [2026.05.1] — 2026-05-16
### Added ### Added
- Distributed probing with leader + probe nodes - Distributed probing with leader + probe nodes
- Config-as-code (YAML apply/export with dry-run, prune) - Config-as-code YAML apply/export with dry-run and prune
- TUI visual polish (zebra striping, sparklines, breadcrumbs) - TUI polish — status bar, tab badges, detail panel, modals
- Incident management and maintenance windows - DOWN-first sort, health pulse, site filter
- 9 alert providers (Discord, Slack, Email, Ntfy, Telegram, PagerDuty, Pushover, Gotify, Webhook) - Type icons in sites table
- Sparkline history graphs
- Persistent state — uptime, status, latency, and logs survive restarts
- Push token stripping from /status/json response
## [2026.04.1] — Initial independent fork ## [2026.04.1] — 2026-04-01
### Added ### Added
- SSH-accessible TUI (Bubble Tea + Wish) - SSH-accessible TUI built on Bubble Tea + Wish
- 6 check types (HTTP, Push, Ping, Port, DNS, Group) - 6 check types HTTP, Push, Ping, Port, DNS, Group
- 9 alert providers — Discord, Slack, Email, Ntfy, Telegram, PagerDuty, Pushover, Gotify, Webhook
- SQLite and PostgreSQL support - SQLite and PostgreSQL support
- HA clustering with automatic failover - HA clustering with automatic failover
- Prometheus metrics endpoint - Prometheus /metrics endpoint
- Public status page - Public status page (HTML + JSON)
- Uptime Kuma import - Uptime Kuma backup import