Skip to content

Conversation

RulaKhaled
Copy link
Member

Updating changelog for 10.18.0.

github-actions bot and others added 14 commits September 30, 2025 11:26
[Gitflow] Merge master into develop
# What

Fixes #17781 by adding the `sentry.config.client.ts` to the auto
generated tsconfig by extending the types via the [`prepare:types`
hook](https://nuxt.com/docs/4.x/guide/going-further/modules#adding-type-declarations).

This allows `useRuntimeConfig` to be properly typed in the root
`sentry.client.config.ts`, or where ever the client file is found.

Not sure how this could be tested tho, since it is purely types.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Adds a `prepare:types` hook to include the client Sentry config in
Nuxt’s generated `tsconfig` for proper typing.
> 
> - **Nuxt module (`packages/nuxt/src/module.ts`)**:
> - **Types setup**: Add `prepare:types` hook to ensure
`tsconfig.include` contains the relative path to the detected client
Sentry config (`sentry.client.config.ts`), enabling proper typing (e.g.,
`useRuntimeConfig`) in root config files for Nuxt v4.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
4de6d43. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
…#17736)

I’m introducing support for selectively suppressing specific errors.
This is done by adding a new option that allows users to override the
default logging modes. By passing this option down through the
configuration, users will have finer control over which errors are
logged versus ignored. Also added a default array for the errors,
addressing an issue where Vercel’s flush is called during abort, causing
unnecessary error logs.
…17664)

✅ This PR depends on #17625 and it should be reviewed only after that
one is merged.

This PR adds:
1. Streaming support for Google GenAI sdk instrumenting the following
methods:

      1. Models API Streaming 
- `models.generateContentStream()` - Stream content generation with
real-time chunks
      
      3. Chat API Streaming (chats.create)
- `chat.sendMessageStream()` - Stream chat responses with conversation
context
  
2. New tool calls attributes 
- GEN_AI_REQUEST_AVAILABLE_TOOLS_ATTRIBUTE - Captures available tools
from requests
- GEN_AI_RESPONSE_TOOL_CALLS_ATTRIBUTE - Captures function calls from
responses

---------

Co-authored-by: Andrei <[email protected]>
https://www.w3.org/TR/baggage/#example contains an example where
properties can include an `=`, e.g. `key3=value3;
propertyKey=propertyValue`

This PR updates our baggage parsing to not swallow these property values

closes #17845
- Adds `@apm-js-collab/tracing-hooks` as a dependency
- Integrations can register instrumentations which causes the
`@apm-js-collab/tracing-hooks` ESM hook and require patching to be
initialised later
- The `@apm-js-collab/*` dependencies only get included in a bundle when
they are used by an integration
- Adds a `pinoIntegration` that:
  - Is not enabled by default (see below)
  - Registers where it needs code injecting into the pino library
- Hooks the tracing channel events, including the channel added to
`[email protected]`
  - Captures Sentry logs for pino logs
  - Captures in the correct tracing context because this is all sync!
  - Captures exception/message events for the configured `eventLevels`

## Supported Node versions

We can't enable this integration by default because `TracingChannel`,
injected by `@apm-js-collab/code-transformer` requires Node >= v19.9.0
or v18.19.0.
This package was added in
#16652, but with the
merge of #17584 we
can remove it. We will recommend users use the `pinoIntegration` because
it's way easier to set up and tracing works ootb.

This package was never published (no craft config) so it's safe to
remove.
The `@OnEvent` decorator accepts the following types for its argument:

```typescript
string | symbol | Array<string | symbol>
```

If a Symbol is included in an array, the code to get the eventName will
throw a TypeError (String(event)) This occurs because JavaScript’s
Array.prototype.join internally calls ToString on each array element.
Per the specification, ToString(Symbol) is not allowed and results in a
TypeError.

To avoid this issue, do not rely on String(array) or .join() on arrays
containing symbols directly. Instead, explicitly convert each element to
a string while handling symbols safely.

I couldn't find a way to test adding multiple `@OnEvent` so the second
part can be tested. It didn't have any tests before (as far as I can
tell), but would be nice to add them.

doc:
https://tc39.es/ecma262/multipage/indexed-collections.html#sec-array.prototype.join
doc:
https://tc39.es/ecma262/multipage/abstract-operations.html#sec-tostring
Renaming vercelai schema to genai schema for Vercel AI integration.
This PR adds the external contributor to the CHANGELOG.md file, so that
they are credited for their contribution. See #17785

Co-authored-by: chargome <[email protected]>
Copy link
Contributor

github-actions bot commented Oct 7, 2025

size-limit report 📦

Path Size % Change Change
@sentry/browser 24.26 kB added added
@sentry/browser - with treeshaking flags 22.77 kB added added
@sentry/browser (incl. Tracing) 40.45 kB added added
@sentry/browser (incl. Tracing, Replay) 78.83 kB added added
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags 68.47 kB added added
@sentry/browser (incl. Tracing, Replay with Canvas) 83.5 kB added added
@sentry/browser (incl. Tracing, Replay, Feedback) 95.69 kB added added
@sentry/browser (incl. Feedback) 40.97 kB added added
@sentry/browser (incl. sendFeedback) 28.91 kB added added
@sentry/browser (incl. FeedbackAsync) 33.85 kB added added
@sentry/react 25.98 kB added added
@sentry/react (incl. Tracing) 42.42 kB added added
@sentry/vue 28.77 kB added added
@sentry/vue (incl. Tracing) 42.26 kB added added
@sentry/svelte 24.29 kB added added
CDN Bundle 25.77 kB added added
CDN Bundle (incl. Tracing) 40.33 kB added added
CDN Bundle (incl. Tracing, Replay) 76.58 kB added added
CDN Bundle (incl. Tracing, Replay, Feedback) 82.08 kB added added
CDN Bundle - uncompressed 75.35 kB added added
CDN Bundle (incl. Tracing) - uncompressed 119.36 kB added added
CDN Bundle (incl. Tracing, Replay) - uncompressed 234.52 kB added added
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 247.28 kB added added
@sentry/nextjs (client) 44.42 kB added added
@sentry/sveltekit (client) 40.87 kB added added
@sentry/node-core 50.56 kB added added
@sentry/node 154.19 kB added added
@sentry/node - without tracing 92.42 kB added added
@sentry/aws-serverless 106.14 kB added added

Copy link
Contributor

github-actions bot commented Oct 7, 2025

node-overhead report 🧳

Note: This is a synthetic benchmark with a minimal express app and does not necessarily reflect the real-world performance impact in an application.

Scenario Requests/s % of Baseline Prev. Requests/s Change %
GET Baseline 8,847 - - added
GET With Sentry 1,372 16% - added
GET With Sentry (error only) 6,109 69% - added
POST Baseline 1,203 - - added
POST With Sentry 547 45% - added
POST With Sentry (error only) 1,066 89% - added
MYSQL Baseline 3,291 - - added
MYSQL With Sentry 490 15% - added
MYSQL With Sentry (error only) 2,717 83% - added

@RulaKhaled RulaKhaled force-pushed the prepare-release/10.18.0 branch from 3210db0 to 9ee2045 Compare October 7, 2025 10:08
@RulaKhaled RulaKhaled merged commit 91961d9 into master Oct 7, 2025
183 of 186 checks passed
@RulaKhaled RulaKhaled deleted the prepare-release/10.18.0 branch October 7, 2025 10:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants