Skip to main content

Biome 2.5.9

Release Date: August 17, 2026

The Biome team has shipped version 2.5.9, a patch release published on August 17, 2026, that packs in two new nursery lint rules, a substantial expansion of the Tailwind CSS parser, and a long list of formatter and analyzer fixes across HTML, CSS, and JavaScript/TypeScript.

"This release is mostly about making the tool behave predictably at the edges," the release notes indicate, with contributions from eight first-time contributors including @wanxiankai, @xosnos, and @freeatnet.

What Changed

The headline additions are new rules in the nursery — Biome's incubator for experimental lints. useNamedLayer disallows anonymous cascade layers in CSS, flagging @layer { ... } blocks that declare no name. useTailwindShorthandClasses suggests shorter Tailwind utilities, such as replacing w-4 h-4 with size-4. Two more rules landed on top: useAstroClientOnlyDirectiveValue reports Astro client:only directives without an initializer, and useControlLabel flags interactive elements like button and menuitem that ship without an accessible label. A fifth, noUnsafeTypeAssertion, disallows TypeScript type assertions while still permitting const assertions.

A Bigger Tailwind Vocabulary

The Tailwind parser received the deepest changes in this release. Biome now understands modifiers on bare utilities (@container/sidebar, shadow/50), container-query variants (@sm:, @max-lg:, @min-[400px]:), child and descendant variants (*:, **:), combinator selectors in arbitrary variants (has-[>svg]:), and the legacy leading ! important marker (!flex). CSS parsing in @variant rules now accepts names like @xl that previously produced a parse error.

Why It Matters

For Svelte and Vue developers, a notable analyzer fix means exported bindings declared in one embedded <script> block — such as Svelte's <script module> pair — are now correctly recognised as usable from sibling blocks, eliminating false positives from noUndeclaredVariables and noUnusedImports. The HTML formatter also saw half a dozen correctness fixes: meaningful blank lines are preserved, whitespace around elements like marquee and video is handled better, and line wrapping accounts for closing-tag width.

What's Next

The team also stabilised performance for noMisusedPromises and noFloatingPromises on deep imported type paths and fixed a Windows ARM64 access violation by reverting to an older mimalloc version. Biome 2.5.9 is available now through npm, the Biome installer, or your package manager of choice.

What is New?

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