Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
d235e05
Merge pull request #17531 from getsentry/master
github-actions[bot] Sep 5, 2025
eefa756
ci: Remove project automation workflow (#17508)
mydea Sep 5, 2025
41e0372
ref(browser): Add more specific `mechanism.type` to errors captured b…
Lms24 Sep 5, 2025
1335cc9
ref(browser): Set more descriptive `mechanism.type` in `browserApiErr…
Lms24 Sep 5, 2025
d954060
chore(test): Remove `geist` font (#17541)
msonnb Sep 5, 2025
8e0ad60
test(node-integration-tests): pin [email protected] to fix test fails (#17542)
Lms24 Sep 5, 2025
af69b45
ref(nestjs): Add `mechanism` to captured errors (#17312)
Lms24 Sep 5, 2025
65e549c
ref(core): Add more specific event `mechanism`s and span origins to `…
Lms24 Sep 5, 2025
68fcc82
feat(core): Improve error handling for Anthropic AI instrumentation (…
RulaKhaled Sep 5, 2025
ef651c5
chore: Use proper `test-utils` dependency in workspace (#17538)
mydea Sep 8, 2025
e7beae6
feat(aws): Add experimental AWS Lambda extension for tunnelling event…
msonnb Sep 8, 2025
5441df9
fix(astro): Ensure traces are correctly propagated for static routes …
mydea Sep 8, 2025
4745177
ref(core): Add `mechanism.type` to `trpcMiddleware` errors (#17287)
Lms24 Sep 8, 2025
dcb4d23
ci: Fix running of only changed E2E tests (#17551)
mydea Sep 8, 2025
9bd421b
ci: Check for stable lockfile (#17552)
mydea Sep 8, 2025
f3f0ba3
feat(core): Add replay id to logs (#17563)
AbhiPrasad Sep 8, 2025
38cc574
fix(react): Remove `handleExistingNavigation` (#17534)
onurtemizkan Sep 9, 2025
3f45ae8
feat(deps): bump @opentelemetry/instrumentation-ioredis from 0.51.0 t…
dependabot[bot] Sep 9, 2025
a820fa2
feat(node): Add incoming request headers as OTel span attributes (#17…
s1gr1d Sep 9, 2025
91b13b6
meta(changelog): Update changelog for 10.11.0
s1gr1d Sep 9, 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
3 changes: 3 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -315,6 +315,9 @@ jobs:
- name: Lint for ES compatibility
run: yarn lint:es-compatibility

- name: Check that yarn.lock is stable
run: yarn && git diff --exit-code yarn.lock

job_check_format:
name: Check file formatting
needs: [job_get_metadata]
Expand Down
97 changes: 0 additions & 97 deletions .github/workflows/project-automation.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .size-limit.js
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@ module.exports = [
import: createImport('init'),
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
gzip: true,
limit: '152 KB',
limit: '154 KB',
},
{
name: '@sentry/node - without tracing',
Expand Down
45 changes: 45 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,51 @@

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

## 10.11.0

### Important Changes

- **feat(aws): Add experimental AWS Lambda extension for tunnelling events ([#17525](https://github.com/getsentry/sentry-javascript/pull/17525))**

This release adds an experimental Sentry Lambda extension to the existing Sentry Lambda layer. Sentry events are now tunneled through the extension and then forwarded to Sentry. This has the benefit of reducing the request processing time.

To enable it, set `_experiments.enableLambdaExtension` in your Sentry config like this:

```javascript
Sentry.init({
dsn: '<YOUR_DSN>',
_experiments: {
enableLambdaExtension: true,
},
});
```

### Other Changes

- feat(core): Add replay id to logs ([#17563](https://github.com/getsentry/sentry-javascript/pull/17563))
- feat(core): Improve error handling for Anthropic AI instrumentation ([#17535](https://github.com/getsentry/sentry-javascript/pull/17535))
- feat(deps): bump @opentelemetry/instrumentation-ioredis from 0.51.0 to 0.52.0 ([#17557](https://github.com/getsentry/sentry-javascript/pull/17557))
- feat(node): Add incoming request headers as OTel span attributes ([#17475](https://github.com/getsentry/sentry-javascript/pull/17475))
- fix(astro): Ensure traces are correctly propagated for static routes ([#17536](https://github.com/getsentry/sentry-javascript/pull/17536))
- fix(react): Remove `handleExistingNavigation` ([#17534](https://github.com/getsentry/sentry-javascript/pull/17534))
- ref(browser): Add more specific `mechanism.type` to errors captured by `httpClientIntegration` ([#17254](https://github.com/getsentry/sentry-javascript/pull/17254))
- ref(browser): Set more descriptive `mechanism.type` in `browserApiErrorsIntergation` ([#17251](https://github.com/getsentry/sentry-javascript/pull/17251))
- ref(core): Add `mechanism.type` to `trpcMiddleware` errors ([#17287](https://github.com/getsentry/sentry-javascript/pull/17287))
- ref(core): Add more specific event `mechanism`s and span origins to `openAiIntegration` ([#17288](https://github.com/getsentry/sentry-javascript/pull/17288))
- ref(nestjs): Add `mechanism` to captured errors ([#17312](https://github.com/getsentry/sentry-javascript/pull/17312))

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

- chore: Use proper `test-utils` dependency in workspace ([#17538](https://github.com/getsentry/sentry-javascript/pull/17538))
- chore(test): Remove `geist` font ([#17541](https://github.com/getsentry/sentry-javascript/pull/17541))
- ci: Check for stable lockfile ([#17552](https://github.com/getsentry/sentry-javascript/pull/17552))
- ci: Fix running of only changed E2E tests ([#17551](https://github.com/getsentry/sentry-javascript/pull/17551))
- ci: Remove project automation workflow ([#17508](https://github.com/getsentry/sentry-javascript/pull/17508))
- test(node-integration-tests): pin [email protected] to fix test fails ([#17542](https://github.com/getsentry/sentry-javascript/pull/17542))

</details>

## 10.10.0

### Important Changes
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ sentryTest(
type: 'Error',
value: 'HTTP Client Error with status code: 500',
mechanism: {
type: 'http.client',
type: 'auto.http.client.xhr',
handled: false,
},
stacktrace: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ sentryTest(
type: 'Error',
value: 'HTTP Client Error with status code: 500',
mechanism: {
type: 'http.client',
type: 'auto.http.client.fetch',
handled: false,
},
stacktrace: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ sentryTest('works with a Request passed in', async ({ getLocalTestUrl, page }) =
type: 'Error',
value: 'HTTP Client Error with status code: 500',
mechanism: {
type: 'http.client',
type: 'auto.http.client.fetch',
handled: false,
},
stacktrace: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ sentryTest(
type: 'Error',
value: 'HTTP Client Error with status code: 500',
mechanism: {
type: 'http.client',
type: 'auto.http.client.fetch',
handled: false,
},
stacktrace: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ sentryTest('works with a Request (without body) & options passed in', async ({ g
type: 'Error',
value: 'HTTP Client Error with status code: 500',
mechanism: {
type: 'http.client',
type: 'auto.http.client.fetch',
handled: false,
},
stacktrace: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ sentryTest(
type: 'Error',
value: 'HTTP Client Error with status code: 500',
mechanism: {
type: 'http.client',
type: 'auto.http.client.xhr',
handled: false,
},
stacktrace: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,9 @@ sentryTest('should capture target name in mechanism data', async ({ getLocalTest
type: 'Error',
value: 'event_listener_error',
mechanism: {
type: 'instrument',
type: 'auto.browser.browserapierrors.addEventListener',
handled: false,
data: {
function: 'addEventListener',
handler: 'functionListener',
target: 'EventTarget',
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,9 @@ sentryTest('should capture built-in handlers fn name in mechanism data', async (
type: 'Error',
value: 'event_listener_error',
mechanism: {
type: 'instrument',
type: 'auto.browser.browserapierrors.addEventListener',
handled: false,
data: {
function: 'addEventListener',
handler: 'clickHandler',
target: 'EventTarget',
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ sentryTest('should transparently remove event listeners from wrapped functions',
type: 'Error',
value: 'foo',
mechanism: {
type: 'instrument',
type: 'auto.browser.browserapierrors.addEventListener',
handled: false,
},
stacktrace: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,9 @@ sentryTest(
type: 'Error',
value: 'event_listener_error',
mechanism: {
type: 'instrument',
type: 'auto.browser.browserapierrors.addEventListener',
handled: false,
data: {
function: 'addEventListener',
handler: '<anonymous>',
target: 'EventTarget',
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ sentryTest('should capture exceptions inside callback', async ({ getLocalTestUrl
type: 'Error',
value: 'requestAnimationFrame_error',
mechanism: {
type: 'instrument',
type: 'auto.browser.browserapierrors.requestAnimationFrame',
handled: false,
},
stacktrace: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ sentryTest('Instrumentation should capture errors in setInterval', async ({ getL
type: 'Error',
value: 'setInterval_error',
mechanism: {
type: 'instrument',
type: 'auto.browser.browserapierrors.setInterval',
handled: false,
},
stacktrace: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,8 @@ sentryTest('Instrumentation should capture errors in setTimeout', async ({ getLo
type: 'Error',
value: 'setTimeout_error',
mechanism: {
type: 'instrument',
type: 'auto.browser.browserapierrors.setTimeout',
handled: false,
data: {
function: 'setTimeout',
},
},
stacktrace: {
frames: expect.any(Array),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ sentryTest(
type: 'Error',
value: 'setTimeout_error',
mechanism: {
type: 'instrument',
type: 'auto.browser.browserapierrors.setTimeout',
handled: false,
},
stacktrace: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,8 @@ sentryTest(
type: 'Error',
value: 'xhr_error',
mechanism: {
type: 'instrument',
type: 'auto.browser.browserapierrors.xhr.onreadystatechange',
handled: false,
data: {
function: 'onreadystatechange',
},
},
stacktrace: {
frames: expect.any(Array),
Expand Down
2 changes: 1 addition & 1 deletion dev-packages/cloudflare-integration-tests/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
},
"devDependencies": {
"@cloudflare/workers-types": "^4.20250708.0",
"@sentry-internal/test-utils": "link:../test-utils",
"@sentry-internal/test-utils": "10.10.0",
"vitest": "^3.2.4",
"wrangler": "4.22.0"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ it('traces a basic chat completion request', async () => {
data: expect.objectContaining({
'gen_ai.operation.name': 'chat',
'sentry.op': 'gen_ai.chat',
'sentry.origin': 'auto.ai.openai',
'gen_ai.system': 'openai',
'gen_ai.request.model': 'gpt-3.5-turbo',
'gen_ai.request.temperature': 0.7,
Expand All @@ -31,7 +32,7 @@ it('traces a basic chat completion request', async () => {
}),
description: 'chat gpt-3.5-turbo',
op: 'gen_ai.chat',
origin: 'auto.function.openai',
origin: 'auto.ai.openai',
}),
]),
);
Expand Down
4 changes: 2 additions & 2 deletions dev-packages/e2e-tests/lib/getTestMatrix.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ function run(): void {
},
});

const { base, head, optional } = values;
const { base, head = 'HEAD', optional } = values;

const testApplications = globSync('*/package.json', {
cwd: `${__dirname}/../test-applications`,
Expand Down Expand Up @@ -174,7 +174,7 @@ function getAffectedTestApplications(
}

function getChangedTestApps(base: string, head?: string): false | Set<string> {
const changedFiles = execSync(`git diff --name-only ${base}${head ? `..${head}` : ''} -- dev-packages/e2e-tests/`, {
const changedFiles = execSync(`git diff --name-only ${base}${head ? `..${head}` : ''} -- .`, {
encoding: 'utf-8',
})
.toString()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
"version": "0.0.1",
"scripts": {
"dev": "astro dev --force",
"start": "astro dev",
"build": "astro check && astro build",
"preview": "astro preview",
"start": "node ./dist/server/entry.mjs",
"astro": "astro",
"test:build": "pnpm install && pnpm build",
"test:assert": "TEST_ENV=production playwright test"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ if (!testEnv) {
}

const config = getPlaywrightConfig({
startCommand: 'node ./dist/server/entry.mjs',
startCommand: 'pnpm start',
});

export default config;
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,6 @@ test.describe('client-side errors', () => {
contexts: {
trace: {
trace_id: expect.stringMatching(/[a-f0-9]{32}/),
parent_span_id: expect.stringMatching(/[a-f0-9]{16}/),
span_id: expect.stringMatching(/[a-f0-9]{16}/),
},
},
Expand Down
Loading
Loading