Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Feb 12, 2026

This PR contains the following updates:

Package Change Age Confidence
@biomejs/biome (source) 2.3.142.3.15 age confidence

Release Notes

biomejs/biome (@​biomejs/biome)

v2.3.15

Compare Source

Patch Changes
  • #​9019 043b67c Thanks @​dyc3! - Added the lint rule noNestedPromises. This rule detects nested .then() or .catch() calls that could be refactored into flat promise chains.

    // Invalid: nested promise that can be flattened
    doThing().then(function () {
      return doOtherThing().then(console.log);
    });
    
    // Valid: flat promise chain
    doThing()
      .then(() => doOtherThing())
      .then(console.log);

    The rule intelligently allows nesting when the inner callback references variables from the outer scope, as these cases cannot be safely flattened.

  • #​9029 6ebf6c6 Thanks @​ff1451! - Added the nursery rule noUselessReturn. The rule reports redundant return; statements that don't affect the function's control flow.

    // Invalid: return at end of function is redundant
    function foo() {
      doSomething();
      return;
    }
  • #​9017 8bac2da Thanks @​mdevils! - Reverted a behavior change in useExhaustiveDependencies that was accidentally included as part of the #​8802 fix. The change made method calls on objects (e.g., props.data.forEach(...)) report only the object (props.data) as a missing dependency instead of the full member expression. This behavior change will be reconsidered separately.

  • #​9005 c8dbbbe Thanks @​corvid-agent! - Fixed #​8790: The noAssignInExpressions rule no longer reports a false positive when an assignment is used as the expression body of an arrow function (e.g., const f = b => a += b).

  • #​8519 ccdc602 Thanks @​ruidosujeira! - Fixed #​8518, where globally excluded files in a monorepo were still being processed when using "extends": "//".

    When a package-level configuration extends the root configuration with "extends": "//", glob patterns (such as those in files.includes) are now correctly resolved relative to the project root directory, instead of the current workspace directory.

  • #​9033 0628e0a Thanks @​mdevils! - Fixed #​8967. useExhaustiveDependencies no longer reports false positives for variables destructured from a rest pattern.

  • #​9023 8ef9d1d Thanks @​siketyan! - Fixed #​9020: When javascript.jsxRuntime is set to reactClassic, noUnusedImports and useImportType rules now allow importing the React identifier from a package other than react. This aligns the behavior with tsc (--jsx=react), which also allows importing React from any package.

  • #​8646 16fd71d Thanks @​siketyan! - Fixed #​8605: Text expressions in some template languages ({{ expr }} or { expr }) at the top level of an HTML document no longer causes panicking.

  • #​8930 51c158e Thanks @​ANKANJAGTAP! - Fixed #​8917
    useExhaustiveDependencies now correctly detects JSX component identifiers as hook dependencies.

  • #​9009 7d229c7 Thanks @​Netail! - Fixed typo in noPositiveTabindex's quick fix text.

  • #​8758 8c789f1 Thanks @​Pranav2612000! - Updated the useJsxKeyInIterable rule to not run inside Map constructors

  • #​8977 bbe0e0c Thanks @​FrankFMY! - Fixed #​4888.
    noUnusedImports now adds export {} when removing the last import in a TypeScript file to prevent it from becoming an ambient module. This does not apply to embedded scripts in Vue, Svelte, or Astro files, which are already in a module context.

  • #​9016 9d4cfa3 Thanks @​dyc3! - Added eslint migration metadata for the rules @typescript/no-var-requires, @typescript/keyword-spacing, @typescript/func-call-spacing, vue/keyword-spacing, vue/func-call-spacing, and unicorn/empty-brace-spaces,

  • #​8848 2cba2b3 Thanks @​LouisLau-art! - Fixed #​8845. Now useGenericFontNames doesn't trigger when font is declared inside the @supports at-rule.

  • #​8997 a5f3212 Thanks @​mldangelo! - Fixed #​8476.
    useAwaitThenable no longer reports false positives for await on call expressions whose return type cannot be resolved (e.g., cross-module function calls to Node.js builtins or npm packages).

  • #​8978 cc7a478 Thanks @​FrankFMY! - Fixed #​8645.
    useAwait no longer reports async generator functions that use yield*, since yield* in an async generator delegates to an AsyncIterable and requires the async modifier.


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot merged commit 7f290e8 into main Feb 12, 2026
2 checks passed
@renovate renovate bot deleted the renovate/biomejs-biome-2.x branch February 12, 2026 19:38
@lbenie
Copy link
Owner

lbenie commented Feb 12, 2026

🎉 This PR is included in version 2.1.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant