Biome 2.5.9
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.