Skip to content

v0.10.0

Latest

Choose a tag to compare

@kaijen kaijen released this 09 Jun 19:20
6eeb02a

Maintenance release closing 19 review issues — correctness, robustness, security hardening, config scoping and build/CI tooling.

🐞 Fixed

  • Accept/Reject could corrupt the document on a stale (debounced) cache (#52). Resolutions now flush any pending parse and verify the cached marker text before editing.
  • Split view decorated only one pane (#56) — now every visible editor of the document.
  • Changes-view group/flat toggle was inert under a workspace override (#57) — now writes into the scope that defines the setting.
  • Comment date used UTC (#58) — now the local calendar date.
  • Cursor jumped after a failed authoring edit (#59) — caret correction gated on the applied flag.
  • Git author ignored multi-root workspaces (#60) — resolved per the active document's folder.
  • Word diff fragmented non-ASCII words (#55) — Unicode-aware tokenizer (\p{L}/\p{N}), so umlauts, ß and accents stay inside their word.
  • Track Changes shadow hardened against external mutations (#68) — resyncs instead of producing a malformed marker.

🔄 Changed

  • Track Changes coupled to the enablement gate (#53, #54). Turning it on in a disabled document now enables kaicrit for that file; the normal-mode paste-flatten gets a cheap early-out and stays inert in disabled documents.
  • Configuration read with a resource scope (#61) — folder-/language-specific overrides ("[markdown]": { … }, multi-root) are honoured.

✨ Added

  • kaicrit.edit.maxParseLength (#63, default 2 000 000) — size guard bounding the marker regex's O(n²) worst case on pathological input.

🔒 Security

  • Hardened the change-action hover (#62). isTrusted scoped to kaicrit's own accept/reject commands instead of every command: URI; document-sourced comment author/date is escaped so it can't render a link.

🛠 Internal / build

  • CI now runs lint + tests on every push/PR; release workflow runs the suite before packaging (#51).
  • ESLint flat config (typescript-eslint recommended), wired into CI (#69).
  • Extension bundled with esbuild for packaging — single ~40 KB .vsix module; dev/F5 loop unchanged (#65).
  • Packaging cleanups: dev-only files excluded from the .vsix (#64), out/ cleaned before tests (#67), docs unified on @vscode/vsce (#66).

Full changelog: v0.9.0...v0.10.0