fix(migrate): avoid trailing comma when a renamed rule is last in its group by @tom-groves in https://github.com/biomejs/biome/pull/10626
refactor(migrate): remove dead code by @Conaclos in https://github.com/biomejs/biome/pull/10717
@biomejs/js-api@6.0.0
2026-06-12
⚠ Potential breaking changes
docs: remove duplicate sentence by @Netail in https://github.com/biomejs/biome/pull/9832
feat(migrate): map ESLint spacing rules to delimiterSpacing by @luisherranz in https://github.com/biomejs/biome/pull/9724
ci: remove cli benchmark by @ematipico in https://github.com/biomejs/biome/pull/10526
fix(a11y): useAriaPropsForRole no longer false-positives on Vue v-bind shorthand 🤖🤖🤖 by @harsha-cpp in https://github.com/biomejs/biome/pull/10568
fix(markdown): remove unused hard_line slot from MdParagraph by @jfmcdowell in https://github.com/biomejs/biome/pull/10593
fix(markdown): remove dead syntax kinds and fix bogus node handling by @jfmcdowell in https://github.com/biomejs/biome/pull/10600
refactor: removes mutex from salsa db by @ematipico in https://github.com/biomejs/biome/pull/10608
refactor(formatter): introduce the SourcePosition element and remove source position from Text and LocatedTokenText variant by @denbezrukov in https://github.com/biomejs/biome/pull/8012
@biomejs/biome@2.5.0
2026-06-12
⚠ Potential breaking changes
This new option is meant to replace `recommended`, so make sure to run the `migrate` command.
[`noRedundantAlt`](https://biomejs.dev/linter/rules/no-redundant-alt/) no longer emits false positives when the alt text contains an interpolation, e.g. `alt="image of {person}"`.
[`useButtonType`](https://biomejs.dev/linter/rules/use-button-type/) no longer emits false positives for dynamic button types written as `type="{dynamicType}"`.
[`noScriptUrl`](https://biomejs.dev/linter/rules/no-script-url/) no longer emits false positives for dynamic hrefs such as `href="{url}"`.
docs: remove duplicate sentence by @Netail in https://github.com/biomejs/biome/pull/9832
feat(migrate): map ESLint spacing rules to delimiterSpacing by @luisherranz in https://github.com/biomejs/biome/pull/9724
ci: remove cli benchmark by @ematipico in https://github.com/biomejs/biome/pull/10526
fix(a11y): useAriaPropsForRole no longer false-positives on Vue v-bind shorthand 🤖🤖🤖 by @harsha-cpp in https://github.com/biomejs/biome/pull/10568
@biomejs/biome@2.4.16
2026-05-27
⚠ Potential breaking changes
refactor(css_parser): remove `allow_css_ratio` from SCSS expression parsing functions by @denbezrukov in https://github.com/biomejs/biome/pull/10325
chore: remove benchmark from repository by @ematipico in https://github.com/biomejs/biome/pull/10355
fix(markdown_parser): break paragraph at sibling list marker without tab by @jfmcdowell in https://github.com/biomejs/biome/pull/10376
chore: remove dashmap from project by @ematipico in https://github.com/biomejs/biome/pull/10407
ci: remove checkout step from agentscan workflow by @MatteoGabriele in https://github.com/biomejs/biome/pull/10429
docs: remove outdated Caveats section in `useImportExtensions` by @Dotify71 in https://github.com/biomejs/biome/pull/10431
docs: remove redundant default phrase in `useConsistentObjectDefinitions` rule by @Dotify71 in https://github.com/biomejs/biome/pull/10430
ci: remove corepack by @ematipico in https://github.com/biomejs/biome/pull/10440
@biomejs/biome@2.4.15
2026-05-09
⚠ Potential breaking changes
fix(markdown_parser): preserve lazy emphasis and quoted thematic breaks by @jfmcdowell in https://github.com/biomejs/biome/pull/10228
fix(fmt/md): remove trailing spaces in markdown lists by @ematipico in https://github.com/biomejs/biome/pull/10290
@biomejs/biome@2.4.14
2026-05-01
⚠ Potential breaking changes
Biome also reports template-literal refs such as ``ref={`hello`}``, so React code can consistently migrate to callback refs, `createRef()`, or `useRef()`.
The following snippet is no longer flagged as a duplicate:
fix(analyzer): noUselessEscapeInRegex no longer flags `\\-` as useless by @jiwon79 in https://github.com/biomejs/biome/pull/10116
fix(noCommaOperator): remove vue v-for hack by @dyc3 in https://github.com/biomejs/biome/pull/10137
fix(assist): useSortedAttributes no longer corrupts nested JSX attributes by @jiwon79 in https://github.com/biomejs/biome/pull/10163
chore(markdown_parser): remove unused lexer contexts by @jfmcdowell in https://github.com/biomejs/biome/pull/10173
@biomejs/biome@2.4.13
2026-04-23
No breaking-change keywords detected in release notes.
@biomejs/biome@2.4.12
2026-04-14
⚠ Potential breaking changes
Biome now maps ESLint `no-magic-numbers` sources more accurately during `biome migrate eslint`.
fix(migrate): update some more rule metadata by @dyc3 in https://github.com/biomejs/biome/pull/9888
fix(markdown_parser): paragraph with trailing hard break absorbs following blank line by @jfmcdowell in https://github.com/biomejs/biome/pull/9931
fix(markdown_parser): restore leading-space stripping after hard line breaks by @jfmcdowell in https://github.com/biomejs/biome/pull/9934