Skip to content

Releases: lmilojevicc/pi-zentui

v0.34.0

Choose a tag to compare

@github-actions github-actions released this 02 Nov 19:02
f636cac

What's Changed

Other changes

Full Changelog: v0.33.0...v0.34.0

v0.33.0

Choose a tag to compare

@github-actions github-actions released this 27 Oct 17:49
e9b32c9

What's Changed

Other changes

Full Changelog: v0.32.0...v0.33.0

v0.32.0

Choose a tag to compare

@github-actions github-actions released this 20 Oct 20:46
9e8e798

What's Changed

Other changes

Full Changelog: v0.31.2...v0.32.0

v0.31.2

Choose a tag to compare

@github-actions github-actions released this 19 Oct 15:14
b3b0387

What's Changed

Other changes

Full Changelog: v0.31.1...v0.31.2

v0.31.1

Choose a tag to compare

@github-actions github-actions released this 17 Oct 19:09
0eb0fd6

Requirements

Unchanged from v0.31.0: Pi 1.0.0 or newer and OMP 18.4.10 or newer.

Highlights

  • Thinking (Experimental) survives long traces — Rail and Tree no longer drop to native thinking when a trace exceeds the old caps or a single label is over-long. Parsing is now line-incremental, so work per streamed update stays bounded however long the run gets: measured over a 120K-character trace, ~0.3 ms per update for Tree and ~1.0–1.5 ms for Rail, against 15–22 ms for Pi's own full-block render. Over-long prose labels are shortened instead of invalidating the run, and the step cap now trims what is shown (Rail: first 4 plus latest 28, with a … N steps omitted row) rather than disabling the renderer. #200
  • No more Rail/Tree flicker — a chunk that finished a step label and opened a code fence in the same frame used to fall back to native thinking for that frame and snap back on the next one. The last shown label may now finish streaming, and labels arriving with the fence are accepted unless they contain an image. A chunk that splits an SGR sequence at the open line's end is likewise no longer treated as an unsafe update. #201
  • Tool display does less work when repainting unchanged cards — validated text layouts are cached per component and width, with invalidation on text, safety-budget, background, padding and explicit invalidation. Measured 22.1% → 9.0% of one core during input-triggered redraws with 80 completed cards. #197
  • User messages stay stable in fullscreen — single-row messages emitted their terminal prompt markers after the text, where Pi's fullscreen renderer does not strip them. This affected every short compact message. Markers are now emitted at the row start, matching Pi's native message. #198
  • Codex quota for official OpenAI sign-in — the 5-hour and weekly figures are now read passively from x-codex-* response headers when the active model is the official openai provider on https://api.openai.com/v1, through Pi's public after_provider_response event. Zentui never reads or forwards the openai credential and starts no auth lookup or network request for it. Legacy openai-codex polling is unchanged. #199

Fixes

  • Background Git probes, tool rendering and other behaviour unchanged.
  • Dev dependency bumps. #193

Not claimed fixed

  • #195 remains open. The marker leak above is proven and fixed on a real Pi 1.2.0 fullscreen terminal, but the reporter's iTerm2 symptoms (detached bubble, invisible message) were not reproduced directly. Reporter confirmation is welcome.
  • #194 quota is header-derived and was not verified against a live openai sign-in account. If api.openai.com does not send these headers, nothing is displayed; no values are fabricated, and windows are dropped rather than guessed when their length header is absent.

Full Changelog: v0.31.0...v0.31.1

v0.31.0

Choose a tag to compare

@github-actions github-actions released this 13 Oct 17:54
74d829b

Breaking compatibility change

Pi 1.0.0 or newer is now required. Pi 0.x support and its CI compatibility lanes have been retired in #192. Upgrade Pi before installing this release; remain on Zentui v0.30.0 if you still need Pi 0.x.

Oh My Pi requirements are unchanged: OMP 18.4.10 or newer.

Tool display needs Pi's public renderer API, verified on Pi 1.0.3. Pi 1.0.0 remains supported for the other components and preserves native tool rendering when that API is unavailable.

Highlights

  • Native Tool display — independently opt-in rendering for tool calls and results, with presets, output modes, and split/unified diff controls. No pi-tool-display runtime dependency or config bridge. #176
  • Syntax-highlighted Bash commands — active-theme syntax colors without changing command text, wrapping, progress, output, or card layout.
  • Expandable MCP calls —  server/tool [arguments] keeps the payload visible; Ctrl+O reveals output under its own output: label. Existing extension renderers, including FFF, retain ownership unless explicitly overridden.
  • Readable write/search results — historical writes without a preimage show supplied content under neutral ↳ written; search output gets a clear separator. No fabricated before-content or extra disk reads.
  • New README gallery — complete Maple Mono/Catppuccin examples for MCP collapsed/expanded, read, write, diff, and search/Bash.

Defaults and fixes

  • Unsaved component color-source choices now default to Terminal. Minimalist's unsaved layout defaults are refined; fresh installs still select Opencode, and explicit saved choices/templates are preserved. #186
  • Working line defaults to enabled with Border placement, elapsed time, and Tokens/s. Explicit opt-outs and Above placement are preserved; Thinking (Experimental) stays disabled by default. #186
  • Background Git probes use GIT_OPTIONAL_LOCKS=0 to avoid unnecessary index-lock contention. #188
  • Added cursor-focus compatibility regression coverage and extension-isolation guidance. #187 is tests/docs only; the associated personal cursor-extension fix is not shipped as Zentui runtime code.

Enabling Tool display

Tool display remains disabled by default. Enable it through /zentui tool-display or configure the component independently:

{
  "components": {
    "toolDisplay": {
      "enabled": true,
      "style": "balanced"
    }
  }
}

Bash renderer takeover and exact-name custom/MCP overrides retain their separate ownership consent. Enabling Tool display does not enable or restyle other Zentui components. Output-mode and safety limits remain configurable; only presentation changes, not tool execution or schemas.

See the Tool display guide and configuration reference.

Full changelog: v0.30.0...v0.31.0

v0.30.0

Choose a tag to compare

@github-actions github-actions released this 08 Oct 02:09
e797176

Highlights

  • Live and completed token rates — optional Working-line TPS holds the last observed rate through tools and pauses, and participates in the full Classic/KITT animation. Pi editor/footer metadata shows retained completed-call averages. #182
  • GitHub PR and CI metadata — $pr_number, $pr_url and $ci can be placed in supported editor/footer templates. Lookups are asynchronous, demand-controlled and qualified by repository/branch/head identity; stale results do not claim passing CI. #182
  • Individual custom-value colors — sparse publisher-key overrides for Editor and Footer, with independent Edit/Reset controls. #182
  • Configurable turn summaries — customize the final line through components.workingLine.turnSummaryFormat and colors.turnSummary. New summaries snapshot their format/color and include average TPS when trustworthy timing and final usage are available. #183
  • Conditional separators — $join_sep / ${join_sep} join only populated fields in Minimalist, Opencode variants and Starship templates, avoiding dangling separators. #179
  • Cache-hit color control — Minimalist's built-in Cache label and $cache_hit use the Editor cacheHit role, falling back to normal context styling. #180

Configuration notes

Working-line TPS is opt-in. Existing editor/footer templates are not rewritten; add only the variables you want. Existing ci publisher aliases retain their meaning.

Example turn-summary customization:

{
  "components": {
    "workingLine": {
      "turnSummary": true,
      "turnSummaryFormat": "Turn took $turn_duration$join_sep(thought for $thought_duration)$join_sep(↑$input_tokens ↓$output_tokens)$join_sep$token_rate",
      "colors": { "turnSummary": "bright-black" }
    }
  }
}

Summary changes apply to new entries; older saved summaries retain their previous appearance. Unknown averages—including aborted calls without trustworthy final usage—are omitted rather than invented. Completed averages include observed request wait/client preparation and exclude tool execution; live estimates are marked ~ and are not exact backend inference speed.

See the configuration reference for placement, styling and host-specific semantics.

Known issue

The Herdr pane/app focus-loss border-placement report #181 is tracked separately and is not fixed in this release.

Full changelog: v0.29.3...v0.30.0

v0.29.3

Choose a tag to compare

@github-actions github-actions released this 05 Oct 12:02
8c692da

What's Changed

Other changes

  • fix: restore working line borders through editor wrappers by @lmilojevicc in #173
  • fix(user-message): support Pi 1.0 direct-Markdown UserMessageComponent shape by @sebvln in #172
  • chore: release v0.29.3 by @lmilojevicc in #174

New Contributors

Full Changelog: v0.29.2...v0.29.3

v0.29.2

Choose a tag to compare

@github-actions github-actions released this 05 Oct 00:50
d8e4f38

What's Changed

Other changes

Full Changelog: v0.29.1...v0.29.2

v0.29.1

Choose a tag to compare

@github-actions github-actions released this 04 Oct 12:44
83dd34d

What's Changed

Other changes

Full Changelog: v0.29.0...v0.29.1