v2.1.3-alpha
Pre-release
Pre-release
Production hardening (P2) — no public API change
Robustness (#76)
keyExtendguards a nil renderer before readingr.firstRow(a pre-render call no longer panics).scanStringclamps on a trailing backslash so an unterminated"\can't push a node span past EOF.recomputeMetricsonly locks the cell memo when it measured a non-degenerate cell — a transiently-unavailable font can't permanently render a 1px grid.- Documented that live parse validity isn't refreshed above the
MaxEditBytescap (the indicator freezes rather than going stale-wrong).
Performance (#77)
serializePrettypresizes the spans slice;remapCaretOffsetbinary-searches (locked against the old linear logic over 3000 random cases).applyGuttermemoizes the digit count on the line count.- Regression benches added for big-document plain/worst-case-regex search and wrap reprojection.
Tests & deps
- (#78) Three self-erasing
t.Skips →t.Fatal; a deterministic guard that valid structured input never silently regresses to the raw fallback (surfaced #82: JSONC starting with a comment auto-detects as raw). - (#79)
go.modlowered from the patch-pinnedgo 1.26.4togo 1.25(the real floor, set byx/net/x/image) +toolchain go1.26.4;govulncheckunpinned to@latest; dependencies documented; a written deprecation policy added.
Follow-up filed: #82 (JSONC leading-comment auto-detect).
Full diff: v2.1.2-alpha...v2.1.3-alpha
Full Changelog: v2.1.2-alpha...v2.1.3-alpha