Skip to content
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

meta(changelog): Update changelog for 8.45.0 #14682

Merged
merged 18 commits into from
Dec 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
c965af2
Merge pull request #14674 from getsentry/master
github-actions[bot] Dec 12, 2024
13bb652
build: update biome to v1.5.2 (#10102)
anonrig Dec 12, 2024
938fe65
chore: Add external contributor to CHANGELOG.md (#14677)
HazAT Dec 12, 2024
d9d3b06
fix(aws-serverless): Remove v8 layer as it overwrites the current lay…
andreiborza Dec 12, 2024
0aa7d95
fix: Disable ANR and Local Variables if debugger is enabled via CLI a…
timfish Dec 12, 2024
c49b247
feat(core): Add `handled` option to `captureConsoleIntegration` (#14664)
Lms24 Dec 12, 2024
027518d
fix(nuxt): Inline nitro-utils function (#14680)
s1gr1d Dec 12, 2024
5fe6345
fix(profiling-node): Ensure profileId is added to transaction event (…
Lms24 Dec 12, 2024
63476fa
feat(browser): Attach virtual stack traces to `HttpClient` events (#1…
onurtemizkan Dec 12, 2024
5af2833
fix(profiling-node): Guard invocation of native profiling methods (#1…
Lms24 Dec 12, 2024
2cff1f7
meta(svelte): Increase size limit (#14685)
s1gr1d Dec 12, 2024
3473447
fix(react): Add React Router Descendant Routes support. (#14304)
onurtemizkan Dec 12, 2024
4871906
chore(deps): Bump express from 4.19.2 to 4.20.0 in /dev-packages/e2e-…
dependabot[bot] Dec 12, 2024
825fe89
fix(browser): Mark stack trace from `captureMessage` with `attachStac…
Lms24 Dec 12, 2024
cdaf852
fix(core): Mark stack trace from `captureMessage` with `attatchStackT…
Lms24 Dec 12, 2024
70653af
fix(core): Set `level` in server runtime `captureException` (#10587)
Zih0 Dec 12, 2024
017867d
feat(replay): Upgrade rrweb packages to 2.31.0 (#14689)
billyvg Dec 12, 2024
734b375
meta(changelog): Update changelog for 8.45.0
s1gr1d Dec 12, 2024
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
11 changes: 5 additions & 6 deletions .craft.yml
Original file line number Diff line number Diff line change
Expand Up @@ -142,10 +142,12 @@ targets:
id: '@sentry-internal/eslint-config-sdk'
includeNames: /^sentry-internal-eslint-config-sdk-\d.*\.tgz$/

# AWS Lambda Layer target
# TODO(v9): Remove this target
# NOTE: We publish the v8 layer under its own name so people on v8 can still get patches
# whenever we release a new v8 version—otherwise we would overwrite the current major lambda layer.
- name: aws-lambda-layer
includeNames: /^sentry-node-serverless-\d+.\d+.\d+(-(beta|alpha|rc)\.\d+)?\.zip$/
layerName: SentryNodeServerlessSDK
layerName: SentryNodeServerlessSDKv8
compatibleRuntimes:
- name: node
versions:
Expand All @@ -157,13 +159,10 @@ targets:
- nodejs20.x
license: MIT

# NOTE: We publish the v8 layer under its own name so people on v8 can still get patches
# whenever we release a new v8 version—otherwise we would overwrite the current major lambda layer.

# AWS Lambda Layer target
- name: aws-lambda-layer
includeNames: /^sentry-node-serverless-\d+.\d+.\d+(-(beta|alpha|rc)\.\d+)?\.zip$/
layerName: SentryNodeServerlessSDKv8
layerName: SentryNodeServerlessSDK
compatibleRuntimes:
- name: node
versions:
Expand Down
2 changes: 1 addition & 1 deletion .size-limit.js
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ module.exports = [
path: 'packages/svelte/build/esm/index.js',
import: createImport('init'),
gzip: true,
limit: '24 KB',
limit: '25 KB',
},
// Browser CDN bundles
{
Expand Down
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,23 @@

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

## 8.45.0

- feat(core): Add `handled` option to `captureConsoleIntegration` ([#14664](https://github.com/getsentry/sentry-javascript/pull/14664))
- feat(browser): Attach virtual stack traces to `HttpClient` events ([#14515](https://github.com/getsentry/sentry-javascript/pull/14515))
- feat(replay): Upgrade rrweb packages to 2.31.0 ([#14689](https://github.com/getsentry/sentry-javascript/pull/14689))
- fix(aws-serverless): Remove v8 layer as it overwrites the current layer for docs ([#14679](https://github.com/getsentry/sentry-javascript/pull/14679))
- fix(browser): Mark stack trace from `captureMessage` with `attachStacktrace: true` as synthetic ([#14668](https://github.com/getsentry/sentry-javascript/pull/14668))
- fix(core): Mark stack trace from `captureMessage` with `attatchStackTrace: true` as synthetic ([#14670](https://github.com/getsentry/sentry-javascript/pull/14670))
- fix(core): Set `level` in server runtime `captureException` ([#10587](https://github.com/getsentry/sentry-javascript/pull/10587))
- fix(profiling-node): Guard invocation of native profiling methods ([#14676](https://github.com/getsentry/sentry-javascript/pull/14676))
- fix(nuxt): Inline nitro-utils function ([#14680](https://github.com/getsentry/sentry-javascript/pull/14680))
- fix(profiling-node): Ensure profileId is added to transaction event ([#14681](https://github.com/getsentry/sentry-javascript/pull/14681))
- fix(react): Add React Router Descendant Routes support ([#14304](https://github.com/getsentry/sentry-javascript/pull/14304))
- fix: Disable ANR and Local Variables if debugger is enabled via CLI args ([#14643](https://github.com/getsentry/sentry-javascript/pull/14643))

Work in this release was contributed by @anonrig and @Zih0. Thank you for your contributions!

## 8.44.0

### Deprecations
Expand Down
13 changes: 10 additions & 3 deletions biome.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
"vcs": {
"enabled": true,
"clientKind": "git",
"useIgnoreFile": true
"useIgnoreFile": true,
"defaultBranch": "develop"
},
"organizeImports": {
"enabled": true
Expand All @@ -17,13 +18,15 @@
"noUnusedVariables": "error",
"noPrecisionLoss": "error"
},
"complexity": {
"useRegexLiterals": "error"
},
"suspicious": {
"all": false,
"noControlCharactersInRegex": "error"
},
"nursery": {
"noUnusedImports": "error",
"useRegexLiterals": "error"
"noUnusedImports": "error"
},
"performance": {
"all": true,
Expand Down Expand Up @@ -92,6 +95,10 @@
"json": {
"formatter": {
"enabled": true
},
"parser": {
"allowComments": true,
"allowTrailingCommas": true
}
}
}
2 changes: 1 addition & 1 deletion dev-packages/browser-integration-tests/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
"dependencies": {
"@babel/preset-typescript": "^7.16.7",
"@playwright/test": "^1.44.1",
"@sentry-internal/rrweb": "2.30.0",
"@sentry-internal/rrweb": "2.31.0",
"@sentry/browser": "8.44.0",
"axios": "1.7.7",
"babel-loader": "^8.2.2",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ sentryTest('it captures console messages correctly', async ({ getLocalTestUrl, p
extra: {
arguments: ['console log'],
},
message: 'console log',
}),
);
expect(logEvent?.exception).toBeUndefined();
Expand All @@ -40,6 +41,7 @@ sentryTest('it captures console messages correctly', async ({ getLocalTestUrl, p
extra: {
arguments: ['console warn'],
},
message: 'console warn',
}),
);
expect(warnEvent?.exception).toBeUndefined();
Expand All @@ -50,6 +52,7 @@ sentryTest('it captures console messages correctly', async ({ getLocalTestUrl, p
extra: {
arguments: ['console info'],
},
message: 'console info',
}),
);
expect(infoEvent?.exception).toBeUndefined();
Expand All @@ -60,6 +63,7 @@ sentryTest('it captures console messages correctly', async ({ getLocalTestUrl, p
extra: {
arguments: ['console error'],
},
message: 'console error',
}),
);
expect(errorEvent?.exception).toBeUndefined();
Expand All @@ -70,6 +74,7 @@ sentryTest('it captures console messages correctly', async ({ getLocalTestUrl, p
extra: {
arguments: ['console trace'],
},
message: 'console trace',
}),
);
expect(traceEvent?.exception).toBeUndefined();
Expand All @@ -90,6 +95,11 @@ sentryTest('it captures console messages correctly', async ({ getLocalTestUrl, p
}),
);
expect(errorWithErrorEvent?.exception?.values?.[0].value).toBe('console error with error object');
expect(errorWithErrorEvent?.exception?.values?.[0].mechanism).toEqual({
// TODO (v9): Adjust to true after changing the integration's default value
handled: false,
type: 'console',
});
expect(traceWithErrorEvent).toEqual(
expect.objectContaining({
level: 'log',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,15 @@ sentryTest(
type: 'http.client',
handled: false,
},
stacktrace: {
frames: expect.arrayContaining([
expect.objectContaining({
filename: 'http://sentry-test.io/subject.bundle.js',
function: '?',
in_app: true,
}),
]),
},
},
],
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,15 @@ sentryTest(
type: 'http.client',
handled: false,
},
stacktrace: {
frames: expect.arrayContaining([
expect.objectContaining({
filename: 'http://sentry-test.io/subject.bundle.js',
function: '?',
in_app: true,
}),
]),
},
},
],
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,15 @@ sentryTest('works with a Request passed in', async ({ getLocalTestUrl, page }) =
type: 'http.client',
handled: false,
},
stacktrace: {
frames: expect.arrayContaining([
expect.objectContaining({
filename: 'http://sentry-test.io/subject.bundle.js',
function: '?',
in_app: true,
}),
]),
},
},
],
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,15 @@ sentryTest(
type: 'http.client',
handled: false,
},
stacktrace: {
frames: expect.arrayContaining([
expect.objectContaining({
filename: 'http://sentry-test.io/subject.bundle.js',
function: '?',
in_app: true,
}),
]),
},
},
],
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,15 @@ sentryTest('works with a Request (without body) & options passed in', async ({ g
type: 'http.client',
handled: false,
},
stacktrace: {
frames: expect.arrayContaining([
expect.objectContaining({
filename: 'http://sentry-test.io/subject.bundle.js',
function: '?',
in_app: true,
}),
]),
},
},
],
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,15 @@ sentryTest(
type: 'http.client',
handled: false,
},
stacktrace: {
frames: expect.arrayContaining([
expect.objectContaining({
filename: 'http://sentry-test.io/subject.bundle.js',
function: '?',
in_app: true,
}),
]),
},
},
],
},
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import * as Sentry from '@sentry/browser';

window.Sentry = Sentry;

Sentry.init({
dsn: 'https://public@dsn.ingest.sentry.io/1337',
attachStacktrace: true,
});
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Sentry.captureMessage('foo');
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import { expect } from '@playwright/test';
import type { Event } from '@sentry/core';

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

sentryTest(
'captures a simple message string with stack trace if `attachStackTrace` is `true`',
async ({ getLocalTestUrl, page }) => {
const url = await getLocalTestUrl({ testDir: __dirname });

const eventData = await getFirstSentryEnvelopeRequest<Event>(page, url);

expect(eventData.message).toBe('foo');
expect(eventData.level).toBe('info');
expect(eventData.exception?.values?.[0]).toEqual({
mechanism: {
handled: true,
type: 'generic',
synthetic: true,
},
stacktrace: {
frames: expect.arrayContaining([expect.any(Object), expect.any(Object)]),
},
value: 'foo',
});
},
);
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
const blockUI = (delay = 70) => e => {
const startTime = Date.now();
const blockUI =
(delay = 70) =>
e => {
const startTime = Date.now();

function getElasped() {
const time = Date.now();
return time - startTime;
}
function getElasped() {
const time = Date.now();
return time - startTime;
}

while (getElasped() < delay) {
//
}
while (getElasped() < delay) {
//
}

e.target.classList.add('clicked');
};
e.target.classList.add('clicked');
};

document.querySelector('[data-test-id=not-so-slow-button]').addEventListener('click', blockUI(300));
document.querySelector('[data-test-id=slow-button]').addEventListener('click', blockUI(450));
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
const blockUI = (delay = 70) => e => {
const startTime = Date.now();
const blockUI =
(delay = 70) =>
e => {
const startTime = Date.now();

function getElasped() {
const time = Date.now();
return time - startTime;
}
function getElasped() {
const time = Date.now();
return time - startTime;
}

while (getElasped() < delay) {
//
}
while (getElasped() < delay) {
//
}

e.target.classList.add('clicked');
};
e.target.classList.add('clicked');
};

document.querySelector('[data-test-id=not-so-slow-button]').addEventListener('click', blockUI(300));
document.querySelector('[data-test-id=slow-button]').addEventListener('click', blockUI(450));
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
const blockUI = (delay = 70) => e => {
const startTime = Date.now();
const blockUI =
(delay = 70) =>
e => {
const startTime = Date.now();

function getElasped() {
const time = Date.now();
return time - startTime;
}
function getElasped() {
const time = Date.now();
return time - startTime;
}

while (getElasped() < delay) {
//
}
while (getElasped() < delay) {
//
}

e.target.classList.add('clicked');
};
e.target.classList.add('clicked');
};

document.querySelector('[data-test-id=not-so-slow-button]').addEventListener('click', blockUI(300));
document.querySelector('[data-test-id=slow-button]').addEventListener('click', blockUI(450));
Expand Down
Loading
Loading