2026-01-19 - 2026-07-19
Overview
1 Release published by 1 user
Published
v0.1.0
v0.1.0
138 Pull requests merged by 1 user
Merged
#172 perf(tui): precompute maintenance set, use cached sites
Merged
#171 feat(tui): fullscreen detail view + enriched sidebar
Merged
#169 refactor(tui): replace # column with colored status dot & adjust column visibility at narrower terminal widths
Merged
#168 fix(tui): pad monitors panel to fill available height
Merged
#167 refactor(tui): move maintenance from sidebar to bottom strip
Merged
#166 fix(tui): show — for uptime when monitor is in maintenance
Merged
#165 feat(tui): stable detail panel with scroll, pinned footer, and 60/40 split
Merged
#164 fix(tui): show context-aware Enter hint in hotbar
Merged
#163 feat(tui): master-detail layout with sidebar SLA/history
Merged
#162 feat(tui): single-dashboard layout with sidebar and overlay
Merged
#161 fix(tui): cohesion polish across all views
Merged
#160 fix(tui): correct delete confirm labels, normalize help text
Merged
#159 feat(tui): mouse click for settings sections, column sort, logs toggle
Merged
#158 feat(monitor): save state changes for group monitors
Merged
#157 feat(tui): expand selected alert config below table
Merged
#156 feat(tui): two-column detail panel with type-specific enrichment
Merged
#155 refactor: propagate context.Context through call chains
Merged
#154 refactor: decompose monitor.go and sqlstore.go into focused files
Merged
#153 refactor: extract magic numbers to named constants
Merged
#152 fix(test): check errors instead of discarding with bare _
Merged
#151 feat(store): detect overlapping maintenance windows
Merged
#150 feat(assets): full screenshot refresh for multi-panel TUI
Merged
#149 feat(tui): uptime timeline, response histogram, detail panel overhaul
Merged
#148 feat(tui): column sort and alert failure badge
Merged
#147 feat(tui): multi-row color-coded latency chart in detail panel
Merged
#146 feat(tui): inline detail panel, titled borders, panel focus
Merged
#145 feat(tui): consolidate tabs 6→3, add log sidebar
Merged
#144 feat(tui): add divider lines framing content area
Merged
#143 feat(tui): summary stats bar below sparse tab tables
Merged
#142 fix(tui): version string, tab rename, sparse tab centering
Merged
#141 feat: presentation layer for v0.1.1 announce
Merged
#139 fix(github): compact jq output for GITHUB_OUTPUT
Merged
#138 feat(github): accept issues on GitHub and auto-forward to Gitea
Merged
#137 fix: resolve 17 release-consistency findings
Merged
#136 fix(tui): SSH-safe color fallbacks with ANSI-16 support
Merged
#135 fix(release): pin GoReleaser to triggering tag
Merged
#134 docs(changelog): regenerate at HEAD before v0.1.0 tag
Merged
#133 fix: resolve 4 tag-blocking issues for v0.1.0
Merged
#132 fix(tui): click selection sync + 2-page site form
Merged
#131 chore(release): v0.1.0 changelog + README pre-tag fixes
Merged
#130 fix(version): fall back to embedded build info when ldflags absent
Merged
#129 fix(release): exclude rc tags from cliff tag_pattern so launch notes span full history
Merged
#128 fix(release): scan gates docker push, rc tags spare :latest, mirror waits for stable assets
Merged
#127 fix(release): grype GHSA alias suppression + full launch notes
Merged
#125 fix(release): repair pipeline defects found in v0.1.0-rc.1 rehearsal
Merged
#124 docs: close pre-release documentation gaps
Merged
#123 chore: pre-tag fixes — GitHub release relay, log filter, setter contracts, importer tests
Merged
#122 fix(cluster)!: rename X-Upkeep-Secret header to X-Uptop-Secret
Merged
#121 fix(security): pre-release security batch
Merged
#120 ci: switch versioning from CalVer to SemVer
Merged
#119 fix(store): chmod SQLite DB files to 0600 on open
Merged
#118 fix: seven fixes — token scan, variadic cleanup, TUI layout, compose secrets
Merged
#117 fix: six small fixes — rate limiter leak, DST SLA, probe sort, TUI cleanup
Merged
#116 fix: Kuma import tokens/paused, Docker hardening, migrate-secrets idempotency
Merged
#115 chore(tui): delete dead braille code, hoist sparkWidth, stop resize flash
Merged
#114 fix(engine): apply convergence + push/group check history
Merged
#113 fix(tui): track selection by site ID + q means back everywhere
Merged
#112 fix(security): SSRF guard gaps + DNS port restriction + metrics auth
Merged
#111 fix: seven quick-win bug fixes
Merged
#110 refactor: unify logging with log/slog
Merged
#109 refactor(models): split Site into SiteConfig + SiteState
Merged
#108 refactor: config consolidation + Server type extraction
Merged
#107 refactor: architecture foundations (status type, schema versioning, shared mock)
Merged
#106 refactor(store): context propagation + Postgres TIMESTAMPTZ
Merged
#105 fix(engine): six correctness fixes for the state machine
Merged
#104 ci: harden release pipeline + swap to pure-Go SQLite
Merged
#103 fix(security): secret masking, status DTO, fail-closed SSH revocation (Phase 1)
Merged
#102 fix(tui): finish the MVU I/O eviction (Phase 0 follow-ups)
Merged
#101 fix(tui): move blocking DB IO out of Update/View into tea.Cmds
Merged
#100 fix(security): close XFF bypass and three secret-leak paths
Merged
#99 fix(monitor): serialize DB writes through a single drained writer
Merged
#98 fix(monitor): merge check results into live state, never overwrite
Merged
#97 feat(tui): click-to-inspect sparkline tooltips
Merged
#96 feat(monitor): auto-prune expired maintenance windows
Merged
#95 polish(tui): responsive column hiding
Merged
#94 polish(tui): overhaul tab bar indicators
Merged
#93 refactor: fix bare errors in tests, extract magic numbers
Merged
#92 fix(store): cascade delete related rows when removing a site
Merged
#90 chore: add issue templates
Merged
#91 fix(monitor): inject time into ComputeDailyBreakdown
Merged
#64 feat(tui): overhaul latency sparkline scaling, color, and layout
Merged
#62 refactor(tui): status icons, clean STATUS column, relative time
Merged
#61 refactor(tui): consistent chrome across all views
Merged
#60 fix(tui): quick wins — version, columns, zebra, sparkline
Merged
#58 feat(tui): add SLA reporting view
Merged
#57 feat(monitor): add STALE state for push monitors
Merged
#56 feat(alert): add Opsgenie provider
Merged
#55 feat(tui): add state change history view with outage duration
Merged
#54 feat(tui): classify error reasons on DOWN monitors
Merged
#53 refactor(tui): decompose god files into single-concern modules
Merged
#52 test: verify GPG merge signing
Merged
#50 docs: public readiness — env reference, clustering guide, README improvements
Merged
#49 feat(ci): add GitHub release relay workflow
Merged
#48 fix(ci): make Grype CVE scan non-blocking
Merged
#47 fix(ci): extract git-cliff to /tmp to avoid dirty worktree
Merged
#46 fix(ci): resolve git-cliff download URL dynamically
Merged
#45 refactor(ci): split release pipeline, add packaging and scanning
Merged
#44 fix(docker): non-root user, supply chain attestations, build cleanup
Merged
#43 ci: sync README to Docker Hub on release
Merged
#41 fix(security): patch Docker Scout CVEs and remove unused openssh-client
Merged
#40 fix(ci): use docker-builder runner for image builds
Merged
#39 fix(ci): install git and gcc for GoReleaser
Merged
#38 chore: migrate module path to lerkolabs org
Merged
#32 chore: TUI screenshots, README polish, changelog rewrite
Merged
#37 chore(tui): visual polish — detail sections, column headers, alert detail
Merged
#36 feat: alert channel health indicator + test alerts
Merged
#35 feat: logs tab overhaul — severity tags, filtering, recovery durations
Merged
#34 feat: proper push monitor lifecycle — PENDING, LATE, DOWN
Merged
#33 feat: show error reason when monitors go DOWN
Merged
#31 feat: seed SSH users from env var and authorized_keys file
Merged
#30 ci: overhaul pipeline — caching, GoReleaser, govulncheck
Merged
#29 fix(security): phase 4 code quality and low-severity fixes
Merged
#28 fix(security): phase 3 medium reliability and hardening
Merged
#27 fix(security): phase 2 high-severity hardening
Merged
#26 fix(security): phase 1 critical fixes for public release
Merged
#25 chore: rename project from go-upkeep to uptop
Merged
#24 feat(tui): theme system with 5 curated dark palettes
Merged
#23 fix(tui): scope form validators to relevant monitor types
Merged
#22 ci: cache Go build artifacts between runs
Merged
#21 docs: community polish for public readiness
Merged
#20 chore: add linter config and CI pipeline
Merged
#19 fix: critical bugs and security hardening
Merged
#18 fix(tui): visual polish and layout improvements
Merged
#17 feat: incident management and maintenance windows
Merged
#16 fix(tui): correct viewport sizing and dynamic chrome calculation
Merged
#15 release: 2026.05.1 — distributed probing, config-as-code, TUI polish
Merged
#14 fix(security): strip push tokens from /status/json response
Merged
#13 fix: persistent state — uptime, status, latency, and logs survive restarts
Merged
#12 feat(tui): add type icons to sites table
Merged
#11 feat(tui): DOWN-first sort, health pulse, filter, and sparkline fixes
Merged
#10 feat(tui): polish pass — status bar, badges, detail panel, modals
Merged
#9 feat(cluster): add distributed probing foundation
Merged
#8 feat(config): add config-as-code YAML import/export
Merged
#7 feat(tui): expose HTTP method and accepted status codes
Merged
#6 feat/next: alert providers, prometheus metrics, core refactors
Merged
#5 feat(metrics): add Prometheus /metrics endpoint
Merged
#2 fix/feat: UX polish, security fixes, groups
Merged
#1 feat(tui,status): add per-site pause, fix viewport, polish status page
1 Pull request proposed by 1 user
Proposed
#173 feat(tui): persist bottom panel + scrollbar improvements
25 Issues closed from 1 user
Closed
#170 Detail View at Smaller Terminal Widths
Closed
#70 Group state history — save state changes for groups
Closed
#66 Alert config truncation — expand on select
Closed
#67 Column sort — toggle by status/latency/uptime
Closed
#69 Notification badge — unacked alert count on Alerts tab
Closed
#65 Detail panel enrichment (error, cert details, response codes)
Closed
#78 Logo / branding
Closed
#79 Badge row (CI, Docker, license, CalVer)
Closed
#80 Demo GIF via VHS
Closed
#81 Go Report Card
Closed
#82 Homebrew tap
Closed
#83 GHCR push target
Closed
#85 Theme screenshot in README
Closed
#140 test github forward
Closed
#77 Context propagation (deferred audit item)
Closed
#86 Config-as-code (YAML import/export)
Closed
#72 Maintenance window TTL/pruning
Closed
#73 Overlapping maintenance window detection
Closed
#68 Responsive column hiding — narrow terminals drop SSL/RETRY
Closed
#89 Page selection status icon polish
Closed
#74 Bare _ errors in sqlstore_test.go
Closed
#75 Inline magic numbers → constants
Closed
#71 Orphaned maintenance windows on site delete
Closed
#59 feat/tui-polish
Closed
#42 feat: migrate charmbracelet/wish v1 → v2 (CVE-2026-35385)
30 Issues created by 1 user
Opened
#42 feat: migrate charmbracelet/wish v1 → v2 (CVE-2026-35385)
Opened
#59 feat/tui-polish
Opened
#65 Detail panel enrichment (error, cert details, response codes)
Opened
#66 Alert config truncation — expand on select
Opened
#67 Column sort — toggle by status/latency/uptime
Opened
#68 Responsive column hiding — narrow terminals drop SSL/RETRY
Opened
#69 Notification badge — unacked alert count on Alerts tab
Opened
#70 Group state history — save state changes for groups
Opened
#71 Orphaned maintenance windows on site delete
Opened
#72 Maintenance window TTL/pruning
Opened
#73 Overlapping maintenance window detection
Opened
#74 Bare _ errors in sqlstore_test.go
Opened
#75 Inline magic numbers → constants
Opened
#76 monitor.go / sqlstore.go decomposition
Opened
#77 Context propagation (deferred audit item)
Opened
#78 Logo / branding
Opened
#79 Badge row (CI, Docker, license, CalVer)
Opened
#80 Demo GIF via VHS
Opened
#81 Go Report Card
Opened
#82 Homebrew tap
Opened
#83 GHCR push target
Opened
#84 AUR package
Opened
#85 Theme screenshot in README
Opened
#86 Config-as-code (YAML import/export)
Opened
#87 Community posts (r/selfhosted, r/homelab, Show HN)
Opened
#88 Public demo instance
Opened
#89 Page selection status icon polish
Opened
#126 Migrate charm stack to v2 (wish v2 fixes GHSA-xjvp-7243-rg9h SCP path traversal)
Opened
#140 test github forward
Opened
#170 Detail View at Smaller Terminal Widths