Skip to content

Cpulse

v0.4.0 Breaking

This release includes 2 breaking changes for platform teams planning a safe upgrade.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

ReleasePort's take

Moderate signal
editorial:auto 11d

Cpulse v0.4.0 introduces headless diagnostics, health‑rule checks, root‑cause analysis, new UI tabs, performance indicators, and a breaking keybinding change.

Why it matters: Severity 70 flags the breaking `a`→`x` keybinding change; teams must update shortcut configurations before upgrade.

Summary

AI summary

Cpulse v0.4.0 adds a headless cpulse doctor command for automated root‑cause analysis and health probes.

Changes in this release

Breaking High

Changes keybinding: `a` now opens actions menu as `x`.

Changes keybinding: `a` now opens actions menu as `x`.

Source: llm_adapter@2026-07-16

Confidence: high

Feature Medium

Adds `cpulse doctor` headless diagnosis command.

Adds `cpulse doctor` headless diagnosis command.

Source: llm_adapter@2026-07-16

Confidence: high

Feature Medium

Adds Doctor engine with twelve health‑rule checks.

Adds Doctor engine with twelve health‑rule checks.

Source: llm_adapter@2026-07-16

Confidence: high

Feature Medium

Adds root‑cause analysis walking `depends_on` chains.

Adds root‑cause analysis walking `depends_on` chains.

Source: llm_adapter@2026-07-16

Confidence: high

Feature Medium

Adds Health probes tab that runs checks inside containers.

Adds Health probes tab that runs checks inside containers.

Source: llm_adapter@2026-07-16

Confidence: high

Feature Medium

Adds Startup timeline Gantt view in Timeline tab.

Adds Startup timeline Gantt view in Timeline tab.

Source: llm_adapter@2026-07-16

Confidence: high

Feature Medium

Adds Graph tab showing dependency tree with edge conditions.

Adds Graph tab showing dependency tree with edge conditions.

Source: llm_adapter@2026-07-16

Confidence: high

Feature Medium

Adds CPU/MEM stats columns and sparklines in service list.

Adds CPU/MEM stats columns and sparklines in service list.

Source: llm_adapter@2026-07-16

Confidence: high

Feature Medium

Introduces `degraded` state indicator for containers with ≥3 restarts.

Introduces `degraded` state indicator for containers with ≥3 restarts.

Source: llm_adapter@2026-07-16

Confidence: high

Feature Medium

Shows waiting‑since hints for blocked services (≥5 s).

Shows waiting‑since hints for blocked services (≥5 s).

Source: llm_adapter@2026-07-16

Confidence: high

Feature Low

Removes `b` blocked‑only filter; use `f` to cycle into waiting.

Removes `b` blocked‑only filter; use `f` to cycle into waiting.

Source: granite4.1:30b@2026-07-16-audit

Confidence: low

Feature Low

Updates Deps tab to include impact: direct/ transitive dependents and suggested restart order.

Updates Deps tab to include impact: direct/ transitive dependents and suggested restart order.

Source: granite4.1:30b@2026-07-16-audit

Confidence: low

Bugfix Low

Fixes GoReleaser Homebrew formula path to point at tap's `Formula/` directory.

Fixes GoReleaser Homebrew formula path to point at tap's `Formula/` directory.

Source: granite4.1:30b@2026-07-16-audit

Confidence: low

Refactor Medium

Replaces Inspector Overview tab with Stats, Health, and Doctor tabs.

Replaces Inspector Overview tab with Stats, Health, and Doctor tabs.

Source: granite4.1:30b@2026-07-16-audit

Confidence: low

Full changelog

v0.4.0

cpulse is now a startup debugger, not just a state viewer. It names the root cause, runs health probes inside containers, draws a scaled startup timeline, and presents everything in a lazydocker-style shell.

Added

  • cpulse doctor — headless diagnosis that prints root cause + findings and exits 1 on any critical finding. Filter with --project NAME.
  • Doctor engine — twelve rules covering blocked-by-unhealthy, failed/unhealthy services, init failures, missing healthchecks, restart loops, OOM kills, slow startup, and common healthcheck/network misconfigurations.
  • Root-cause analysis — walks unsatisfied depends_on chains to the broken endpoint and surfaces the critical path plus a useful log line per culprit.
  • Health probes — Health tab (4) inspects the compose healthcheck; Enter runs it inside the container (binary check, one-shot run, port listening, URL host analysis).
  • Startup timeline — project Timeline tab (2 / t) with a scaled Gantt of display-state transitions (staggered bars, labeled axis).
  • Graph tab — roomy pstree with edge conditions (needs postgres:healthy ✕).
  • CPU/MEM stats — live columns in the service list and sparklines on the Stats tab (2s ticker; 500ms Docker poll unchanged).
  • degraded state when a running container has restarted 3+ times.
  • Waiting-since hints — blocked services show how long they've been waiting (≥5s).

Changed

  • Lazydocker-style UI — left column (project + nested dependency tree), right main panel with context-sensitive tabs:
    • Service: Logs · Stats · Deps · Health (14)
    • Project: Doctor · Timeline · Graph (13)
  • Actions menu moved from a to x (restart, stop, start, rebuild, cascade, probe, exec).
  • f filter now cycles all → failed → waiting; b retired.
  • d / t jump to Doctor / Timeline; Enter zooms (or jumps / runs probe); Esc always goes back and never quits.
  • Deps tab now includes impact: direct dependents, transitive dependents, and suggested restart order.
  • README updated for the doctor CLI and new keybindings.

Fixed

  • GoReleaser Homebrew formula path pointed at the tap's Formula/ directory.

Breaking / keybinding changes from v0.3.0

  • ax for the actions menu
  • b (blocked-only filter) removed; use f to cycle into waiting
  • Inspector Overview tab replaced by Stats / Health / project Doctor tabs

Changelog

  • 34591eb8189de4f474b0f40839521c229fa0b84b feat: startup debugger with doctor, probes, timeline, and improved UI
  • a1f6d60b92959b050dbf95bfaf13916d883d9025 fix: point GoReleaser homebrew formula at the tap's Formula/ directory

Breaking Changes

  • `a` keybinding now opens the actions menu via `x`
  • `b` (blocked‑only filter) removed; use `f` to cycle into waiting state

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Cpulse

Get notified when new releases ship.

Sign up free

About Cpulse

All releases →

Related context

Beta — feedback welcome: [email protected]