v0.21.1
Summary
Patch release focused on AI agent diff review correctness and note-variant styling. Fixes silently dropped diff entries when tool calls anchor on blocks occupied by pending diffs, removes the spurious drop cap inside diff hunks, and makes the note variant's serif font survive dark mode regardless of CSS bundle order. Published as a full lockstep release so every @haklex/* package shares satisfiable exact cross-dep pins again (the v0.21.0 cycle left rich-ext-ai-agent@0.21.0 peer-pinned to a never-published rich-editor@0.21.0).
Breaking Changes
None.
Bug Fixes
- rich-ext-ai-agent: replace/delete diff nodes now carry their target's
blockIdwhile occupying its position. Previously the id vanished from the live document (BlockIdPlugin even assigned the decorator a fresh random id), so ops from later tool calls or follow-up turns anchored to that block failed both anchor lookups and were dropped without a trace — "the last tool call never applied". Unanchorable entries now log a warning instead of disappearing silently. (a01694f) - rich-ext-ai-agent / rich-diff: diff hunks render their inner
RichRendereras nested content, so the note variant's first-paragraph drop cap (::first-letter) no longer fires on every hunk. (577daf8) - rich-style-token: the dark global theme (
:root.dark,[data-theme="dark"]) now assigns only color and shadow vars instead of the full contract. It previously redefined typography with the article (sans) stack at equal specificity to the variant theme class, letting CSS bundle order decide whether note's serif font survived in dark mode. (1984952)
Other
- chore(release-orchestrator): closure-expand PUBLISH_SET in incremental mode (5b2c6e2)
- test(demo): llmock fixtures for a 6-call agent turn and a follow-up turn anchored on an occupied block
Bump rationale
| Package | Diff | Bump |
|---|---|---|
| rich-style-token | dark theme var scoping (internal CSS) | patch |
| rich-ext-ai-agent | diff node blockId carry + nested hunks (internal) | patch |
| rich-diff | nested hunk rendering (internal) | patch |
max(bumps) = patch → v0.21.1. Mode promoted incremental → full because the rich-plugin-* family's published tarballs peer-pin rich-editor@0.20.0 exactly; advancing rich-editor without them would reintroduce duplicate-instance installs downstream.