Biome @biomejs/[email protected]stable Released Mar 05, 2026
Impact Score: 5/10

Biome CLI v2.4.6

Source available โ€” automated, not human-reviewed

Component: @biomejs/biome ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.

Analysis updated: 2026-11-01.

Compatibility not verified โ€” check source notes
$ npm install --save-dev --save-exact @biomejs/[email protected]
๐Ÿ“„ .MD
โšก Executive Summary (TL;DR)

Biome @biomejs/[email protected]. Source highlight: Fixed #4946: `noUnreachable` no longer reports code inside `finally` blocks as unreachable when there is a `break`, `continue`, or `return` in the corresponding `try` body.

Who Does This Impact? (Role-Based Analysis)

๐Ÿ’ป Software Engineers & Devs

Check the source notes against the package and APIs you use before upgrading.

๐Ÿ“Š Product & Engineering Leads

Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.

โš™๏ธ DevOps & Security

Verify the target version, runtime requirements and rollback procedure in the official documentation.

โœจ New Features & Capabilities (3)

  • perf: add `.skip(1)` to `.ancestors()` calls in a bunch of places
  • feat(css): use ScssExpression in ScssNestingDeclaration and CssGenericProperty
  • feat(css): use expression in page

โšก Performance & Enhancements (2)

  • perf(noImportCycles): exclude `node_modules` from cycle detection
  • perf(noEmptyBlockStatements): short circuit to avoid traversing descendants for comments

๐Ÿ”ง Bug Fixes & Patches (6)

  • Fixed #4946: `noUnreachable` no longer reports code inside `finally` blocks as unreachable when there is a `break`, `continue`, or `return` in the corresponding `try` body.
  • Fixed #2786: The formatter no longer produces different output on subsequent runs when a `case` clause has a trailing line comment followed by a single block statement.
  • Fixed `#7730`: `useAnchorContent` now recognises SolidJS's `innerHTML` the same way as React's `dangerouslySetInnerHTML`.
  • Fixed `#9296`, so comments are moved along with the attributes in the useSortedAttributes assist rule code fix.
  • Improved performance of `noEmptyBlockStatements`. The rule is now smarter about short-circuiting its logic.
  • Improved performance for `noImportCycles` by explicitly excluding node_modules from the cycle detection. The performance improvement is directly proportional to how big your dependency tree is.
๐Ÿ“„ View Raw Release Notes (Original Developer Log)
## 2.4.6 ### Patch Changes - [#9305](https://github.com/biomejs/biome/pull/9305) [`40869b5`](https://github.com/biomejs/biome/commit/40869b5a698de5e0d2c06bc7587a9cad8c0389c5) Thanks [@ematipico](https://github.com/ematipico)! - Fixed [#4946](https://github.com/biomejs/biome/issues/4946): `noUnreachable` no longer reports code inside `finally` blocks as unreachable when there is a `break`, `continue`, or `return` in the corresponding `try` body. - [#9303](https://github.com/biomejs/biome/pull/9303) [`464910c`](https://github.com/biomejs/biome/commit/464910c06058454a0a0ed08998e1b32cb4a6ca67) Thanks [@ematipico](https://github.com/ematipico)! - Fixed [#2786](https://github.com/biomejs/biome/issues/2786): The formatter no longer produces different output on subsequent runs when a `case` clause has a trailing line comment followed by a single block statement. - [#9324](https://github.com/biomejs/biome/pull/9324) [`6294aa2`](https://github.com/biomejs/biome/commit/6294aa2e2710e90a05ed53edfc4dd80e3c4cbd9a) Thanks [@arendjr](https://github.com/arendjr)! - Fixed [`#7730`](https://github.com/biomejs/biome/issues/7730): [`useAnchorContent`](https://biomejs.dev/linter/rules/use-anchor-content/) now recognises SolidJS's `innerHTML` the same way as React's `dangerouslySetInnerHTML`. - [#9298](https://github.com/biomejs/biome/pull/9298) [`1003229`](https://github.com/biomejs/biome/commit/1003229853c80569751137b6f52dcc1b08aed659) Thanks [@Netail](https://github.com/Netail)! - Fixed [`#9296`](https://github.com/biomejs/biome/issues/9296), so comments are moved along with the attributes in the useSortedAttributes assist rule code fix. - [#9329](https://github.com/biomejs/biome/pull/9329) [`855b451`](https://github.com/biomejs/biome/commit/855b45125ad33933066eb363f706e1f00dc149d2) Thanks [@dyc3](https://github.com/dyc3)! - Improved performance of [`noEmptyBlockStatements`](https://biomejs.dev/linter/rules/no-empty-block-statements/). The rule is now smarter about short-circuiting its logic. - [#9326](https://github.com/biomejs/biome/pull/9326) [`85dfe9b`](https://github.com/biomejs/biome/commit/85dfe9b00b820fee0ad936a54328491446e085f5) Thanks [@dyc3](https://github.com/dyc3)! - Improved performance for [`noImportCycles`](https://biomejs.dev/linter/rules/no-import-cycles/) by explicitly excluding node_modules from the cycle detection. The performance improvement is directly proportional to how big your dependency tree is. - [#9323](https://github.com/biomejs/biome/pull/9323) [`d5ee469`](https://github.com/biomejs/biome/commit/d5ee4690bba0a3bb8a97da029732afde56cd4cd7) Thanks [@ematipico](https://github.com/ematipico)! - Fixed [#9217](https://github.com/biomejs/biome/issues/9217) and [biomejs/biome-vscode#959](https://github.com/biomejs/biome-vscode/issues/959), where the Biome language server didn't correctly resolve the editor setting `configurationPath` when the provided value is a relative path. - [#9302](https://github.com/biomejs/biome/pull/9302) [`86fbc70`](https://github.com/biomejs/biome/commit/86fbc70e8f5a63fd9ece11a99b2684c25c301dba) Thanks [@sepagian](https://github.com/sepagian)! - Fixed [#9300](https://github.com/biomejs/biome/issues/9300): Lowercase component member expressions like `<form.Field>` in Svelte and Astro files are now correctly formatted. ```diff -<form .Field></form.Field> +<form.Field></form.Field> ``` ## What's Changed * fix(js_analyze): move comments with useSortedAttributes action by @Netail in https://github.com/biomejs/biome/pull/9298 * fix(formatter): switch case comments by @ematipico in https://github.com/biomejs/biome/pull/9303 * refactor(markdown-parser): promote list structural tokens from skipped trivia to explicit CST nodes by @jfmcdowell in https://github.com/biomejs/biome/pull/9274 * fix(noUnreachable): handle dead implicit jumps in finally by @ematipico in https://github.com/biomejs/biome/pull/9305 * refactor(markdown-parser): align newline/prescan paragraph-break checks by @jfmcdowell in https://github.com/biomejs/biome/pull/9197 * refactor(markdown-parser): promote blank lines between list items to MdNewline nodes by @jfmcdowell in https://github.com/biomejs/biome/pull/9313 * fix(linter): support SolidJS's `innerHTML` in `useAnchorContent` by @arendjr in https://github.com/biomejs/biome/pull/9324 * fix(lsp): correctly resolve `configurationPath` by @ematipico in https://github.com/biomejs/biome/pull/9323 * perf(noImportCycles): exclude `node_modules` from cycle detection by @dyc3 in https://github.com/biomejs/biome/pull/9326 * refactor(css_parser): split function parser into modules by @denbezrukov in https://github.com/biomejs/biome/pull/9325 * refactor(markdown-parser): promote fenced code block skipped trivia to explicit CST nodes by @jfmcdowell in https://github.com/biomejs/biome/pull/9321 * refactor(css): rename operator_token field to operator by @denbezrukov in https://github.com/biomejs/biome/pull/9327 * perf: add `.skip(1)` to `.ancestors()` calls in a bunch of places by @dyc3 in https://github.com/biomejs/biome/pull/9330 * perf(noEmptyBlockStatements): short circuit to avoid traversing descendants for comments by @dyc3 in https://github.com/biomejs/biome/pull/9329 * fix: lowercase component member expressions in Astro/Svelte by @sepagian in https://github.com/biomejs/biome/pull/9302 * chore: align parser options struct name by @Netail in https://github.com/biomejs/biome/pull/9332 * feat(css): use ScssExpression in ScssNestingDeclaration and CssGenericProperty by @denbezrukov in https://github.com/biomejs/biome/pull/9328 * refactor(css): align scss expression node variants by @denbezrukov in https://github.com/biomejs/biome/pull/9340 * feat(css): use expression in page by @denbezrukov in https://github.com/biomejs/biome/pull/9342 * ci: release by @github-actions[bot] in https://github.com/biomejs/biome/pull/9301 ## New Contributors * @sepagian made their first contribution in https://github.com/biomejs/biome/pull/9302 **Full Changelog**: https://github.com/biomejs/biome/compare/@biomejs/[email protected]...@biomejs/[email protected]