2.4.10
Patch Changes
-
#8838
f3a6a6bThanks @baeseokjae! - Added new lint nursery rulenoImpliedEval.The rule detects implied
eval()usage through functions likesetTimeout,setInterval, andsetImmediatewhen called with string arguments.// Invalid setTimeout("alert('Hello');", 100); // Valid setTimeout(() => alert("Hello"), 100);
-
#9320
93c3b6cThanks @taberoajorge! - Fixed #7664:noUnusedVariablesno longer reports false positives for TypeScript namespace declarations that participate in declaration merging with an exported or used value declaration (const,function, orclass) of the same name. The reverse direction is also handled: a value declaration merged with an exported namespace is no longer flagged. -
#9630
1dd4a56Thanks @raashish1601! - Fixed #9629:noNegationElsenow keeps ternary branch comments attached to the correct branch when applying its fixer. -
#9216
04243b0Thanks @FrederickStempfle! - Fixed #9061:noProcessEnvnow also detectsprocess.envwhenprocessis imported from the"process"or"node:process"modules.Previously, only the global
processobject was flagged:import process from "node:process"; // This was not flagged, but now it is: console.log(process.env.NODE_ENV);
-
#9692
61b7ec5Thanks @mkosei! - Fixed Svelte#eachdestructuring parsing and formatting for nested patterns such as[key, { a, b }]. -
#9627
06a0f35Thanks @ematipico! - Fixed #191: Improved the performance of how the Biome Language Server pulls code actions and diagnostics.Before, code actions were pulled and computed all at once in one request. This approach couldn't work in big files, and caused Biome to stale and have CPU usage spikes up to 100%.
Now, code actions are pulled and computed lazily, and Biome won't choke anymore in big files.
-
#9643
5bfee36Thanks @dyc3! - Fixed #9347:useVueValidVBindno longer reports valid object bindings likev-bind="props". -
#9627
06a0f35Thanks @ematipico! - Fixed assist diagnostics being invisible when using--diagnostic-level=error. Enforced assist violations (e.g.useSortedKeys) were filtered out before being promoted to errors, causingbiome checkto incorrectly return success. -
#9695
9856a87Thanks @dyc3! - Added the new nursery rulenoUnsafePlusOperands, which reports+and+=operations that use object-like,symbol,unknown, orneveroperands, or that mixnumberwithbigint. -
#9627
06a0f35Thanks @ematipico! - Fixed duplicate parse errors incheckandcioutput. When a file had syntax errors, the same parse error was printed twice and the error count was inflated. -
#9627
06a0f35Thanks @ematipico! - Improved the performance of the commandslintandcheckwhen they are called with--write. -
#9627
06a0f35Thanks @ematipico! - Fixed--diagnostic-levelnot fully filtering diagnostics. Setting--diagnostic-level=errornow correctly excludes warnings and infos from both the output and the summary counts. -
#9623
13b3261Thanks @ematipico! - Fixed #9258:--skipno longer causessuppressions/unusedwarnings for suppression comments targeting skipped rules or domains. -
#9631
599dd04Thanks @raashish1601! - Fixed #9625:experimentalEmbeddedSnippetsEnabledno longer crashes when a file mixes formatable CSS-in-JS templates with tagged templates that the embedded formatter can't currently delegate, such as a styled-components interpolation returning `css```.
What's Changed
- feat(linter): add
noImpliedEvalrule by @baeseokjae in #8838 - fix(linter): detect process.env when process is imported from module by @FrederickStempfle in #9216
- fix(cli): skip with domains should not report by @ematipico in #9623
- fix: avoid unresolved embedded CSS tag ranges by @raashish1601 in #9631
- chore(deps): update dependency happy-dom to v20.8.8 [security] by @renovate[bot] in #9628
- fix(cli): improve code actions filtering by @ematipico in #9627
- fix(lint): preserve ternary branch comments in noNegationElse by @raashish1601 in #9630
- fix(markdown-parser): incorrect inline link R_PAREN token range by @jfmcdowell in #9642
- fix(useVueValidVBind): don't flag missing arguments by @dyc3 in #9643
- chore(deps): update rust crate terminal_size to 0.4.4 by @raashish1601 in #9646
- test(markdown-parser): add criterion benchmarks and CI workflow by @jfmcdowell in #9657
- chore(deps): update dependency happy-dom to v20.8.9 [security] by @renovate[bot] in #9694
- chore(Cargo.toml): clean up, compile insta in opt-level=3 by @Conaclos in #9698
- fix(lint): handle namespace declaration merging in noUnusedVariables by @taberoajorge in #9320
- feat(md/fmt): links, codeblocks by @ematipico in #9699
- fix(html): support nested svelte each destructuring by @mkosei in #9692
- feat(lint/js): add
noUnsafePlusOperandsby @dyc3 in #9695 - chore(deps): update rust crate papaya to 0.2.4 by @renovate[bot] in #9707
- chore(deps): update rust crate rustc-hash to 2.1.2 by @renovate[bot] in #9710
- chore(deps): update rust crate boa_engine to 0.21.1 by @renovate[bot] in #9706
- chore(deps): update dependency tombi to v0.9.8 by @renovate[bot] in #9705
- chore(deps): update dependency rust to v1.94.1 by @renovate[bot] in #9704
- chore(deps): update dependency dprint to v0.53.1 by @renovate[bot] in #9703
- chore(deps): update rust crate quickcheck_macros to 1.2.0 by @renovate[bot] in #9601
- chore: update sponsors by @ematipico in #9714
- ci: release by @github-actions[bot] in #9622
New Contributors
- @raashish1601 made their first contribution in #9631
- @taberoajorge made their first contribution in #9320
- @mkosei made their first contribution in #9692
Full Changelog: https://github.com/biomejs/biome/compare/@biomejs/biome@2.4.9...@biomejs/biome@2.4.10