Skip to content

Release Notes

CaudalGhost’s version history: what arrived in each release and why. The most recent versions are listed first. Since CaudalGhost keeps your data on your own machine, every release takes care of both what you see and the assurance that nothing leaves your machine.

  • Sort lists with --sort and --reverse. You can now sort top, hosts, total, and now by any column (app, host, interface, received, sent, or total), highest to lowest by default, or reversed with --reverse.
  • --no-header for pipelines. In CSV output, skip the header row when you only care about the data.
  • Examples in the help text. Every data command now shows a usage example at the end of its --help.
  • Refreshed landing page in Spanish and English, with terminal screenshots, install instructions for both editions, and a privacy note.
  • Better system integration. Graphical installers (Discover, GNOME Software) and apt now show a full package description, authorship, and per-version release notes.
  • New serie command: plots total throughput over a time range, with a mini chart right in the terminal, plus script-friendly formats (JSON, CSV, NDJSON).
  • --fields to pick columns. Trim the output down to just the fields you care about, in whatever order you prefer — handy for piping into other command-line tools.
  • --watch mode. Re-runs a command every few seconds, refreshing the screen in place, like a lightweight monitor without opening the full dashboard.
  • Uniform output across every command, including now and ping, using the same stable JSON format as the rest of the CLI, with CSV/NDJSON support wherever it makes sense.
  • A more informative --version: besides the version number, it now shows exactly which build it came from.
  • Clearer help text: each command only shows the options it actually uses.
  • Various small consistency fixes in warnings and row limits.

CaudalGhost now ships a CLI built for scripting and automation, not just for glancing at in the terminal.

  • Output formats: table (for reading yourself), json, csv, and ndjson (for feeding into other tools).
  • Distinct exit codes, useful in scheduled jobs: they distinguish incorrect usage, an unreachable daemon, or an invalid date range.
  • Configurable units (binary, decimal, or bits) in tables.
  • Row limits (-n) on listings, while still keeping the real total even when the view is trimmed.
  • Shell autocompletion (bash/zsh/fish) and a man page, both included with the install.
  • High-activity highlighting on the terminal dashboard is now based on a sustained average over several seconds instead of a single spike, so the color stops “flickering.”
  • The alert color changed from red to a warm orange, reserving red for when the daemon actually goes offline.
  • A dedicated servers panel, always visible, showing the top servers across all apps.
  • Each panel now toggles between “now” and “historical” independently, and the historical view lets you pick the range (today, yesterday, 7 days, 30 days, or all time).
  • A cleaner three-row layout: charts, apps and interfaces, and servers.

0.6.3 — Drill-down and historical range in the TUI

Section titled “0.6.3 — Drill-down and historical range in the TUI”
  • From an app to its servers: select an app on the dashboard and drill in to see which servers it talks to, both live and historically.
  • Historical range picker built right into the terminal, with the same time windows as the desktop app.
  • The desktop app sometimes showed an outdated version number in the footer. It now always matches the version actually installed.

0.6.1 — Axes and a locatable peak in the TUI

Section titled “0.6.1 — Axes and a locatable peak in the TUI”
  • Time axis on the throughput chart, with relative marks (”12s ago”, ”24s ago”…).
  • Magnitude axis to read the size of each bar at a glance.
  • The window’s peak now shows when it happened, and gets marked on the chart if it’s in view.
  • The layout adapts to narrow or short terminals without breaking.

0.6.0 — The full-screen dashboard arrives (TUI)

Section titled “0.6.0 — The full-screen dashboard arrives (TUI)”

Kicks off the terminal-focused arc: caudalghost live becomes a full dashboard for anyone who lives in the terminal.

  • Consistent keyboard navigation, with a clear mode at all times (normal, zoom, filter, pause, help) and a help screen listing every key.
  • Zoom into a panel full-screen, plus row selection within each panel.
  • Pause and scrub: freeze the chart and step through it second by second to read an exact value from the recent past.
  • Incremental filtering per panel.
  • Data freshness indicator and automatic reconnection if the daemon restarts, without losing what’s already on screen.
  • Unusual activity highlighting for each app or interface, compared against its own baseline.

0.5.3 — More manageable lists in the GUI

Section titled “0.5.3 — More manageable lists in the GUI”
  • Top 10 with scrolling: the apps and servers lists show the 10 most active, with interfaces in an internally scrollable list, so the panel never overflows.
  • Custom date picker, more reliable than the browser’s: navigating by month or year no longer closes the picker, and clicking a day applies and closes in one step.

0.5.2 — The historical view no longer leaves a gap at the end

Section titled “0.5.2 — The historical view no longer leaves a gap at the end”
  • The historical chart used to stop just short of the current moment, leaving an empty stretch. Now the axis adjusts to the latest available data point, so short windows (5 minutes, 1 hour) render in full.

0.5.1 — Numbers that no longer get clipped

Section titled “0.5.1 — Numbers that no longer get clipped”
  • Vertical axis labels (for example, “1023.9 MiB”) used to get cut off at the edge of the chart. Now the axis width adjusts to fit the longest label, in both Historical and Live views.
  • Fluid chart: live throughput now scrolls smoothly instead of jumping second by second, respecting the system’s “reduce motion” preference if you have it enabled.
  • Labels relative to the present: the right edge of the chart is always “now,” with elapsed seconds reading off to the left.
  • The CaudalGhost version now appears in the app’s footer.

0.4.0 — The Historical view gains context

Section titled “0.4.0 — The Historical view gains context”
  • Clearer date labels on the time axis: hour and day are grouped without repeating numbers unnecessarily, so you always know which day each data point belongs to.
  • The chart honors the exact range you asked for (for example, “yesterday” or “last 24 hours”) instead of just fitting to whatever data happens to be available.
  • Date range picker: besides picking a single day, you can now choose a From–To range.
  • The chart tooltip no longer spills outside the visible area at the edges.

An end-to-end security audit followed by a full hardening pass. CaudalGhost already started from a solid foundation — it runs as its own user with no login session, with minimal permissions and no network exposure — and this release tightens the remaining details and adds defense in depth.

  • The Server edition now starts locked down. On a multi-user server, network flows no longer stay visible to just anyone with a session: access is now granted only to the CaudalGhost group, and opening it up to more users is now an intentional step. The desktop edition is unchanged: install → open → it works, same as always.
  • Defenses against local abuse. The internal channel the daemon and interface use to talk (a local socket) now has connection limits, timeouts, and bounded sizes, so no process on your machine can overwhelm the service.
  • The desktop app is more hardened. The interface now applies a strict Content Security Policy (CSP) as defense in depth for the webview.
  • More robust installation. The installer carefully validates the data it receives, while keeping compatibility with enterprise setups (Kerberos/Samba).
  • Smaller attack surface. An unused component was removed, and text from untrusted sources (app names, hostnames) is now bounded.

The leap that turned CaudalGhost into what it is today: from measuring per interface to understanding which app is using what, live and with a graphical interface.

  • Per-app attribution. Using eBPF, CaudalGhost breaks down traffic by program, not just by interface, via the top command in the terminal.
  • Live dashboard in the terminal. The live command shows real-time rates, with a redesigned three-row layout that combines what’s happening now with the accumulated history.
  • Desktop app. A native GUI with Live and Historical views and their charts, for anyone who prefers a mouse to the terminal.
  • Named servers. DNS enrichment resolves the hostnames of remote destinations (deb.debian.org instead of an IP), available via the hosts command.
  • Its own installer, no sudo needed. The .deb installer arrives in desktop and server editions, with a system service (systemd) and its own permissions: once installed, CaudalGhost runs without asking for privileges (sudo) in everyday use.

The first foundation everything else was built on.

  • Per-interface measurement. A lightweight daemon watches each interface’s network usage, without interfering.
  • History that never expires. Data is stored in a local SQLite database, so you can always look back.
  • Queries from the terminal. A CLI with the essentials: the current moment (now), totals (total), and a quick health check (ping).