# Biome @biomejs/biome@2.5.9 — Release & Upgrade Intelligence
- **Product:** Biome (https://biomejs.dev)
- **Version:** @biomejs/biome@2.5.9
- **Released:** Aug 17, 2026
- **Impact Score:** 5/10
- **Breaking Changes:** Not verified
- **Canonical Analysis:** https://changelogs.us/biome/updates/biomejs-biome-2.5.9/

## Executive Summary (TL;DR)
Biome @biomejs/biome@2.5.9. Source highlight: Fixed #11315: The CSS parser now recovers at declaration boundaries after bogus declarations, allowing subsequent valid declarations to be parsed.

## New Features
- feat(flags): add missing flags and reword metadata
- feat(useSortedClasses): sort custom properties and reject invalid modifiers in sort_v4
- feat(useSortedClasses): parse and sort container-query and child variants
- feat(useSortedClasses): parse combinator selectors and variant modifiers
- feat(lint): add `useTailwindShorthandClasses`
- test(noUnnecessaryConditions): add regression fixture for #10704

## Bug Fixes
- Fixed #11315: The CSS parser now recovers at declaration boundaries after bogus declarations, allowing subsequent valid declarations to be parsed.
- Expanded the environment variable metadata used by `biome rage` to include `BIOME_BINARY`, `BIOME_LOG_FILE`, and `RUST_BACKTRACE` as well as reworded explanations for better readability.
- Added a new nursery rule `useNamedLayer` which disallows anonymous cascade layers.
- The HTML formatter now preserves meaningful blank lines in HTML, including spacing after elements with trailing spaces and blank lines between comment groups.
- Added the nursery rule `useTailwindShorthandClasses`, which suggests shorter Tailwind utility classes. For example, the rule suggests replacing `w-4 h-4` with `size-4`.
- Fixed #11328: `lint/nursery/useExpect` now recognizes Vitest Browser Mode `expect.element()` calls as assertions.

## Upgrade Command
```bash
npm install --save-dev --save-exact @biomejs/biome@2.5.9
```
