-
v0.26.0
Stablereleased this
2026-07-09 18:03:33 +02:00 | 450 commits to main since this release✨ Features
- feat(02-01): rewrite renderContainerDetail with bar+sparkline Metrics section
- feat(02-01): add color parameter and noColor ASCII fallback to Bar and Sparkline
🐛 Bug Fixes
- fix(02-01): update all Bar/Sparkline callers to new 4-parameter signatures
📚 Documentation
- docs(02): plan metrics pane phase with UI-SPEC and research
- docs: restore planning structure from commit
601684a
🔧 Other Changes
- chore(version): Release v0.26.0
- test(02-02): add behavior tests for metrics rendering
📦 Installation
# Download the binary curl -LO "https://git.desord.re/desordre/pods-ctl/releases/download/v0.26.0/pods-ctl-linux-amd64" # Verify checksum sha256sum -c pods-ctl-linux-amd64.sha256 # Make executable and move to PATH chmod +x pods-ctl-linux-amd64 mv pods-ctl-linux-amd64 /usr/local/bin/pods-ctl📋 Full Changelog
🔨 Build Metadata
- Git Commit:
9f44513 - Build Date: 2026-07-09 16:06:06 UTC
🔐 Checksums
c662ee329787afb7b12509ee25701e204b6bcaf1ccfba9cc2a9eda59d8feb7cb pods-ctlDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.25.1
Stablereleased this
2026-07-07 08:31:21 +02:00 | 457 commits to main since this release📚 Documentation
- docs: update continue-here — 4 of 7 packages wired
- docs: update continue-here with phase 2 progress
🔧 Other Changes
- chore(version): Release v0.25.1
- test(01): persist human verification items as UAT
- verify(phase-01): add goal-backward verification report
- refactor(tui): split update.go — extract non-key message handlers
- refactor(tui): split panes.go (1218 lines) into per-pane files
- refactor(tui): wire state.Store — embed *tree.State in Model
- refactor(tui): wire layout.AdaptiveLayout into computeLayout
- refactor(tui): wire overlay package — Stack.Update/Render for all overlays
- refactor(tui): wire overlay package — Stack for overlay tracking
- refactor(tui): wire input package — FocusManager for focus cycling
- refactor(tui): wire widgets package — replace rendering helpers
- refactor(tui): wire stream package — replace streamBuffer with stream.Buffer
- refactor(tui): wire theme package into TUI
- wip: tui-refactor phase 2-5 packages extracted (not yet wired)
- wip: tui-refactor paused at 1/6 (tree package extracted)
📦 Installation
# Download the binary curl -LO "https://git.desord.re/desordre/pods-ctl/releases/download/v0.25.1/pods-ctl-linux-amd64" # Verify checksum sha256sum -c pods-ctl-linux-amd64.sha256 # Make executable and move to PATH chmod +x pods-ctl-linux-amd64 mv pods-ctl-linux-amd64 /usr/local/bin/pods-ctl📋 Full Changelog
🔨 Build Metadata
- Git Commit:
c6b817c - Build Date: 2026-07-07 06:40:25 UTC
🔐 Checksums
cb5fdabea21b05b8bdd08fcbac4f75e57a4b292b10d13b12a2d613f3d91dbfac pods-ctlDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.25.0
Stablereleased this
2026-07-04 01:22:14 +02:00 | 474 commits to main since this release✨ Features
- feat(tui): log export, clipboard copy, simultaneous logs+events
- feat(tui): layout improvements — proportions, adaptive columns, narrow mode
- feat(tui): visual polish — pane separators, colored sparklines, smooth bars
🔧 Other Changes
- chore(version): Release v0.25.0
- perf(tui): cache diffPane queries, fix double-render, ring buffer, batch events
- refactor(tui): split browse.go (5000 lines) into focused files
📦 Installation
# Download the binary curl -LO "https://git.desord.re/desordre/pods-ctl/releases/download/v0.25.0/pods-ctl-linux-amd64" # Verify checksum sha256sum -c pods-ctl-linux-amd64.sha256 # Make executable and move to PATH chmod +x pods-ctl-linux-amd64 mv pods-ctl-linux-amd64 /usr/local/bin/pods-ctl📋 Full Changelog
🔨 Build Metadata
- Git Commit:
075722b - Build Date: 2026-07-03 23:29:28 UTC
🔐 Checksums
52f2dc9e2c346acb776f9a1d74689c1d5ddb36a8228c72f0224ac784b169fd5e pods-ctlDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.24.1
Stablereleased this
2026-07-03 22:53:51 +02:00 | 480 commits to main since this release🐛 Bug Fixes
- fix(cmd): make --user and --dry-run consistent across all commands
🔧 Other Changes
- chore(version): Release v0.24.1
📦 Installation
# Download the binary curl -LO "https://git.desord.re/desordre/pods-ctl/releases/download/v0.24.1/pods-ctl-linux-amd64" # Verify checksum sha256sum -c pods-ctl-linux-amd64.sha256 # Make executable and move to PATH chmod +x pods-ctl-linux-amd64 mv pods-ctl-linux-amd64 /usr/local/bin/pods-ctl📋 Full Changelog
🔨 Build Metadata
- Git Commit:
293a80a - Build Date: 2026-07-03 21:02:01 UTC
🔐 Checksums
9e017841190f78cdabb17e31a6793bdeaccf466137d00d018861046591b19a0b pods-ctlDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.24.0
Stablereleased this
2026-07-03 22:10:17 +02:00 | 482 commits to main since this release✨ Features
- feat(logging): migrate diagnostics to log/slog with --verbose and --log-format flags
- feat(errors): add sentinel errors for systemd, podman, and operators
🐛 Bug Fixes
- fix(cmd): make --compact/--watch persistent and validate per-command
- fix(health): align table columns using ANSI-aware padding
- fix(health): hide healthcheck details unless drift is present
- fix(recover): auto-start missing pod and surface classification errors
- fix(systemd): synchronize Client caches for concurrent use
- fix(systemd): connect to user bus without mutating process environment
- fix(cmd): honor --timeout flag across lifecycle and diagnostic commands
- fix(cmd): honor --follow and --timestamps in logs command
- fix(cmd): handle batch operator errors in prune/reload/update
- fix(tui): resolve data race in loadData
🔧 Other Changes
- chore(version): Release v0.24.0
- refactor(cmd): create internal/wire facade and remove low-level imports from cmd
- refactor(config): move command-local flags out of Config
- test(systemd): tag integration tests with //go:build integration
- style: gofmt modified operator and cmd files
- chore(cmd): remove dead helpers after batch operator migration
- refactor(operator): migrate remaining commands to batch.Operator
- refactor(registry): introduce Service facade and migrate maintenance commands
- refactor(model): move healthcheck DTOs to internal/model
- test: backfill tests for registry, output, cmd runners, and systemd
📦 Installation
# Download the binary curl -LO "https://git.desord.re/desordre/pods-ctl/releases/download/v0.24.0/pods-ctl-linux-amd64" # Verify checksum sha256sum -c pods-ctl-linux-amd64.sha256 # Make executable and move to PATH chmod +x pods-ctl-linux-amd64 mv pods-ctl-linux-amd64 /usr/local/bin/pods-ctl📋 Full Changelog
🔨 Build Metadata
- Git Commit:
1da1804 - Build Date: 2026-07-03 20:17:39 UTC
🔐 Checksums
c952876cb5d65bfc4d9f52159587129e1f6fbaa37b6b628425f874d5d21a8f16 pods-ctlDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.23.0
Stablereleased this
2026-07-03 09:33:41 +02:00 | 504 commits to main since this release✨ Features
- feat(cmd/recover): migrate to operator-based recovery
- feat(operator): add RefreshDependencies and RefreshImageCache to batch operator
- feat(operator): add service resolution, status, healthcheck, recovery, and list methods
🐛 Bug Fixes
- fix(cmd/update): add timeouts to podman socket start and auto-update
- fix(cmd/discover): add timeout context to systemd reload path
- fix(cmd/reload): add timeout context to daemon-reload
- fix(cmd): add timeout to ensurePodmanSocket helper
🔧 Other Changes
- chore(version): Release v0.23.0
- refactor(cmd): remove duplicated helpers now provided by operators
- refactor(tui): use operator methods for loading, exec, and auto-update
- refactor(cmd/prune): use ensurePodmanSocket helper with timeout
- refactor(cmd/upgrade): use batch operator for image cache refresh
- refactor(cmd/refresh-deps): move cache refresh logic to batch operator
- refactor(cmd/health): use operator for status and healthcheck assembly
- refactor(cmd/status): use operator for healthcheck drift
- refactor(systemd): add context.Context and default timeouts to all systemd operations
📦 Installation
# Download the binary curl -LO "https://git.desord.re/desordre/pods-ctl/releases/download/v0.23.0/pods-ctl-linux-amd64" # Verify checksum sha256sum -c pods-ctl-linux-amd64.sha256 # Make executable and move to PATH chmod +x pods-ctl-linux-amd64 mv pods-ctl-linux-amd64 /usr/local/bin/pods-ctl📋 Full Changelog
🔨 Build Metadata
- Git Commit:
0c200a4 - Build Date: 2026-07-03 07:35:35 UTC
🔐 Checksums
86fda76f5e3ddb86501babacad44e4e488bf2555bab4f187f925eae1d68a9ed3 pods-ctlDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.22.0
Stablereleased this
2026-07-03 01:16:20 +02:00 | 520 commits to main since this release✨ Features
- feat(operator/pod): add ContainerLogsStream and Events methods
- feat(operator/batch): add batch operator and container-level lifecycle methods
- feat(operator): wire internal/operator/pod into AppContext
- feat(operator): add user+pod scoped pod operator package
🐛 Bug Fixes
- fix(podman): decode container stats NDJSON response
- fix(tui): correct diff pane rendering and image drift detection
- fix(operator/pod): ensure ContainerStats never returns nil
- fix(operator/pod): address code review quality issues
- fix(operator): align Operator interface with runtime.* value types
🔧 Other Changes
- chore(version): Release v0.22.0
- test(podman): add ContainerStats NDJSON decoding tests
- refactor(tui): migrate loadContainersCmd to pod.Operator
- chore(tui): remove duplicate newOperator, reuse existing newPodOperator
- refactor(tui): migrate logs, events, and inspect panes to pod.Operator
- refactor(cmd): migrate logs and events commands to pod.Operator
- test(operator/batch): update fake pod operator for new interface methods
- chore(cmd): remove unused getPodStatus and countPodContainers helpers
- refactor(cmd): migrate list command to pod.Operator
- refactor(cmd): migrate stats command to pod.Operator
- refactor(tui): migrate pod stats loading to pod.Operator
- refactor(tui): migrate bulk actions and diff to pod.Operator, remove unused helpers
- refactor(tui): migrate container upgrade action to pod.Operator
- refactor(tui): migrate container start/stop/restart to pod.Operator
- refactor(cmd): migrate upgrade command to pod.Operator
- refactor(cmd): migrate health command podman reads to pod.Operator
- refactor(cmd): migrate status command to pod.Operator
- chore(cmd): remove unused executor.go and update architecture docs
- test(operator/pod): add container-level lifecycle tests
- refactor(cmd): migrate start/stop/restart to batch operator
📦 Installation
# Download the binary curl -LO "https://git.desord.re/desordre/pods-ctl/releases/download/v0.22.0/pods-ctl-linux-amd64" # Verify checksum sha256sum -c pods-ctl-linux-amd64.sha256 # Make executable and move to PATH chmod +x pods-ctl-linux-amd64 mv pods-ctl-linux-amd64 /usr/local/bin/pods-ctl📋 Full Changelog
🔨 Build Metadata
- Git Commit:
906663e - Build Date: 2026-07-02 23:23:19 UTC
🔐 Checksums
b774f4e19494b85a31c0a1a9f27eb7d63721331837d6d5335f3bd39f5f693f2c pods-ctlDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.21.0
Stablereleased this
2026-06-29 08:52:18 +02:00 | 551 commits to main since this release✨ Features
- feat(podman): add fine-grained role interfaces
- feat(systemd): add fine-grained role interfaces
📚 Documentation
- docs(plan): add role interfaces implementation plan
- docs: add role interfaces note to architecture overview
🔧 Other Changes
- chore(version): Release v0.21.0
- refactor(events): narrow to podman.EventStreamer role interface
- test(podman): verify role interfaces can be faked independently
- chore(podman): add compile-time assertions for role interfaces
- refactor(podman): compose PodmanClient from role interfaces
- test(systemd): verify role interfaces can be faked independently
- chore(systemd): add compile-time assertions for role interfaces
- refactor(systemd): compose SystemdClient from role interfaces
- chore: ignore .worktrees directory
📦 Installation
# Download the binary curl -LO "https://git.desord.re/desordre/pods-ctl/releases/download/v0.21.0/pods-ctl-linux-amd64" # Verify checksum sha256sum -c pods-ctl-linux-amd64.sha256 # Make executable and move to PATH chmod +x pods-ctl-linux-amd64 mv pods-ctl-linux-amd64 /usr/local/bin/pods-ctl📋 Full Changelog
🔨 Build Metadata
- Git Commit:
d6d2bb9 - Build Date: 2026-06-29 06:54:40 UTC
🔐 Checksums
ff2947d7f981c4360b6407bac664f2f6b45cc400e43a12c7e97ec1aa26886b6e pods-ctlDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.20.0
Stablereleased this
2026-06-28 22:57:40 +02:00 | 564 commits to main since this release✨ Features
- feat(tui): render healthcheck config and drift in browse
- feat(cmd): expose per-container healthchecks in status command
- feat(cmd): expose declared and running healthchecks with drift in health command
- feat(cmd): add healthcheck rendering and JSON helpers
- feat(config): add BaseDir setting, --base-dir flag, and declared healthcheck lookup helper
- feat(healthcheck): add shared drift comparison package
- feat(db): add container_healthchecks table, Store methods, and EnsureHealthcheckUpToDate helper
- feat(registry): parse and persist healthcheck directives from .container files
- feat(podman): add typed HealthcheckConfig and DeclaredHealthcheck
📚 Documentation
- docs(changelog): add unreleased healthcheck feature entry
- docs: update user-facing docs for healthcheck config drift and --base-dir
- docs(plan): add TUI opportunistic fallback and baseDir field
- docs(plan): fix safety and clarity gaps from third review
- docs(plan): fix compile-level gaps from second review
- docs(plan): fix implementation gaps from review
- docs(plan): add healthcheck config implementation plan
- docs(spec): minor clarifications from advisory review
- docs(spec): clarify drift comparison, absent values, and shared package
- docs(spec): address review feedback on drift and directive mapping
- docs(spec): add healthcheck config surface design
🔧 Other Changes
- chore(version): Release v0.20.0
- style: apply gofmt to unformatted source files
📦 Installation
# Download the binary curl -LO "https://git.desord.re/desordre/pods-ctl/releases/download/v0.20.0/pods-ctl-linux-amd64" # Verify checksum sha256sum -c pods-ctl-linux-amd64.sha256 # Make executable and move to PATH chmod +x pods-ctl-linux-amd64 mv pods-ctl-linux-amd64 /usr/local/bin/pods-ctl📋 Full Changelog
🔨 Build Metadata
- Git Commit:
5129c3b - Build Date: 2026-06-28 21:04:41 UTC
🔐 Checksums
0bc6df5bff4e0001c1485d8093858f79107163dbdd1edc62c357b6ff1119a731 pods-ctlDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.19.1
Stablereleased this
2026-06-28 18:06:18 +02:00 | 586 commits to main since this release🐛 Bug Fixes
- fix(cmd): detect missing registry before db.Open auto-creates it
🔧 Other Changes
- chore(version): Release v0.19.1
📦 Installation
# Download the binary curl -LO "https://git.desord.re/desordre/pods-ctl/releases/download/v0.19.1/pods-ctl-linux-amd64" # Verify checksum sha256sum -c pods-ctl-linux-amd64.sha256 # Make executable and move to PATH chmod +x pods-ctl-linux-amd64 mv pods-ctl-linux-amd64 /usr/local/bin/pods-ctl📋 Full Changelog
🔨 Build Metadata
- Git Commit:
84411fd - Build Date: 2026-06-28 16:08:18 UTC
🔐 Checksums
c46a7782470c05c0af3f7b9d9f4f2c6e10457ff3817b485d9e1a7d93341630b3 pods-ctlDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads