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

[Gitflow] Merge master into develop #9012

Merged
merged 4 commits into from
Sep 13, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
87 changes: 87 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,93 @@

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

## 7.69.0

### Important Changes

- **New Performance APIs**
- feat: Update span performance API names (#8971)
- feat(core): Introduce startSpanManual (#8913)

This release introduces a new set of top level APIs for the Performance Monitoring SDKs. These aim to simplify creating spans and reduce the boilerplate needed for performance instrumentation. The three new methods introduced are `Sentry.startSpan`, `Sentry.startInactiveSpan`, and `Sentry.startSpanManual`. These methods are available in the browser and node SDKs.

`Sentry.startSpan` wraps a callback in a span. The span is automatically finished when the callback returns. This is the recommended way to create spans.

```js
// Start a span that tracks the duration of expensiveFunction
const result = Sentry.startSpan({ name: 'important function' }, () => {
return expensiveFunction();
});

// You can also mutate the span wrapping the callback to set data or status
Sentry.startSpan({ name: 'important function' }, (span) => {
// span is undefined if performance monitoring is turned off or if
// the span was not sampled. This is done to reduce overhead.
span?.setData('version', '1.0.0');
return expensiveFunction();
});
```

If you don't want the span to finish when the callback returns, use `Sentry.startSpanManual` to control when the span is finished. This is useful for event emitters or similar.

```js
// Start a span that tracks the duration of middleware
function middleware(_req, res, next) {
return Sentry.startSpanManual({ name: 'middleware' }, (span, finish) => {
res.once('finish', () => {
span?.setHttpStatus(res.status);
finish();
});
return next();
});
}
```

`Sentry.startSpan` and `Sentry.startSpanManual` create a span and make it active for the duration of the callback. Any spans created while this active span is running will be added as a child span to it. If you want to create a span without making it active, use `Sentry.startInactiveSpan`. This is useful for creating parallel spans that are not related to each other.

```js
const span1 = Sentry.startInactiveSpan({ name: 'span1' });

someWork();

const span2 = Sentry.startInactiveSpan({ name: 'span2' });

moreWork();

const span3 = Sentry.startInactiveSpan({ name: 'span3' });

evenMoreWork();

span1?.finish();
span2?.finish();
span3?.finish();
```

### Other Changes

- feat(core): Export `BeforeFinishCallback` type (#8999)
- build(eslint): Enforce that ts-expect-error is used (#8987)
- feat(integration): Ensure `LinkedErrors` integration runs before all event processors (#8956)
- feat(node-experimental): Keep breadcrumbs on transaction (#8967)
- feat(redux): Add 'attachReduxState' option (#8953)
- feat(remix): Accept `org`, `project` and `url` as args to upload script (#8985)
- fix(utils): Prevent iterating over VueViewModel (#8981)
- fix(utils): uuidv4 fix for cloudflare (#8968)
- fix(core): Always use event message and exception values for `ignoreErrors` (#8986)
- fix(nextjs): Add new potential location for Next.js request AsyncLocalStorage (#9006)
- fix(node-experimental): Ensure we only create HTTP spans when outgoing (#8966)
- fix(node-experimental): Ignore OPTIONS & HEAD requests (#9001)
- fix(node-experimental): Ignore outgoing Sentry requests (#8994)
- fix(node-experimental): Require parent span for `pg` spans (#8993)
- fix(node-experimental): Use Sentry logger as Otel logger (#8960)
- fix(node-otel): Refactor OTEL span reference cleanup (#9000)
- fix(react): Switch to props in `useRoutes` (#8998)
- fix(remix): Add `glob` to Remix SDK dependencies. (#8963)
- fix(replay): Ensure `handleRecordingEmit` aborts when event is not added (#8938)
- fix(replay): Fully stop & restart session when it expires (#8834)

Work in this release contributed by @Duncanxyz and @malay44. Thank you for your contributions!

## 7.68.0

- feat(browser): Add `BroadcastChannel` and `SharedWorker` to TryCatch EventTargets (#8943)
Expand Down
2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$schema": "node_modules/lerna/schemas/lerna-schema.json",
"version": "7.68.0",
"version": "7.69.0",
"npmClient": "yarn"
}
8 changes: 4 additions & 4 deletions packages/angular-ivy/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@sentry/angular-ivy",
"version": "7.68.0",
"version": "7.69.0",
"description": "Official Sentry SDK for Angular with full Ivy Support",
"repository": "git://github.com/getsentry/sentry-javascript.git",
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/angular-ivy",
Expand All @@ -21,9 +21,9 @@
"rxjs": "^6.5.5 || ^7.x"
},
"dependencies": {
"@sentry/browser": "7.68.0",
"@sentry/types": "7.68.0",
"@sentry/utils": "7.68.0",
"@sentry/browser": "7.69.0",
"@sentry/types": "7.69.0",
"@sentry/utils": "7.69.0",
"tslib": "^2.4.1"
},
"devDependencies": {
Expand Down
8 changes: 4 additions & 4 deletions packages/angular/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@sentry/angular",
"version": "7.68.0",
"version": "7.69.0",
"description": "Official Sentry SDK for Angular",
"repository": "git://github.com/getsentry/sentry-javascript.git",
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/angular",
Expand All @@ -21,9 +21,9 @@
"rxjs": "^6.5.5 || ^7.x"
},
"dependencies": {
"@sentry/browser": "7.68.0",
"@sentry/types": "7.68.0",
"@sentry/utils": "7.68.0",
"@sentry/browser": "7.69.0",
"@sentry/types": "7.69.0",
"@sentry/utils": "7.69.0",
"tslib": "^2.4.1"
},
"devDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion packages/browser-integration-tests/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@sentry-internal/browser-integration-tests",
"version": "7.68.0",
"version": "7.69.0",
"main": "index.js",
"license": "MIT",
"engines": {
Expand Down
14 changes: 7 additions & 7 deletions packages/browser/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@sentry/browser",
"version": "7.68.0",
"version": "7.69.0",
"description": "Official Sentry SDK for browsers",
"repository": "git://github.com/getsentry/sentry-javascript.git",
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/browser",
Expand All @@ -23,15 +23,15 @@
"access": "public"
},
"dependencies": {
"@sentry-internal/tracing": "7.68.0",
"@sentry/core": "7.68.0",
"@sentry/replay": "7.68.0",
"@sentry/types": "7.68.0",
"@sentry/utils": "7.68.0",
"@sentry-internal/tracing": "7.69.0",
"@sentry/core": "7.69.0",
"@sentry/replay": "7.69.0",
"@sentry/types": "7.69.0",
"@sentry/utils": "7.69.0",
"tslib": "^2.4.1 || ^1.9.3"
},
"devDependencies": {
"@sentry-internal/integration-shims": "7.68.0",
"@sentry-internal/integration-shims": "7.69.0",
"@types/md5": "2.1.33",
"btoa": "^1.2.1",
"chai": "^4.1.2",
Expand Down
6 changes: 3 additions & 3 deletions packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@sentry/core",
"version": "7.68.0",
"version": "7.69.0",
"description": "Base implementation for all Sentry JavaScript SDKs",
"repository": "git://github.com/getsentry/sentry-javascript.git",
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/core",
Expand All @@ -23,8 +23,8 @@
"access": "public"
},
"dependencies": {
"@sentry/types": "7.68.0",
"@sentry/utils": "7.68.0",
"@sentry/types": "7.69.0",
"@sentry/utils": "7.69.0",
"tslib": "^2.4.1 || ^1.9.3"
},
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/version.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export const SDK_VERSION = '7.68.0';
export const SDK_VERSION = '7.69.0';
2 changes: 1 addition & 1 deletion packages/e2e-tests/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@sentry-internal/e2e-tests",
"version": "7.68.0",
"version": "7.69.0",
"license": "MIT",
"private": true,
"scripts": {
Expand Down
8 changes: 4 additions & 4 deletions packages/ember/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@sentry/ember",
"version": "7.68.0",
"version": "7.69.0",
"description": "Official Sentry SDK for Ember.js",
"repository": "git://github.com/getsentry/sentry-javascript.git",
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/ember",
Expand Down Expand Up @@ -34,9 +34,9 @@
},
"dependencies": {
"@embroider/macros": "^1.9.0",
"@sentry/browser": "7.68.0",
"@sentry/types": "7.68.0",
"@sentry/utils": "7.68.0",
"@sentry/browser": "7.69.0",
"@sentry/types": "7.69.0",
"@sentry/utils": "7.69.0",
"ember-auto-import": "^1.12.1 || ^2.4.3",
"ember-cli-babel": "^7.26.11",
"ember-cli-htmlbars": "^6.1.1",
Expand Down
6 changes: 3 additions & 3 deletions packages/eslint-config-sdk/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@sentry-internal/eslint-config-sdk",
"version": "7.68.0",
"version": "7.69.0",
"description": "Official Sentry SDK eslint config",
"repository": "git://github.com/getsentry/sentry-javascript.git",
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/eslint-config-sdk",
Expand All @@ -19,8 +19,8 @@
"access": "public"
},
"dependencies": {
"@sentry-internal/eslint-plugin-sdk": "7.68.0",
"@sentry-internal/typescript": "7.68.0",
"@sentry-internal/eslint-plugin-sdk": "7.69.0",
"@sentry-internal/typescript": "7.69.0",
"@typescript-eslint/eslint-plugin": "^5.48.0",
"@typescript-eslint/parser": "^5.48.0",
"eslint-config-prettier": "^6.11.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin-sdk/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@sentry-internal/eslint-plugin-sdk",
"version": "7.68.0",
"version": "7.69.0",
"description": "Official Sentry SDK eslint plugin",
"repository": "git://github.com/getsentry/sentry-javascript.git",
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/eslint-plugin-sdk",
Expand Down
10 changes: 5 additions & 5 deletions packages/gatsby/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@sentry/gatsby",
"version": "7.68.0",
"version": "7.69.0",
"description": "Official Sentry SDK for Gatsby.js",
"repository": "git://github.com/getsentry/sentry-javascript.git",
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/gatsby",
Expand All @@ -27,10 +27,10 @@
"access": "public"
},
"dependencies": {
"@sentry/core": "7.68.0",
"@sentry/react": "7.68.0",
"@sentry/types": "7.68.0",
"@sentry/utils": "7.68.0",
"@sentry/core": "7.69.0",
"@sentry/react": "7.69.0",
"@sentry/types": "7.69.0",
"@sentry/utils": "7.69.0",
"@sentry/webpack-plugin": "1.19.0"
},
"peerDependencies": {
Expand Down
8 changes: 4 additions & 4 deletions packages/hub/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@sentry/hub",
"version": "7.68.0",
"version": "7.69.0",
"description": "Sentry hub which handles global state managment.",
"repository": "git://github.com/getsentry/sentry-javascript.git",
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/hub",
Expand All @@ -23,9 +23,9 @@
"access": "public"
},
"dependencies": {
"@sentry/core": "7.68.0",
"@sentry/types": "7.68.0",
"@sentry/utils": "7.68.0",
"@sentry/core": "7.69.0",
"@sentry/types": "7.69.0",
"@sentry/utils": "7.69.0",
"tslib": "^2.4.1 || ^1.9.3"
},
"scripts": {
Expand Down
4 changes: 2 additions & 2 deletions packages/integration-shims/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@sentry-internal/integration-shims",
"version": "7.68.0",
"version": "7.69.0",
"description": "Shims for integrations in Sentry SDK.",
"main": "build/cjs/index.js",
"module": "build/esm/index.js",
Expand Down Expand Up @@ -43,7 +43,7 @@
"url": "https://github.com/getsentry/sentry-javascript/issues"
},
"dependencies": {
"@sentry/types": "7.68.0"
"@sentry/types": "7.69.0"
},
"engines": {
"node": ">=12"
Expand Down
8 changes: 4 additions & 4 deletions packages/integrations/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@sentry/integrations",
"version": "7.68.0",
"version": "7.69.0",
"description": "Pluggable integrations that can be used to enhance JS SDKs",
"repository": "git://github.com/getsentry/sentry-javascript.git",
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/integrations",
Expand All @@ -23,13 +23,13 @@
}
},
"dependencies": {
"@sentry/types": "7.68.0",
"@sentry/utils": "7.68.0",
"@sentry/types": "7.69.0",
"@sentry/utils": "7.69.0",
"localforage": "^1.8.1",
"tslib": "^2.4.1 || ^1.9.3"
},
"devDependencies": {
"@sentry/browser": "7.68.0",
"@sentry/browser": "7.69.0",
"chai": "^4.1.2"
},
"scripts": {
Expand Down
14 changes: 7 additions & 7 deletions packages/nextjs/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@sentry/nextjs",
"version": "7.68.0",
"version": "7.69.0",
"description": "Official Sentry SDK for Next.js",
"repository": "git://github.com/getsentry/sentry-javascript.git",
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/nextjs",
Expand All @@ -25,12 +25,12 @@
},
"dependencies": {
"@rollup/plugin-commonjs": "24.0.0",
"@sentry/core": "7.68.0",
"@sentry/integrations": "7.68.0",
"@sentry/node": "7.68.0",
"@sentry/react": "7.68.0",
"@sentry/types": "7.68.0",
"@sentry/utils": "7.68.0",
"@sentry/core": "7.69.0",
"@sentry/integrations": "7.69.0",
"@sentry/node": "7.69.0",
"@sentry/react": "7.69.0",
"@sentry/types": "7.69.0",
"@sentry/utils": "7.69.0",
"@sentry/webpack-plugin": "1.20.0",
"chalk": "3.0.0",
"rollup": "2.78.0",
Expand Down
12 changes: 6 additions & 6 deletions packages/node-experimental/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@sentry/node-experimental",
"version": "7.68.0",
"version": "7.69.0",
"description": "Experimental version of a Node SDK using OpenTelemetry for performance instrumentation",
"repository": "git://github.com/getsentry/sentry-javascript.git",
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/node-experimental",
Expand Down Expand Up @@ -39,11 +39,11 @@
"@opentelemetry/sdk-trace-node": "~1.15.0",
"@opentelemetry/semantic-conventions": "~1.15.0",
"@prisma/instrumentation": "~5.0.0",
"@sentry/core": "7.68.0",
"@sentry/node": "7.68.0",
"@sentry/opentelemetry-node": "7.68.0",
"@sentry/types": "7.68.0",
"@sentry/utils": "7.68.0"
"@sentry/core": "7.69.0",
"@sentry/node": "7.69.0",
"@sentry/opentelemetry-node": "7.69.0",
"@sentry/types": "7.69.0",
"@sentry/utils": "7.69.0"
},
"scripts": {
"build": "run-p build:transpile build:types",
Expand Down
Loading