Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

meta(changelog): Update changelog for 10.17.0 #17827

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Lms24 merged 9 commits into master from prepare-release/10.17.0
Sep 30, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
9 commits
Select commit Hold shift + click to select a range
b6d4bc2
docs: Reword changelog for google gen ai integration (#17805)
RulaKhaled Sep 29, 2025
c5bbdc6
fix(core): Remove check and always respect ai.telemetry.functionId fo...
RulaKhaled Sep 29, 2025
68a4eb3
Merge pull request #17812 from getsentry/master
github-actions[bot] Sep 29, 2025
4a9946c
ci: Do not run dependabot on e2e test applications (#17813)
mydea Sep 29, 2025
7b40a95
feat(node): Split up http integration into composable parts (#17524)
mydea Sep 29, 2025
e966cdc
doc(core): Fix outdated JSDoc in `beforeSendSpan` (#17815)
Lms24 Sep 29, 2025
11ea830
fix(aws-serverless): Take `http_proxy` into account when choosing `us...
andreiborza Sep 30, 2025
264ad0b
feat(nuxt): Implement server middleware instrumentation (#17796)
logaretm Sep 30, 2025
7b7ba0d
meta(changelog): Update changelog for 10.17.0
Lms24 Sep 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/dependabot.yml
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,5 @@ updates:
prefix: feat
prefix-development: feat
include: scope
exclude-paths:
- 'dev-packages/e2e-tests/test-applications/'
35 changes: 32 additions & 3 deletions CHANGELOG.md
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,35 @@

- "You miss 100 percent of the chances you don't take. — Wayne Gretzky" — Michael Scott

## 10.17.0

### Important Changes

- **feat(nuxt): Implement server middleware instrumentation ([#17796](https://github.com/getsentry/sentry-javascript/pull/17796))**

This release introduces instrumentation for Nuxt middleware, ensuring that all middleware handlers are automatically wrapped with tracing and error reporting functionality.

- **fix(aws-serverless): Take `http_proxy` into account when choosing
`useLayerExtension` default ([#17817](https://github.com/getsentry/sentry-javascript/pull/17817))**

The default setting for `useLayerExtension` now considers the `http_proxy` environment variable.
When `http_proxy` is set, `useLayerExtension` will be off by default.
If you use a `http_proxy` but would still like to make use of the Sentry Lambda extension, exempt `localhost` in a `no_proxy` environment variable.

### Other Changes

- feat(node): Split up http integration into composable parts ([#17524](https://github.com/getsentry/sentry-javascript/pull/17524))
- fix(core): Remove check and always respect ai.telemetry.functionId for Vercel AI gen spans ([#17811](https://github.com/getsentry/sentry-javascript/pull/17811))
- doc(core): Fix outdated JSDoc in `beforeSendSpan` ([#17815](https://github.com/getsentry/sentry-javascript/pull/17815))

<details>
<summary> <strong>Internal Changes</strong> </summary>

- ci: Do not run dependabot on e2e test applications ([#17813](https://github.com/getsentry/sentry-javascript/pull/17813))
- docs: Reword changelog for google gen ai integration ([#17805](https://github.com/getsentry/sentry-javascript/pull/17805))

</details>

## 10.16.0

- feat(logs): Add internal `replay_is_buffering` flag ([#17752](https://github.com/getsentry/sentry-javascript/pull/17752))
Expand Down Expand Up @@ -81,7 +110,7 @@ Work in this release was contributed by @Karibash. Thank you for your contributi

- **feat(cloudflare,vercel-edge): Add support for Google Gen AI instrumentation ([#17723](https://github.com/getsentry/sentry-javascript/pull/17723))**

The SDK now supports manually instrumenting Google's Generative AI operations in Cloudflare Workers and Vercel Edge Runtime environments, providing insights into your AI operations. You can use `const wrappedClient = Sentry.instrumentGoogleGenAIClient(genAiClient)` to get an instrumented client.
The SDK now supports manually instrumenting Google's Gen AI operations in Cloudflare Workers and Vercel Edge Runtime environments, providing insights into your AI operations. You can use `const wrappedClient = Sentry.instrumentGoogleGenAIClient(genAiClient)` to get an instrumented client.

### Other Changes

Expand Down Expand Up @@ -119,9 +148,9 @@ Work in this release was contributed by @Karibash. Thank you for your contributi

Note that if `Sentry.reportPageLoaded()` is not called within 30 seconds of the initial pageload (or whatever value the `finalTimeout` option is set to), the pageload span will be ended automatically.

- **feat(core,node): Add instrumentation for `GoogleGenerativeAI` ([#17625](https://github.com/getsentry/sentry-javascript/pull/17625))**
- **feat(core,node): Add instrumentation for `GoogleGenAI` ([#17625](https://github.com/getsentry/sentry-javascript/pull/17625))**

The SDK now automatically instruments the `@google/generative-ai` package to provide insights into your AI operations.
The SDK now automatically instruments the `@google/genai` package to provide insights into your AI operations.

- **feat(nextjs): Promote `useRunAfterProductionCompileHook` to non-experimental build option ([#17721](https://github.com/getsentry/sentry-javascript/pull/17721))**

Expand Down
View file Open in desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { defineEventHandler, getHeader } from '#imports';

export default defineEventHandler(async event => {
// Simple API endpoint that will trigger all server middleware
return {
message: 'Server middleware test endpoint',
path: event.path,
method: event.method,
headers: {
'x-first-middleware': getHeader(event, 'x-first-middleware'),
'x-second-middleware': getHeader(event, 'x-second-middleware'),
'x-auth-middleware': getHeader(event, 'x-auth-middleware'),
},
};
});
View file Open in desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import { defineEventHandler, setHeader } from '#imports';

export default defineEventHandler(async event => {
// Set a header to indicate this middleware ran
setHeader(event, 'x-first-middleware', 'executed');
});
View file Open in desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { eventHandler, setHeader } from '#imports';

// tests out the eventHandler alias
export default eventHandler(async event => {
// Set a header to indicate this middleware ran
setHeader(event, 'x-second-middleware', 'executed');
});
View file Open in desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { defineEventHandler, setHeader, getQuery } from '#imports';

export default defineEventHandler(async event => {
// Check if we should throw an error
const query = getQuery(event);
if (query.throwError === 'true') {
throw new Error('Auth middleware error');
}

// Set a header to indicate this middleware ran
setHeader(event, 'x-auth-middleware', 'executed');
});
View file Open in desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import { defineEventHandler, setHeader, getQuery } from '#imports';

export default defineEventHandler({
onRequest: async event => {
// Set a header to indicate the onRequest hook ran
setHeader(event, 'x-hooks-onrequest', 'executed');

// Check if we should throw an error in onRequest
const query = getQuery(event);
if (query.throwOnRequestError === 'true') {
throw new Error('OnRequest hook error');
}
},

handler: async event => {
// Set a header to indicate the main handler ran
setHeader(event, 'x-hooks-handler', 'executed');

// Check if we should throw an error in handler
const query = getQuery(event);
if (query.throwHandlerError === 'true') {
throw new Error('Handler error');
}
},

onBeforeResponse: async (event, response) => {
// Set a header to indicate the onBeforeResponse hook ran
setHeader(event, 'x-hooks-onbeforeresponse', 'executed');

// Check if we should throw an error in onBeforeResponse
const query = getQuery(event);
if (query.throwOnBeforeResponseError === 'true') {
throw new Error('OnBeforeResponse hook error');
}
},
});
View file Open in desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
import { defineEventHandler, setHeader, getQuery } from '#imports';

export default defineEventHandler({
// Array of onRequest handlers
onRequest: [
async event => {
setHeader(event, 'x-array-onrequest-0', 'executed');

const query = getQuery(event);
if (query.throwOnRequest0Error === 'true') {
throw new Error('OnRequest[0] hook error');
}
},
async event => {
setHeader(event, 'x-array-onrequest-1', 'executed');

const query = getQuery(event);
if (query.throwOnRequest1Error === 'true') {
throw new Error('OnRequest[1] hook error');
}
},
],

handler: async event => {
setHeader(event, 'x-array-handler', 'executed');
},

// Array of onBeforeResponse handlers
onBeforeResponse: [
async (event, response) => {
setHeader(event, 'x-array-onbeforeresponse-0', 'executed');

const query = getQuery(event);
if (query.throwOnBeforeResponse0Error === 'true') {
throw new Error('OnBeforeResponse[0] hook error');
}
},
async (event, response) => {
setHeader(event, 'x-array-onbeforeresponse-1', 'executed');

const query = getQuery(event);
if (query.throwOnBeforeResponse1Error === 'true') {
throw new Error('OnBeforeResponse[1] hook error');
}
},
],
});
Loading
Loading

AltStyle によって変換されたページ (->オリジナル) /