Repository navigation
v1.3.3: Defer Performance + Tab Stability
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 -Pcould 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.
- Starship now renders once per prompt (in precmd), not on every keystroke via
- 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 zshRollback
git reset --hard v1.3.2