Repository navigation
v1.11.0 — Grapheme-safe rendering and complete preview styles
v1.11.0 — Grapheme-safe rendering and complete preview styles
Main and subagent rows, both editors and their previews now share fixed Unicode character-cluster widths. Combined emoji remain intact, incremental style changes preserve foreground/background/bold state, and previews carry independent backgrounds.
Installation and compatibility
pipx install --force fbincon-claude-code-statusline==1.11.0
claude-statusline install
claude-statusline doctor
Linux/WSL, Windows 10/11 and macOS 14+ retain Python 3.10–3.14 support. Reinstall matching native resources for UI protocol v8. Display schema v6, portable format v1, interface preferences v1 and runtime protocol v2 remain unchanged; existing selections, languages and explicit collector/editor opt-outs are preserved.
Rendering changes
- Fixed Unicode 18.0 extended graphemes cover CJK, combining marks, skin tones, flags, keycaps, variation selectors and joined emoji. Splitting, clipping, padding, highlighted spans and backspace use whole clusters. Styles inside a cluster follow its first visible character while later changes apply to the next cluster.
- Foreground, background and bold accumulate independently. Standard/bright ANSI, 256-color and RGB forms support selective and full resets. Invalid color groups cannot accidentally become other style commands.
- Native previews apply explicit backgrounds within the existing light/dark surface. Curses uses bounded capability-aware colors and complete VT text runs; unsupported backends use width-preserving whole-cluster placeholders. Stored text is unchanged.
- Compact generated tables include reproducible provenance and licenses. The development reference is pinned wcwidth 0.9.1; normal rendering does not import it. ASCII avoids Unicode data loads and short-text caches are bounded.
- Representative local benchmarks distinguish process startup, bytecode and data caches, large transcripts, nested agents and Git cache states. Fixed before/after source trees use the same frozen harness and retain raw samples.
Per-item colors, new background controls, themes, Powerline and conditional visibility remain future work. Physical font/terminal glyph presentation can differ from the application's cell policy.
The existing macOS in-session Client focus/input limitation remains documented in the user guide. Main-line rendering and the standalone editor retain their existing support boundaries.
Validation and publication
Local validation passed 762 Python tests (754 passes, eight platform skips), 92 native and ten runtime official Mod tests, both TypeScript projects, all generated-file checks, Ruff and documentation checks. Both kernels pass 853 official Unicode boundary cases. The accepted source is 862d0d0; all 46 push/PR checks passed on that code.
Installed wheels passed core/native/runtime smoke and real 1.10.0 upgrades with both enabled resources and explicit opt-outs. Linux/CPython 3.14.4 PTYs cover six grapheme/style/color-capability cases, five external viewports, bilingual discovery, native advanced/language workflows at 120×30 and 80×48, and four direct native background/grapheme cases. An idle curses signal issue found in Linux/Python 3.10 CI was repaired; 60 extra local exit-signal checks passed without idle repainting.
The full benchmark retains 39,000 samples across 65 cases, two bytecode modes and three alternating rounds, plus targeted controlled repeats. For 32 agents at 40 columns, warm in-process P50 changed from 15.15 to 2.53 ms; fresh-process P50 changed from 66.83 to 62.66 ms. The complete performance report retains all scenario comparisons, seven screening flags, follow-up results and measurement limits.
Delivery PR #69 tracks final merge, package and publication gates. Automated PTYs and agent image inspection are distinct from human platform acceptance; no new human platform acceptance or paid model calls are claimed.
See rendering contracts, testing, shared protocol and the changelog.
简体中文
v1.11.0 — 完整字符簇与预览样式
主栏、子代理行及两个编辑器的预览共享固定 Unicode 字符簇列宽。组合 emoji 保持完整,增量样式正确保留前景/背景/粗体,预览增加独立背景通道。
安装与兼容性
pipx install --force fbincon-claude-code-statusline==1.11.0
claude-statusline install
claude-statusline doctor
保留 Linux/WSL、Windows 10/11、macOS 14+ 与 Python 3.10–3.14 支持。UI 协议升至 v8,需重装匹配的原生资源。显示 v6、便携格式 v1、界面偏好 v1、运行协议 v2 不变,保留既有选择、语言及明确关闭的采集/编辑器设置。
渲染改进
- 固定 Unicode 18.0 扩展字符簇,覆盖 CJK、组合字符、肤色、旗帜、键帽、变体选择符与 ZWJ。换行、裁切、补齐、高亮和退格均保留完整字符簇;簇内以首个可见字符的样式绘制,后续指令作用于下一簇。
- 独立累积前景/背景/粗体,支持标准/亮 ANSI、256 色、RGB 及独立/全部重置;非法颜色组不会变成其他样式指令。
- 原生预览在既有浅/深底色内应用显式背景;curses 使用有界颜色映射和完整 VT 文本绘制。不支持的后端使用等宽整簇占位符,保存文本保持原值。
- 精简生成数据保留来源与许可证。开发参考库固定 wcwidth 0.9.1,正常渲染不导入它;ASCII 不加载 Unicode 数据,短文本缓存有容量限制。
- 扩大本地性能样例,区分进程启动、字节码、数据缓存、大 transcript、嵌套代理与 Git 缓存;固定前后源码使用同一份冻结脚本,保留原始样本。
逐项配色、新背景控件、主题、Powerline 和条件显示仍属后续工作;物理终端/字体的字形表现可能与应用列宽策略不同。
既有 macOS 会话内 Client 焦点/输入限制仍保留,详见用户指南。主栏渲染和独立编辑器保持既有支持范围。
验收与发布
本地通过 762 项 Python 测试(754 通过、8 项平台跳过)、92 项原生与 10 项运行时 Mod 官方测试、两套 TypeScript、全部生成文件、Ruff 及文档检查。两端内核通过 853 条官方分簇标准用例。验收源码为 862d0d0,该代码的 push/PR 共 46 项检查全部通过。
已安装 wheel 通过基础/原生/运行时检查,以及保持启用和明确关闭两种状态的真实 1.10.0 升级。Linux/CPython 3.14.4 PTY 覆盖六组字符簇/样式/颜色能力场景、五个外部尺寸、双语查找、120×30/80×48 原生高级与语言流程,以及四组直接原生背景/字符簇场景。Linux/Python 3.10 CI 发现的空闲 curses 信号问题已修复,额外 60 次本地退出信号检查通过,空闲轮询不重复重绘。
完整基准保留 65 个场景、两种字节码状态、三轮交替的 39,000 个样本,另有定向受控复查。32 个代理、40 列时,热态进程内 P50 从 15.15 降到 2.53 ms,全新进程 P50 从 66.83 降到 62.66 ms。完整性能报告保留逐场景比较、七个筛选标记、复查结果及测量限制。
交付 PR #69记录最终合并、分发包和发布门槛。自动 PTY、代理图像检查与人类平台验收分别记录;不声称本次新增人工平台验收,未调用付费模型。
Release artifact verification / 发行包核验
Source / 源码:07263113529d86dc6feb54e1fb9c533fe69f4974 · annotated tag / 注释标签:752eb36ca2beffa74461884cabcb0eb8ed581115。
All 23 merge checks and 23 tag checks passed. / 合并及标签各 23 项检查通过。
Merge CI 1 · Merge CI 2 · Tag CI · Tag Mod CI
Independent sdist rebuilding matched all 196 wheel file contents. Wheel/sdist and fixed-tag installs, both 1.10.0 upgrade modes and final installed terminal flows passed. / 独立源码包重建的 196 个 wheel 文件内容一致;wheel/sdist/固定标签安装、两种 1.10.0 升级及最终安装包终端流程通过。
d9783c073298bc8121b98374460d8340ac4e9e155cca93e5bbfc010152302d2d fbincon_claude_code_statusline-1.11.0-py3-none-any.whl
b5e36795c6305d3025561fb6f965cd14f7f4f34690f1a39a1f0d229dd68293dd fbincon_claude_code_statusline-1.11.0.tar.gz
Package index verification / 包索引核验
TestPyPI: all 9 jobs passed / 全部 9 项通过. Both public package downloads match the sealed GitHub assets. / 两份公开下载均与封存的 GitHub 资产一致。
PyPI: all 9 jobs passed / 全部 9 项通过. Public GitHub/TestPyPI/PyPI package bytes and SHA256 agree; isolated PyPI pipx installation and installed-package smoke passed. / GitHub、TestPyPI、PyPI 公开包字节和 SHA256 一致,独立 PyPI pipx 安装及已安装包检查通过。