Skip to content

v2.1.5-alpha — production-hardening follow-ups

Pre-release
Pre-release

Choose a tag to compare

@bpacholek bpacholek released this 13 Jun 09:44
· 56 commits to main since this release

Production-hardening follow-ups — the remaining issues from the code- & test-quality reviews (milestone v2.2.0 — production hardening). The exported /v2 surface is unchanged (TestExportedSurfaceGolden frozen); this stays -alpha (pre-production maturity, not API churn).

Fixed

  • XML/HTML Reformat no longer decodes entities into the buffer — it re-encodes &&amp;, <&lt; (and "&quot; inside attribute values), so a reformat-then-save stays valid markup and round-trips &amp; (#81). Display/copy still show the decoded text.
  • A JSONC document that begins with a comment auto-detects as JSONC (a // license header or { // note) instead of falling back to raw, preserving the comment as a visible node; a // inside a string value still stays plain JSON (#82).

Performance

  • The live edit reproject pools its Document arenas + buffer snapshot across keystrokes (#80): a keystroke on a large over-budget buffer drops from ~18.6 MB / 18 allocs to ~32 B / 1 alloc and is ~35 % faster, byte-identical to a fresh parse (locked by a randomized equality fuzz). Wall-time stays O(buffer); work strictly proportional to the edited region is deferred to #84.

Changed

  • Dropped the dead tabWidth parameter from the internal ParseEditableColored (#83).

Docs

  • Reconciled the contradictory -alpha / "v1.0.0 frozen" / "pre-1.0 v0.x" copy to one story across README / package docs / SECURITY.md / CHANGELOG, and added a testable drop-alpha checklist to WORKFLOWS.md (#67).

Full changelog: see CHANGELOG.md.

Full Changelog: v2.1.4-alpha...v2.1.5-alpha