flux-md 0.18.1 → 0.18.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,42 @@ Notable changes to flux-md. Format based on
4
4
  [Keep a Changelog](https://keepachangelog.com/); this project aims to follow
5
5
  [Semantic Versioning](https://semver.org/).
6
6
 
7
+ ## 0.18.3 — 2026-06-29
8
+
9
+ ### Fixed
10
+
11
+ - **Nested bullets flattened mid-stream (a visible list reflow).** While
12
+ streaming a *loose* outer list (items separated by a blank line) whose items
13
+ contain indented nested sub-bullets, the incremental list fast path treated a
14
+ 2-space-indented sub-bullet marker as a top-level **sibling** (it accepted any
15
+ marker within `edge + 3` columns). So the moment the outer list's second item
16
+ began streaming, the first item's nested `<ul>` **collapsed into flat top-level
17
+ items**, then re-nested at finalize — a jarring "indentation disappears then
18
+ comes back" flicker. The sibling test now uses the first item's content column,
19
+ so a marker at or past it correctly nests (the cache bails to the full reparse,
20
+ which renders the nesting). Streamed output now matches a one-shot parse at
21
+ **every prefix**; the only remaining list change while streaming is the
22
+ inherent tight→loose spacing, which a non-streaming parser shows too.
23
+
24
+ ## 0.18.2 — 2026-06-29
25
+
26
+ ### Fixed
27
+
28
+ - **Streaming O(n²) cliff on a paragraph followed by a long link-reference /
29
+ footnote definition run** (e.g. reference-heavy LLM output: prose, then a
30
+ block of `[id]: url` definitions). The paragraph stayed speculative until
31
+ `finalize()` — a definition is not a renderable block, so the paragraph never
32
+ became "the last block" and `committed_offset` stalled, re-scanning the whole
33
+ growing definition run on every append. A 235 KB document streamed at a
34
+ 256-byte chunk took **~59 s**; it now takes **~20 ms**, and streaming is linear
35
+ in document size across all chunk sizes. A renderable block followed by a
36
+ definition run now commits (a definition only parses at a block boundary, so
37
+ the block is closed). Narrow behavior note, within the existing
38
+ forward-reference limitation: the single paragraph immediately before such a
39
+ run now commits before the later definitions, so a *forward* reference from it
40
+ renders literally instead of resolving at finalize — consistent with every
41
+ earlier paragraph, which already commits mid-stream.
42
+
7
43
  ## 0.18.1 — 2026-06-29
8
44
 
9
45
  Performance + size pass. No API or output changes — CommonMark 652/652 and
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flux-md",
3
- "version": "0.18.1",
3
+ "version": "0.18.3",
4
4
  "description": "Zero-dep streaming markdown for the browser. Rust→WASM core, Web Worker per stream, incremental parse with speculative closure.",
5
5
  "type": "module",
6
6
  "sideEffects": ["./dist/worker.js", "./dist/styles.css"],