Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
c01ade0
test(cloudflare): Match the expected error in the WebSocket e2e tests…
mydea Oct 1, 2026
ce2631a
fix(tanstackstart-react): Avoid duplicating Vite config arrays (#24929)
nicohrubec Oct 1, 2026
06dd51e
fix(react-router): Avoid duplicating Vite config arrays (#24930)
nicohrubec Oct 1, 2026
cc2bde7
Merge pull request #24931 from getsentry/master
github-actions[bot] Oct 1, 2026
116ee68
feat(core): Add route provider API for parameterized route resolution…
logaretm Oct 1, 2026
f471f80
feat(nextjs): Register nextjs route provider (#23552)
logaretm Oct 1, 2026
97f19ed
feat(remix): Register remix route provider (#23791)
logaretm Oct 1, 2026
bad3325
feat(astro): Register astro route provider (#23792)
logaretm Oct 1, 2026
de00415
feat(vue): Register Vue route provider (#23793)
logaretm Oct 1, 2026
c4034d4
feat(nuxt): Register nuxt route provider (#23794)
logaretm Oct 1, 2026
1e5b1bf
feat(nextjs): Add `cache_origin` span links to `use cache` hit spans …
s1gr1d Oct 1, 2026
db0854e
test(cloudflare): Add Flue E2E test that deploys a real Worker and se…
JPeer264 Oct 1, 2026
18c7398
fix(cloudflare): Don't treat DO constructor work as incoming RPC call…
JPeer264 Oct 1, 2026
59b844e
fix(effect)!: Change peerDependency to v4 and fix currentSpan (#24940)
JPeer264 Oct 1, 2026
289fb98
fix(bundler-plugins): Stabilize debug IDs for Rolldown and Vite 8 bui…
timfish Oct 1, 2026
811af68
feat(remix): Add Remix 3 browser SDK with a bundled client entry (#24…
chargome Oct 1, 2026
e4d6f64
fix(bundler-plugins): Keep debug IDs on Vite source maps after the pr…
timfish Oct 1, 2026
fe68d49
fix(cloudflare): Skip binding instrumentation work when spans are not…
JPeer264 Oct 1, 2026
3c8ff89
test(deno): Port integration tests to span streaming (#24870)
msonnb Oct 1, 2026
fb43c0b
ref(server-utils): Clarify API promise helper naming and references (…
nicohrubec Oct 1, 2026
ed31852
fix(server-utils): Match the Anthropic stream helper header regardles…
RulaKhaled Oct 1, 2026
11c4936
test(e2e): Add node-anthropic-send-to-sentry test app (#24856)
RulaKhaled Oct 1, 2026
563e333
feat(remix): Capture Remix 3 component render errors (#24873)
chargome Oct 1, 2026
2cbe188
feat(remix): Inject debug IDs through the Remix 3 asset server (#24761)
chargome Oct 1, 2026
ca0837d
feat(remix): Complete Remix 3 server error handling (#24878)
chargome Oct 1, 2026
df2b796
feat(effect): Add opt-in for external span parents and isolate root s…
JPeer264 Oct 1, 2026
b75aa9e
fix(profiling-node): Send profile chunks with `client.sendEnvelope` (…
timfish Oct 1, 2026
dd93cce
license: Add cli FSL notice (#24956)
JPeer264 Oct 1, 2026
90db319
test(e2e): Avoid rate limits when polling Sentry in send-to-sentry te…
sentry-junior[bot] Oct 1, 2026
c1e182c
fix(hono): Return the existing client on repeated init in Bun and Den…
Shubham-Padkonde Oct 1, 2026
1de4f87
chore: Add external contributor to CHANGELOG.md (#24959)
javascript-sdk-gitflow[bot] Oct 1, 2026
e2e6e33
fix(core, node, bun, deno): Align server span client address with eve…
isaacs Oct 2, 2026
0e00ec1
feat(cloudflare): Trace TypeSafe Jev calls in Workers AI as evaluate …
andreiborza Oct 2, 2026
f555a14
fix(nitro): Capture errors only through the Nitro error hook (#24952)
nicohrubec Oct 2, 2026
020a2d0
chore(deps): Bump @sentry/conventions to 0.25.0 (#24958)
nicohrubec Oct 2, 2026
bc5889c
ref(core): Use conversation ID constant from conventions (#24966)
nicohrubec Oct 2, 2026
b470aca
chore(deps-dev): bump @vercel/nft from 1.5.0 to 1.11.0 (#24954)
dependabot[bot] Oct 2, 2026
4ff3673
chore(deps): dev dependency security fixes (#24275)
javascript-sdk-gitflow[bot] Oct 2, 2026
4ceab6c
ref(core): Use status message constant from conventions (#24967)
nicohrubec Oct 2, 2026
7932813
feat(remix): Run the orchestrion transform on Remix 3 browser modules…
chargome Oct 2, 2026
69de761
feat(deps): bump devalue from 5.9.2 to 5.9.4 (#24964)
dependabot[bot] Oct 2, 2026
b9290e9
chore(size-limit): weekly auto-bump (#24969)
javascript-sdk-gitflow[bot] Oct 2, 2026
8198603
ref(core): Use idle span finish reason constant from conventions (#24…
nicohrubec Oct 2, 2026
425a304
fix(react-router): Resolve the Cloudflare entry in Workers and skip t…
JPeer264 Oct 2, 2026
6753777
ci(deps): bump pnpm/action-setup from 6.0.10 to 6.1.0 (#24948)
dependabot[bot] Oct 2, 2026
760fa50
ci(deps): bump anthropics/claude-code-action from 1.0.210 to 1.0.236 …
dependabot[bot] Oct 2, 2026
d672d69
ci(deps): bump getsentry/github-workflows/validate-pr from 4013fc6e1a…
dependabot[bot] Oct 2, 2026
89ac4c2
ci(deps): bump getsentry/craft from 2.30.1 to 2.31.2 (#24951)
dependabot[bot] Oct 2, 2026
7f4df48
ref(core): Use exclusive time constant from conventions (#24971)
nicohrubec Oct 2, 2026
bd1012a
ref(core): Use cache attribute constants from conventions (#24973)
nicohrubec Oct 2, 2026
9e77e9d
ref(core): Use user attribute constants from conventions (#24974)
nicohrubec Oct 2, 2026
c65ec66
ref(core): Use HTTP method constant from conventions (#24977)
nicohrubec Oct 2, 2026
9c10641
fix(server-utils): Skip Fastify 4xx errors raised before the reply st…
tobias-schnabel Oct 2, 2026
ef90627
chore: Add external contributor to CHANGELOG.md (#24980)
javascript-sdk-gitflow[bot] Oct 2, 2026
ea5690e
ref(core): Use profile ID constant from conventions (#24976)
nicohrubec Oct 2, 2026
4b8c140
feat(remix): Add source map upload for Remix 3 (#24943)
chargome Oct 2, 2026
d880cf0
ref(core): Use SDK metadata constants from conventions (#24978)
nicohrubec Oct 2, 2026
1c7308d
meta(changelog): Update changelog for 11.3.0
chargome Oct 2, 2026
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
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/auto-fix-issue.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ jobs:

- name: Try to fix the issue with Claude
id: triage
uses: anthropics/claude-code-action@a874e9ecd7bb36efdad65429c6b35815f5a08f10 # v1
uses: anthropics/claude-code-action@8ce9314fa9a404564fa7e954cd84f25bcba2b829 # v1
env:
ANTHROPIC_BASE_URL: https://openrouter.ai/api
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/auto-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
node-version-file: 'package.json'

- name: Prepare release
uses: getsentry/craft@cd1e8294061fd970b40d98b77aaa109cb1e00e78 # v2.30.1
uses: getsentry/craft@25028d0646040cc0a669ae3314cbf884f4c4347a # v2.31.2
if:
github.event.pull_request.merged == true && steps.version-regex.outputs.match != '' &&
steps.get_version.outputs.version != ''
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -886,7 +886,7 @@ jobs:
with:
ref: ${{ env.HEAD_COMMIT }}
# The fixtures install the locally-packed `@sentry/bundler-plugins` tarball with pnpm.
- uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10
- uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0
with:
version: 9.15.9
- name: Set up Node
Expand Down Expand Up @@ -1046,7 +1046,7 @@ jobs:
uses: actions/checkout@v7
with:
ref: ${{ env.HEAD_COMMIT }}
- uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10
- uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0
with:
version: ${{ matrix.test-application == 'nuxt-5' && '11.10.0' || '9.15.9' }}
- name: Set up Node
Expand Down Expand Up @@ -1186,7 +1186,7 @@ jobs:
uses: actions/checkout@v7
with:
ref: ${{ env.HEAD_COMMIT }}
- uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10
- uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0
with:
version: ${{ matrix.test-application == 'nuxt-5' && '11.10.0' || '9.15.9' }}
- name: Set up Node
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/canary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ jobs:
uses: actions/checkout@v7
with:
ref: ${{ env.HEAD_COMMIT }}
- uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10
- uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0
with:
version: 9.15.9
- name: Set up Node
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/cleanup-e2e-workers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ jobs:
# Name prefix of every E2E app that deploys a real worker, see the app's global-setup.ts
worker-prefix:
- e2e-send-to-sentry
- e2e-flue-send-to-sentry
steps:
- name: Set up Node
uses: actions/setup-node@v7
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/dependabot-auto-triage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ jobs:
git config user.email "${{ steps.app-token.outputs.app-slug }}[bot]@users.noreply.github.com"

- name: Open batched runtime fix PR via skill
uses: anthropics/claude-code-action@a874e9ecd7bb36efdad65429c6b35815f5a08f10 # v1
uses: anthropics/claude-code-action@8ce9314fa9a404564fa7e954cd84f25bcba2b829 # v1
env:
ANTHROPIC_BASE_URL: https://openrouter.ai/api
with:
Expand Down Expand Up @@ -249,7 +249,7 @@ jobs:
git config user.email "${{ steps.app-token.outputs.app-slug }}[bot]@users.noreply.github.com"

- name: Open batched dev fix PR via skill
uses: anthropics/claude-code-action@a874e9ecd7bb36efdad65429c6b35815f5a08f10 # v1
uses: anthropics/claude-code-action@8ce9314fa9a404564fa7e954cd84f25bcba2b829 # v1
env:
ANTHROPIC_BASE_URL: https://openrouter.ai/api
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/lighthouse.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
VITE_E2E_TEST_DSN: 'https://username@domain/123'
steps:
- uses: actions/checkout@v7
- uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10
- uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0
with:
version: 9.15.9
- uses: actions/setup-node@v7
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
with:
node-version-file: 'package.json'
- name: Prepare release
uses: getsentry/craft@cd1e8294061fd970b40d98b77aaa109cb1e00e78 # v2.30.1
uses: getsentry/craft@25028d0646040cc0a669ae3314cbf884f4c4347a # v2.31.2
env:
GITHUB_TOKEN: ${{ steps.token.outputs.token }}
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/track-framework-updates.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:

- name: Run Claude digest
id: digest
uses: anthropics/claude-code-action@a874e9ecd7bb36efdad65429c6b35815f5a08f10 # v1
uses: anthropics/claude-code-action@8ce9314fa9a404564fa7e954cd84f25bcba2b829 # v1
env:
ANTHROPIC_BASE_URL: https://openrouter.ai/api
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/triage-issue.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ jobs:

- name: Run Claude triage
id: triage
uses: anthropics/claude-code-action@a874e9ecd7bb36efdad65429c6b35815f5a08f10 # v1
uses: anthropics/claude-code-action@8ce9314fa9a404564fa7e954cd84f25bcba2b829 # v1
env:
ANTHROPIC_BASE_URL: https://openrouter.ai/api
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/validate-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
permissions:
pull-requests: write
steps:
- uses: getsentry/github-workflows/validate-pr@4013fc6e1aeb1be1f9d3b4d232624f0ec1afa613
- uses: getsentry/github-workflows/validate-pr@36c729264d2edc29ebae61950c50e1e9f043ad7e
with:
app-id: ${{ vars.SDK_MAINTAINER_BOT_APP_ID }}
private-key: ${{ secrets.SDK_MAINTAINER_BOT_PRIVATE_KEY }}
61 changes: 37 additions & 24 deletions .size-limit.js
Original file line number Diff line number Diff line change
Expand Up @@ -89,15 +89,15 @@ module.exports = [
path: 'packages/browser/build/npm/esm/prod/index.js',
import: createImport('init', 'browserTracingIntegration', 'replayIntegration'),
gzip: true,
limit: '96 KB',
limit: '97 KB',
disablePlugins: ['@size-limit/esbuild'],
},
{
name: '@sentry/browser (incl. Tracing, Replay) - with treeshaking flags',
path: 'packages/browser/build/npm/esm/prod/index.js',
import: createImport('init', 'browserTracingIntegration', 'replayIntegration'),
gzip: true,
limit: '85 KB',
limit: '86 KB',
disablePlugins: ['@size-limit/esbuild'],
modifyWebpackConfig: function (config) {
const webpack = require('webpack');
Expand Down Expand Up @@ -137,7 +137,7 @@ module.exports = [
path: 'packages/browser/build/npm/esm/prod/index.js',
import: createImport('init', 'feedbackIntegration'),
gzip: true,
limit: '52 KB',
limit: '53 KB',
disablePlugins: ['@size-limit/esbuild'],
},
{
Expand Down Expand Up @@ -187,7 +187,7 @@ module.exports = [
import: createImport('init', 'ErrorBoundary'),
ignore: ['react/jsx-runtime'],
gzip: true,
limit: '36 KB',
limit: '37 KB',
disablePlugins: ['@size-limit/esbuild'],
},
{
Expand All @@ -205,15 +205,15 @@ module.exports = [
path: 'packages/vue/build/esm/index.js',
import: createImport('init'),
gzip: true,
limit: '42 KB',
limit: '43 KB',
disablePlugins: ['@size-limit/esbuild'],
},
{
name: '@sentry/vue (incl. Tracing)',
path: 'packages/vue/build/esm/index.js',
import: createImport('init', 'browserTracingIntegration'),
gzip: true,
limit: '59 KB',
limit: '60 KB',
disablePlugins: ['@size-limit/esbuild'],
},
// Svelte SDK (ESM)
Expand All @@ -225,12 +225,25 @@ module.exports = [
limit: '35 KB',
disablePlugins: ['@size-limit/esbuild'],
},
// Remix 3 browser SDK (ESM)
{
// Every export, not a named import: Remix 3 has no bundler, so an app ships every byte of this
// file. The budget is what keeps `src/v3/index.client.ts` a named list. One added
// `export * from '@sentry/browser'` measures 134 KB here, and more on the wire, because a real app
// has no bundler to shake it.
name: '@sentry/remix (Remix 3 client bundle)',
path: 'packages/remix/build/esm/v3/client-bundle.js',
import: '*',
gzip: true,
limit: '61 KB',
disablePlugins: ['@size-limit/esbuild'],
},
// Browser CDN bundles
{
name: 'CDN Bundle',
path: createCDNPath('bundle.min.js'),
gzip: true,
limit: '36 KB',
limit: '37 KB',
disablePlugins: ['@size-limit/esbuild'],
},
{
Expand Down Expand Up @@ -258,7 +271,7 @@ module.exports = [
name: 'CDN Bundle (incl. Replay, Logs, Metrics)',
path: createCDNPath('bundle.replay.logs.metrics.min.js'),
gzip: true,
limit: '79 KB',
limit: '80 KB',
disablePlugins: ['@size-limit/esbuild'],
},
{
Expand Down Expand Up @@ -295,55 +308,55 @@ module.exports = [
path: createCDNPath('bundle.min.js'),
gzip: false,
brotli: false,
limit: '97 KB',
limit: '98 KB',
disablePlugins: ['@size-limit/esbuild'],
},
{
name: 'CDN Bundle (incl. Tracing) - uncompressed',
path: createCDNPath('bundle.tracing.min.js'),
gzip: false,
brotli: false,
limit: '159 KB',
limit: '160 KB',
disablePlugins: ['@size-limit/esbuild'],
},
{
name: 'CDN Bundle (incl. Logs, Metrics) - uncompressed',
path: createCDNPath('bundle.logs.metrics.min.js'),
gzip: false,
brotli: false,
limit: '103 KB',
limit: '104 KB',
disablePlugins: ['@size-limit/esbuild'],
},
{
name: 'CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed',
path: createCDNPath('bundle.tracing.logs.metrics.min.js'),
gzip: false,
brotli: false,
limit: '165 KB',
limit: '166 KB',
disablePlugins: ['@size-limit/esbuild'],
},
{
name: 'CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed',
path: createCDNPath('bundle.replay.logs.metrics.min.js'),
gzip: false,
brotli: false,
limit: '233 KB',
limit: '234 KB',
disablePlugins: ['@size-limit/esbuild'],
},
{
name: 'CDN Bundle (incl. Tracing, Replay) - uncompressed',
path: createCDNPath('bundle.tracing.replay.min.js'),
gzip: false,
brotli: false,
limit: '279 KB',
limit: '280 KB',
disablePlugins: ['@size-limit/esbuild'],
},
{
name: 'CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed',
path: createCDNPath('bundle.tracing.replay.logs.metrics.min.js'),
gzip: false,
brotli: false,
limit: '285 KB',
limit: '286 KB',
disablePlugins: ['@size-limit/esbuild'],
},
{
Expand All @@ -369,7 +382,7 @@ module.exports = [
import: createImport('init'),
ignore: ['next/router', 'next/constants'],
gzip: true,
limit: '61 KB',
limit: '62 KB',
disablePlugins: ['@size-limit/esbuild'],
},
// SvelteKit SDK (ESM)
Expand All @@ -388,7 +401,7 @@ module.exports = [
path: 'packages/core/build/esm/server.js',
import: '*',
gzip: true,
limit: '45 KB',
limit: '46 KB',
disablePlugins: ['@size-limit/esbuild'],
},
{
Expand All @@ -406,15 +419,15 @@ module.exports = [
import: createImport('init'),
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
gzip: true,
limit: '145 KB',
limit: '150 KB',
disablePlugins: ['@size-limit/esbuild'],
},
{
name: '@sentry/node/import (ESM hook with diagnostics-channel injection)',
path: ['packages/server-runtime-injection/build/esm/hook.js', 'packages/node/build/import-hook.mjs'],
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
gzip: true,
limit: '88 KB',
limit: '89 KB',
disablePlugins: ['@size-limit/esbuild'],
modifyWebpackConfig: function (config) {
// Both packages declare `sideEffects: false`, which lets webpack
Expand All @@ -430,7 +443,7 @@ module.exports = [
path: 'packages/node/build/esm/index.js',
import: createImport('initWithoutDefaultIntegrations', 'getDefaultIntegrationsWithoutPerformance'),
gzip: true,
limit: '96 KB',
limit: '99 KB',
disablePlugins: ['@size-limit/esbuild'],
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
modifyWebpackConfig: function (config) {
Expand All @@ -452,7 +465,7 @@ module.exports = [
path: 'packages/node/build/esm/index.js',
import: createImport('init'),
gzip: true,
limit: '123 KB',
limit: '128 KB',
disablePlugins: ['@size-limit/esbuild'],
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
modifyWebpackConfig: function (config) {
Expand All @@ -473,7 +486,7 @@ module.exports = [
import: createImport('init'),
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
gzip: true,
limit: '104 KB',
limit: '107 KB',
disablePlugins: ['@size-limit/esbuild'],
},
// Cloudflare SDK (ESM) - compressed, minified to match `wrangler deploy --dry-run --minify` output
Expand All @@ -484,7 +497,7 @@ module.exports = [
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
gzip: false,
brotli: false,
limit: '208 KiB',
limit: '209 KiB',
disablePlugins: ['@size-limit/webpack'],
webpack: false,
modifyEsbuildConfig: function (config) {
Expand All @@ -504,7 +517,7 @@ module.exports = [
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
gzip: false,
brotli: false,
limit: '507 KiB',
limit: '512 KiB',
disablePlugins: ['@size-limit/webpack'],
webpack: false,
modifyEsbuildConfig: function (config) {
Expand Down
Loading
Loading