Changelog

biomejs/biome · Aug 3–9, 2026 · 53 commits

Biome adds Markdown, YAML, and stronger CSS semantics

This week brought Markdown and YAML support, better CSS/HTML semantics, a new React Compiler rule, and multiple parser and lint fixes.

Major language support and linting expansion

Markdown linting landed end-to-end — Biome now supports Markdown analysis with CLI/SARIF integration and a first nursery rule, useConsistentHeaderLevel. The parser was also refactored into a two-phase design with checkpoint-based inline resolution for better correctness and maintainability.

YAML parsing is now in play — A new YAML parser shipped with improved error recovery and benchmark coverage, making YAML a first-class parsing target with performance tracking.

CSS semantics got materially stronger — Biome added validation for registered custom properties, including a new nursery lint for invalid @property initial-values. It also fixed parsing/semantic handling for @property syntax, SCSS partial combinator selectors, and CSS formatting around block comments.

Framework- and ecosystem-aware lint improvements

HTML, Svelte, and Vue cases were tightened up — HTML style attributes are now parsed as CSS, giving real DOM styles full lint coverage. Several framework-specific false positives and formatting bugs were fixed too: Svelte attachments count as references, Vue :deep() is accepted in embedded styles, Vue template globals are scoped correctly, and Svelte legacy {@const} now has a dedicated nursery rule.

React Compiler lint mode arrived — Biome added useReactCompiler, a nursery rule that reports React Compiler lint diagnostics and is wired into config, docs, metadata, and tests.

Tailwind sorting became more accurateuseSortedClasses now accounts for variant ordering across the full class list, improving class sorting behavior for Tailwind v4 setups.

Parser, formatter, and analyzer fixes

Import-cycle analysis got fasternoImportCycles was optimized with SCC-based pruning and explicit node_modules skipping, reducing unnecessary graph traversal on large projects.

Markdown, HTML, and Svelte formatting/parsing were hardened — Biome fixed HTML EOF comment duplication, blank-line preservation, multiline suppression handling, embedded script/style formatting, and Svelte parsing issues around array-pattern holes and double-curly braces.

Type inference and promise/undefined rules were refined — Legacy type inference was prepared for removal, noMisusedPromises got faster, noUselessUndefined became smarter about explicit return types, and useAwait now recognizes await using.

Other misc changes

  • Added a Claude code-review skill and contributor docs
  • Grit WASM snippet offsets were fixed for non-ASCII text
  • Various rule performance, diagnostics, benchmark, CI, and dependency updates