biomejs
biome
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
feat: noRestrictedDependencies
feat/no-banned-dependencies
1 hour ago
test(markdown_parser): cover ordered delimiter split
jfmcdowell:fix/md-empty-item-loose-list
6 hours ago
fix(markdown_parser): keep loose list across empty item before blank line An empty list item followed by a blank line split the list in two and rendered it tight. Per CommonMark §5.3 (example 315), when a same-marker item continues after the blank, the items stay one list that becomes loose. The empty item now absorbs the separator blank line(s) and records the blank, so the list continues and is marked loose. A marker change, non-list content, or EOF after the blank still ends the list. Closes the last failing CommonMark conformance case (now 652/652). Adds CST snapshot fixtures (loose bullet/ordered continuation, marker-change and non-list-content splits) and the example-315 family to the differential fuzz seed corpus.
jfmcdowell:fix/md-empty-item-loose-list
9 hours ago
test(markdown_parser): add empty-item loose-list cases to differential seed corpus Locks the example-315 family against commonmark.js: empty list item before a blank line, covering loose continuation (bullet + ordered), double-blank separators, and the marker-change / non-list-content split boundaries.
jfmcdowell:fix/md-empty-item-loose-list
10 hours ago
fix(markdown_parser): terminate fenced code blocks at list-item boundaries (#10471)
main
12 hours ago
feat: noRestrictedDependencies
feat/no-banned-dependencies
1 day ago
fix(markdown_parser): terminate fenced code blocks at list-item boundaries An unterminated fenced code block is valid per CommonMark §4.5 (it ends at the close of its container), but the grammar marked `r_fence` as required, so the absent closing fence left a `missing (required)` slot in the CST — for a plain unterminated fence and for fences opened inside bullet items. - Grammar: `MdFencedCodeBlock.r_fence` is now optional. A closing fence cannot be fabricated without breaking token-level losslessness, so an unterminated fence must legitimately leave the slot empty. - Parser: a fenced code block cannot be lazily continued, so its content ends when a line de-indents below the enclosing list item's required indent — measured after any blockquote prefixes, so a `> - x` sibling is handed back to the list/quote parser instead of being absorbed as code. Reuses the existing `consume_indent` helper. Tests: CST invariant tests (missing-slot + per-list item counts for plain, nested, blockquoted), `.md`/`.snap` parser fixtures, and three commonmark- referenced seed cases in the differential fuzz corpus.
jfmcdowell:fix/md-fence-bullet-item
1 day ago
test(markdown_parser): add fence-as-bullet CST fixtures; reuse consume_indent Add `.md` + `.snap` parser fixtures for the plain and blockquoted fence-as-bullet cases so the CST shape is reviewable, not only asserted by the structural-count invariant tests. Rework the de-indent helpers to reuse the file's canonical `consume_indent` column counter instead of a hand-rolled byte loop. Indentation stays an explicit space/tab measurement (CommonMark indentation is space/tab only — narrower than `biome_unicode_table`'s `WHS`, which also matches \n\r\f\v), documented inline.
jfmcdowell:fix/md-fence-bullet-item
1 day ago
Latest Branches
CodSpeed Performance Gauge
0%
feat: noRestrictedDependencies
#10467
1 hour ago
42822ea
feat/no-banned-dependencies
CodSpeed Performance Gauge
0%
fix(markdown_parser): keep loose list across empty item before blank line
#10483
6 hours ago
6045ad7
jfmcdowell:fix/md-empty-item-loose-list
CodSpeed Performance Gauge
+1%
fix(markdown_parser): terminate fenced code blocks at list-item boundaries
#10471
1 day ago
897a147
jfmcdowell:fix/md-fence-bullet-item
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs