Biome 2.5.8
Biome 2.5.8 ships today. Here's what changed.
New Lint Rules
- useReactCompiler (nursery) — Reports diagnostics straight from React Compiler lint mode, so compiler-level feedback lands in your editor.
- noSvelteLegacyConst (nursery) — Flags legacy Svelte
{@const}tags and points you to declaration tags with$derived(). - noInvalidPropertyInitValue (nursery) — Catches CSS
@propertyrules whoseinitial-valuedoesn't match the declaredsyntaxdescriptor.
HTML Style Attributes Are Now CSS
HTML style attribute values are parsed as CSS in this release. Every Biome CSS lint rule now applies inside style attributes, closing a long-standing coverage gap.
Fixes
- useAwait no longer reports async functions containing
await usingdeclarations. - noUselessUndefined stops flagging
return undefinedwhen the enclosing function has a non-undefined return type. - noUselessFragments panic fixed when an unsafe fix removes a fragment used as a JSX attribute value.
- noUndeclaredVariables now understands Vue's
$slots,$attrs, and$eventin templates. - Svelte parsing fixed for expressions beginning with object literals;
{{is no longer misread as interpolation. - CSS formatter preserves comment placement in functional pseudo-classes and indentation between declaration colons and values.
Performance
- noImportCycles skips
node_modules. - noMisusedPromises faster on async class methods calling through
this. - noFloatingPromises skips type inference for assignment statements.
- Console diagnostic printing sped up.
Biome 2.5.8 is available now via npm and the Biome installer. Update when you can.