Skip to content

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Nov 27, 2025

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or setup this action to publish automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@biomejs/[email protected]

Patch Changes

  • #8341 343dc4d Thanks @arendjr! - Added the nursery rule useAwaitThenable, which enforces that await is only used on Promise values.

    Invalid

    await "value";
    
    const createValue = () => "value";
    await createValue();

    Caution

    This is a first iteration of the rule, and does not yet detect generic "thenable" values.

  • #8034 e7e0f6c Thanks @Netail! - Added the nursery rule useRegexpExec. Enforce RegExp#exec over String#match if no global flag is provided.

  • #8137 d407efb Thanks @denbezrukov! - Reduced the internal memory used by the Biome formatter.

  • #8281 30b046f Thanks @tylersayshi! - Added the rule useRequiredScripts, which enforces presence of configurable entries in the scripts section of package.json files.

  • #8290 d74c8bd Thanks @dyc3! - The HTML formatter has been updated to match Prettier 3.7's behavior for handling <iframe>'s allow attribute.

    - <iframe allow="layout-animations 'none'; unoptimized-images 'none'; oversized-images 'none'; sync-script 'none'; sync-xhr 'none'; unsized-media 'none';"></iframe>
    + <iframe
    + 	allow="
    + 		layout-animations 'none';
    + 		unoptimized-images 'none';
    + 		oversized-images 'none';
    + 		sync-script 'none';
    + 		sync-xhr 'none';
    + 		unsized-media 'none';
    + 	"
    + ></iframe>
  • #8302 d1d5014 Thanks @mlafeldt! - Fixed #8109: return statements in Astro frontmatter no longer trigger "Illegal return statement" errors when using experimentalFullSupportEnabled.

  • #8346 f3aee1a Thanks @arendjr! - Fixed #8292: Implement tracking
    of types of TypeScript constructor parameter properties.

    This resolves certain false negatives in noFloatingPromises and other typed
    rules.

    Example

    class AsyncClass {
      async returnsPromise() {
        return "value";
      }
    }
    
    class ShouldBeReported {
      constructor(public field: AsyncClass) {}
      //          ^^^^^^^^^^^^----------------- Parameter property declaration
    
      async shouldBeReported() {
        // `noFloatingPromises` will now report the following usage:
        this.field.returnsPromise();
      }
    }
  • #8326 153e3c6 Thanks @ematipico! - Improved the rule noBiomeFirstException. The rule can now inspect if extended configurations already contain the catch-all ** inside files.includes and, if so, the rule suggests removing ** from the user configuration.

  • #8296 9d3ef10 Thanks @dyc3! - biome rage now shows if you have experimental HTML full support enabled.

  • #8281 30b046f Thanks @tylersayshi! - Fixed noDuplicateDependencies incorrectly triggering on files like _package.json.

  • #8315 c7915c4 Thanks @hirokiokada77! - Fixed #5213: The noDoneCallback rule no longer flags false positives when a method is called on a regular variable bound to identifiers such as before, after, beforeEach, and afterEach.

  • #8297 efa694c Thanks @Yonom! - Added support for negative value utilities in useSortedClasses. Negative value utilities such as -ml-2 or -top-4 are now recognized and sorted correctly alongside their positive counterparts.

    // Now detected as unsorted:
    <div class="-ml-2 p-4 -mt-1" />
    // Suggested fix:
    <div class="-mt-1 -ml-2 p-4" />
  • #8335 3710702 Thanks @dibashthapa! - Added the new nursery rule useDestructuring. This rule helps to encourage destructuring from arrays and objects.

    For example, the following code triggers because the variable name x matches the property foo.x, making it ideal for object destructuring syntax.

    var x = foo.x;
  • #8365 8f36051 Thanks @JacquesLeupin! - Fixed #8360: GritQL plugins defined in child configurations with extends: "//" now work correctly.

  • #8306 8de2774 Thanks @dibashthapa! - Fixed #8288: Fixed the issue with false positive errors

    This new change will ignore attribute and only show diagnostics for JSX Expressions

    For example

    Valid:

    <Something checked={isOpen && items.length} />

    Invalid:

    const Component = () => {
      return isOpen && items.length;
    };
  • #8356 f9673fc Thanks @ematipico! - Fixed #7917, where Biome removed the styles contained in a <style lang="scss">, when experimentalFullSupportEnabled is enabled.

  • #8249 893e36c Thanks @cormacrelf! - Addressed #7538. Reduced the
    volume of logging from the LSP server.

    Use biome clean to remove large logs.

  • #8303 db2c65b Thanks @hirokiokada77! - Fixed #8300: noUnusedImports now detects JSDoc tags on object properties.

    import type LinkOnObjectProperty from "mod";
    
    const testLinkOnObjectProperty = {
    	/**
    	 * {@link LinkOnObjectProperty}
    	 */
    	property: 0,
    };
  • #8328 9cf2332 Thanks @Netail! - Corrected rule source reference. biome migrate eslint should do a bit better detecting rules in your eslint configurations.

  • #8284 4976d1b Thanks @denbezrukov! - Improved the performance of the Biome Formatter by enabling the internal source maps only when needed.

  • #8260 a226b28 Thanks @ho991217! - Fixed biome-vscode#817: Biome now updates documents when the textDocument/didSave notification is received.

  • #7513 e039f3b Thanks @AsherDe! - Added the nursery rule noVueSetupPropsReactivityLoss.

    This new rule disallows usages that cause the reactivity of props passed to the setup function to be lost.

    Invalid code example:

    export default {
      setup({ count }) {
        // `count` is no longer reactive here.
        return () => h("div", count);
      },
    };

@biomejs/[email protected]

@biomejs/[email protected]

@biomejs/[email protected]

@biomejs/[email protected]

@biomejs/[email protected]

@biomejs/[email protected]

@biomejs/[email protected]

@biomejs/[email protected]

@biomejs/[email protected]

@biomejs/[email protected]

@biomejs/[email protected]

@biomejs/[email protected]

@github-actions github-actions bot force-pushed the changeset-release/main branch 25 times, most recently from 954d78d to 2b6e7f1 Compare December 4, 2025 15:37
@github-actions github-actions bot force-pushed the changeset-release/main branch 3 times, most recently from dfbcc31 to 6a1b181 Compare December 5, 2025 15:25
@github-actions github-actions bot force-pushed the changeset-release/main branch from 6a1b181 to 6587df7 Compare December 6, 2025 13:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment