Skip to content

meta: Update CHANGELOG for 9.11.0 #15967

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 23 commits into from
Apr 3, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
64308ce
ref(browser/core): Move all log flushing logic into clients (#15831)
AbhiPrasad Mar 28, 2025
f3b9067
Merge pull request #15914 from getsentry/master
github-actions[bot] Mar 28, 2025
5a6e018
ref: Move es-compatibility checks into packages (#15773)
andreiborza Mar 31, 2025
8af26e5
ref: Bump es-compatibility to ES2022 for node-based packages (#15926)
andreiborza Mar 31, 2025
eda7a1e
fix(cjs): Use `module` instead of `require` for CJS check (#15927)
s1gr1d Mar 31, 2025
147989b
feat: Don't truncate error messages (#15818)
lforst Mar 31, 2025
f0fc41f
ref(core): Improve URL parsing utilities (#15882)
AbhiPrasad Apr 1, 2025
06a31c4
build(profiling-node): Fix output directory & caching (#15945)
mydea Apr 1, 2025
298a23c
fix(remix): Remove mentions of deprecated `ErrorBoundary` wrapper (#1…
onurtemizkan Apr 2, 2025
9a1970b
ci(deps): bump actions/create-github-app-token from 1.11.5 to 1.12.0 …
dependabot[bot] Apr 2, 2025
305df9f
feat(nextjs): Record `turbopack` as tag (#15928)
lforst Apr 2, 2025
71409c3
chore(tests): Fix coverage file exclusions (#15944)
Lms24 Apr 2, 2025
3c1b3c9
feat(browser): Add `http.redirect_count` attribute to `browser.redire…
Lms24 Apr 2, 2025
4661f4d
ref(browser): Temporarily add `sentry.previous_trace` span attribute …
Lms24 Apr 2, 2025
3863c29
feat(nextjs): Add release injection in Turbopack (#15958)
lforst Apr 2, 2025
ad5c06c
feat(nuxt): Add nuxt release registry craft entry (#15962)
andreiborza Apr 3, 2025
64b1d0d
feat(nestjs): Add nestjs release registry craft entry (#15963)
andreiborza Apr 3, 2025
ee592ad
feat(tanstackstart-react): Add tanstackstart-react to release registr…
andreiborza Apr 3, 2025
9807efb
chore(nest): Add `@sentry/nestjs` to release registry
cleptric Apr 3, 2025
6501d52
feat(nuxt): Base decision on source maps upload only on Nuxt source m…
s1gr1d Apr 3, 2025
438e8be
feat(core): Add `consoleLoggingIntegration` for logs (#15955)
AbhiPrasad Apr 3, 2025
a6e9651
feat(react-router): Add `sentryHandleRequest` (#15787)
chargome Apr 3, 2025
90ee178
meta: Update CHANGELOG for 9.11.0
Lms24 Apr 3, 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
6 changes: 6 additions & 0 deletions .craft.yml
Original file line number Diff line number Diff line change
Expand Up @@ -193,8 +193,12 @@ targets:
onlyIfPresent: /^sentry-gatsby-\d.*\.tgz$/
'npm:@sentry/google-cloud-serverless':
onlyIfPresent: /^sentry-google-cloud-serverless-\d.*\.tgz$/
'npm:@sentry/nestjs':
onlyIfPresent: /^sentry-nestjs-\d.*\.tgz$/
'npm:@sentry/nextjs':
onlyIfPresent: /^sentry-nextjs-\d.*\.tgz$/
'npm:@sentry/nuxt':
onlyIfPresent: /^sentry-nuxt-\d.*\.tgz$/
'npm:@sentry/node':
onlyIfPresent: /^sentry-node-\d.*\.tgz$/
'npm:@sentry/react':
Expand All @@ -211,6 +215,8 @@ targets:
onlyIfPresent: /^sentry-svelte-\d.*\.tgz$/
'npm:@sentry/sveltekit':
onlyIfPresent: /^sentry-sveltekit-\d.*\.tgz$/
'npm:@sentry/tanstackstart-react':
onlyIfPresent: /^sentry-tanstackstart-react-\d.*\.tgz$/
'npm:@sentry/vercel-edge':
onlyIfPresent: /^sentry-vercel-edge-\d.*\.tgz$/
'npm:@sentry/vue':
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/auto-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
steps:
- name: Get auth token
id: token
uses: actions/create-github-app-token@0d564482f06ca65fa9e77e2510873638c82206f2 # v1.11.5
uses: actions/create-github-app-token@d72941d797fd3113feb6b93fd0dec494b13a2547 # v1.12.0
with:
app-id: ${{ vars.SENTRY_RELEASE_BOT_CLIENT_ID }}
private-key: ${{ secrets.SENTRY_RELEASE_BOT_PRIVATE_KEY }}
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ env:
CACHED_BUILD_PATHS: |
${{ github.workspace }}/dev-packages/*/build
${{ github.workspace }}/packages/*/build
${{ github.workspace }}/packages/*/lib
${{ github.workspace }}/packages/ember/*.d.ts
${{ github.workspace }}/packages/gatsby/*.d.ts
${{ github.workspace }}/packages/utils/cjs
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
steps:
- name: Get auth token
id: token
uses: actions/create-github-app-token@0d564482f06ca65fa9e77e2510873638c82206f2 # v1.11.5
uses: actions/create-github-app-token@d72941d797fd3113feb6b93fd0dec494b13a2547 # v1.12.0
with:
app-id: ${{ vars.SENTRY_RELEASE_BOT_CLIENT_ID }}
private-key: ${{ secrets.SENTRY_RELEASE_BOT_PRIVATE_KEY }}
Expand Down
6 changes: 3 additions & 3 deletions .size-limit.js
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ module.exports = [
path: 'packages/browser/build/npm/esm/index.js',
import: createImport('init', 'browserTracingIntegration', 'replayIntegration', 'replayCanvasIntegration'),
gzip: true,
limit: '80.5 KB',
limit: '81 KB',
},
{
name: '@sentry/browser (incl. Tracing, Replay, Feedback)',
Expand Down Expand Up @@ -210,7 +210,7 @@ module.exports = [
import: createImport('init'),
ignore: ['next/router', 'next/constants'],
gzip: true,
limit: '41 KB',
limit: '42 KB',
},
// SvelteKit SDK (ESM)
{
Expand All @@ -219,7 +219,7 @@ module.exports = [
import: createImport('init'),
ignore: ['$app/stores'],
gzip: true,
limit: '38 KB',
limit: '38.5 KB',
},
// Node SDK (ESM)
{
Expand Down
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,21 @@

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

## 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(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))
- feat(react-router): Add `sentryHandleRequest` ([#15787](https://github.com/getsentry/sentry-javascript/pull/15787))
- fix(node): Use `module` instead of `require` for CJS check ([#15927](https://github.com/getsentry/sentry-javascript/pull/15927))
- fix(remix): Remove mentions of deprecated `ErrorBoundary` wrapper ([#15930](https://github.com/getsentry/sentry-javascript/pull/15930))
- ref(browser): Temporarily add `sentry.previous_trace` span attribute ([#15957](https://github.com/getsentry/sentry-javascript/pull/15957))
- ref(browser/core): Move all log flushing logic into clients ([#15831](https://github.com/getsentry/sentry-javascript/pull/15831))
- ref(core): Improve URL parsing utilities ([#15882](https://github.com/getsentry/sentry-javascript/pull/15882))

## 9.10.1

- fix: Correct @sentry-internal/feedback docs to match the code ([#15874](https://github.com/getsentry/sentry-javascript/pull/15874))
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
const wat = new Error(`This is a very long message that should be truncated and will be,
this is a very long message that should be truncated and will be,
this is a very long message that should be truncated and will be,
this is a very long message that should be truncated and will be,
this is a very long message that should be truncated and will be`);
const wat = new Error(`This is a very long message that should not be truncated and won't be,
this is a very long message that should not be truncated and won't be,
this is a very long message that should not be truncated and won't be,
this is a very long message that should not be truncated and won't be,
this is a very long message that should not be truncated and won't be`);

wat.cause = new Error(`This is a very long message that should be truncated and hopefully will be,
this is a very long message that should be truncated and hopefully will be,
this is a very long message that should be truncated and hopefully will be,
this is a very long message that should be truncated and hopefully will be,
this is a very long message that should be truncated and hopefully will be,`);
wat.cause = new Error(`This is a very long message that should not be truncated and hopefully won't be,
this is a very long message that should not be truncated and hopefully won't be,
this is a very long message that should not be truncated and hopefully won't be,
this is a very long message that should not be truncated and hopefully won't be,
this is a very long message that should not be truncated and hopefully won't be`);

Sentry.captureException(wat);
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,11 @@ sentryTest('should capture a linked error with messages', async ({ getLocalTestU
expect(eventData.exception?.values).toHaveLength(2);
expect(eventData.exception?.values?.[0]).toMatchObject({
type: 'Error',
value: `This is a very long message that should be truncated and hopefully will be,
this is a very long message that should be truncated and hopefully will be,
this is a very long message that should be truncated and hopefully will be,
this is a very long me...`,
value: `This is a very long message that should not be truncated and hopefully won't be,
this is a very long message that should not be truncated and hopefully won't be,
this is a very long message that should not be truncated and hopefully won't be,
this is a very long message that should not be truncated and hopefully won't be,
this is a very long message that should not be truncated and hopefully won't be`,
mechanism: {
type: 'chained',
handled: true,
Expand All @@ -26,10 +27,11 @@ this is a very long me...`,
});
expect(eventData.exception?.values?.[1]).toMatchObject({
type: 'Error',
value: `This is a very long message that should be truncated and will be,
this is a very long message that should be truncated and will be,
this is a very long message that should be truncated and will be,
this is a very long message that should be truncated...`,
value: `This is a very long message that should not be truncated and won't be,
this is a very long message that should not be truncated and won't be,
this is a very long message that should not be truncated and won't be,
this is a very long message that should not be truncated and won't be,
this is a very long message that should not be truncated and won't be`,
mechanism: {
type: 'generic',
handled: true,
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import * as Sentry from '@sentry/browser';

window.Sentry = Sentry;

Sentry.init({
dsn: 'https://public@dsn.ingest.sentry.io/1337',
_experiments: {
enableLogs: true,
},
integrations: [Sentry.consoleLoggingIntegration()],
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
console.trace('console.trace', 123, false);
console.debug('console.debug', 123, false);
console.log('console.log', 123, false);
console.info('console.info', 123, false);
console.warn('console.warn', 123, false);
console.error('console.error', 123, false);
console.assert(false, 'console.assert', 123, false);

console.log('');

Sentry.flush();
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
import { expect } from '@playwright/test';
import type { OtelLogEnvelope } from '@sentry/core';

import { sentryTest } from '../../../../utils/fixtures';
import { getFirstSentryEnvelopeRequest, properFullEnvelopeRequestParser } from '../../../../utils/helpers';

sentryTest('should capture console object calls', async ({ getLocalTestUrl, page }) => {
const bundle = process.env.PW_BUNDLE || '';
// Only run this for npm package exports
if (bundle.startsWith('bundle') || bundle.startsWith('loader')) {
sentryTest.skip();
}

const url = await getLocalTestUrl({ testDir: __dirname });

const event = await getFirstSentryEnvelopeRequest<OtelLogEnvelope>(page, url, properFullEnvelopeRequestParser);
const envelopeItems = event[1];

expect(envelopeItems[0]).toEqual([
{
type: 'otel_log',
},
{
severityText: 'trace',
body: { stringValue: 'console.trace 123 false' },
attributes: [],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 1,
},
]);

expect(envelopeItems[1]).toEqual([
{
type: 'otel_log',
},
{
severityText: 'debug',
body: { stringValue: 'console.debug 123 false' },
attributes: [],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 5,
},
]);

expect(envelopeItems[2]).toEqual([
{
type: 'otel_log',
},
{
severityText: 'info',
body: { stringValue: 'console.log 123 false' },
attributes: [],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 10,
},
]);

expect(envelopeItems[3]).toEqual([
{
type: 'otel_log',
},
{
severityText: 'info',
body: { stringValue: 'console.info 123 false' },
attributes: [],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 9,
},
]);

expect(envelopeItems[4]).toEqual([
{
type: 'otel_log',
},
{
severityText: 'warn',
body: { stringValue: 'console.warn 123 false' },
attributes: [],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 13,
},
]);

expect(envelopeItems[5]).toEqual([
{
type: 'otel_log',
},
{
severityText: 'error',
body: { stringValue: 'console.error 123 false' },
attributes: [],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 17,
},
]);

expect(envelopeItems[6]).toEqual([
{
type: 'otel_log',
},
{
severityText: 'error',
body: { stringValue: 'Assertion failed: console.assert 123 false' },
attributes: [],
timeUnixNano: expect.any(String),
traceId: expect.any(String),
severityNumber: 17,
},
]);
});
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { expect } from '@playwright/test';
import type { OtelLogEnvelope } from '@sentry/core';

import { sentryTest } from '../../../utils/fixtures';
import { getFirstSentryEnvelopeRequest, properFullEnvelopeRequestParser } from '../../../utils/helpers';
import { sentryTest } from '../../../../utils/fixtures';
import { getFirstSentryEnvelopeRequest, properFullEnvelopeRequestParser } from '../../../../utils/helpers';

sentryTest('should capture all logging methods', async ({ getLocalTestUrl, page }) => {
const bundle = process.env.PW_BUNDLE || '';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,10 @@ sentryTest("navigation spans link back to previous trace's root span", async ({
},
]);

expect(navigation1TraceContext?.data).toMatchObject({
'sentry.previous_trace': `${pageloadTraceId}-${pageloadTraceContext?.span_id}-1`,
});

expect(navigation2TraceContext?.links).toEqual([
{
trace_id: navigation1TraceId,
Expand All @@ -60,6 +64,10 @@ sentryTest("navigation spans link back to previous trace's root span", async ({
},
]);

expect(navigation2TraceContext?.data).toMatchObject({
'sentry.previous_trace': `${navigation1TraceId}-${navigation1TraceContext?.span_id}-1`,
});

expect(pageloadTraceId).not.toEqual(navigation1TraceId);
expect(navigation1TraceId).not.toEqual(navigation2TraceId);
expect(pageloadTraceId).not.toEqual(navigation2TraceId);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ sentryTest('includes a span link to a previously negatively sampled span', async
},
]);

expect(navigationTraceContext?.data).toMatchObject({
'sentry.previous_trace': expect.stringMatching(/[a-f0-9]{32}-[a-f0-9]{16}-0/),
});

expect(navigationTraceContext?.trace_id).not.toEqual(navigationTraceContext?.links![0].trace_id);
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ test('should correctly instrument `fetch` for performance tracing', async ({ pag
'sentry.op': 'http.client',
'sentry.origin': 'auto.http.browser',
},
description: 'GET https://example.com',
description: 'GET https://example.com/',
op: 'http.client',
parent_span_id: expect.stringMatching(/[a-f0-9]{16}/),
span_id: expect.stringMatching(/[a-f0-9]{16}/),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
/// <reference types="next/navigation-types/compat/navigation" />

// NOTE: This file should not be edited
// see https://nextjs.org/docs/app/building-your-application/configuring/typescript for more information.
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,7 @@ const nextConfig = {

module.exports = withSentryConfig(nextConfig, {
silent: true,
release: {
name: 'foobar123',
},
});
Loading
Loading