Skip to content

Commit 18f1801

Browse files
authored
Merge pull request #17461 from getsentry/prepare-release/10.6.0
meta(changelog): Update changelog for 10.6.0
2 parents 5153782 + 6a332d3 commit 18f1801

File tree

95 files changed

+3421
-588
lines changed

Some content is hidden

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

95 files changed

+3421
-588
lines changed

.cursor/BUGBOT.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,4 @@ Do not flag the issues below if they appear in tests.
4040
- If there's no direct span that's wrapping the captured exception, apply a proper `type` value, following the same naming
4141
convention as the `SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN` value.
4242
- When calling `startSpan`, check if error cases are handled. If flag that it might make sense to try/catch and call `captureException`.
43+
- When calling `generateInstrumentationOnce`, the passed in name MUST match the name of the integration that uses it. If there are more than one instrumentations, they need to follow the pattern `${INSTRUMENTATION_NAME}.some-suffix`.

.size-limit.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ module.exports = [
233233
import: createImport('init'),
234234
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
235235
gzip: true,
236-
limit: '148 KB',
236+
limit: '149 KB',
237237
},
238238
{
239239
name: '@sentry/node - without tracing',

CHANGELOG.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,45 @@
44

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

7+
## 10.6.0
8+
9+
### Important Changes
10+
11+
- **feat(node): Add Anthropic AI integration ([#17348](https://github.com/getsentry/sentry-javascript/pull/17348))**
12+
13+
This release adds support for automatically tracing Anthropic AI SDK requests, providing better observability for AI-powered applications.
14+
15+
- **fix(core): Instrument invoke_agent root span, and support Vercel `ai` v5 ([#17395](https://github.com/getsentry/sentry-javascript/pull/17395))**
16+
17+
This release makes the Sentry `vercelAiIntegration` compatible with version 5 of Vercel `ai`.
18+
19+
- **docs(nuxt): Remove beta notice ([#17400](https://github.com/getsentry/sentry-javascript/pull/17400))**
20+
21+
The Sentry Nuxt SDK is now considered stable and no longer in beta!
22+
23+
### Other Changes
24+
25+
- feat(astro): Align options with shared build time options type ([#17396](https://github.com/getsentry/sentry-javascript/pull/17396))
26+
- feat(aws): Add support for automatic wrapping in ESM ([#17407](https://github.com/getsentry/sentry-javascript/pull/17407))
27+
- feat(node): Add an instrumentation interface for Hono ([#17366](https://github.com/getsentry/sentry-javascript/pull/17366))
28+
- fix(browser): Use `DedicatedWorkerGlobalScope` global object type in `registerWebWorker` ([#17447](https://github.com/getsentry/sentry-javascript/pull/17447))
29+
- fix(core): Only consider ingest endpoint requests when checking `isSentryRequestUrl` ([#17393](https://github.com/getsentry/sentry-javascript/pull/17393))
30+
- fix(node): Fix preloading of instrumentation ([#17403](https://github.com/getsentry/sentry-javascript/pull/17403))
31+
32+
<details>
33+
<summary> <strong>Internal Changes</strong> </summary>
34+
35+
- chore: Add external contributor to CHANGELOG.md ([#17449](https://github.com/getsentry/sentry-javascript/pull/17449))
36+
- chore(deps): bump astro from 4.16.18 to 4.16.19 in /dev-packages/e2e-tests/test-applications/astro-4 ([#17434](https://github.com/getsentry/sentry-javascript/pull/17434))
37+
- test(e2e/firebase): Fix firebase e2e test failing due to outdated rules file ([#17448](https://github.com/getsentry/sentry-javascript/pull/17448))
38+
- test(nextjs): Fix canary tests ([#17416](https://github.com/getsentry/sentry-javascript/pull/17416))
39+
- test(nuxt): Don't rely on flushing for lowQualityTransactionFilter ([#17406](https://github.com/getsentry/sentry-javascript/pull/17406))
40+
- test(solidstart): Don't rely on flushing for lowQualityTransactionFilter ([#17408](https://github.com/getsentry/sentry-javascript/pull/17408))
41+
42+
</details>
43+
44+
Work in this release was contributed by @Karibash. Thank you for your contribution!
45+
746
## 10.5.0
847

948
- feat(core): better cause data extraction ([#17375](https://github.com/getsentry/sentry-javascript/pull/17375))

dev-packages/e2e-tests/test-applications/astro-4/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"@sentry/astro": "* || latest",
1919
"@sentry-internal/test-utils": "link:../../../test-utils",
2020
"@spotlightjs/astro": "2.1.6",
21-
"astro": "4.16.18",
21+
"astro": "4.16.19",
2222
"typescript": "^5.5.4"
2323
},
2424
"devDependencies": {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export const handler = async () => {
2+
throw new Error('test esm');
3+
};

dev-packages/e2e-tests/test-applications/aws-serverless/src/lambda-functions-layer/TracingEsm/index.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import * as Sentry from '@sentry/aws-serverless';
22

33
import * as http from 'node:http';
44

5-
export const handler = Sentry.wrapHandler(async () => {
5+
export const handler = async () => {
66
await Sentry.startSpan({ name: 'manual-span', op: 'test' }, async () => {
77
await new Promise(resolve => {
88
http.get('http://example.com', res => {
@@ -16,4 +16,4 @@ export const handler = Sentry.wrapHandler(async () => {
1616
});
1717
});
1818
});
19-
});
19+
};

dev-packages/e2e-tests/test-applications/aws-serverless/src/lambda-functions-npm/TracingCjs/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
const http = require('http');
22
const Sentry = require('@sentry/aws-serverless');
33

4-
exports.handler = Sentry.wrapHandler(async () => {
4+
exports.handler = async () => {
55
await new Promise(resolve => {
66
const req = http.request(
77
{
@@ -21,4 +21,4 @@ exports.handler = Sentry.wrapHandler(async () => {
2121
});
2222

2323
Sentry.startSpan({ name: 'manual-span', op: 'manual' }, () => {});
24-
});
24+
};

dev-packages/e2e-tests/test-applications/aws-serverless/src/lambda-functions-npm/TracingEsm/index.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import * as http from 'node:http';
22
import * as Sentry from '@sentry/aws-serverless';
33

4-
export const handler = Sentry.wrapHandler(async () => {
4+
export const handler = async () => {
55
await new Promise(resolve => {
66
const req = http.request(
77
{
@@ -21,4 +21,4 @@ export const handler = Sentry.wrapHandler(async () => {
2121
});
2222

2323
Sentry.startSpan({ name: 'manual-span', op: 'manual' }, () => {});
24-
});
24+
};

dev-packages/e2e-tests/test-applications/aws-serverless/tests/layer.test.ts

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,35 @@ test.describe('Lambda layer', () => {
160160
type: 'Error',
161161
value: 'test',
162162
mechanism: {
163-
type: 'auto.function.aws-serverless.handler',
163+
type: 'auto.function.aws-serverless.otel',
164+
handled: false,
165+
},
166+
}),
167+
);
168+
});
169+
170+
test('capturing errors works in ESM', async ({ lambdaClient }) => {
171+
const errorEventPromise = waitForError('aws-serverless-lambda-sam', errorEvent => {
172+
return errorEvent?.exception?.values?.[0]?.value === 'test esm';
173+
});
174+
175+
await lambdaClient.send(
176+
new InvokeCommand({
177+
FunctionName: 'LayerErrorEsm',
178+
Payload: JSON.stringify({}),
179+
}),
180+
);
181+
182+
const errorEvent = await errorEventPromise;
183+
184+
// shows the SDK sent an error event
185+
expect(errorEvent.exception?.values).toHaveLength(1);
186+
expect(errorEvent.exception?.values?.[0]).toEqual(
187+
expect.objectContaining({
188+
type: 'Error',
189+
value: 'test esm',
190+
mechanism: {
191+
type: 'auto.function.aws-serverless.otel',
164192
handled: false,
165193
},
166194
}),

dev-packages/e2e-tests/test-applications/browser-webworker-vite/src/worker.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import * as Sentry from '@sentry/browser';
22

3-
// type cast necessary because TS thinks this file is part of the main
4-
// thread where self is of type `Window` instead of `Worker`
5-
Sentry.registerWebWorker({ self: self as unknown as Worker });
3+
Sentry.registerWebWorker({ self });
64

75
// Let the main thread know the worker is ready
86
self.postMessage({

0 commit comments

Comments
 (0)