Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Sep 8, 2025

This PR contains the following updates:

Package Change Age Confidence
@biomejs/biome (source) ^2.2.2 -> ^2.2.3 age confidence
@module-federation/enhanced (source) ^0.18.3 -> ^0.18.4 age confidence
@module-federation/rsbuild-plugin (source) ^0.18.3 -> ^0.18.4 age confidence
@module-federation/storybook-addon (source) ^4.0.27 -> ^4.0.28 age confidence
@reduxjs/toolkit (source) ^2.8.2 -> ^2.9.0 age confidence
@rsbuild/core (source) ~1.5.3 -> ~1.5.4 age confidence
@rslint/core ^0.1.12 -> ^0.1.13 age confidence
@rspress/core (source) 2.0.0-beta.30 -> 2.0.0-beta.31 age confidence
@rspress/plugin-algolia (source) 2.0.0-beta.30 -> 2.0.0-beta.31 age confidence
@rspress/plugin-llms (source) 2.0.0-beta.30 -> 2.0.0-beta.31 age confidence
@rspress/plugin-rss (source) 2.0.0-beta.30 -> 2.0.0-beta.31 age confidence
@rspress/plugin-sitemap (source) 2.0.0-beta.30 -> 2.0.0-beta.31 age confidence
@rstest/core (source) ^0.3.1 -> ^0.3.2 age confidence
@shikijs/transformers (source) ^3.12.1 -> ^3.12.2 age confidence
@storybook/addon-docs (source) ^9.1.4 -> ^9.1.5 age confidence
@storybook/addon-links (source) ^9.1.4 -> ^9.1.5 age confidence
@storybook/addon-onboarding (source) ^9.1.4 -> ^9.1.5 age confidence
@storybook/react (source) ^9.1.4 -> ^9.1.5 age confidence
@storybook/vue3 (source) ^9.1.4 -> ^9.1.5 age confidence
@types/node (source) ^22.18.0 -> ^22.18.1 age confidence
@typescript/native-preview (source) 7.0.0-dev.20250904.1 -> 7.0.0-dev.20250907.1 age confidence
create-rstack 1.5.6 -> 1.6.0 age confidence
prebundle 1.4.1 -> 1.4.2 age confidence
storybook (source) ^9.1.4 -> ^9.1.5 age confidence
tinyglobby (source) ^0.2.14 -> ^0.2.15 age confidence
vue (source) ^3.5.20 -> ^3.5.21 age confidence

Release Notes

biomejs/biome (@​biomejs/biome)

v2.2.3

Compare Source

Patch Changes
  • #​7353 4d2b719 Thanks @​JeetuSuthar! - Fixed #​7340: The linter now allows the navigation property for view-transition in CSS.

    Previously, the linter incorrectly flagged navigation: auto as an unknown property. This fix adds navigation to the list of known CSS properties, following the CSS View Transitions spec.

  • #​7275 560de1b Thanks @​arendjr! - Fixed #​7268: Files that are explicitly passed as CLI arguments are now correctly ignored if they reside in an ignored folder.

  • #​7358 963a246 Thanks @​ematipico! - Fixed #​7085, now the rule noDescendingSpecificity correctly calculates the specificity of selectors when they are included inside a media query.

  • #​7387 923674d Thanks @​qraqras! - Fixed #​7381, now the useOptionalChain rule recognizes optional chaining using Yoda expressions (e.g., undefined !== foo && foo.bar).

  • #​7316 f9636d5 Thanks @​Conaclos! - Fixed #​7289. The rule useImportType now inlines import type into import { type } when the style option is set to inlineType.

    Example:

    import type { T } from "mod";
    // becomes
    import { type T } from "mod";
  • #​7350 bb4d407 Thanks @​siketyan! - Fixed #​7261: two characters (KATAKANA MIDDLE DOT, U+30FB) and (HALFWIDTH KATAKANA MIDDLE DOT, U+FF65) are no longer considered as valid characters in identifiers. Property keys containing these character(s) are now preserved as string literals.

  • #​7377 811f47b Thanks @​ematipico! - Fixed a bug where the Biome Language Server didn't correctly compute the diagnostics of a monorepo setting, caused by an incorrect handling of the project status.

  • #​7245 fad34b9 Thanks @​kedevked! - Added the new lint rule useConsistentArrowReturn.

    This rule enforces a consistent return style for arrow functions.

Invalid
const f = () => {
  return 1;
};

This rule is a port of ESLint's arrow-body-style rule.

  • #​7370 e8032dd Thanks @​fireairforce! - Support dynamic import defer and import source. The syntax looks like:

    import.source("foo");
    import.source("x", { with: { attr: "val" } });
    import.defer("foo");
    import.defer("x", { with: { attr: "val" } });
  • #​7369 b1f8cbd Thanks @​siketyan! - Range suppressions are now supported for Grit plugins.

    For JavaScript, you can suppress a plugin as follows:

    // biome-ignore-start lint/plugin/preferObjectSpread: reason
    Object.assign({ foo: "bar" }, baz);
    // biome-ignore-end lint/plugin/preferObjectSpread: reason

    For CSS, you can suppress a plugin as follows:

    body {
      /* biome-ignore-start lint/plugin/useLowercaseColors: reason */
      color: #fff;
      /* biome-ignore-end lint/plugin/useLowercaseColors: reason */
    }
  • #​7384 099507e Thanks @​ematipico! - Reduced the severity of certain diagnostics emitted when Biome deserializes the configuration files.
    Now these diagnostics are emitted as Information severity, which means that they won't interfere when running commands with --error-on-warnings

  • #​7302 2af2380 Thanks @​unvalley! - Fixed #​7301: useReadonlyClassProperties now correctly skips JavaScript files.

  • #​7288 94d85f8 Thanks @​ThiefMaster! - Fixed #​7286. Files are now formatted with JSX behavior when javascript.parser.jsxEverywhere is explicitly set.

    Previously, this flag was only used for parsing, but not for formatting, which resulted in incorrect formatting of conditional expressions when JSX syntax is used in .js files.

  • #​7311 62154b9 Thanks @​qraqras! - Added the new nursery rule noUselessCatchBinding. This rule disallows unnecessary catch bindings.

    try {
        // Do something
    - } catch (unused) {}
    + } catch {}
  • #​7349 45c1dfe Thanks @​ematipico! - Fixed #​4298. Biome now correctly formats CSS declarations when it contains one single value:

    .bar {
    -  --123456789012345678901234567890: var(--1234567890123456789012345678901234567);
    +  --123456789012345678901234567890: var(
    +    --1234567890123456789012345678901234567
    +  );
    }
  • #​7295 7638e84 Thanks @​ematipico! - Fixed #​7130. Removed the emission of a false-positive diagnostic. Biome no longer emits the following diagnostic:

    lib/main.ts:1:5 suppressions/unused ━━━━━━━━━━━━━━━━━━━━━━━━━
    
      ⚠ Suppression comment has no effect because the tool is not enabled.
    
      > 1 │ /** biome-ignore-all assist/source/organizeImports: For the lib root file, we don't want to organize exports */
          │     ^^^^^^^^^^^^^^^^
    
    
  • #​7377 811f47b Thanks @​ematipico! - Fixed #​7371 where the Biome Language Server didn't correctly recompute the diagnostics when updating a nested configuration file.

  • #​7348 ac27fc5 Thanks @​ematipico! - Fixed #​7079. Now the rule useSemanticElements doesn't trigger components and custom elements.

  • #​7389 ab06a7e Thanks @​Conaclos! - Fixed #​7344. useNamingConvention no longer reports interfaces defined in global declarations.

    Interfaces declared in global declarations augment existing interfaces.
    Thus, they must be ignored.

    In the following example, useNamingConvention reported HTMLElement.
    It is now ignored.

    export {};
    declare global {
      interface HTMLElement {
        foo(): void;
      }
    }
  • #​7315 4a2bd2f Thanks @​vladimir-ivanov! - Fixed #​7310: useReadonlyClassProperties correctly handles nested assignments, avoiding false positives when a class property is assigned within another assignment expression.

    Example of code that previously triggered a false positive but is now correctly ignored:

    class test {
      private thing: number = 0; // incorrectly flagged
    
      public incrementThing(): void {
        const temp = { x: 0 };
        temp.x = this.thing++;
      }
    }
module-federation/core (@​module-federation/enhanced)

v0.18.4

Compare Source

Patch Changes
module-federation/core (@​module-federation/rsbuild-plugin)

v0.18.4

Compare Source

Patch Changes
module-federation/core (@​module-federation/storybook-addon)

v4.0.28

Patch Changes
reduxjs/redux-toolkit (@​reduxjs/toolkit)

v2.9.0

Compare Source

This feature release rewrites RTK Query's internal subscription and polling systems and the useStableQueryArgs hook for better perf, adds automatic AbortSignal handling to requests still in progress when a cache entry is removed, fixes a bug with the transformResponse option for queries, adds a new builder.addAsyncThunk method, and fixes assorted other issues.

Changelog

RTK Query Performance Improvements

We had reports that RTK Query could get very slow when there were thousands of subscriptions to the same cache entry. After investigation, we found that the internal polling logic was attempting to recalculate the minimum polling time after every new subscription was added. This was highly inefficient, as most subscriptions don't change polling settings, and it required repeated O(n) iteration over the growing list of subscriptions. We've rewritten that logic to debounce the update check and ensure a max of one polling value update per tick for the entire API instance.

Related, while working on the request abort changes, testing showed that use of plain Records to hold subscription data was inefficient because we have to iterate keys to check size. We've rewritten the subscription handling internals to use Maps instead, as well as restructuring some additional checks around in-flight requests.

These two improvements drastically improved runtime perf for the thousands-of-subscriptions-one-cache-entry repro, eliminating RTK methods as visible hotspots in the perf profiles. It likely also improves perf for general usage as well.

We've also changed the implementation of our internal useStableQueryArgs hook to avoid calling serializeQueryArgs on its value, which can avoid potential perf issues when a query takes a very large object as its cache key.

[!NOTE]
The internal logic switched from serializing the query arg to doing reference checks on nested values. This means that if you are passing a non-POJO value in a query arg, such as useSomeQuery({a: new Set()}), and you have refetchOnMountOrArgChange enabled, this will now trigger refeteches each time as the Set references are now considered different based on equality instead of serialization.

Abort Signal Handling on Cleanup

We've had numerous requests over time for various forms of "abort in-progress requests when the data is no longer needed / params change / component unmounts / some expensive request is taking too long". This is a complex topic with multiple potential use cases, and our standard answer has been that we don't want to abort those requests - after all, cache entries default to staying in memory for 1 minute after the last subscription is removed, so RTKQ's cache can still be updated when the request completes. That also means that it doesn't make sense to abort a request "on unmount".

However, it does then make sense to abort an in-progress request if the cache entry itself is removed. Given that, we've updated our cache handling to automatically call the existing resPromise.abort() method in that case, triggering the AbortSignal attached to the baseQuery. The handling at that point depends on your app - fetchBaseQuery should handle that, a custom baseQuery or queryFn would need to listen to the AbortSignal.

We do have an open issue asking for further discussions of potential abort / cancelation use cases and would appreciate further feedback.

New Options

The builder callback used in createReducer and createSlice.extraReducers now has builder.addAsyncThunk available, which allows handling specific actions from a thunk in the same way that you could define a thunk inside createSlice.reducers:

        const slice = createSlice({
          name: 'counter',
          initialState: {
            loading: false,
            errored: false,
            value: 0,
          },
          reducers: {},
          extraReducers: (builder) =>
            builder.addAsyncThunk(asyncThunk, {
              pending(state) {
                state.loading = true
              },
              fulfilled(state, action) {
                state.value = action.payload
              },
              rejected(state) {
                state.errored = true
              },
              settled(state) {
                state.loading = false
              },
            }),
        })

createApi and individual endpoint definitions now accept a skipSchemaValidation option with an array of schema types to skip, or true to skip validation entirely (in case you want to use a schema for its types, but the actual validation is expensive).

Bug Fixes

The infinite query implementation accidentally changed the query internals to always run transformResponse if provided, including if you were using upsertQueryData(), which then broke. It's been fixed to only run on an actual query request.

The internal changes to the structure of the state.api.provided structure broke our handling of extractRehydrationInfo - we've updated that to handle the changed structure.

The infinite query status fields like hasNextPage are now a looser type of boolean initially, rather than strictly false.

TS Types

We now export Immer's WritableDraft type to fix another non-portable types issue.

We've added an api.endpoints.myEndpoint.types.RawResultType types-only field to match the other available fields.

What's Changed

Full Changelog: reduxjs/redux-toolkit@v2.8.2...v2.9.0

web-infra-dev/rsbuild (@​rsbuild/core)

v1.5.4

Compare Source

What's Changed
New Features 🎉
Bug Fixes 🐞
Document 📖
Other Changes

Full Changelog: web-infra-dev/rsbuild@v1.5.3...v1.5.4

web-infra-dev/rslint (@​rslint/core)

v0.1.13

Compare Source

What's Changed

Full Changelog: web-infra-dev/rslint@v0.1.12...v0.1.13

web-infra-dev/rspress (@​rspress/core)

v2.0.0-beta.31

Compare Source

What's Changed
New Features 🎉
Bug Fixes 🐞
Document 📖
Other Changes

Full Changelog: web-infra-dev/rspress@v2.0.0-beta.30...v2.0.0-beta.31

web-infra-dev/rstest (@​rstest/core)

v0.3.2

Compare Source

What's Changed

New Features 🎉
Document 📖
Other Changes

Full Changelog: web-infra-dev/rstest@v0.3.1...v0.3.2

shikijs/shiki (@​shikijs/transformers)

v3.12.2

Compare Source

   🐞 Bug Fixes
    View changes on GitHub
storybookjs/storybook (@​storybook/addon-docs)

v9.1.5

Compare Source

storybookjs/storybook (@​storybook/addon-onboarding)

v9.1.5

Compare Source

9.1.5

microsoft/typescript-go (@​typescript/native-preview)

v7.0.0-dev.20250907.1

Compare Source

v7.0.0-dev.20250906.1

Compare Source

rspack-contrib/create-rstack (create-rstack)

v1.6.0

Compare Source

What's Changed

New Contributors

Full Changelog: rspack-contrib/create-rstack@v1.5.6...v1.6.0

rspack-contrib/prebundle (prebundle)

v1.4.2

Compare Source

What's Changed

Full Changelog: rspack-contrib/prebundle@v1.4.1...v1.4.2

SuperchupuDev/tinyglobby (tinyglobby)

v0.2.15

Compare Source

Added
  • Documentation page at <

Configuration

📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


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

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

@netlify
Copy link

netlify bot commented Sep 8, 2025

Deploy Preview for rslib ready!

Name Link
🔨 Latest commit a3228fc
🔍 Latest deploy log https://app.netlify.com/projects/rslib/deploys/68be7c737bf02d00083bfaf3
😎 Deploy Preview https://deploy-preview-1207--rslib.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@renovate renovate bot force-pushed the renovate/all-non-major branch from 01d9ea8 to e77d9dc Compare September 8, 2025 04:26
@renovate renovate bot force-pushed the renovate/all-non-major branch from e77d9dc to a3228fc Compare September 8, 2025 06:49
@Timeless0911 Timeless0911 merged commit dbe9aea into main Sep 8, 2025
14 checks passed
@Timeless0911 Timeless0911 deleted the renovate/all-non-major branch September 8, 2025 08:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants