Skip to content

v1.3.3: Defer Performance + Tab Stability

Choose a tag to compare

@github-actions github-actions released this 06 Nov 11:45
· 4 commits to main since this release

Release Notes: v1.3.3

Date: 2026-11-06 | Previous: v1.3.2 | Commits: 9 | Tests: 671 → 683

Highlights

Shell opens 54% faster

  • Interactive prompt: 31.4 ms → 14.4 ms
  • Pure boot: 22.1 ms → 10.3 ms
  • What changed: the defer engine (1,050 lines inline) became a 17-line queue shim + 5 lazy modules. DAG, timeout, state, telemetry — each wakes up only when needed.
  • You feel it every time you open a terminal.

Tab no longer freezes on Ctrl+C

  • Bug: pressing Tab on commands like sudo mkinitcpio -P could hang the shell indefinitely. Ctrl+C to escape would leave a $(starship prompt ...) fragment scattered across the buffer.
  • Fix: two root causes eliminated.
    • Starship now renders once per prompt (in precmd), not on every keystroke via $().
    • Ghost popup spawns asynchronously via ZLE fd handler — shell returns immediately, no blocking.
  • Your feature stays: ghost popup still opens as primary on Tab. fzf-tab still works as fallback.
  • Won't regress: 9 new automated tests (5 static + 4 pty-based interactive) reproduce the exact bug and must pass forever.

SPEC-027: plugin development contract

  • Full contract for plugin authors: capability decomposition, 7 load strategies (eager, deferred, on-demand, service, etc.), shim/service rules, anti-patterns, 5 mandatory tests.
  • docs/PLUGIN-DEV.md (402 lines) — user-facing guide, no internal jargon.

Commits

# Commit Purpose
1 248425d Generator on-demand + bench + tty fixes
2 c84c421 SPEC-027 plugin dev contract + user guide
3 3039602 Extract defer queue shim from boot
4 157c89b Split defer loader into lazy modules
5 53333ad Wire lazy modules into build + doctor
6 918cac8 Verify boot performance improvement
7 3d4dbfb ADL-044 record
8 d99f491 Tab-hang permanent fix via zle -F async
9 (this release) Version bump to v1.3.3

Breaking Changes

None. Config, plugins, and workflow unchanged.

Upgrade

ziro update && exec zsh

Rollback

git reset --hard v1.3.2