Skip to content

meta(changelog): Update changelog for 10.0.0 #17271

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
merged 87 commits into from
Jul 31, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
87cd836
test(astro-5): Add test for current parametrized routes (#17054)
s1gr1d Jul 17, 2025
64738db
ref(profiling): Improve generic profiling type (#17056)
mydea Jul 17, 2025
ad5e7c3
ref: Remove `@typescript-eslint/no-empty-function` eslint rule (#17057)
mydea Jul 17, 2025
d7766e9
Merge pull request #17060 from getsentry/master
github-actions[bot] Jul 17, 2025
5310112
feat!: Bump to OpenTelemetry v2 (#16872)
andreiborza Jul 17, 2025
5c2d447
chore: Add migration guide for v10 and move v8->v9 guide to docs (#17…
andreiborza Jul 18, 2025
6811760
feat(aws): Add `SentryNodeServerlessSDKv10` v10 AWS Lambda Layer (#17…
andreiborza Jul 18, 2025
904932f
feat(core)!: Remove `BaseClient` (#17071)
andreiborza Jul 18, 2025
b5b0b32
feat(core)!: Remove `hasTracingEnabled` (#17072)
andreiborza Jul 18, 2025
8cc324c
feat(nestjs): Switch to OTel core instrumentation (#17068)
andreiborza Jul 18, 2025
74b680d
test(core): Add explicit tests for `tracesSampler` returning negative…
Lms24 Jul 18, 2025
cb88e70
feat(core)!: Remove deprecated logger (#17061)
AbhiPrasad Jul 18, 2025
d059b06
chore: Fix leftover migration guide merge conflict (#17084)
andreiborza Jul 18, 2025
5eb036f
feat(aws): Create unified lambda layer for ESM and CJS (#17012)
msonnb Jul 18, 2025
c915357
chore: Remove `--silent` flag from layer build script and create dir …
andreiborza Jul 18, 2025
daf2133
fix(remix): Ensure source maps upload fails silently if Sentry CLI fa…
Lms24 Jul 21, 2025
93b1c6f
ref(browser): Remove unnecessary CLS web vital check (#17090)
Lms24 Jul 21, 2025
da8dfef
chore: Avoid building aws layer for now (#17098)
andreiborza Jul 21, 2025
4c96e5b
feat(core)!: Remove `enableLogs` and `beforeSendLog` experimental opt…
AbhiPrasad Jul 21, 2025
2390462
chore: Add migration note about `enableLogs` option changes (#17100)
AbhiPrasad Jul 21, 2025
c9f3a2e
test(remix): Fix integration test flakes (#17093)
onurtemizkan Jul 21, 2025
3114729
chore: Avoid building aws layer for now (#17099)
andreiborza Jul 21, 2025
662da80
test(astro): Add E2E test case for catch-all routes (#17085)
s1gr1d Jul 21, 2025
cde0037
test(astro): Add dynamic routes astro-4 tests (#17102)
s1gr1d Jul 21, 2025
84a070f
chore: Revert AWS Lambda Layer build disabling (#17103)
andreiborza Jul 21, 2025
b9222cf
chore(remix): Cleanup unused error args in sourcemaps script (#17104)
Lms24 Jul 21, 2025
74d4566
fix(aws): Resolve all Sentry packages to local versions in layer buil…
msonnb Jul 21, 2025
22c2e97
fix(aws): Use file link in dependency version (#17111)
msonnb Jul 21, 2025
22aa741
fix(aws): Fix path to packages directory (#17112)
msonnb Jul 21, 2025
726c868
feat(astro): Implement Request Route Parametrization for Astro 5 (#17…
s1gr1d Jul 21, 2025
8289440
fix(svelte): Do not insert preprocess code in script module in Svelte…
richardjelinek-fastest Jul 22, 2025
6ff0ce0
feat(node): Add `shouldHandleError` option to `fastifyIntegration` (#…
onurtemizkan Jul 22, 2025
549ca39
chore: Add external contributor to CHANGELOG.md (#17122)
HazAT Jul 22, 2025
78b0fa8
feat(deps): bump @prisma/instrumentation from 6.11.1 to 6.12.0 (#17117)
dependabot[bot] Jul 23, 2025
60b045e
chore(deps): Add temporary resolution for `[email protected]` (#1…
Lms24 Jul 23, 2025
dbe4f76
feat(aws): Detect SDK source for AWS Lambda layer (#17128)
msonnb Jul 23, 2025
a91fcd6
chore(deps)!: Bump bundler plugins to v4 (#17089)
chargome Jul 23, 2025
27e60b7
fix(cloudflare): Allow non uuid workflow instance IDs (#17121)
timfish Jul 23, 2025
3f9ccf0
ci: Only store E2E Test Dumps for failed tests (#17138)
mydea Jul 24, 2025
b6f83d8
ci: Stop caching utils src files (#17140)
mydea Jul 24, 2025
17210d9
chore(deps): Revert `stylus` resolution after package was restored (#…
Lms24 Jul 24, 2025
bc87e33
chore: Skip Lambda layer tests (#17139)
msonnb Jul 24, 2025
c1991d6
fix(node): Ensure tool errors for `vercelAiIntegration` have correct …
mydea Jul 24, 2025
f8c80f7
ci(e2e): Only run changed E2E tests (#17077)
chargome Jul 24, 2025
f807802
feat(astro): Parametrize routes on client-side (#17133)
s1gr1d Jul 24, 2025
a18f659
feat(browser)!: Remove FID web vital collection (#17076)
Lms24 Jul 24, 2025
9c47395
fix(aws): Add layer build output to nx cache (#17148)
msonnb Jul 24, 2025
5faef85
test(node): Replace express v5 integration tests with E2E test (#17147)
mydea Jul 24, 2025
b470f5e
fix(core): Update ai.response.object to gen_ai.response.object (#17153)
RulaKhaled Jul 24, 2025
8393b79
fix(nextjs): Update stackframe calls for next v15.5 (#17156)
chargome Jul 24, 2025
8b2c685
fix(core): Fix OpenAI SDK private field access by binding non-instrum…
RulaKhaled Jul 25, 2025
5266fa3
ref: Restructure the migration guide support timeline section (#17171)
andreiborza Jul 25, 2025
798729b
ref(node-core): Remove alpha notice (#17172)
andreiborza Jul 25, 2025
4e0313d
fix(sveltekit): Align error status filtering and mechanism in `handle…
Lms24 Jul 25, 2025
f0147dc
feat(meta): Unify detection of serverless environments and add Cloud …
s1gr1d Jul 25, 2025
b0909cd
feat(core): Implement `strictTraceContinuation` (#16313)
s1gr1d Jul 25, 2025
ea9ee84
fix(nextjs): Handle async params in url extraction (#17162)
chargome Jul 25, 2025
68d7ee4
chore(dev-deps): Bump form-data to 4.0.4 (#17173)
mydea Jul 25, 2025
273cef9
fix(cloudflare): Avoid turning DurableObject sync methods into async …
andreiborza Jul 28, 2025
ee63f5f
test(nextjs): Run prod e2e tests in turbopack (#17186)
chargome Jul 28, 2025
aa52d6c
feat(node): Add firebase integration (#16719)
onurtemizkan Jul 28, 2025
cd041e9
chore: Skip releasing v10 AWS layer (#17194)
msonnb Jul 28, 2025
ac3e6e5
fix(replay): Fix re-sampled sessions after a click (#17008)
billyvg Jul 28, 2025
37bfcdc
test(nextjs): Extract pages routes tests from `nextjs-app-dir` e2e te…
chargome Jul 28, 2025
87b4e30
feat(core): MCP server instrumentation without breaking Miniflare (#1…
betegon Jul 28, 2025
e3376ee
feat(node): Instrument stream responses for openai (#17110)
RulaKhaled Jul 29, 2025
5a57f48
test(nextjs): Update error listener for generateMetadata test (#17199)
chargome Jul 29, 2025
0cebb57
test(nextjs): Test error trace linking for Vercel AI in Next.js (#17200)
RulaKhaled Jul 29, 2025
fccc60f
test(cloudflare): Add integration test infrastructure (#16848)
timfish Jul 29, 2025
58cf305
fix(core): Fix operation name for openai responses API (#17206)
RulaKhaled Jul 29, 2025
775ef0e
feat(node-native): Upgrade `@sentry-internal/node-native-stacktrace` …
AbhiPrasad Jul 29, 2025
33b23e0
fix(node): Add mechanism to `fastifyIntegration` error handler (#17208)
Lms24 Jul 29, 2025
faada7c
fix(astro): Construct parametrized route during runtime (#17190)
s1gr1d Jul 29, 2025
6b23b27
feat(core): Add shared `flushIfServerless` function (#17177)
s1gr1d Jul 30, 2025
bc7bc13
chore(node-core): Add node-core otel v1 and v2 apps (#17214)
andreiborza Jul 30, 2025
b9849a2
fix(nextjs): Flush in route handlers (#17223)
chargome Jul 30, 2025
47e5c6c
ref(core): Add shared type for build-time options (#17151)
s1gr1d Jul 30, 2025
5652282
fix(react): Memoize wrapped component to prevent rerenders (#17230)
chargome Jul 30, 2025
12ac49a
feat(react-router): Automatically flush on Vercel for request handler…
chargome Jul 30, 2025
8caf794
feat(react-router): Automatically flush on serverless for loaders/act…
chargome Jul 31, 2025
8ed15bb
fix(node): Fix exports for openai instrumentation (#17238)
RulaKhaled Jul 31, 2025
be4550a
feat(react-router): Add `createSentryHandleError` (#17235)
chargome Jul 31, 2025
8c1149b
fix(node): Handle stack traces with data URI filenames (#17218)
timfish Jul 31, 2025
abbcc67
chore: Reenable v10 layer in .craft.yml (#17240)
andreiborza Jul 31, 2025
254a86f
feat(core): Add missing openai tool calls attributes (#17226)
RulaKhaled Jul 31, 2025
eda7e33
feat(replay): Promote `_experiments.autoFlushOnFeedback` option as de…
billyvg Jul 31, 2025
0d8d05f
meta(changelog): Update changelog for 10.0.0
andreiborza Jul 31, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 2 additions & 5 deletions .craft.yml
Original file line number Diff line number Diff line change
Expand Up @@ -146,16 +146,13 @@ targets:
# AWS Lambda Layer target
- name: aws-lambda-layer
includeNames: /^sentry-node-serverless-\d+.\d+.\d+(-(beta|alpha|rc)\.\d+)?\.zip$/
layerName: SentryNodeServerlessSDKv9
layerName: SentryNodeServerlessSDKv10
compatibleRuntimes:
- name: node
versions:
- nodejs10.x
- nodejs12.x
- nodejs14.x
- nodejs16.x
- nodejs18.x
- nodejs20.x
- nodejs22.x
license: MIT

# CDN Bundle Target
Expand Down
34 changes: 28 additions & 6 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,6 @@ env:
${{ github.workspace }}/packages/*/lib
${{ github.workspace }}/packages/ember/*.d.ts
${{ github.workspace }}/packages/gatsby/*.d.ts
${{ github.workspace }}/packages/utils/cjs
${{ github.workspace }}/packages/utils/esm

BUILD_CACHE_TARBALL_KEY: tarball-${{ github.event.inputs.commit || github.sha }}

Expand Down Expand Up @@ -747,6 +745,29 @@ jobs:
directory: dev-packages/node-integration-tests
token: ${{ secrets.CODECOV_TOKEN }}

job_cloudflare_integration_tests:
name: Cloudflare Integration Tests
needs: [job_get_metadata, job_build]
runs-on: ubuntu-24.04
timeout-minutes: 15
steps:
- name: Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
uses: actions/checkout@v4
with:
ref: ${{ env.HEAD_COMMIT }}
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version-file: 'package.json'
- name: Restore caches
uses: ./.github/actions/restore-cache
with:
dependency_cache_key: ${{ needs.job_build.outputs.dependency_cache_key }}

- name: Run integration tests
working-directory: dev-packages/cloudflare-integration-tests
run: yarn test

job_remix_integration_tests:
name: Remix (Node ${{ matrix.node }}) Tests
needs: [job_get_metadata, job_build]
Expand Down Expand Up @@ -950,13 +971,13 @@ jobs:
retention-days: 7

- name: Pre-process E2E Test Dumps
if: always()
if: failure()
run: |
node ./scripts/normalize-e2e-test-dump-transaction-events.js

- name: Upload E2E Test Event Dumps
uses: actions/upload-artifact@v4
if: always()
if: failure()
with:
name: E2E Test Dump (${{ matrix.label || matrix.test-application }})
path: ${{ runner.temp }}/test-application/event-dumps
Expand Down Expand Up @@ -1062,13 +1083,13 @@ jobs:
run: pnpm ${{ matrix.assert-command || 'test:assert' }}

- name: Pre-process E2E Test Dumps
if: always()
if: failure()
run: |
node ./scripts/normalize-e2e-test-dump-transaction-events.js

- name: Upload E2E Test Event Dumps
uses: actions/upload-artifact@v4
if: always()
if: failure()
with:
name: E2E Test Dump (${{ matrix.label || matrix.test-application }})
path: ${{ runner.temp }}/test-application/event-dumps
Expand All @@ -1095,6 +1116,7 @@ jobs:
job_deno_unit_tests,
job_node_unit_tests,
job_node_integration_tests,
job_cloudflare_integration_tests,
job_browser_playwright_tests,
job_browser_loader_tests,
job_remix_integration_tests,
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -60,3 +60,4 @@ packages/gatsby/gatsby-node.d.ts

# intellij
*.iml
/**/.wrangler/*
11 changes: 10 additions & 1 deletion .size-limit.js
Original file line number Diff line number Diff line change
Expand Up @@ -217,14 +217,23 @@ module.exports = [
gzip: true,
limit: '41 KB',
},
// Node-Core SDK (ESM)
{
name: '@sentry/node-core',
path: 'packages/node-core/build/esm/index.js',
import: createImport('init'),
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
gzip: true,
limit: '116 KB',
},
// Node SDK (ESM)
{
name: '@sentry/node',
path: 'packages/node/build/esm/index.js',
import: createImport('init'),
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
gzip: true,
limit: '170 KB',
limit: '147 KB',
},
{
name: '@sentry/node - without tracing',
Expand Down
67 changes: 67 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,73 @@

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

## 10.0.0

Version `10.0.0` marks a release of the Sentry JavaScript SDKs that contains breaking changes. The goal of this release is to primarily upgrade the underlying OpenTelemetry dependencies to v2 with minimal breaking changes.

### How To Upgrade

Please carefully read through the migration guide in the Sentry docs on how to upgrade from version 9 to version 10. Make sure to select your specific platform/framework in the top left corner: https://docs.sentry.io/platforms/javascript/migration/v9-to-v10/

A comprehensive migration guide outlining all changes can be found within the Sentry JavaScript SDK Repository: https://github.com/getsentry/sentry-javascript/blob/develop/MIGRATION.md

### Breaking Changes

- feat!: Bump to OpenTelemetry v2 ([#16872](https://github.com/getsentry/sentry-javascript/pull/16872))
- feat(browser)!: Remove FID web vital collection ([#17076](https://github.com/getsentry/sentry-javascript/pull/17076))
- feat(core)!: Remove `BaseClient` ([#17071](https://github.com/getsentry/sentry-javascript/pull/17071))
- feat(core)!: Remove `enableLogs` and `beforeSendLog` experimental options ([#17063](https://github.com/getsentry/sentry-javascript/pull/17063))
- feat(core)!: Remove `hasTracingEnabled` ([#17072](https://github.com/getsentry/sentry-javascript/pull/17072))
- feat(core)!: Remove deprecated logger ([#17061](https://github.com/getsentry/sentry-javascript/pull/17061))
- feat(replay)!: Promote `_experiments.autoFlushOnFeedback` option as default ([#17220](https://github.com/getsentry/sentry-javascript/pull/17220))
- chore(deps)!: Bump bundler plugins to v4 ([#17089](https://github.com/getsentry/sentry-javascript/pull/17089))

### Other Changes

- feat(astro): Implement Request Route Parametrization for Astro 5 ([#17105](https://github.com/getsentry/sentry-javascript/pull/17105))
- feat(astro): Parametrize routes on client-side ([#17133](https://github.com/getsentry/sentry-javascript/pull/17133))
- feat(aws): Add `SentryNodeServerlessSDKv10` v10 AWS Lambda Layer ([#17069](https://github.com/getsentry/sentry-javascript/pull/17069))
- feat(aws): Create unified lambda layer for ESM and CJS ([#17012](https://github.com/getsentry/sentry-javascript/pull/17012))
- feat(aws): Detect SDK source for AWS Lambda layer ([#17128](https://github.com/getsentry/sentry-javascript/pull/17128))
- feat(core): Add missing openai tool calls attributes ([#17226](https://github.com/getsentry/sentry-javascript/pull/17226))
- feat(core): Add shared `flushIfServerless` function ([#17177](https://github.com/getsentry/sentry-javascript/pull/17177))
- feat(core): Implement `strictTraceContinuation` ([#16313](https://github.com/getsentry/sentry-javascript/pull/16313))
- feat(core): MCP server instrumentation without breaking Miniflare ([#16817](https://github.com/getsentry/sentry-javascript/pull/16817))
- feat(deps): bump @prisma/instrumentation from 6.11.1 to 6.12.0 ([#17117](https://github.com/getsentry/sentry-javascript/pull/17117))
- feat(meta): Unify detection of serverless environments and add Cloud Run ([#17168](https://github.com/getsentry/sentry-javascript/pull/17168))
- feat(nestjs): Switch to OTel core instrumentation ([#17068](https://github.com/getsentry/sentry-javascript/pull/17068))
- feat(node-native): Upgrade `@sentry-internal/node-native-stacktrace` to `0.2.2` ([#17207](https://github.com/getsentry/sentry-javascript/pull/17207))
- feat(node): Add `shouldHandleError` option to `fastifyIntegration` ([#16845](https://github.com/getsentry/sentry-javascript/pull/16845))
- feat(node): Add firebase integration ([#16719](https://github.com/getsentry/sentry-javascript/pull/16719))
- feat(node): Instrument stream responses for openai ([#17110](https://github.com/getsentry/sentry-javascript/pull/17110))
- feat(react-router): Add `createSentryHandleError` ([#17235](https://github.com/getsentry/sentry-javascript/pull/17235))
- feat(react-router): Automatically flush on serverless for loaders/actions ([#17234](https://github.com/getsentry/sentry-javascript/pull/17234))
- feat(react-router): Automatically flush on Vercel for request handlers ([#17232](https://github.com/getsentry/sentry-javascript/pull/17232))
- fix(astro): Construct parametrized route during runtime ([#17190](https://github.com/getsentry/sentry-javascript/pull/17190))
- fix(aws): Add layer build output to nx cache ([#17148](https://github.com/getsentry/sentry-javascript/pull/17148))
- fix(aws): Fix path to packages directory ([#17112](https://github.com/getsentry/sentry-javascript/pull/17112))
- fix(aws): Resolve all Sentry packages to local versions in layer build ([#17106](https://github.com/getsentry/sentry-javascript/pull/17106))
- fix(aws): Use file link in dependency version ([#17111](https://github.com/getsentry/sentry-javascript/pull/17111))
- fix(cloudflare): Allow non uuid workflow instance IDs ([#17121](https://github.com/getsentry/sentry-javascript/pull/17121))
- fix(cloudflare): Avoid turning DurableObject sync methods into async ([#17184](https://github.com/getsentry/sentry-javascript/pull/17184))
- fix(core): Fix OpenAI SDK private field access by binding non-instrumented fns ([#17163](https://github.com/getsentry/sentry-javascript/pull/17163))
- fix(core): Fix operation name for openai responses API ([#17206](https://github.com/getsentry/sentry-javascript/pull/17206))
- fix(core): Update ai.response.object to gen_ai.response.object ([#17153](https://github.com/getsentry/sentry-javascript/pull/17153))
- fix(nextjs): Flush in route handlers ([#17223](https://github.com/getsentry/sentry-javascript/pull/17223))
- fix(nextjs): Handle async params in url extraction ([#17162](https://github.com/getsentry/sentry-javascript/pull/17162))
- fix(nextjs): Update stackframe calls for next v15.5 ([#17156](https://github.com/getsentry/sentry-javascript/pull/17156))
- fix(node): Add mechanism to `fastifyIntegration` error handler ([#17208](https://github.com/getsentry/sentry-javascript/pull/17208))
- fix(node): Ensure tool errors for `vercelAiIntegration` have correct trace connected ([#17132](https://github.com/getsentry/sentry-javascript/pull/17132))
- fix(node): Fix exports for openai instrumentation ([#17238](https://github.com/getsentry/sentry-javascript/pull/17238))
- fix(node): Handle stack traces with data URI filenames ([#17218](https://github.com/getsentry/sentry-javascript/pull/17218))
- fix(react): Memoize wrapped component to prevent rerenders ([#17230](https://github.com/getsentry/sentry-javascript/pull/17230))
- fix(remix): Ensure source maps upload fails silently if Sentry CLI fails ([#17082](https://github.com/getsentry/sentry-javascript/pull/17082))
- fix(replay): Fix re-sampled sessions after a click ([#17008](https://github.com/getsentry/sentry-javascript/pull/17008))
- fix(svelte): Do not insert preprocess code in script module in Svelte 5 ([#17114](https://github.com/getsentry/sentry-javascript/pull/17114))
- fix(sveltekit): Align error status filtering and mechanism in `handleErrorWithSentry` ([#17157](https://github.com/getsentry/sentry-javascript/pull/17157))

Work in this release was contributed by @richardjelinek-fastest. Thank you for your contribution!

## 9.40.0

### Important Changes
Expand Down
Loading
Loading