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

Commit 7dd3a82

Browse files
authored
Merge pull request #17827 from getsentry/prepare-release/10.17.0
meta(changelog): Update changelog for 10.17.0
2 parents 559d8a5 + 7b7ba0d commit 7dd3a82

File tree

45 files changed

+3168
-835
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+3168
-835
lines changed

‎.github/dependabot.yml‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,5 @@ updates:
2222
prefix: feat
2323
prefix-development: feat
2424
include: scope
25+
exclude-paths:
26+
- 'dev-packages/e2e-tests/test-applications/'

‎CHANGELOG.md‎

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,35 @@
44

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

7+
## 10.17.0
8+
9+
### Important Changes
10+
11+
- **feat(nuxt): Implement server middleware instrumentation ([#17796](https://github.com/getsentry/sentry-javascript/pull/17796))**
12+
13+
This release introduces instrumentation for Nuxt middleware, ensuring that all middleware handlers are automatically wrapped with tracing and error reporting functionality.
14+
15+
- **fix(aws-serverless): Take `http_proxy` into account when choosing
16+
`useLayerExtension` default ([#17817](https://github.com/getsentry/sentry-javascript/pull/17817))**
17+
18+
The default setting for `useLayerExtension` now considers the `http_proxy` environment variable.
19+
When `http_proxy` is set, `useLayerExtension` will be off by default.
20+
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.
21+
22+
### Other Changes
23+
24+
- feat(node): Split up http integration into composable parts ([#17524](https://github.com/getsentry/sentry-javascript/pull/17524))
25+
- fix(core): Remove check and always respect ai.telemetry.functionId for Vercel AI gen spans ([#17811](https://github.com/getsentry/sentry-javascript/pull/17811))
26+
- doc(core): Fix outdated JSDoc in `beforeSendSpan` ([#17815](https://github.com/getsentry/sentry-javascript/pull/17815))
27+
28+
<details>
29+
<summary> <strong>Internal Changes</strong> </summary>
30+
31+
- ci: Do not run dependabot on e2e test applications ([#17813](https://github.com/getsentry/sentry-javascript/pull/17813))
32+
- docs: Reword changelog for google gen ai integration ([#17805](https://github.com/getsentry/sentry-javascript/pull/17805))
33+
34+
</details>
35+
736
## 10.16.0
837

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

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

84-
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.
113+
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.
85114

86115
### Other Changes
87116

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

120149
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.
121150

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

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

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { defineEventHandler, getHeader } from '#imports';
2+
3+
export default defineEventHandler(async event => {
4+
// Simple API endpoint that will trigger all server middleware
5+
return {
6+
message: 'Server middleware test endpoint',
7+
path: event.path,
8+
method: event.method,
9+
headers: {
10+
'x-first-middleware': getHeader(event, 'x-first-middleware'),
11+
'x-second-middleware': getHeader(event, 'x-second-middleware'),
12+
'x-auth-middleware': getHeader(event, 'x-auth-middleware'),
13+
},
14+
};
15+
});
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import { defineEventHandler, setHeader } from '#imports';
2+
3+
export default defineEventHandler(async event => {
4+
// Set a header to indicate this middleware ran
5+
setHeader(event, 'x-first-middleware', 'executed');
6+
});
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { eventHandler, setHeader } from '#imports';
2+
3+
// tests out the eventHandler alias
4+
export default eventHandler(async event => {
5+
// Set a header to indicate this middleware ran
6+
setHeader(event, 'x-second-middleware', 'executed');
7+
});
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { defineEventHandler, setHeader, getQuery } from '#imports';
2+
3+
export default defineEventHandler(async event => {
4+
// Check if we should throw an error
5+
const query = getQuery(event);
6+
if (query.throwError === 'true') {
7+
throw new Error('Auth middleware error');
8+
}
9+
10+
// Set a header to indicate this middleware ran
11+
setHeader(event, 'x-auth-middleware', 'executed');
12+
});
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import { defineEventHandler, setHeader, getQuery } from '#imports';
2+
3+
export default defineEventHandler({
4+
onRequest: async event => {
5+
// Set a header to indicate the onRequest hook ran
6+
setHeader(event, 'x-hooks-onrequest', 'executed');
7+
8+
// Check if we should throw an error in onRequest
9+
const query = getQuery(event);
10+
if (query.throwOnRequestError === 'true') {
11+
throw new Error('OnRequest hook error');
12+
}
13+
},
14+
15+
handler: async event => {
16+
// Set a header to indicate the main handler ran
17+
setHeader(event, 'x-hooks-handler', 'executed');
18+
19+
// Check if we should throw an error in handler
20+
const query = getQuery(event);
21+
if (query.throwHandlerError === 'true') {
22+
throw new Error('Handler error');
23+
}
24+
},
25+
26+
onBeforeResponse: async (event, response) => {
27+
// Set a header to indicate the onBeforeResponse hook ran
28+
setHeader(event, 'x-hooks-onbeforeresponse', 'executed');
29+
30+
// Check if we should throw an error in onBeforeResponse
31+
const query = getQuery(event);
32+
if (query.throwOnBeforeResponseError === 'true') {
33+
throw new Error('OnBeforeResponse hook error');
34+
}
35+
},
36+
});
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
import { defineEventHandler, setHeader, getQuery } from '#imports';
2+
3+
export default defineEventHandler({
4+
// Array of onRequest handlers
5+
onRequest: [
6+
async event => {
7+
setHeader(event, 'x-array-onrequest-0', 'executed');
8+
9+
const query = getQuery(event);
10+
if (query.throwOnRequest0Error === 'true') {
11+
throw new Error('OnRequest[0] hook error');
12+
}
13+
},
14+
async event => {
15+
setHeader(event, 'x-array-onrequest-1', 'executed');
16+
17+
const query = getQuery(event);
18+
if (query.throwOnRequest1Error === 'true') {
19+
throw new Error('OnRequest[1] hook error');
20+
}
21+
},
22+
],
23+
24+
handler: async event => {
25+
setHeader(event, 'x-array-handler', 'executed');
26+
},
27+
28+
// Array of onBeforeResponse handlers
29+
onBeforeResponse: [
30+
async (event, response) => {
31+
setHeader(event, 'x-array-onbeforeresponse-0', 'executed');
32+
33+
const query = getQuery(event);
34+
if (query.throwOnBeforeResponse0Error === 'true') {
35+
throw new Error('OnBeforeResponse[0] hook error');
36+
}
37+
},
38+
async (event, response) => {
39+
setHeader(event, 'x-array-onbeforeresponse-1', 'executed');
40+
41+
const query = getQuery(event);
42+
if (query.throwOnBeforeResponse1Error === 'true') {
43+
throw new Error('OnBeforeResponse[1] hook error');
44+
}
45+
},
46+
],
47+
});

0 commit comments

Comments
(0)

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