Skip to main content

Biome 2.5.6

Release Date: July 28, 2026

Biome 2.5.6 has been released — a patch release that brings performance improvements, better Svelte formatting, enhanced type-aware linting, and a new nursery lint rule. Released July 28, 2026.

Performance Improvements

This release delivers up to ~7% faster formatting across the board thanks to optimizations in the formatter core. Type-aware JavaScript lint rules have also seen a performance fix — only requested types are inferred rather than running inference repeatedly, and export resolution is now memoized.

Fixed Regressions and Bugs

Several important fixes land in 2.5.6. A performance regression in noMisusedPromises that caused type inference to run repeatedly while linting has been resolved. The biome check --write command is now idempotent on Svelte files — multi-line template literals in <script> blocks and block comments in <style> blocks no longer gain an extra indent level on every run.

The HTML formatter no longer duplicates comments placed directly before Svelte {@const} or {@debug} blocks — a bug that compounded exponentially on subsequent writes has been fixed.

CSS and HTML Formatting

CSS formatting now correctly handles multiline function arguments preceded by comments, with proper indentation for nested function calls. The HTML parser has been updated to accept mixed-case doctype declarations, matching browser behavior.

Linting Improvements

The accuracy of type-aware lint rules has been significantly improved. noFloatingPromises now detects floating Promises returned by aliased callbacks and arrays of Promises created by async mapping callbacks. False positives in noMisleadingReturnType have been fixed — the rule no longer suggests return types derived from partial information when type resolution cannot complete.

The useHookAtTopLevel rule no longer reports hooks in named forwardRef components that receive a ref parameter. The noUselessTernary quick fix now preserves operator spacing when simplifying or inverting boolean ternary expressions.

New Features

Biome 2.5.6 adds support for Svelte declaration tags using let and const — Biome can now parse, format, and lint bindings declared in these tags. A new nursery rule, noJsRestrictedProperties, has been introduced, porting ESLint's no-restricted-properties rule to flag restricted member access and object destructuring.

The rdjson reporter now populates the severity field (ERROR, WARNING, or INFO) for each diagnostic, so tools consuming Reviewdog Diagnostic Format output no longer need to assume a default severity.

Parsing Fixes

Biome now correctly parses curried arrow functions in ternary consequents when the inner arrow's parameters use a destructuring pattern, e.g. cond ? (x) => ({ a, b }) => body : alt.

Biome 2.5.6 is available now via npm. Upgrade with npm install @biomejs/biome@latest or your package manager of choice.

What is New?

By continuing to use the site, you agree to the use of cookies.