Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
b10085d
test(remix): Bump Remix version of integration tests to `2.16.3` (#15…
onurtemizkan Apr 3, 2025
0d3b0a0
ci(deps): bump peter-evans/create-pull-request from 7.0.7 to 7.0.8 (#…
dependabot[bot] Apr 3, 2025
bbe0589
Merge pull request #15973 from getsentry/master
github-actions[bot] Apr 3, 2025
35e78c6
feat(node): Add support for `SENTRY_DEBUG` env variable (#15972)
Lms24 Apr 3, 2025
2c1c189
feat(feedback): Implement highlighting and hiding controls for screen…
ryan953 Apr 3, 2025
2b99569
test(nuxt): Improve tests for source map detection (#15968)
s1gr1d Apr 4, 2025
ddf1935
feat(nextjs): Warn when client was initialized more than once (#15971)
Apr 4, 2025
d7fbb17
build(aws-serverless): Include debug logs in lambda layer SDK bundle …
Lms24 Apr 4, 2025
c6261f7
feat(node): Add `ignoreIncomingRequestBody` callback to `httpIntegrat…
Page- Apr 4, 2025
67f4919
chore: Add external contributor to CHANGELOG.md (#15984)
HazAT Apr 4, 2025
26ff159
fix(tss-react): Change `authToken` type to `string` (#15985)
Lms24 Apr 4, 2025
51f04a1
feat(browser): Add `onRequestSpanStart` hook to browser tracing integ…
Apr 7, 2025
186e696
fix(core): Do not abbreviate message parameter attribute (#15987)
AbhiPrasad Apr 7, 2025
4d0c270
feat(nextjs): Mark clientside prefetch request spans with `http.reque…
Apr 7, 2025
c922bcc
feat(nextjs): Un experimentify `clientInstrumentationHook` (#15992)
Apr 7, 2025
9e477cd
feat(nextjs): Add `captureRouterTransitionStart` hook for capturing n…
Apr 7, 2025
7e4a91e
chore(cloudflare): Add jsonc snippet to cloudflare readme (#15994)
AbhiPrasad Apr 7, 2025
3c1a9d9
feat(astro): Add tracking of errors during HTML streaming (#15995)
Fryuni Apr 7, 2025
7f24881
chore: Add external contributor to CHANGELOG.md (#15997)
HazAT Apr 7, 2025
6a8a2c3
fix(node): Make log flushing logic more robust (#15991)
AbhiPrasad Apr 7, 2025
dd2b279
feat(core): Add sentry origin attribute to console logs integration (…
AbhiPrasad Apr 8, 2025
6b73178
feat(deps): Bump @sentry/cli from 2.42.3 to 2.43.0 (#16001)
dependabot[bot] Apr 8, 2025
b4ef25d
fix(core): Prefix release and environment correctly (#15999)
AbhiPrasad Apr 8, 2025
2e3d6e3
feat(core): Add sdk name and version to logs (#16005)
AbhiPrasad Apr 8, 2025
6c40f4b
feat(node): Add server.address to nodejs logs (#16006)
AbhiPrasad Apr 8, 2025
e7530a3
feat(core): Emit debug log when transport execution fails (#16009)
Apr 8, 2025
9d4d6df
meta(changelog): Update changelog for 9.12.0
AbhiPrasad Apr 8, 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
2 changes: 1 addition & 1 deletion .github/workflows/external-contributors.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -36,7 +36,7 @@ jobs:
author_association: ${{ github.event.pull_request.author_association }}

- name: Create PR with changes
uses: peter-evans/create-pull-request@dd2324fc52d5d43c699a5636bcf19fceaa70c284
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e
with:
# This token is scoped to Daniel Griesser
# If we used the default GITHUB_TOKEN, the resulting PR would not trigger CI :(
Expand Down
2 changes: 1 addition & 1 deletion .size-limit.js
Original file line numberDiff line numberDiff line change
Expand Up@@ -139,7 +139,7 @@ module.exports = [
path: 'packages/vue/build/esm/index.js',
import: createImport('init', 'browserTracingIntegration'),
gzip: true,
limit: '39.5 KB',
limit: '40 KB',
},
// Svelte SDK (ESM)
{
Expand Down
55 changes: 54 additions & 1 deletion CHANGELOG.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -10,11 +10,64 @@

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

## 9.12.0

### Important Changes

- **feat(feedback): Implement highlighting and hiding controls for screenshots ([#15951](https://github.com/getsentry/sentry-javascript/pull/15951))**

The Sentry SDK now supports highlighting and hiding controls for screenshots in [user feedback reports](https://docs.sentry.io/platforms/javascript/user-feedback/). This functionality is enabled by default.

- **feat(node): Add `ignoreIncomingRequestBody` callback to `httpIntegration` ([#15959](https://github.com/getsentry/sentry-javascript/pull/15959))**

The `httpIntegration` now supports an optional `ignoreIncomingRequestBody` callback that can be used to skip capturing the body of incoming requests.

```ts
Sentry.init({
integrations: [
Sentry.httpIntegration({
ignoreIncomingRequestBody: (url, request) => {
return request.method === 'GET' && url.includes('/api/large-payload');
},
}),
],
});
```

The `ignoreIncomingRequestBody` callback receives the URL of the request and should return `true` if the body should be ignored.

- **Logging Improvements**

Sentry is adding support for [structured logging](https://github.com/getsentry/sentry-javascript/discussions/15916). In this release we've made a variety of improvements to logging functionality in the Sentry SDKs.

- feat(node): Add server.address to nodejs logs ([#16006](https://github.com/getsentry/sentry-javascript/pull/16006))
- feat(core): Add sdk name and version to logs ([#16005](https://github.com/getsentry/sentry-javascript/pull/16005))
- feat(core): Add sentry origin attribute to console logs integration ([#15998](https://github.com/getsentry/sentry-javascript/pull/15998))
- fix(core): Do not abbreviate message parameter attribute ([#15987](https://github.com/getsentry/sentry-javascript/pull/15987))
- fix(core): Prefix release and environment correctly ([#15999](https://github.com/getsentry/sentry-javascript/pull/15999))
- fix(node): Make log flushing logic more robust ([#15991](https://github.com/getsentry/sentry-javascript/pull/15991))

### Other Changes

- build(aws-serverless): Include debug logs in lambda layer SDK bundle ([#15974](https://github.com/getsentry/sentry-javascript/pull/15974))
- feat(astro): Add tracking of errors during HTML streaming ([#15995](https://github.com/getsentry/sentry-javascript/pull/15995))
- feat(browser): Add `onRequestSpanStart` hook to browser tracing integration ([#15979](https://github.com/getsentry/sentry-javascript/pull/15979))
- feat(deps): Bump @sentry/cli from 2.42.3 to 2.43.0 ([#16001](https://github.com/getsentry/sentry-javascript/pull/16001))
- feat(nextjs): Add `captureRouterTransitionStart` hook for capturing navigations ([#15981](https://github.com/getsentry/sentry-javascript/pull/15981))
- feat(nextjs): Mark clientside prefetch request spans with `http.request.prefetch: true` attribute ([#15980](https://github.com/getsentry/sentry-javascript/pull/15980))
- feat(nextjs): Un experimentify `clientInstrumentationHook` ([#15992](https://github.com/getsentry/sentry-javascript/pull/15992))
- feat(nextjs): Warn when client was initialized more than once ([#15971](https://github.com/getsentry/sentry-javascript/pull/15971))
- feat(node): Add support for `SENTRY_DEBUG` env variable ([#15972](https://github.com/getsentry/sentry-javascript/pull/15972))
- fix(tss-react): Change `authToken` type to `string` ([#15985](https://github.com/getsentry/sentry-javascript/pull/15985))

Work in this release was contributed by @Page- and @Fryuni. Thank you for your contributions!

## 9.11.0

- feat(browser): Add `http.redirect_count` attribute to `browser.redirect` span ([#15943](https://github.com/getsentry/sentry-javascript/pull/15943))
- feat(core): Add `consoleLoggingIntegration` for logs ([#15955](https://github.com/getsentry/sentry-javascript/pull/15955))
- feat(core): Don't truncate error messages ([#15818](https://github.com/getsentry/sentry-javascript/pull/15818))
- feat(core): Emit debug log when transport execution fails ([#16009](https://github.com/getsentry/sentry-javascript/pull/16009))
- feat(nextjs): Add release injection in Turbopack ([#15958](https://github.com/getsentry/sentry-javascript/pull/15958))
- feat(nextjs): Record `turbopack` as tag ([#15928](https://github.com/getsentry/sentry-javascript/pull/15928))
- feat(nuxt): Base decision on source maps upload only on Nuxt source map settings ([#15859](https://github.com/getsentry/sentry-javascript/pull/15859))
Expand DownExpand Up@@ -117,7 +170,7 @@

- **feat(nextjs): Support `instrumentation-client.ts` ([#15705](https://github.com/getsentry/sentry-javascript/pull/15705))**

Next.js recently added a feature to support [client-side (browser) instrumentation via the `experimental.clientInstrumentationHook` flag and the `instrumentation-client.ts` file](https://nextjs.org/docs/app/api-reference/config/next-config-js/clientInstrumentationHook).
Next.js recently added a feature to support [client-side (browser) instrumentation via a `instrumentation-client.ts` file](https://nextjs.org/docs/app/api-reference/file-conventions/instrumentation-client).

To be forwards compatible, the Sentry Next.js SDK will now pick up `instrumentation-client.ts` files even on older Next.js versions and add them to your client bundles.
It is suggested that you either rename your `sentry.client.config.ts` file to `instrumentation-client.ts`, or if you already happen to have a `instrumentation-client.ts` file move the contents of `sentry.client.config.ts` to `instrumentation-client.ts`.
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,7 +23,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'trace',
body: { stringValue: 'console.trace 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 1,
Expand All@@ -37,7 +56,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'debug',
body: { stringValue: 'console.debug 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 5,
Expand All@@ -51,7 +89,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'info',
body: { stringValue: 'console.log 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 10,
Expand All@@ -65,7 +122,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'info',
body: { stringValue: 'console.info 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 9,
Expand All@@ -79,7 +155,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'warn',
body: { stringValue: 'console.warn 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 13,
Expand All@@ -93,7 +188,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'error',
body: { stringValue: 'console.error 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 17,
Expand All@@ -107,7 +221,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'error',
body: { stringValue: 'Assertion failed: console.assert 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 17,
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
b10085d
test(remix): Bump Remix version of integration tests to `2.16.3` (#15…
onurtemizkan Apr 3, 2025
0d3b0a0
ci(deps): bump peter-evans/create-pull-request from 7.0.7 to 7.0.8 (#…
dependabot[bot] Apr 3, 2025
bbe0589
Merge pull request #15973 from getsentry/master
github-actions[bot] Apr 3, 2025
35e78c6
feat(node): Add support for `SENTRY_DEBUG` env variable (#15972)
Lms24 Apr 3, 2025
2c1c189
feat(feedback): Implement highlighting and hiding controls for screen…
ryan953 Apr 3, 2025
2b99569
test(nuxt): Improve tests for source map detection (#15968)
s1gr1d Apr 4, 2025
ddf1935
feat(nextjs): Warn when client was initialized more than once (#15971)
Apr 4, 2025
d7fbb17
build(aws-serverless): Include debug logs in lambda layer SDK bundle …
Lms24 Apr 4, 2025
c6261f7
feat(node): Add `ignoreIncomingRequestBody` callback to `httpIntegrat…
Page- Apr 4, 2025
67f4919
chore: Add external contributor to CHANGELOG.md (#15984)
HazAT Apr 4, 2025
26ff159
fix(tss-react): Change `authToken` type to `string` (#15985)
Lms24 Apr 4, 2025
51f04a1
feat(browser): Add `onRequestSpanStart` hook to browser tracing integ…
Apr 7, 2025
186e696
fix(core): Do not abbreviate message parameter attribute (#15987)
AbhiPrasad Apr 7, 2025
4d0c270
feat(nextjs): Mark clientside prefetch request spans with `http.reque…
Apr 7, 2025
c922bcc
feat(nextjs): Un experimentify `clientInstrumentationHook` (#15992)
Apr 7, 2025
9e477cd
feat(nextjs): Add `captureRouterTransitionStart` hook for capturing n…
Apr 7, 2025
7e4a91e
chore(cloudflare): Add jsonc snippet to cloudflare readme (#15994)
AbhiPrasad Apr 7, 2025
3c1a9d9
feat(astro): Add tracking of errors during HTML streaming (#15995)
Fryuni Apr 7, 2025
7f24881
chore: Add external contributor to CHANGELOG.md (#15997)
HazAT Apr 7, 2025
6a8a2c3
fix(node): Make log flushing logic more robust (#15991)
AbhiPrasad Apr 7, 2025
dd2b279
feat(core): Add sentry origin attribute to console logs integration (…
AbhiPrasad Apr 8, 2025
6b73178
feat(deps): Bump @sentry/cli from 2.42.3 to 2.43.0 (#16001)
dependabot[bot] Apr 8, 2025
b4ef25d
fix(core): Prefix release and environment correctly (#15999)
AbhiPrasad Apr 8, 2025
2e3d6e3
feat(core): Add sdk name and version to logs (#16005)
AbhiPrasad Apr 8, 2025
6c40f4b
feat(node): Add server.address to nodejs logs (#16006)
AbhiPrasad Apr 8, 2025
e7530a3
feat(core): Emit debug log when transport execution fails (#16009)
Apr 8, 2025
9d4d6df
meta(changelog): Update changelog for 9.12.0
AbhiPrasad Apr 8, 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
2 changes: 1 addition & 1 deletion .github/workflows/external-contributors.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -36,7 +36,7 @@ jobs:
author_association: ${{ github.event.pull_request.author_association }}

- name: Create PR with changes
uses: peter-evans/create-pull-request@dd2324fc52d5d43c699a5636bcf19fceaa70c284
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e
with:
# This token is scoped to Daniel Griesser
# If we used the default GITHUB_TOKEN, the resulting PR would not trigger CI :(
Expand Down
2 changes: 1 addition & 1 deletion .size-limit.js
Original file line numberDiff line numberDiff line change
Expand Up@@ -139,7 +139,7 @@ module.exports = [
path: 'packages/vue/build/esm/index.js',
import: createImport('init', 'browserTracingIntegration'),
gzip: true,
limit: '39.5 KB',
limit: '40 KB',
},
// Svelte SDK (ESM)
{
Expand Down
55 changes: 54 additions & 1 deletion CHANGELOG.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -10,11 +10,64 @@

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

## 9.12.0

### Important Changes

- **feat(feedback): Implement highlighting and hiding controls for screenshots ([#15951](https://github.com/getsentry/sentry-javascript/pull/15951))**

The Sentry SDK now supports highlighting and hiding controls for screenshots in [user feedback reports](https://docs.sentry.io/platforms/javascript/user-feedback/). This functionality is enabled by default.

- **feat(node): Add `ignoreIncomingRequestBody` callback to `httpIntegration` ([#15959](https://github.com/getsentry/sentry-javascript/pull/15959))**

The `httpIntegration` now supports an optional `ignoreIncomingRequestBody` callback that can be used to skip capturing the body of incoming requests.

```ts
Sentry.init({
integrations: [
Sentry.httpIntegration({
ignoreIncomingRequestBody: (url, request) => {
return request.method === 'GET' && url.includes('/api/large-payload');
},
}),
],
});
```

The `ignoreIncomingRequestBody` callback receives the URL of the request and should return `true` if the body should be ignored.

- **Logging Improvements**

Sentry is adding support for [structured logging](https://github.com/getsentry/sentry-javascript/discussions/15916). In this release we've made a variety of improvements to logging functionality in the Sentry SDKs.

- feat(node): Add server.address to nodejs logs ([#16006](https://github.com/getsentry/sentry-javascript/pull/16006))
- feat(core): Add sdk name and version to logs ([#16005](https://github.com/getsentry/sentry-javascript/pull/16005))
- feat(core): Add sentry origin attribute to console logs integration ([#15998](https://github.com/getsentry/sentry-javascript/pull/15998))
- fix(core): Do not abbreviate message parameter attribute ([#15987](https://github.com/getsentry/sentry-javascript/pull/15987))
- fix(core): Prefix release and environment correctly ([#15999](https://github.com/getsentry/sentry-javascript/pull/15999))
- fix(node): Make log flushing logic more robust ([#15991](https://github.com/getsentry/sentry-javascript/pull/15991))

### Other Changes

- build(aws-serverless): Include debug logs in lambda layer SDK bundle ([#15974](https://github.com/getsentry/sentry-javascript/pull/15974))
- feat(astro): Add tracking of errors during HTML streaming ([#15995](https://github.com/getsentry/sentry-javascript/pull/15995))
- feat(browser): Add `onRequestSpanStart` hook to browser tracing integration ([#15979](https://github.com/getsentry/sentry-javascript/pull/15979))
- feat(deps): Bump @sentry/cli from 2.42.3 to 2.43.0 ([#16001](https://github.com/getsentry/sentry-javascript/pull/16001))
- feat(nextjs): Add `captureRouterTransitionStart` hook for capturing navigations ([#15981](https://github.com/getsentry/sentry-javascript/pull/15981))
- feat(nextjs): Mark clientside prefetch request spans with `http.request.prefetch: true` attribute ([#15980](https://github.com/getsentry/sentry-javascript/pull/15980))
- feat(nextjs): Un experimentify `clientInstrumentationHook` ([#15992](https://github.com/getsentry/sentry-javascript/pull/15992))
- feat(nextjs): Warn when client was initialized more than once ([#15971](https://github.com/getsentry/sentry-javascript/pull/15971))
- feat(node): Add support for `SENTRY_DEBUG` env variable ([#15972](https://github.com/getsentry/sentry-javascript/pull/15972))
- fix(tss-react): Change `authToken` type to `string` ([#15985](https://github.com/getsentry/sentry-javascript/pull/15985))

Work in this release was contributed by @Page- and @Fryuni. Thank you for your contributions!

## 9.11.0

- feat(browser): Add `http.redirect_count` attribute to `browser.redirect` span ([#15943](https://github.com/getsentry/sentry-javascript/pull/15943))
- feat(core): Add `consoleLoggingIntegration` for logs ([#15955](https://github.com/getsentry/sentry-javascript/pull/15955))
- feat(core): Don't truncate error messages ([#15818](https://github.com/getsentry/sentry-javascript/pull/15818))
- feat(core): Emit debug log when transport execution fails ([#16009](https://github.com/getsentry/sentry-javascript/pull/16009))
- feat(nextjs): Add release injection in Turbopack ([#15958](https://github.com/getsentry/sentry-javascript/pull/15958))
- feat(nextjs): Record `turbopack` as tag ([#15928](https://github.com/getsentry/sentry-javascript/pull/15928))
- feat(nuxt): Base decision on source maps upload only on Nuxt source map settings ([#15859](https://github.com/getsentry/sentry-javascript/pull/15859))
Expand DownExpand Up@@ -117,7 +170,7 @@

- **feat(nextjs): Support `instrumentation-client.ts` ([#15705](https://github.com/getsentry/sentry-javascript/pull/15705))**

Next.js recently added a feature to support [client-side (browser) instrumentation via the `experimental.clientInstrumentationHook` flag and the `instrumentation-client.ts` file](https://nextjs.org/docs/app/api-reference/config/next-config-js/clientInstrumentationHook).
Next.js recently added a feature to support [client-side (browser) instrumentation via a `instrumentation-client.ts` file](https://nextjs.org/docs/app/api-reference/file-conventions/instrumentation-client).

To be forwards compatible, the Sentry Next.js SDK will now pick up `instrumentation-client.ts` files even on older Next.js versions and add them to your client bundles.
It is suggested that you either rename your `sentry.client.config.ts` file to `instrumentation-client.ts`, or if you already happen to have a `instrumentation-client.ts` file move the contents of `sentry.client.config.ts` to `instrumentation-client.ts`.
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,7 +23,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'trace',
body: { stringValue: 'console.trace 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 1,
Expand All@@ -37,7 +56,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'debug',
body: { stringValue: 'console.debug 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 5,
Expand All@@ -51,7 +89,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'info',
body: { stringValue: 'console.log 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 10,
Expand All@@ -65,7 +122,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'info',
body: { stringValue: 'console.info 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 9,
Expand All@@ -79,7 +155,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'warn',
body: { stringValue: 'console.warn 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 13,
Expand All@@ -93,7 +188,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'error',
body: { stringValue: 'console.error 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 17,
Expand All@@ -107,7 +221,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'error',
body: { stringValue: 'Assertion failed: console.assert 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 17,
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
b10085d
test(remix): Bump Remix version of integration tests to `2.16.3` (#15…
onurtemizkan Apr 3, 2025
0d3b0a0
ci(deps): bump peter-evans/create-pull-request from 7.0.7 to 7.0.8 (#…
dependabot[bot] Apr 3, 2025
bbe0589
Merge pull request #15973 from getsentry/master
github-actions[bot] Apr 3, 2025
35e78c6
feat(node): Add support for `SENTRY_DEBUG` env variable (#15972)
Lms24 Apr 3, 2025
2c1c189
feat(feedback): Implement highlighting and hiding controls for screen…
ryan953 Apr 3, 2025
2b99569
test(nuxt): Improve tests for source map detection (#15968)
s1gr1d Apr 4, 2025
ddf1935
feat(nextjs): Warn when client was initialized more than once (#15971)
Apr 4, 2025
d7fbb17
build(aws-serverless): Include debug logs in lambda layer SDK bundle …
Lms24 Apr 4, 2025
c6261f7
feat(node): Add `ignoreIncomingRequestBody` callback to `httpIntegrat…
Page- Apr 4, 2025
67f4919
chore: Add external contributor to CHANGELOG.md (#15984)
HazAT Apr 4, 2025
26ff159
fix(tss-react): Change `authToken` type to `string` (#15985)
Lms24 Apr 4, 2025
51f04a1
feat(browser): Add `onRequestSpanStart` hook to browser tracing integ…
Apr 7, 2025
186e696
fix(core): Do not abbreviate message parameter attribute (#15987)
AbhiPrasad Apr 7, 2025
4d0c270
feat(nextjs): Mark clientside prefetch request spans with `http.reque…
Apr 7, 2025
c922bcc
feat(nextjs): Un experimentify `clientInstrumentationHook` (#15992)
Apr 7, 2025
9e477cd
feat(nextjs): Add `captureRouterTransitionStart` hook for capturing n…
Apr 7, 2025
7e4a91e
chore(cloudflare): Add jsonc snippet to cloudflare readme (#15994)
AbhiPrasad Apr 7, 2025
3c1a9d9
feat(astro): Add tracking of errors during HTML streaming (#15995)
Fryuni Apr 7, 2025
7f24881
chore: Add external contributor to CHANGELOG.md (#15997)
HazAT Apr 7, 2025
6a8a2c3
fix(node): Make log flushing logic more robust (#15991)
AbhiPrasad Apr 7, 2025
dd2b279
feat(core): Add sentry origin attribute to console logs integration (…
AbhiPrasad Apr 8, 2025
6b73178
feat(deps): Bump @sentry/cli from 2.42.3 to 2.43.0 (#16001)
dependabot[bot] Apr 8, 2025
b4ef25d
fix(core): Prefix release and environment correctly (#15999)
AbhiPrasad Apr 8, 2025
2e3d6e3
feat(core): Add sdk name and version to logs (#16005)
AbhiPrasad Apr 8, 2025
6c40f4b
feat(node): Add server.address to nodejs logs (#16006)
AbhiPrasad Apr 8, 2025
e7530a3
feat(core): Emit debug log when transport execution fails (#16009)
Apr 8, 2025
9d4d6df
meta(changelog): Update changelog for 9.12.0
AbhiPrasad Apr 8, 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
2 changes: 1 addition & 1 deletion .github/workflows/external-contributors.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -36,7 +36,7 @@ jobs:
author_association: ${{ github.event.pull_request.author_association }}

- name: Create PR with changes
uses: peter-evans/create-pull-request@dd2324fc52d5d43c699a5636bcf19fceaa70c284
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e
with:
# This token is scoped to Daniel Griesser
# If we used the default GITHUB_TOKEN, the resulting PR would not trigger CI :(
Expand Down
2 changes: 1 addition & 1 deletion .size-limit.js
Original file line numberDiff line numberDiff line change
Expand Up@@ -139,7 +139,7 @@ module.exports = [
path: 'packages/vue/build/esm/index.js',
import: createImport('init', 'browserTracingIntegration'),
gzip: true,
limit: '39.5 KB',
limit: '40 KB',
},
// Svelte SDK (ESM)
{
Expand Down
55 changes: 54 additions & 1 deletion CHANGELOG.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -10,11 +10,64 @@

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

## 9.12.0

### Important Changes

- **feat(feedback): Implement highlighting and hiding controls for screenshots ([#15951](https://github.com/getsentry/sentry-javascript/pull/15951))**

The Sentry SDK now supports highlighting and hiding controls for screenshots in [user feedback reports](https://docs.sentry.io/platforms/javascript/user-feedback/). This functionality is enabled by default.

- **feat(node): Add `ignoreIncomingRequestBody` callback to `httpIntegration` ([#15959](https://github.com/getsentry/sentry-javascript/pull/15959))**

The `httpIntegration` now supports an optional `ignoreIncomingRequestBody` callback that can be used to skip capturing the body of incoming requests.

```ts
Sentry.init({
integrations: [
Sentry.httpIntegration({
ignoreIncomingRequestBody: (url, request) => {
return request.method === 'GET' && url.includes('/api/large-payload');
},
}),
],
});
```

The `ignoreIncomingRequestBody` callback receives the URL of the request and should return `true` if the body should be ignored.

- **Logging Improvements**

Sentry is adding support for [structured logging](https://github.com/getsentry/sentry-javascript/discussions/15916). In this release we've made a variety of improvements to logging functionality in the Sentry SDKs.

- feat(node): Add server.address to nodejs logs ([#16006](https://github.com/getsentry/sentry-javascript/pull/16006))
- feat(core): Add sdk name and version to logs ([#16005](https://github.com/getsentry/sentry-javascript/pull/16005))
- feat(core): Add sentry origin attribute to console logs integration ([#15998](https://github.com/getsentry/sentry-javascript/pull/15998))
- fix(core): Do not abbreviate message parameter attribute ([#15987](https://github.com/getsentry/sentry-javascript/pull/15987))
- fix(core): Prefix release and environment correctly ([#15999](https://github.com/getsentry/sentry-javascript/pull/15999))
- fix(node): Make log flushing logic more robust ([#15991](https://github.com/getsentry/sentry-javascript/pull/15991))

### Other Changes

- build(aws-serverless): Include debug logs in lambda layer SDK bundle ([#15974](https://github.com/getsentry/sentry-javascript/pull/15974))
- feat(astro): Add tracking of errors during HTML streaming ([#15995](https://github.com/getsentry/sentry-javascript/pull/15995))
- feat(browser): Add `onRequestSpanStart` hook to browser tracing integration ([#15979](https://github.com/getsentry/sentry-javascript/pull/15979))
- feat(deps): Bump @sentry/cli from 2.42.3 to 2.43.0 ([#16001](https://github.com/getsentry/sentry-javascript/pull/16001))
- feat(nextjs): Add `captureRouterTransitionStart` hook for capturing navigations ([#15981](https://github.com/getsentry/sentry-javascript/pull/15981))
- feat(nextjs): Mark clientside prefetch request spans with `http.request.prefetch: true` attribute ([#15980](https://github.com/getsentry/sentry-javascript/pull/15980))
- feat(nextjs): Un experimentify `clientInstrumentationHook` ([#15992](https://github.com/getsentry/sentry-javascript/pull/15992))
- feat(nextjs): Warn when client was initialized more than once ([#15971](https://github.com/getsentry/sentry-javascript/pull/15971))
- feat(node): Add support for `SENTRY_DEBUG` env variable ([#15972](https://github.com/getsentry/sentry-javascript/pull/15972))
- fix(tss-react): Change `authToken` type to `string` ([#15985](https://github.com/getsentry/sentry-javascript/pull/15985))

Work in this release was contributed by @Page- and @Fryuni. Thank you for your contributions!

## 9.11.0

- feat(browser): Add `http.redirect_count` attribute to `browser.redirect` span ([#15943](https://github.com/getsentry/sentry-javascript/pull/15943))
- feat(core): Add `consoleLoggingIntegration` for logs ([#15955](https://github.com/getsentry/sentry-javascript/pull/15955))
- feat(core): Don't truncate error messages ([#15818](https://github.com/getsentry/sentry-javascript/pull/15818))
- feat(core): Emit debug log when transport execution fails ([#16009](https://github.com/getsentry/sentry-javascript/pull/16009))
- feat(nextjs): Add release injection in Turbopack ([#15958](https://github.com/getsentry/sentry-javascript/pull/15958))
- feat(nextjs): Record `turbopack` as tag ([#15928](https://github.com/getsentry/sentry-javascript/pull/15928))
- feat(nuxt): Base decision on source maps upload only on Nuxt source map settings ([#15859](https://github.com/getsentry/sentry-javascript/pull/15859))
Expand DownExpand Up@@ -117,7 +170,7 @@

- **feat(nextjs): Support `instrumentation-client.ts` ([#15705](https://github.com/getsentry/sentry-javascript/pull/15705))**

Next.js recently added a feature to support [client-side (browser) instrumentation via the `experimental.clientInstrumentationHook` flag and the `instrumentation-client.ts` file](https://nextjs.org/docs/app/api-reference/config/next-config-js/clientInstrumentationHook).
Next.js recently added a feature to support [client-side (browser) instrumentation via a `instrumentation-client.ts` file](https://nextjs.org/docs/app/api-reference/file-conventions/instrumentation-client).

To be forwards compatible, the Sentry Next.js SDK will now pick up `instrumentation-client.ts` files even on older Next.js versions and add them to your client bundles.
It is suggested that you either rename your `sentry.client.config.ts` file to `instrumentation-client.ts`, or if you already happen to have a `instrumentation-client.ts` file move the contents of `sentry.client.config.ts` to `instrumentation-client.ts`.
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,7 +23,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'trace',
body: { stringValue: 'console.trace 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 1,
Expand All@@ -37,7 +56,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'debug',
body: { stringValue: 'console.debug 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 5,
Expand All@@ -51,7 +89,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'info',
body: { stringValue: 'console.log 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 10,
Expand All@@ -65,7 +122,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'info',
body: { stringValue: 'console.info 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 9,
Expand All@@ -79,7 +155,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'warn',
body: { stringValue: 'console.warn 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 13,
Expand All@@ -93,7 +188,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'error',
body: { stringValue: 'console.error 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 17,
Expand All@@ -107,7 +221,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'error',
body: { stringValue: 'Assertion failed: console.assert 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 17,
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
b10085d
test(remix): Bump Remix version of integration tests to `2.16.3` (#15…
onurtemizkan Apr 3, 2025
0d3b0a0
ci(deps): bump peter-evans/create-pull-request from 7.0.7 to 7.0.8 (#…
dependabot[bot] Apr 3, 2025
bbe0589
Merge pull request #15973 from getsentry/master
github-actions[bot] Apr 3, 2025
35e78c6
feat(node): Add support for `SENTRY_DEBUG` env variable (#15972)
Lms24 Apr 3, 2025
2c1c189
feat(feedback): Implement highlighting and hiding controls for screen…
ryan953 Apr 3, 2025
2b99569
test(nuxt): Improve tests for source map detection (#15968)
s1gr1d Apr 4, 2025
ddf1935
feat(nextjs): Warn when client was initialized more than once (#15971)
Apr 4, 2025
d7fbb17
build(aws-serverless): Include debug logs in lambda layer SDK bundle …
Lms24 Apr 4, 2025
c6261f7
feat(node): Add `ignoreIncomingRequestBody` callback to `httpIntegrat…
Page- Apr 4, 2025
67f4919
chore: Add external contributor to CHANGELOG.md (#15984)
HazAT Apr 4, 2025
26ff159
fix(tss-react): Change `authToken` type to `string` (#15985)
Lms24 Apr 4, 2025
51f04a1
feat(browser): Add `onRequestSpanStart` hook to browser tracing integ…
Apr 7, 2025
186e696
fix(core): Do not abbreviate message parameter attribute (#15987)
AbhiPrasad Apr 7, 2025
4d0c270
feat(nextjs): Mark clientside prefetch request spans with `http.reque…
Apr 7, 2025
c922bcc
feat(nextjs): Un experimentify `clientInstrumentationHook` (#15992)
Apr 7, 2025
9e477cd
feat(nextjs): Add `captureRouterTransitionStart` hook for capturing n…
Apr 7, 2025
7e4a91e
chore(cloudflare): Add jsonc snippet to cloudflare readme (#15994)
AbhiPrasad Apr 7, 2025
3c1a9d9
feat(astro): Add tracking of errors during HTML streaming (#15995)
Fryuni Apr 7, 2025
7f24881
chore: Add external contributor to CHANGELOG.md (#15997)
HazAT Apr 7, 2025
6a8a2c3
fix(node): Make log flushing logic more robust (#15991)
AbhiPrasad Apr 7, 2025
dd2b279
feat(core): Add sentry origin attribute to console logs integration (…
AbhiPrasad Apr 8, 2025
6b73178
feat(deps): Bump @sentry/cli from 2.42.3 to 2.43.0 (#16001)
dependabot[bot] Apr 8, 2025
b4ef25d
fix(core): Prefix release and environment correctly (#15999)
AbhiPrasad Apr 8, 2025
2e3d6e3
feat(core): Add sdk name and version to logs (#16005)
AbhiPrasad Apr 8, 2025
6c40f4b
feat(node): Add server.address to nodejs logs (#16006)
AbhiPrasad Apr 8, 2025
e7530a3
feat(core): Emit debug log when transport execution fails (#16009)
Apr 8, 2025
9d4d6df
meta(changelog): Update changelog for 9.12.0
AbhiPrasad Apr 8, 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
2 changes: 1 addition & 1 deletion .github/workflows/external-contributors.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -36,7 +36,7 @@ jobs:
author_association: ${{ github.event.pull_request.author_association }}

- name: Create PR with changes
uses: peter-evans/create-pull-request@dd2324fc52d5d43c699a5636bcf19fceaa70c284
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e
with:
# This token is scoped to Daniel Griesser
# If we used the default GITHUB_TOKEN, the resulting PR would not trigger CI :(
Expand Down
2 changes: 1 addition & 1 deletion .size-limit.js
Original file line numberDiff line numberDiff line change
Expand Up@@ -139,7 +139,7 @@ module.exports = [
path: 'packages/vue/build/esm/index.js',
import: createImport('init', 'browserTracingIntegration'),
gzip: true,
limit: '39.5 KB',
limit: '40 KB',
},
// Svelte SDK (ESM)
{
Expand Down
55 changes: 54 additions & 1 deletion CHANGELOG.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -10,11 +10,64 @@

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

## 9.12.0

### Important Changes

- **feat(feedback): Implement highlighting and hiding controls for screenshots ([#15951](https://github.com/getsentry/sentry-javascript/pull/15951))**

The Sentry SDK now supports highlighting and hiding controls for screenshots in [user feedback reports](https://docs.sentry.io/platforms/javascript/user-feedback/). This functionality is enabled by default.

- **feat(node): Add `ignoreIncomingRequestBody` callback to `httpIntegration` ([#15959](https://github.com/getsentry/sentry-javascript/pull/15959))**

The `httpIntegration` now supports an optional `ignoreIncomingRequestBody` callback that can be used to skip capturing the body of incoming requests.

```ts
Sentry.init({
integrations: [
Sentry.httpIntegration({
ignoreIncomingRequestBody: (url, request) => {
return request.method === 'GET' && url.includes('/api/large-payload');
},
}),
],
});
```

The `ignoreIncomingRequestBody` callback receives the URL of the request and should return `true` if the body should be ignored.

- **Logging Improvements**

Sentry is adding support for [structured logging](https://github.com/getsentry/sentry-javascript/discussions/15916). In this release we've made a variety of improvements to logging functionality in the Sentry SDKs.

- feat(node): Add server.address to nodejs logs ([#16006](https://github.com/getsentry/sentry-javascript/pull/16006))
- feat(core): Add sdk name and version to logs ([#16005](https://github.com/getsentry/sentry-javascript/pull/16005))
- feat(core): Add sentry origin attribute to console logs integration ([#15998](https://github.com/getsentry/sentry-javascript/pull/15998))
- fix(core): Do not abbreviate message parameter attribute ([#15987](https://github.com/getsentry/sentry-javascript/pull/15987))
- fix(core): Prefix release and environment correctly ([#15999](https://github.com/getsentry/sentry-javascript/pull/15999))
- fix(node): Make log flushing logic more robust ([#15991](https://github.com/getsentry/sentry-javascript/pull/15991))

### Other Changes

- build(aws-serverless): Include debug logs in lambda layer SDK bundle ([#15974](https://github.com/getsentry/sentry-javascript/pull/15974))
- feat(astro): Add tracking of errors during HTML streaming ([#15995](https://github.com/getsentry/sentry-javascript/pull/15995))
- feat(browser): Add `onRequestSpanStart` hook to browser tracing integration ([#15979](https://github.com/getsentry/sentry-javascript/pull/15979))
- feat(deps): Bump @sentry/cli from 2.42.3 to 2.43.0 ([#16001](https://github.com/getsentry/sentry-javascript/pull/16001))
- feat(nextjs): Add `captureRouterTransitionStart` hook for capturing navigations ([#15981](https://github.com/getsentry/sentry-javascript/pull/15981))
- feat(nextjs): Mark clientside prefetch request spans with `http.request.prefetch: true` attribute ([#15980](https://github.com/getsentry/sentry-javascript/pull/15980))
- feat(nextjs): Un experimentify `clientInstrumentationHook` ([#15992](https://github.com/getsentry/sentry-javascript/pull/15992))
- feat(nextjs): Warn when client was initialized more than once ([#15971](https://github.com/getsentry/sentry-javascript/pull/15971))
- feat(node): Add support for `SENTRY_DEBUG` env variable ([#15972](https://github.com/getsentry/sentry-javascript/pull/15972))
- fix(tss-react): Change `authToken` type to `string` ([#15985](https://github.com/getsentry/sentry-javascript/pull/15985))

Work in this release was contributed by @Page- and @Fryuni. Thank you for your contributions!

## 9.11.0

- feat(browser): Add `http.redirect_count` attribute to `browser.redirect` span ([#15943](https://github.com/getsentry/sentry-javascript/pull/15943))
- feat(core): Add `consoleLoggingIntegration` for logs ([#15955](https://github.com/getsentry/sentry-javascript/pull/15955))
- feat(core): Don't truncate error messages ([#15818](https://github.com/getsentry/sentry-javascript/pull/15818))
- feat(core): Emit debug log when transport execution fails ([#16009](https://github.com/getsentry/sentry-javascript/pull/16009))
- feat(nextjs): Add release injection in Turbopack ([#15958](https://github.com/getsentry/sentry-javascript/pull/15958))
- feat(nextjs): Record `turbopack` as tag ([#15928](https://github.com/getsentry/sentry-javascript/pull/15928))
- feat(nuxt): Base decision on source maps upload only on Nuxt source map settings ([#15859](https://github.com/getsentry/sentry-javascript/pull/15859))
Expand DownExpand Up@@ -117,7 +170,7 @@

- **feat(nextjs): Support `instrumentation-client.ts` ([#15705](https://github.com/getsentry/sentry-javascript/pull/15705))**

Next.js recently added a feature to support [client-side (browser) instrumentation via the `experimental.clientInstrumentationHook` flag and the `instrumentation-client.ts` file](https://nextjs.org/docs/app/api-reference/config/next-config-js/clientInstrumentationHook).
Next.js recently added a feature to support [client-side (browser) instrumentation via a `instrumentation-client.ts` file](https://nextjs.org/docs/app/api-reference/file-conventions/instrumentation-client).

To be forwards compatible, the Sentry Next.js SDK will now pick up `instrumentation-client.ts` files even on older Next.js versions and add them to your client bundles.
It is suggested that you either rename your `sentry.client.config.ts` file to `instrumentation-client.ts`, or if you already happen to have a `instrumentation-client.ts` file move the contents of `sentry.client.config.ts` to `instrumentation-client.ts`.
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,7 +23,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'trace',
body: { stringValue: 'console.trace 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 1,
Expand All@@ -37,7 +56,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'debug',
body: { stringValue: 'console.debug 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 5,
Expand All@@ -51,7 +89,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'info',
body: { stringValue: 'console.log 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 10,
Expand All@@ -65,7 +122,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'info',
body: { stringValue: 'console.info 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 9,
Expand All@@ -79,7 +155,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'warn',
body: { stringValue: 'console.warn 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 13,
Expand All@@ -93,7 +188,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'error',
body: { stringValue: 'console.error 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 17,
Expand All@@ -107,7 +221,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'error',
body: { stringValue: 'Assertion failed: console.assert 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 17,
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
b10085d
test(remix): Bump Remix version of integration tests to `2.16.3` (#15…
onurtemizkan Apr 3, 2025
0d3b0a0
ci(deps): bump peter-evans/create-pull-request from 7.0.7 to 7.0.8 (#…
dependabot[bot] Apr 3, 2025
bbe0589
Merge pull request #15973 from getsentry/master
github-actions[bot] Apr 3, 2025
35e78c6
feat(node): Add support for `SENTRY_DEBUG` env variable (#15972)
Lms24 Apr 3, 2025
2c1c189
feat(feedback): Implement highlighting and hiding controls for screen…
ryan953 Apr 3, 2025
2b99569
test(nuxt): Improve tests for source map detection (#15968)
s1gr1d Apr 4, 2025
ddf1935
feat(nextjs): Warn when client was initialized more than once (#15971)
Apr 4, 2025
d7fbb17
build(aws-serverless): Include debug logs in lambda layer SDK bundle …
Lms24 Apr 4, 2025
c6261f7
feat(node): Add `ignoreIncomingRequestBody` callback to `httpIntegrat…
Page- Apr 4, 2025
67f4919
chore: Add external contributor to CHANGELOG.md (#15984)
HazAT Apr 4, 2025
26ff159
fix(tss-react): Change `authToken` type to `string` (#15985)
Lms24 Apr 4, 2025
51f04a1
feat(browser): Add `onRequestSpanStart` hook to browser tracing integ…
Apr 7, 2025
186e696
fix(core): Do not abbreviate message parameter attribute (#15987)
AbhiPrasad Apr 7, 2025
4d0c270
feat(nextjs): Mark clientside prefetch request spans with `http.reque…
Apr 7, 2025
c922bcc
feat(nextjs): Un experimentify `clientInstrumentationHook` (#15992)
Apr 7, 2025
9e477cd
feat(nextjs): Add `captureRouterTransitionStart` hook for capturing n…
Apr 7, 2025
7e4a91e
chore(cloudflare): Add jsonc snippet to cloudflare readme (#15994)
AbhiPrasad Apr 7, 2025
3c1a9d9
feat(astro): Add tracking of errors during HTML streaming (#15995)
Fryuni Apr 7, 2025
7f24881
chore: Add external contributor to CHANGELOG.md (#15997)
HazAT Apr 7, 2025
6a8a2c3
fix(node): Make log flushing logic more robust (#15991)
AbhiPrasad Apr 7, 2025
dd2b279
feat(core): Add sentry origin attribute to console logs integration (…
AbhiPrasad Apr 8, 2025
6b73178
feat(deps): Bump @sentry/cli from 2.42.3 to 2.43.0 (#16001)
dependabot[bot] Apr 8, 2025
b4ef25d
fix(core): Prefix release and environment correctly (#15999)
AbhiPrasad Apr 8, 2025
2e3d6e3
feat(core): Add sdk name and version to logs (#16005)
AbhiPrasad Apr 8, 2025
6c40f4b
feat(node): Add server.address to nodejs logs (#16006)
AbhiPrasad Apr 8, 2025
e7530a3
feat(core): Emit debug log when transport execution fails (#16009)
Apr 8, 2025
9d4d6df
meta(changelog): Update changelog for 9.12.0
AbhiPrasad Apr 8, 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
2 changes: 1 addition & 1 deletion .github/workflows/external-contributors.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -36,7 +36,7 @@ jobs:
author_association: ${{ github.event.pull_request.author_association }}

- name: Create PR with changes
uses: peter-evans/create-pull-request@dd2324fc52d5d43c699a5636bcf19fceaa70c284
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e
with:
# This token is scoped to Daniel Griesser
# If we used the default GITHUB_TOKEN, the resulting PR would not trigger CI :(
Expand Down
2 changes: 1 addition & 1 deletion .size-limit.js
Original file line numberDiff line numberDiff line change
Expand Up@@ -139,7 +139,7 @@ module.exports = [
path: 'packages/vue/build/esm/index.js',
import: createImport('init', 'browserTracingIntegration'),
gzip: true,
limit: '39.5 KB',
limit: '40 KB',
},
// Svelte SDK (ESM)
{
Expand Down
55 changes: 54 additions & 1 deletion CHANGELOG.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -10,11 +10,64 @@

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

## 9.12.0

### Important Changes

- **feat(feedback): Implement highlighting and hiding controls for screenshots ([#15951](https://github.com/getsentry/sentry-javascript/pull/15951))**

The Sentry SDK now supports highlighting and hiding controls for screenshots in [user feedback reports](https://docs.sentry.io/platforms/javascript/user-feedback/). This functionality is enabled by default.

- **feat(node): Add `ignoreIncomingRequestBody` callback to `httpIntegration` ([#15959](https://github.com/getsentry/sentry-javascript/pull/15959))**

The `httpIntegration` now supports an optional `ignoreIncomingRequestBody` callback that can be used to skip capturing the body of incoming requests.

```ts
Sentry.init({
integrations: [
Sentry.httpIntegration({
ignoreIncomingRequestBody: (url, request) => {
return request.method === 'GET' && url.includes('/api/large-payload');
},
}),
],
});
```

The `ignoreIncomingRequestBody` callback receives the URL of the request and should return `true` if the body should be ignored.

- **Logging Improvements**

Sentry is adding support for [structured logging](https://github.com/getsentry/sentry-javascript/discussions/15916). In this release we've made a variety of improvements to logging functionality in the Sentry SDKs.

- feat(node): Add server.address to nodejs logs ([#16006](https://github.com/getsentry/sentry-javascript/pull/16006))
- feat(core): Add sdk name and version to logs ([#16005](https://github.com/getsentry/sentry-javascript/pull/16005))
- feat(core): Add sentry origin attribute to console logs integration ([#15998](https://github.com/getsentry/sentry-javascript/pull/15998))
- fix(core): Do not abbreviate message parameter attribute ([#15987](https://github.com/getsentry/sentry-javascript/pull/15987))
- fix(core): Prefix release and environment correctly ([#15999](https://github.com/getsentry/sentry-javascript/pull/15999))
- fix(node): Make log flushing logic more robust ([#15991](https://github.com/getsentry/sentry-javascript/pull/15991))

### Other Changes

- build(aws-serverless): Include debug logs in lambda layer SDK bundle ([#15974](https://github.com/getsentry/sentry-javascript/pull/15974))
- feat(astro): Add tracking of errors during HTML streaming ([#15995](https://github.com/getsentry/sentry-javascript/pull/15995))
- feat(browser): Add `onRequestSpanStart` hook to browser tracing integration ([#15979](https://github.com/getsentry/sentry-javascript/pull/15979))
- feat(deps): Bump @sentry/cli from 2.42.3 to 2.43.0 ([#16001](https://github.com/getsentry/sentry-javascript/pull/16001))
- feat(nextjs): Add `captureRouterTransitionStart` hook for capturing navigations ([#15981](https://github.com/getsentry/sentry-javascript/pull/15981))
- feat(nextjs): Mark clientside prefetch request spans with `http.request.prefetch: true` attribute ([#15980](https://github.com/getsentry/sentry-javascript/pull/15980))
- feat(nextjs): Un experimentify `clientInstrumentationHook` ([#15992](https://github.com/getsentry/sentry-javascript/pull/15992))
- feat(nextjs): Warn when client was initialized more than once ([#15971](https://github.com/getsentry/sentry-javascript/pull/15971))
- feat(node): Add support for `SENTRY_DEBUG` env variable ([#15972](https://github.com/getsentry/sentry-javascript/pull/15972))
- fix(tss-react): Change `authToken` type to `string` ([#15985](https://github.com/getsentry/sentry-javascript/pull/15985))

Work in this release was contributed by @Page- and @Fryuni. Thank you for your contributions!

## 9.11.0

- feat(browser): Add `http.redirect_count` attribute to `browser.redirect` span ([#15943](https://github.com/getsentry/sentry-javascript/pull/15943))
- feat(core): Add `consoleLoggingIntegration` for logs ([#15955](https://github.com/getsentry/sentry-javascript/pull/15955))
- feat(core): Don't truncate error messages ([#15818](https://github.com/getsentry/sentry-javascript/pull/15818))
- feat(core): Emit debug log when transport execution fails ([#16009](https://github.com/getsentry/sentry-javascript/pull/16009))
- feat(nextjs): Add release injection in Turbopack ([#15958](https://github.com/getsentry/sentry-javascript/pull/15958))
- feat(nextjs): Record `turbopack` as tag ([#15928](https://github.com/getsentry/sentry-javascript/pull/15928))
- feat(nuxt): Base decision on source maps upload only on Nuxt source map settings ([#15859](https://github.com/getsentry/sentry-javascript/pull/15859))
Expand DownExpand Up@@ -117,7 +170,7 @@

- **feat(nextjs): Support `instrumentation-client.ts` ([#15705](https://github.com/getsentry/sentry-javascript/pull/15705))**

Next.js recently added a feature to support [client-side (browser) instrumentation via the `experimental.clientInstrumentationHook` flag and the `instrumentation-client.ts` file](https://nextjs.org/docs/app/api-reference/config/next-config-js/clientInstrumentationHook).
Next.js recently added a feature to support [client-side (browser) instrumentation via a `instrumentation-client.ts` file](https://nextjs.org/docs/app/api-reference/file-conventions/instrumentation-client).

To be forwards compatible, the Sentry Next.js SDK will now pick up `instrumentation-client.ts` files even on older Next.js versions and add them to your client bundles.
It is suggested that you either rename your `sentry.client.config.ts` file to `instrumentation-client.ts`, or if you already happen to have a `instrumentation-client.ts` file move the contents of `sentry.client.config.ts` to `instrumentation-client.ts`.
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,7 +23,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'trace',
body: { stringValue: 'console.trace 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 1,
Expand All@@ -37,7 +56,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'debug',
body: { stringValue: 'console.debug 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 5,
Expand All@@ -51,7 +89,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'info',
body: { stringValue: 'console.log 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 10,
Expand All@@ -65,7 +122,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'info',
body: { stringValue: 'console.info 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 9,
Expand All@@ -79,7 +155,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'warn',
body: { stringValue: 'console.warn 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 13,
Expand All@@ -93,7 +188,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'error',
body: { stringValue: 'console.error 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 17,
Expand All@@ -107,7 +221,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'error',
body: { stringValue: 'Assertion failed: console.assert 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 17,
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
b10085d
test(remix): Bump Remix version of integration tests to `2.16.3` (#15…
onurtemizkan Apr 3, 2025
0d3b0a0
ci(deps): bump peter-evans/create-pull-request from 7.0.7 to 7.0.8 (#…
dependabot[bot] Apr 3, 2025
bbe0589
Merge pull request #15973 from getsentry/master
github-actions[bot] Apr 3, 2025
35e78c6
feat(node): Add support for `SENTRY_DEBUG` env variable (#15972)
Lms24 Apr 3, 2025
2c1c189
feat(feedback): Implement highlighting and hiding controls for screen…
ryan953 Apr 3, 2025
2b99569
test(nuxt): Improve tests for source map detection (#15968)
s1gr1d Apr 4, 2025
ddf1935
feat(nextjs): Warn when client was initialized more than once (#15971)
Apr 4, 2025
d7fbb17
build(aws-serverless): Include debug logs in lambda layer SDK bundle …
Lms24 Apr 4, 2025
c6261f7
feat(node): Add `ignoreIncomingRequestBody` callback to `httpIntegrat…
Page- Apr 4, 2025
67f4919
chore: Add external contributor to CHANGELOG.md (#15984)
HazAT Apr 4, 2025
26ff159
fix(tss-react): Change `authToken` type to `string` (#15985)
Lms24 Apr 4, 2025
51f04a1
feat(browser): Add `onRequestSpanStart` hook to browser tracing integ…
Apr 7, 2025
186e696
fix(core): Do not abbreviate message parameter attribute (#15987)
AbhiPrasad Apr 7, 2025
4d0c270
feat(nextjs): Mark clientside prefetch request spans with `http.reque…
Apr 7, 2025
c922bcc
feat(nextjs): Un experimentify `clientInstrumentationHook` (#15992)
Apr 7, 2025
9e477cd
feat(nextjs): Add `captureRouterTransitionStart` hook for capturing n…
Apr 7, 2025
7e4a91e
chore(cloudflare): Add jsonc snippet to cloudflare readme (#15994)
AbhiPrasad Apr 7, 2025
3c1a9d9
feat(astro): Add tracking of errors during HTML streaming (#15995)
Fryuni Apr 7, 2025
7f24881
chore: Add external contributor to CHANGELOG.md (#15997)
HazAT Apr 7, 2025
6a8a2c3
fix(node): Make log flushing logic more robust (#15991)
AbhiPrasad Apr 7, 2025
dd2b279
feat(core): Add sentry origin attribute to console logs integration (…
AbhiPrasad Apr 8, 2025
6b73178
feat(deps): Bump @sentry/cli from 2.42.3 to 2.43.0 (#16001)
dependabot[bot] Apr 8, 2025
b4ef25d
fix(core): Prefix release and environment correctly (#15999)
AbhiPrasad Apr 8, 2025
2e3d6e3
feat(core): Add sdk name and version to logs (#16005)
AbhiPrasad Apr 8, 2025
6c40f4b
feat(node): Add server.address to nodejs logs (#16006)
AbhiPrasad Apr 8, 2025
e7530a3
feat(core): Emit debug log when transport execution fails (#16009)
Apr 8, 2025
9d4d6df
meta(changelog): Update changelog for 9.12.0
AbhiPrasad Apr 8, 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
2 changes: 1 addition & 1 deletion .github/workflows/external-contributors.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -36,7 +36,7 @@ jobs:
author_association: ${{ github.event.pull_request.author_association }}

- name: Create PR with changes
uses: peter-evans/create-pull-request@dd2324fc52d5d43c699a5636bcf19fceaa70c284
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e
with:
# This token is scoped to Daniel Griesser
# If we used the default GITHUB_TOKEN, the resulting PR would not trigger CI :(
Expand Down
2 changes: 1 addition & 1 deletion .size-limit.js
Original file line numberDiff line numberDiff line change
Expand Up@@ -139,7 +139,7 @@ module.exports = [
path: 'packages/vue/build/esm/index.js',
import: createImport('init', 'browserTracingIntegration'),
gzip: true,
limit: '39.5 KB',
limit: '40 KB',
},
// Svelte SDK (ESM)
{
Expand Down
55 changes: 54 additions & 1 deletion CHANGELOG.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -10,11 +10,64 @@

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

## 9.12.0

### Important Changes

- **feat(feedback): Implement highlighting and hiding controls for screenshots ([#15951](https://github.com/getsentry/sentry-javascript/pull/15951))**

The Sentry SDK now supports highlighting and hiding controls for screenshots in [user feedback reports](https://docs.sentry.io/platforms/javascript/user-feedback/). This functionality is enabled by default.

- **feat(node): Add `ignoreIncomingRequestBody` callback to `httpIntegration` ([#15959](https://github.com/getsentry/sentry-javascript/pull/15959))**

The `httpIntegration` now supports an optional `ignoreIncomingRequestBody` callback that can be used to skip capturing the body of incoming requests.

```ts
Sentry.init({
integrations: [
Sentry.httpIntegration({
ignoreIncomingRequestBody: (url, request) => {
return request.method === 'GET' && url.includes('/api/large-payload');
},
}),
],
});
```

The `ignoreIncomingRequestBody` callback receives the URL of the request and should return `true` if the body should be ignored.

- **Logging Improvements**

Sentry is adding support for [structured logging](https://github.com/getsentry/sentry-javascript/discussions/15916). In this release we've made a variety of improvements to logging functionality in the Sentry SDKs.

- feat(node): Add server.address to nodejs logs ([#16006](https://github.com/getsentry/sentry-javascript/pull/16006))
- feat(core): Add sdk name and version to logs ([#16005](https://github.com/getsentry/sentry-javascript/pull/16005))
- feat(core): Add sentry origin attribute to console logs integration ([#15998](https://github.com/getsentry/sentry-javascript/pull/15998))
- fix(core): Do not abbreviate message parameter attribute ([#15987](https://github.com/getsentry/sentry-javascript/pull/15987))
- fix(core): Prefix release and environment correctly ([#15999](https://github.com/getsentry/sentry-javascript/pull/15999))
- fix(node): Make log flushing logic more robust ([#15991](https://github.com/getsentry/sentry-javascript/pull/15991))

### Other Changes

- build(aws-serverless): Include debug logs in lambda layer SDK bundle ([#15974](https://github.com/getsentry/sentry-javascript/pull/15974))
- feat(astro): Add tracking of errors during HTML streaming ([#15995](https://github.com/getsentry/sentry-javascript/pull/15995))
- feat(browser): Add `onRequestSpanStart` hook to browser tracing integration ([#15979](https://github.com/getsentry/sentry-javascript/pull/15979))
- feat(deps): Bump @sentry/cli from 2.42.3 to 2.43.0 ([#16001](https://github.com/getsentry/sentry-javascript/pull/16001))
- feat(nextjs): Add `captureRouterTransitionStart` hook for capturing navigations ([#15981](https://github.com/getsentry/sentry-javascript/pull/15981))
- feat(nextjs): Mark clientside prefetch request spans with `http.request.prefetch: true` attribute ([#15980](https://github.com/getsentry/sentry-javascript/pull/15980))
- feat(nextjs): Un experimentify `clientInstrumentationHook` ([#15992](https://github.com/getsentry/sentry-javascript/pull/15992))
- feat(nextjs): Warn when client was initialized more than once ([#15971](https://github.com/getsentry/sentry-javascript/pull/15971))
- feat(node): Add support for `SENTRY_DEBUG` env variable ([#15972](https://github.com/getsentry/sentry-javascript/pull/15972))
- fix(tss-react): Change `authToken` type to `string` ([#15985](https://github.com/getsentry/sentry-javascript/pull/15985))

Work in this release was contributed by @Page- and @Fryuni. Thank you for your contributions!

## 9.11.0

- feat(browser): Add `http.redirect_count` attribute to `browser.redirect` span ([#15943](https://github.com/getsentry/sentry-javascript/pull/15943))
- feat(core): Add `consoleLoggingIntegration` for logs ([#15955](https://github.com/getsentry/sentry-javascript/pull/15955))
- feat(core): Don't truncate error messages ([#15818](https://github.com/getsentry/sentry-javascript/pull/15818))
- feat(core): Emit debug log when transport execution fails ([#16009](https://github.com/getsentry/sentry-javascript/pull/16009))
- feat(nextjs): Add release injection in Turbopack ([#15958](https://github.com/getsentry/sentry-javascript/pull/15958))
- feat(nextjs): Record `turbopack` as tag ([#15928](https://github.com/getsentry/sentry-javascript/pull/15928))
- feat(nuxt): Base decision on source maps upload only on Nuxt source map settings ([#15859](https://github.com/getsentry/sentry-javascript/pull/15859))
Expand DownExpand Up@@ -117,7 +170,7 @@

- **feat(nextjs): Support `instrumentation-client.ts` ([#15705](https://github.com/getsentry/sentry-javascript/pull/15705))**

Next.js recently added a feature to support [client-side (browser) instrumentation via the `experimental.clientInstrumentationHook` flag and the `instrumentation-client.ts` file](https://nextjs.org/docs/app/api-reference/config/next-config-js/clientInstrumentationHook).
Next.js recently added a feature to support [client-side (browser) instrumentation via a `instrumentation-client.ts` file](https://nextjs.org/docs/app/api-reference/file-conventions/instrumentation-client).

To be forwards compatible, the Sentry Next.js SDK will now pick up `instrumentation-client.ts` files even on older Next.js versions and add them to your client bundles.
It is suggested that you either rename your `sentry.client.config.ts` file to `instrumentation-client.ts`, or if you already happen to have a `instrumentation-client.ts` file move the contents of `sentry.client.config.ts` to `instrumentation-client.ts`.
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,7 +23,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'trace',
body: { stringValue: 'console.trace 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 1,
Expand All@@ -37,7 +56,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'debug',
body: { stringValue: 'console.debug 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 5,
Expand All@@ -51,7 +89,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'info',
body: { stringValue: 'console.log 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 10,
Expand All@@ -65,7 +122,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'info',
body: { stringValue: 'console.info 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 9,
Expand All@@ -79,7 +155,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'warn',
body: { stringValue: 'console.warn 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 13,
Expand All@@ -93,7 +188,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'error',
body: { stringValue: 'console.error 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 17,
Expand All@@ -107,7 +221,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'error',
body: { stringValue: 'Assertion failed: console.assert 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 17,
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
b10085d
test(remix): Bump Remix version of integration tests to `2.16.3` (#15…
onurtemizkan Apr 3, 2025
0d3b0a0
ci(deps): bump peter-evans/create-pull-request from 7.0.7 to 7.0.8 (#…
dependabot[bot] Apr 3, 2025
bbe0589
Merge pull request #15973 from getsentry/master
github-actions[bot] Apr 3, 2025
35e78c6
feat(node): Add support for `SENTRY_DEBUG` env variable (#15972)
Lms24 Apr 3, 2025
2c1c189
feat(feedback): Implement highlighting and hiding controls for screen…
ryan953 Apr 3, 2025
2b99569
test(nuxt): Improve tests for source map detection (#15968)
s1gr1d Apr 4, 2025
ddf1935
feat(nextjs): Warn when client was initialized more than once (#15971)
Apr 4, 2025
d7fbb17
build(aws-serverless): Include debug logs in lambda layer SDK bundle …
Lms24 Apr 4, 2025
c6261f7
feat(node): Add `ignoreIncomingRequestBody` callback to `httpIntegrat…
Page- Apr 4, 2025
67f4919
chore: Add external contributor to CHANGELOG.md (#15984)
HazAT Apr 4, 2025
26ff159
fix(tss-react): Change `authToken` type to `string` (#15985)
Lms24 Apr 4, 2025
51f04a1
feat(browser): Add `onRequestSpanStart` hook to browser tracing integ…
Apr 7, 2025
186e696
fix(core): Do not abbreviate message parameter attribute (#15987)
AbhiPrasad Apr 7, 2025
4d0c270
feat(nextjs): Mark clientside prefetch request spans with `http.reque…
Apr 7, 2025
c922bcc
feat(nextjs): Un experimentify `clientInstrumentationHook` (#15992)
Apr 7, 2025
9e477cd
feat(nextjs): Add `captureRouterTransitionStart` hook for capturing n…
Apr 7, 2025
7e4a91e
chore(cloudflare): Add jsonc snippet to cloudflare readme (#15994)
AbhiPrasad Apr 7, 2025
3c1a9d9
feat(astro): Add tracking of errors during HTML streaming (#15995)
Fryuni Apr 7, 2025
7f24881
chore: Add external contributor to CHANGELOG.md (#15997)
HazAT Apr 7, 2025
6a8a2c3
fix(node): Make log flushing logic more robust (#15991)
AbhiPrasad Apr 7, 2025
dd2b279
feat(core): Add sentry origin attribute to console logs integration (…
AbhiPrasad Apr 8, 2025
6b73178
feat(deps): Bump @sentry/cli from 2.42.3 to 2.43.0 (#16001)
dependabot[bot] Apr 8, 2025
b4ef25d
fix(core): Prefix release and environment correctly (#15999)
AbhiPrasad Apr 8, 2025
2e3d6e3
feat(core): Add sdk name and version to logs (#16005)
AbhiPrasad Apr 8, 2025
6c40f4b
feat(node): Add server.address to nodejs logs (#16006)
AbhiPrasad Apr 8, 2025
e7530a3
feat(core): Emit debug log when transport execution fails (#16009)
Apr 8, 2025
9d4d6df
meta(changelog): Update changelog for 9.12.0
AbhiPrasad Apr 8, 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
2 changes: 1 addition & 1 deletion .github/workflows/external-contributors.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -36,7 +36,7 @@ jobs:
author_association: ${{ github.event.pull_request.author_association }}

- name: Create PR with changes
uses: peter-evans/create-pull-request@dd2324fc52d5d43c699a5636bcf19fceaa70c284
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e
with:
# This token is scoped to Daniel Griesser
# If we used the default GITHUB_TOKEN, the resulting PR would not trigger CI :(
Expand Down
2 changes: 1 addition & 1 deletion .size-limit.js
Original file line numberDiff line numberDiff line change
Expand Up@@ -139,7 +139,7 @@ module.exports = [
path: 'packages/vue/build/esm/index.js',
import: createImport('init', 'browserTracingIntegration'),
gzip: true,
limit: '39.5 KB',
limit: '40 KB',
},
// Svelte SDK (ESM)
{
Expand Down
55 changes: 54 additions & 1 deletion CHANGELOG.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -10,11 +10,64 @@

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

## 9.12.0

### Important Changes

- **feat(feedback): Implement highlighting and hiding controls for screenshots ([#15951](https://github.com/getsentry/sentry-javascript/pull/15951))**

The Sentry SDK now supports highlighting and hiding controls for screenshots in [user feedback reports](https://docs.sentry.io/platforms/javascript/user-feedback/). This functionality is enabled by default.

- **feat(node): Add `ignoreIncomingRequestBody` callback to `httpIntegration` ([#15959](https://github.com/getsentry/sentry-javascript/pull/15959))**

The `httpIntegration` now supports an optional `ignoreIncomingRequestBody` callback that can be used to skip capturing the body of incoming requests.

```ts
Sentry.init({
integrations: [
Sentry.httpIntegration({
ignoreIncomingRequestBody: (url, request) => {
return request.method === 'GET' && url.includes('/api/large-payload');
},
}),
],
});
```

The `ignoreIncomingRequestBody` callback receives the URL of the request and should return `true` if the body should be ignored.

- **Logging Improvements**

Sentry is adding support for [structured logging](https://github.com/getsentry/sentry-javascript/discussions/15916). In this release we've made a variety of improvements to logging functionality in the Sentry SDKs.

- feat(node): Add server.address to nodejs logs ([#16006](https://github.com/getsentry/sentry-javascript/pull/16006))
- feat(core): Add sdk name and version to logs ([#16005](https://github.com/getsentry/sentry-javascript/pull/16005))
- feat(core): Add sentry origin attribute to console logs integration ([#15998](https://github.com/getsentry/sentry-javascript/pull/15998))
- fix(core): Do not abbreviate message parameter attribute ([#15987](https://github.com/getsentry/sentry-javascript/pull/15987))
- fix(core): Prefix release and environment correctly ([#15999](https://github.com/getsentry/sentry-javascript/pull/15999))
- fix(node): Make log flushing logic more robust ([#15991](https://github.com/getsentry/sentry-javascript/pull/15991))

### Other Changes

- build(aws-serverless): Include debug logs in lambda layer SDK bundle ([#15974](https://github.com/getsentry/sentry-javascript/pull/15974))
- feat(astro): Add tracking of errors during HTML streaming ([#15995](https://github.com/getsentry/sentry-javascript/pull/15995))
- feat(browser): Add `onRequestSpanStart` hook to browser tracing integration ([#15979](https://github.com/getsentry/sentry-javascript/pull/15979))
- feat(deps): Bump @sentry/cli from 2.42.3 to 2.43.0 ([#16001](https://github.com/getsentry/sentry-javascript/pull/16001))
- feat(nextjs): Add `captureRouterTransitionStart` hook for capturing navigations ([#15981](https://github.com/getsentry/sentry-javascript/pull/15981))
- feat(nextjs): Mark clientside prefetch request spans with `http.request.prefetch: true` attribute ([#15980](https://github.com/getsentry/sentry-javascript/pull/15980))
- feat(nextjs): Un experimentify `clientInstrumentationHook` ([#15992](https://github.com/getsentry/sentry-javascript/pull/15992))
- feat(nextjs): Warn when client was initialized more than once ([#15971](https://github.com/getsentry/sentry-javascript/pull/15971))
- feat(node): Add support for `SENTRY_DEBUG` env variable ([#15972](https://github.com/getsentry/sentry-javascript/pull/15972))
- fix(tss-react): Change `authToken` type to `string` ([#15985](https://github.com/getsentry/sentry-javascript/pull/15985))

Work in this release was contributed by @Page- and @Fryuni. Thank you for your contributions!

## 9.11.0

- feat(browser): Add `http.redirect_count` attribute to `browser.redirect` span ([#15943](https://github.com/getsentry/sentry-javascript/pull/15943))
- feat(core): Add `consoleLoggingIntegration` for logs ([#15955](https://github.com/getsentry/sentry-javascript/pull/15955))
- feat(core): Don't truncate error messages ([#15818](https://github.com/getsentry/sentry-javascript/pull/15818))
- feat(core): Emit debug log when transport execution fails ([#16009](https://github.com/getsentry/sentry-javascript/pull/16009))
- feat(nextjs): Add release injection in Turbopack ([#15958](https://github.com/getsentry/sentry-javascript/pull/15958))
- feat(nextjs): Record `turbopack` as tag ([#15928](https://github.com/getsentry/sentry-javascript/pull/15928))
- feat(nuxt): Base decision on source maps upload only on Nuxt source map settings ([#15859](https://github.com/getsentry/sentry-javascript/pull/15859))
Expand DownExpand Up@@ -117,7 +170,7 @@

- **feat(nextjs): Support `instrumentation-client.ts` ([#15705](https://github.com/getsentry/sentry-javascript/pull/15705))**

Next.js recently added a feature to support [client-side (browser) instrumentation via the `experimental.clientInstrumentationHook` flag and the `instrumentation-client.ts` file](https://nextjs.org/docs/app/api-reference/config/next-config-js/clientInstrumentationHook).
Next.js recently added a feature to support [client-side (browser) instrumentation via a `instrumentation-client.ts` file](https://nextjs.org/docs/app/api-reference/file-conventions/instrumentation-client).

To be forwards compatible, the Sentry Next.js SDK will now pick up `instrumentation-client.ts` files even on older Next.js versions and add them to your client bundles.
It is suggested that you either rename your `sentry.client.config.ts` file to `instrumentation-client.ts`, or if you already happen to have a `instrumentation-client.ts` file move the contents of `sentry.client.config.ts` to `instrumentation-client.ts`.
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,7 +23,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'trace',
body: { stringValue: 'console.trace 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 1,
Expand All@@ -37,7 +56,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'debug',
body: { stringValue: 'console.debug 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 5,
Expand All@@ -51,7 +89,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'info',
body: { stringValue: 'console.log 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 10,
Expand All@@ -65,7 +122,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'info',
body: { stringValue: 'console.info 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 9,
Expand All@@ -79,7 +155,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'warn',
body: { stringValue: 'console.warn 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 13,
Expand All@@ -93,7 +188,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'error',
body: { stringValue: 'console.error 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 17,
Expand All@@ -107,7 +221,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'error',
body: { stringValue: 'Assertion failed: console.assert 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 17,
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
b10085d
test(remix): Bump Remix version of integration tests to `2.16.3` (#15…
onurtemizkan Apr 3, 2025
0d3b0a0
ci(deps): bump peter-evans/create-pull-request from 7.0.7 to 7.0.8 (#…
dependabot[bot] Apr 3, 2025
bbe0589
Merge pull request #15973 from getsentry/master
github-actions[bot] Apr 3, 2025
35e78c6
feat(node): Add support for `SENTRY_DEBUG` env variable (#15972)
Lms24 Apr 3, 2025
2c1c189
feat(feedback): Implement highlighting and hiding controls for screen…
ryan953 Apr 3, 2025
2b99569
test(nuxt): Improve tests for source map detection (#15968)
s1gr1d Apr 4, 2025
ddf1935
feat(nextjs): Warn when client was initialized more than once (#15971)
Apr 4, 2025
d7fbb17
build(aws-serverless): Include debug logs in lambda layer SDK bundle …
Lms24 Apr 4, 2025
c6261f7
feat(node): Add `ignoreIncomingRequestBody` callback to `httpIntegrat…
Page- Apr 4, 2025
67f4919
chore: Add external contributor to CHANGELOG.md (#15984)
HazAT Apr 4, 2025
26ff159
fix(tss-react): Change `authToken` type to `string` (#15985)
Lms24 Apr 4, 2025
51f04a1
feat(browser): Add `onRequestSpanStart` hook to browser tracing integ…
Apr 7, 2025
186e696
fix(core): Do not abbreviate message parameter attribute (#15987)
AbhiPrasad Apr 7, 2025
4d0c270
feat(nextjs): Mark clientside prefetch request spans with `http.reque…
Apr 7, 2025
c922bcc
feat(nextjs): Un experimentify `clientInstrumentationHook` (#15992)
Apr 7, 2025
9e477cd
feat(nextjs): Add `captureRouterTransitionStart` hook for capturing n…
Apr 7, 2025
7e4a91e
chore(cloudflare): Add jsonc snippet to cloudflare readme (#15994)
AbhiPrasad Apr 7, 2025
3c1a9d9
feat(astro): Add tracking of errors during HTML streaming (#15995)
Fryuni Apr 7, 2025
7f24881
chore: Add external contributor to CHANGELOG.md (#15997)
HazAT Apr 7, 2025
6a8a2c3
fix(node): Make log flushing logic more robust (#15991)
AbhiPrasad Apr 7, 2025
dd2b279
feat(core): Add sentry origin attribute to console logs integration (…
AbhiPrasad Apr 8, 2025
6b73178
feat(deps): Bump @sentry/cli from 2.42.3 to 2.43.0 (#16001)
dependabot[bot] Apr 8, 2025
b4ef25d
fix(core): Prefix release and environment correctly (#15999)
AbhiPrasad Apr 8, 2025
2e3d6e3
feat(core): Add sdk name and version to logs (#16005)
AbhiPrasad Apr 8, 2025
6c40f4b
feat(node): Add server.address to nodejs logs (#16006)
AbhiPrasad Apr 8, 2025
e7530a3
feat(core): Emit debug log when transport execution fails (#16009)
Apr 8, 2025
9d4d6df
meta(changelog): Update changelog for 9.12.0
AbhiPrasad Apr 8, 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
2 changes: 1 addition & 1 deletion .github/workflows/external-contributors.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -36,7 +36,7 @@ jobs:
author_association: ${{ github.event.pull_request.author_association }}

- name: Create PR with changes
uses: peter-evans/create-pull-request@dd2324fc52d5d43c699a5636bcf19fceaa70c284
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e
with:
# This token is scoped to Daniel Griesser
# If we used the default GITHUB_TOKEN, the resulting PR would not trigger CI :(
Expand Down
2 changes: 1 addition & 1 deletion .size-limit.js
Original file line numberDiff line numberDiff line change
Expand Up@@ -139,7 +139,7 @@ module.exports = [
path: 'packages/vue/build/esm/index.js',
import: createImport('init', 'browserTracingIntegration'),
gzip: true,
limit: '39.5 KB',
limit: '40 KB',
},
// Svelte SDK (ESM)
{
Expand Down
55 changes: 54 additions & 1 deletion CHANGELOG.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -10,11 +10,64 @@

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

## 9.12.0

### Important Changes

- **feat(feedback): Implement highlighting and hiding controls for screenshots ([#15951](https://github.com/getsentry/sentry-javascript/pull/15951))**

The Sentry SDK now supports highlighting and hiding controls for screenshots in [user feedback reports](https://docs.sentry.io/platforms/javascript/user-feedback/). This functionality is enabled by default.

- **feat(node): Add `ignoreIncomingRequestBody` callback to `httpIntegration` ([#15959](https://github.com/getsentry/sentry-javascript/pull/15959))**

The `httpIntegration` now supports an optional `ignoreIncomingRequestBody` callback that can be used to skip capturing the body of incoming requests.

```ts
Sentry.init({
integrations: [
Sentry.httpIntegration({
ignoreIncomingRequestBody: (url, request) => {
return request.method === 'GET' && url.includes('/api/large-payload');
},
}),
],
});
```

The `ignoreIncomingRequestBody` callback receives the URL of the request and should return `true` if the body should be ignored.

- **Logging Improvements**

Sentry is adding support for [structured logging](https://github.com/getsentry/sentry-javascript/discussions/15916). In this release we've made a variety of improvements to logging functionality in the Sentry SDKs.

- feat(node): Add server.address to nodejs logs ([#16006](https://github.com/getsentry/sentry-javascript/pull/16006))
- feat(core): Add sdk name and version to logs ([#16005](https://github.com/getsentry/sentry-javascript/pull/16005))
- feat(core): Add sentry origin attribute to console logs integration ([#15998](https://github.com/getsentry/sentry-javascript/pull/15998))
- fix(core): Do not abbreviate message parameter attribute ([#15987](https://github.com/getsentry/sentry-javascript/pull/15987))
- fix(core): Prefix release and environment correctly ([#15999](https://github.com/getsentry/sentry-javascript/pull/15999))
- fix(node): Make log flushing logic more robust ([#15991](https://github.com/getsentry/sentry-javascript/pull/15991))

### Other Changes

- build(aws-serverless): Include debug logs in lambda layer SDK bundle ([#15974](https://github.com/getsentry/sentry-javascript/pull/15974))
- feat(astro): Add tracking of errors during HTML streaming ([#15995](https://github.com/getsentry/sentry-javascript/pull/15995))
- feat(browser): Add `onRequestSpanStart` hook to browser tracing integration ([#15979](https://github.com/getsentry/sentry-javascript/pull/15979))
- feat(deps): Bump @sentry/cli from 2.42.3 to 2.43.0 ([#16001](https://github.com/getsentry/sentry-javascript/pull/16001))
- feat(nextjs): Add `captureRouterTransitionStart` hook for capturing navigations ([#15981](https://github.com/getsentry/sentry-javascript/pull/15981))
- feat(nextjs): Mark clientside prefetch request spans with `http.request.prefetch: true` attribute ([#15980](https://github.com/getsentry/sentry-javascript/pull/15980))
- feat(nextjs): Un experimentify `clientInstrumentationHook` ([#15992](https://github.com/getsentry/sentry-javascript/pull/15992))
- feat(nextjs): Warn when client was initialized more than once ([#15971](https://github.com/getsentry/sentry-javascript/pull/15971))
- feat(node): Add support for `SENTRY_DEBUG` env variable ([#15972](https://github.com/getsentry/sentry-javascript/pull/15972))
- fix(tss-react): Change `authToken` type to `string` ([#15985](https://github.com/getsentry/sentry-javascript/pull/15985))

Work in this release was contributed by @Page- and @Fryuni. Thank you for your contributions!

## 9.11.0

- feat(browser): Add `http.redirect_count` attribute to `browser.redirect` span ([#15943](https://github.com/getsentry/sentry-javascript/pull/15943))
- feat(core): Add `consoleLoggingIntegration` for logs ([#15955](https://github.com/getsentry/sentry-javascript/pull/15955))
- feat(core): Don't truncate error messages ([#15818](https://github.com/getsentry/sentry-javascript/pull/15818))
- feat(core): Emit debug log when transport execution fails ([#16009](https://github.com/getsentry/sentry-javascript/pull/16009))
- feat(nextjs): Add release injection in Turbopack ([#15958](https://github.com/getsentry/sentry-javascript/pull/15958))
- feat(nextjs): Record `turbopack` as tag ([#15928](https://github.com/getsentry/sentry-javascript/pull/15928))
- feat(nuxt): Base decision on source maps upload only on Nuxt source map settings ([#15859](https://github.com/getsentry/sentry-javascript/pull/15859))
Expand DownExpand Up@@ -117,7 +170,7 @@

- **feat(nextjs): Support `instrumentation-client.ts` ([#15705](https://github.com/getsentry/sentry-javascript/pull/15705))**

Next.js recently added a feature to support [client-side (browser) instrumentation via the `experimental.clientInstrumentationHook` flag and the `instrumentation-client.ts` file](https://nextjs.org/docs/app/api-reference/config/next-config-js/clientInstrumentationHook).
Next.js recently added a feature to support [client-side (browser) instrumentation via a `instrumentation-client.ts` file](https://nextjs.org/docs/app/api-reference/file-conventions/instrumentation-client).

To be forwards compatible, the Sentry Next.js SDK will now pick up `instrumentation-client.ts` files even on older Next.js versions and add them to your client bundles.
It is suggested that you either rename your `sentry.client.config.ts` file to `instrumentation-client.ts`, or if you already happen to have a `instrumentation-client.ts` file move the contents of `sentry.client.config.ts` to `instrumentation-client.ts`.
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,7 +23,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'trace',
body: { stringValue: 'console.trace 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 1,
Expand All@@ -37,7 +56,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'debug',
body: { stringValue: 'console.debug 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 5,
Expand All@@ -51,7 +89,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'info',
body: { stringValue: 'console.log 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 10,
Expand All@@ -65,7 +122,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'info',
body: { stringValue: 'console.info 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 9,
Expand All@@ -79,7 +155,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'warn',
body: { stringValue: 'console.warn 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 13,
Expand All@@ -93,7 +188,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'error',
body: { stringValue: 'console.error 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 17,
Expand All@@ -107,7 +221,26 @@ sentryTest('should capture console object calls', async ({ getLocalTestUrl, page
{
severityText: 'error',
body: { stringValue: 'Assertion failed: console.assert 123 false' },
attributes: [],
attributes: [
{
key: 'sentry.origin',
value: {
stringValue: 'auto.console.logging',
},
},
{
key: 'sentry.sdk.name',
value: {
stringValue: 'sentry.javascript.browser',
},
},
{
key: 'sentry.sdk.version',
value: {
stringValue: expect.any(String),
},
},
],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 17,
Expand Down
Loading