2.4.8
Patch Changes
-
#9488
bc709f6Thanks @mvanhorn! - Fixed #9463: the "Biome found a configuration file outside of the current working directory" diagnostic now includes the configuration file path and the working directory, giving users actionable information to debug the issue. -
#9527
2f8bf80Thanks @mdm317! - Fixed #8959: Fixed TypeScript arrow function formatting when a comment appears after=>. -
#9525
e7b3b10Thanks @ViniciusDev26! - Added the rulenoDrizzleUpdateWithoutWhereto prevent accidental full-table updates when using Drizzle ORM without a.where()clause. -
#9531
1302740Thanks @ematipico! - Fixed #9187: Astro frontmatter containing regex literals with quotes (/'/,/"/) or dashes (/---/) no longer causes parse errors. -
#9535
b630d93Thanks @leno23! - Fixed #9524: remove extra space before>whenbracketSameLineis true and the self-closing slash is absent in HTML formatter. -
#9537
81e6306Thanks @ematipico! - Fixed #9238: The HTML parser no longer incorrectly reports---inside element content (e.g.<td>---</td>) as an "Unexpected value or character" error. -
#9532
4b64145Thanks @ematipico! - Fixed #9117:biome check --writeno longer falsely reports Svelte and Vue files as changed whenhtml.formatter.indentScriptAndStyleis enabled and the files are already correctly formatted. -
#9528
61451efThanks @ematipico! - Fixed #9341: Fixed an LSP crash that could corrupt file content when saving with format-on-save enabled. -
#9538
794f79cThanks @ematipico! - Fixed #9279: The rulenoSubstrnow detects.substr()and.substring()calls in all expression contexts, including variable declarations, function arguments, return statements, and arrow function bodies. -
#9462
c23272cThanks @ematipico! - Fixed #9370: The resolver now correctly prioritizes more specificexportspatterns over less specific ones. Previously, a pattern like"./*"could match before"./features/*", causing resolution failures for packages with overlapping subpath patterns. -
#9515
f85c069Thanks @shivamtiwari3! - Fixed #9506 and #9479: Biome no longer reports false parse errors on<script type="speculationrules">and<script type="application/ld+json">tags. These script types contain non-JavaScript content and are now correctly skipped by the embedded language detector. -
#9514
7fe43c8Thanks @ematipico! - Fixed #6964: Biome now correctly resolves the.gitignorefile relative tovcs.rootwhen configured. Previously, thevcs.rootsetting was ignored and Biome always looked for the ignore file in the workspace directory. -
#9521
af39936Thanks @ematipico! - Fixed #9483. Now the rulenoRedeclaredoesn't panic when it encounters constructor overloads. -
#9490
60cf024Thanks @willfarrell! - Added support for modern CSS properties, pseudo-classes, and pseudo-elements.New known properties:
dynamic-range-limit,overlay,reading-flow,reading-order,scroll-marker-group,scroll-target-group.New pseudo-elements:
::checkmark,::column,::picker,::picker-icon,::scroll-button,::scroll-marker,::scroll-marker-group.New pseudo-classes:
:active-view-transition-type,:has-slotted,:target-after,:target-before,:target-current. -
#9526
4d42823Thanks @ematipico! - Fixed #9358 and #9375. Now attributes that have text expressions such asclass={buttonClass()}are correctly tracked in Svelte files. -
#9520
61f53eeThanks @ematipico! - Fixed #9519. NownoUnusedVariablesdoesn't flag variables that are used astypeoftype. -
#9487
331dc0dThanks @mvanhorn! - Fixed #9477:source.fixAll.biomeno longer sorts imports whensource.organizeImports.biomeis disabled in editor settings. The organize imports action is now excluded from the fix-all pass unless explicitly requested. -
#9525
e7b3b10Thanks @ViniciusDev26! - Added the rulenoDrizzleDeleteWithoutWhereto prevent accidental full-table deletes when using Drizzle ORM without a.where()clause.
What's Changed
- fix(formatter/md): fix formatting for MdHardLine by @tidefield in #9480
- chore(deps): update rust:1.94.0-bookworm docker digest to 6a544e5 by @renovate[bot] in #9493
- chore(deps): update rust:1.94.0-bullseye docker digest to 9d1864f by @renovate[bot] in #9494
- chore(deps): update rust crate tracing-subscriber to 0.3.23 by @renovate[bot] in #9498
- chore(benchmark): upgrade to Debian 13 Trixie, Node.js 24 by @siketyan in #9499
- fix: missing rule source reference by @Netail in #9504
- chore: manually import dev dependencies by @ematipico in #9512
- test: infrastructure for embedded langauges by @ematipico in #9509
- feat(css): parse scss interpolated selector names by @denbezrukov in #9486
- feat(css): add support for modern CSS properties, pseudo-classes, and pseudo-elements by @willfarrell in #9490
- fix(html): skip unsupported <script> types instead of treating as JS (fixes #9506, #9479) by @shivamtiwari3 in #9515
- fix(semantic): regression in tracking scopes by @ematipico in #9521
- fix(noUnusedVariables): regression in previous refactor by @ematipico in #9520
- fix(diagnostic): include config path and CWD in ConfigurationOutsideProject by @mvanhorn in #9488
- fix(lsp): changes file corruption by @ematipico in #9528
- fix(embeds): track attributes text expressions by @ematipico in #9526
- fix(core): idempotence formatting html-ish files by @ematipico in #9532
- fix(ts/formatter): format comment after => in arrow functions by @mdm317 in #9527
- feat(lint): add noDrizzleDeleteWithoutWhere and noDrizzleUpdateWithoutWhere rules by @ViniciusDev26 in #9525
- fix(lsp): filter organizeImports from fixAll code action by @mvanhorn in #9487
- fix(parser/html): regex literals in frontmatter by @ematipico in #9531
- fix(core): vcs root resolution by @ematipico in #9514
- fix(resolver): patterns resolution by @ematipico in #9462
- feat(css): parse scss interpolation for selectors and declaration names by @denbezrukov in #9529
- fix(noSubstr): query more nodes by @ematipico in #9538
- fix(html-formatter): remove extra space before > when bracketSameLine… by @leno23 in #9535
- fix(html/parser): fence in html files by @ematipico in #9537
- ci: release by @github-actions[bot] in #9517
New Contributors
- @willfarrell made their first contribution in #9490
- @shivamtiwari3 made their first contribution in #9515
- @mvanhorn made their first contribution in #9488
- @ViniciusDev26 made their first contribution in #9525
- @leno23 made their first contribution in #9535
Full Changelog: https://github.com/biomejs/biome/compare/@biomejs/biome@2.4.7...@biomejs/biome@2.4.8