# Changelog

Canonical: https://plottypus.com/changelog

Last updated: 2026-09-23

> Every plottypus release and what changed in it. Versions follow SemVer.

Versions follow [SemVer](https://semver.org/). Repository housekeeping (CI, templates, research notes) is left out here; everything that changes what you run is in.

## 1.0.0 (2026-09-23)

The first release: everything since `0.0.0-alpha`.

### Added

- **Power and clocks.** System and CPU watts from the SMC; CPU and GPU clocks from `IOReport` residency; `IOReport` energy rails (CPU, GPU, ANE, DRAM) folded into package power. Batched readings are held between publications instead of dropping to zero, and anything under 0.05 W counts as absent.
- **Battery and power source**: charge, state (charging, discharging, full, held at the charge limit), health, cycles, time remaining, adapter, Low Power Mode and what is keeping the Mac awake.
- **Heat** from the full SMC key list (including M5), mapped per chip into Super, Performance, Efficiency and GPU zones, on its own sensor thread. Fans report an idle state. Macs without sensors hide the heat panel.
- **GPU** memory in use and the GPU core count.
- **Processes that tell the truth**: footprint memory, `exec` renames, and `—` instead of an invented zero for anything the kernel will not share. Per-process energy, GPU, disk and wakeups feed the details card.
- **Safe process actions**: every action lands on the process you can see; a kill whose target exited is cancelled, and a reused pid is refused.
- **CLI**: `--json` and `--json-stream` (schema 1, macmon field names, `null` for unmeasured), `--diagnose` with the verdict engine, `doctor`, `--print-config`, and `--demo`, a canned 60 s session (build burst, GPU inference, battery drain, rising heat) for screenshots and scripts.
- **Config v1**: versioned TOML that keeps your comments and unknown keys, saves atomically a second after the last change, and migrates old flat keys one at a time.
- **Keymap** with modes, htop and btop profiles, and help generated from the same source.
- **Settings page**: full screen, every option in plain English, live theme previews, search with `/`.
- **One calm footer** with the `plottypus ≡` main menu (`m`; Settings, Themes, Keys & help, About, Quit), contextual keys, a clickable verdict, and power, watts and sampling rate. The top bar is gone; panels carry bracketed `[↗]` / `[×]` corner marks.
- **Power panel**: system watts with its rails, battery charge and flow, and why the battery is held. On Work it takes its own row when there is room; on Glance it is a sixth strip.
- **Memory composition**: app, wired, compressed and cached as one stacked bar, swap in use and the kernel's free level.
- **Presets** (`1`–`5`: silicon, ml, laptop, sre, ricer) and **zen mode** (`Z`), which hides the footer and the scale labels.
- **Process table columns**: sort by any column (click a header, `<` `>`, `r` to reverse), absent data hidden, real tree guides, and a small CPU graph column on wide screens.
- **Process actions**: a signal picker (`X`) with STOP and CONT, renice, background QoS, copy pid or command over OSC 52, and a warning before signalling a critical system process.
- **Themes**: ten built-ins (including kanagawa and gruvbox-dark) derived to meet contrast floors, adaptive themes built from the terminal's own palette (queried in one batch), glass (`auto`/`on`/`off`) for translucent windows, an extra-contrast setting, and 256-colour, 16-colour and `NO_COLOR` fallbacks.
- **Graphs** are time-linear on one shared clock: every compact graph in a view shows the same two-minute window, `z` zooms, time labels sit in the border, and network and disk I/O are mirrored.
- **Pro licence** plumbing: offline Ed25519 licence files and `plottypus license add|status|remove`. No network, no account. Pro is not on sale yet.
- **History store** (Pro): tiered buckets written to crash-safe segment files.
- Golden screens for the whole Mac family (fanless Airs, desktops without a battery, M1 to M5 including Pro, Max and Ultra) and property sweeps across terminal sizes.

### Changed

- **Self-cost**: draws only when something changed, one buffered write per frame, a shared PMGR sample and held per-pid readings. About 1.5% of a core at 500 ms and 1% at 1 s; paused means no sampling at all.
- Glance gives the cpu graph two fifths of the height and lays the other panels out as an even grid.
- Every panel title is built from one prioritised token list, so nothing is clipped mid-number; axis scales live in the border and units are consistent.
- Fill bars are eighth-block ink over a faint track; each panel role has its own hue family (cpu green, gpu violet, mem teal, heat warm).
- Network counters are exact 64-bit `ifmib` values following the default route; disk and memory accounting fixed.
- Release builds use thin LTO, one codegen unit and stripped symbols: the binary is about 2.2 MB.
- Licence: plottypus is now proprietary; compiled releases are covered by the [EULA](https://plottypus.com/eula). Revisions up to `v0.0.0-alpha` remain MIT.
- Releases ship a macOS arm64 tarball with the licence, EULA and third-party notices. There is no Linux release.

### Fixed

- The first interval no longer shows 0% CPU and 0.0 for every process as if measured; rates show `…` until primed and stay out of history.
- Titles no longer show wrong values when clipped; axis hints no longer erase graph data.
- Every core stays in the expanded CPU list; the footer is hit-tested against the surface it was painted for; the details card stays inside its pane.
- The README no longer claims readings plottypus did not take.

## 0.0.0-alpha (2026-08-27)

First tagged build: Work and Glance surfaces, Mach CPU, memory, processes with filter and kill, braille history.
