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

Biome CLI v2.5.4

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: Improved the performance of the HTML parser slightly in our synthetic benchmarks.

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)

  • feat(yml/fmt): basic block properties
  • feat(useSortedClasses): sort important-suffix classes in sort_v4
  • feat(inference): inference engine via salsa

โšก Performance & Enhancements (1)

  • perf(lint/html): avoid string comparisons for tag names

๐Ÿ”ง Bug Fixes & Patches (6)

  • Improved the performance of the HTML parser slightly in our synthetic benchmarks.
  • Fixed #6392: On-type formatting no longer moves comments before an `if` statement into its body.
  • Fixed #10930: `noLabelWithoutControl` now correctly detects text interpolation in Astro, Svelte & Vue as valid accessible content.
  • Fixed #10942: Svelte directives don't throw an accidental debug log anymore.
  • Fixed #9196: `biome check --write --unsafe` no longer hangs forever when applying the `noCommentText` code fix.
  • Fixed `#10885`: prevented a module-inference regression introduced by a housekeeping change.
๐Ÿ“„ View Raw Release Notes (Original Developer Log)
## 2.5.4 ### Patch Changes - [#10665](https://github.com/biomejs/biome/pull/10665) [`55ff995`](https://github.com/biomejs/biome/commit/55ff995098148446b7e7fdfc19053902bb987122) Thanks [@dyc3](https://github.com/dyc3)! - Improved the performance of the HTML parser slightly in our synthetic benchmarks. - [#10894](https://github.com/biomejs/biome/pull/10894) [`f4fb10e`](https://github.com/biomejs/biome/commit/f4fb10e176e537e8ce2cac0c3fd4c38a77f91886) Thanks [@ematipico](https://github.com/ematipico)! - Fixed [#6392](https://github.com/biomejs/biome/issues/6392): On-type formatting no longer moves comments before an `if` statement into its body. - [#10939](https://github.com/biomejs/biome/pull/10939) [`f2799db`](https://github.com/biomejs/biome/commit/f2799db38e3d8a644207d9b8f957abea6cb3d9fa) Thanks [@Netail](https://github.com/Netail)! - Fixed [#10930](https://github.com/biomejs/biome/issues/10930): [`noLabelWithoutControl`](https://biomejs.dev/linter/rules/no-label-without-control/) now correctly detects text interpolation in Astro, Svelte & Vue as valid accessible content. - [#10945](https://github.com/biomejs/biome/pull/10945) [`ae15d98`](https://github.com/biomejs/biome/commit/ae15d98bbf2222fbb34e3e31832cba9676a6d01c) Thanks [@Netail](https://github.com/Netail)! - Fixed [#10942](https://github.com/biomejs/biome/issues/10942): Svelte directives don't throw an accidental debug log anymore. - [#10842](https://github.com/biomejs/biome/pull/10842) [`5e1abfe`](https://github.com/biomejs/biome/commit/5e1abfee59155b5fdca8813314371ed54c06acfb) Thanks [@JamBalaya56562](https://github.com/JamBalaya56562)! - Fixed [#9196](https://github.com/biomejs/biome/issues/9196): `biome check --write --unsafe` no longer hangs forever when applying the [`noCommentText`](https://biomejs.dev/linter/rules/no-comment-text/) code fix. The rule's fix now wraps the comment in a real JSX expression container (`{/* comment */}`) instead of re-inserting the braces as plain JSX text, so the fixed code is no longer reported again by the same rule. - [#10891](https://github.com/biomejs/biome/pull/10891) [`ecca79e`](https://github.com/biomejs/biome/commit/ecca79e8ff10f40aa676212c0db0a970c6091615) Thanks [@ematipico](https://github.com/ematipico)! - Fixed [`#10885`](https://github.com/biomejs/biome/issues/10885): prevented a module-inference regression introduced by a housekeeping change. - [#10886](https://github.com/biomejs/biome/pull/10886) [`60c8043`](https://github.com/biomejs/biome/commit/60c8043527f7ccc7b505471e1042f2a4324e4d31) Thanks [@dyc3](https://github.com/dyc3)! - Fixed [#10727](https://github.com/biomejs/biome/issues/10727): Biome now breaks the arguments of curried `test.each`, `it.each`, `describe.each`, and `test.for` calls when they exceed the configured line width. ```diff - test.each([[1, 2]])("a description that is long enough to push the hugged opening line beyond the print width", (a, b) => { - expect(a).toBe(b); - }); + test.each([[1, 2]])( + "a description that is long enough to push the hugged opening line beyond the print width", + (a, b) => { + expect(a).toBe(b); + }, + ); ``` - [#10895](https://github.com/biomejs/biome/pull/10895) [`01a85f0`](https://github.com/biomejs/biome/commit/01a85f04b09f0af05b16a15c137421e312ceada5) Thanks [@ematipico](https://github.com/ematipico)! - Biome will now remove stale Unix daemon sockets from older Biome versions when starting a newer daemon. ## What's Changed * feat(yml/fmt): basic block properties by @ematipico in https://github.com/biomejs/biome/pull/10873 * feat(useSortedClasses): sort important-suffix classes in sort_v4 by @johncarmack1984 in https://github.com/biomejs/biome/pull/10880 * fix(format/js): wrap curried test each calls by @dyc3 in https://github.com/biomejs/biome/pull/10886 * fix(markdown): parse whitespace after list markers by @tidefield in https://github.com/biomejs/biome/pull/10869 * fix(inference): use correct function when cloning data by @ematipico in https://github.com/biomejs/biome/pull/10891 * docs(noDuplicateProperties): note that @keyframes declarations are ignored by @dfedoryshchev in https://github.com/biomejs/biome/pull/10893 * fix(lint): prevent noCommentText fix from looping forever by @JamBalaya56562 in https://github.com/biomejs/biome/pull/10842 * fix(core): cleanup old sockets in Unix by @ematipico in https://github.com/biomejs/biome/pull/10895 * feat(inference): inference engine via salsa by @ematipico in https://github.com/biomejs/biome/pull/10888 * chore(deps): update dependency @types/node to v24.13.3 by @renovate[bot] in https://github.com/biomejs/biome/pull/10920 * chore(deps): update github-actions by @renovate[bot] in https://github.com/biomejs/biome/pull/10921 * chore(deps): update pnpm to v11.11.0 by @renovate[bot] in https://github.com/biomejs/biome/pull/10925 * chore(deps): update rust crate jiff to 0.2.32 by @renovate[bot] in https://github.com/biomejs/biome/pull/10923 * chore(deps): update rust crate regex to 1.13.0 by @renovate[bot] in https://github.com/biomejs/biome/pull/10926 * fix(fmt): don't move comments inside if statement by @ematipico in https://github.com/biomejs/biome/pull/10894 * fix(html_analyze): noLabelWithoutControl interpolation by @Netail in https://github.com/biomejs/biome/pull/10939 * refactor(parse/html): keywords for all html/svg tags by @dyc3 in https://github.com/biomejs/biome/pull/10665 * perf(lint/html): avoid string comparisons for tag names by @dyc3 in https://github.com/biomejs/biome/pull/10692 * fix: accidental debug log by @Netail in https://github.com/biomejs/biome/pull/10945 * ci: release by @github-actions[bot] in https://github.com/biomejs/biome/pull/10887 **Full Changelog**: https://github.com/biomejs/biome/compare/@biomejs/[email protected]...@biomejs/[email protected]