Repository navigation
v0.2.2 — markdown-derived outline, defined-token guard
A patch release. Additive and documentation only — no behaviour is removed.
DocumentOutline works without a Lexical editor
deriveOutlineFromMarkdown(markdown) and resolveActiveOutlineIndex(entries, line) are now exported, and entries carry a 1-based source line.
0.2.0 derived outline entries from live Lexical state, which meant an outline was only possible where an editor was mounted — a host with a raw markdown mode had no data source at all. Deriving from markdown serves both, and the line numbers let a raw view track the active heading by line. The existing Lexical path is unchanged. (#84, ADR-091)
The tokens this package defines are public API
Hosts read them — not just override them — so renaming or removing a definition is a breaking change, distinct from renaming a consumption site. This is now stated in the README and guarded by a checked-in baseline (scripts/lib/theming-defined-tokens-baseline.json), so a removed or renamed declaration fails CI instead of silently dropping a downstream consumer's palette.
The guard catches a same-count rename masked by an unchanged total, and a token declared outside :root. (#79, ADR-092)
The 0.2.0 record, corrected
getMarkRects shipped under "Added" in 0.2.0. It is additive at runtime, but as a required member of AnnotationEditorHandle it is a compile-time break for anything that implements, constructs or type-checks against that interface. The 0.2.0 entry now says so, with the one-line fix. (#78)
Also
CLAUDE.mdrecords this repository's conventions, including ADR naming (adr-<issue>-<slug>.md) after two parallel issues independently produced the same ADR number.
Upgrading
pnpm add @liminis/editor@^0.2.2Nothing to change. ^0.2.0 already admits this release.