flux-md 0.18.2 → 0.18.4
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 +39 -0
- package/dist/wasm/flux_md_core_bg.wasm +0 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,45 @@ 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.4 — 2026-06-29
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- **Blockquote / alert inner content flattened mid-stream (same flicker class as
|
|
12
|
+
0.18.3's nested lists).** The container (blockquote / GFM alert) cache rendered
|
|
13
|
+
ALL inner content as plain paragraph text while streaming, so a list, nested
|
|
14
|
+
blockquote, heading, setext heading, fenced or indented code, table, thematic
|
|
15
|
+
break, HTML block, ordered list (incl. `start ≠ 1`), or link-reference
|
|
16
|
+
definition inside a `>` block showed as escaped paragraph text until finalize,
|
|
17
|
+
then snapped into its real structure. The cache now bails to the full reparse
|
|
18
|
+
whenever an inner line is anything other than plain paragraph prose. Found by
|
|
19
|
+
fuzzing the streaming prefix-parity invariant (the streamed view must equal a
|
|
20
|
+
one-shot parse at **every** prefix) over ~15k construct interactions plus an
|
|
21
|
+
adversarial corpus; streamed output now matches one-shot at every prefix for
|
|
22
|
+
these shapes.
|
|
23
|
+
|
|
24
|
+
### Internal
|
|
25
|
+
|
|
26
|
+
- Removed a dead struct field and an unnecessary `mut` left by recent changes
|
|
27
|
+
(clean build, no warnings).
|
|
28
|
+
|
|
29
|
+
## 0.18.3 — 2026-06-29
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
|
|
33
|
+
- **Nested bullets flattened mid-stream (a visible list reflow).** While
|
|
34
|
+
streaming a *loose* outer list (items separated by a blank line) whose items
|
|
35
|
+
contain indented nested sub-bullets, the incremental list fast path treated a
|
|
36
|
+
2-space-indented sub-bullet marker as a top-level **sibling** (it accepted any
|
|
37
|
+
marker within `edge + 3` columns). So the moment the outer list's second item
|
|
38
|
+
began streaming, the first item's nested `<ul>` **collapsed into flat top-level
|
|
39
|
+
items**, then re-nested at finalize — a jarring "indentation disappears then
|
|
40
|
+
comes back" flicker. The sibling test now uses the first item's content column,
|
|
41
|
+
so a marker at or past it correctly nests (the cache bails to the full reparse,
|
|
42
|
+
which renders the nesting). Streamed output now matches a one-shot parse at
|
|
43
|
+
**every prefix**; the only remaining list change while streaming is the
|
|
44
|
+
inherent tight→loose spacing, which a non-streaming parser shows too.
|
|
45
|
+
|
|
7
46
|
## 0.18.2 — 2026-06-29
|
|
8
47
|
|
|
9
48
|
### Fixed
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flux-md",
|
|
3
|
-
"version": "0.18.
|
|
3
|
+
"version": "0.18.4",
|
|
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"],
|