Skip to content

Commit

Permalink
Merge branch 'develop' into abhi-chrome-var-name
Browse files Browse the repository at this point in the history
  • Loading branch information
AbhiPrasad authored Mar 4, 2024
2 parents a15e85f + ef6e6e5 commit fc502a4
Show file tree
Hide file tree
Showing 132 changed files with 1,696 additions and 3,648 deletions.
5 changes: 0 additions & 5 deletions .craft.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,9 +91,6 @@ targets:
- name: npm
id: '@sentry/serverless'
includeNames: /^sentry-serverless-\d.*\.tgz$/
- name: npm
id: '@sentry/opentelemetry-node'
includeNames: /^sentry-opentelemetry-node-\d.*\.tgz$/
- name: npm
id: '@sentry/bun'
includeNames: /^sentry-bun-\d.*\.tgz$/
Expand Down Expand Up @@ -194,8 +191,6 @@ targets:
onlyIfPresent: /^sentry-svelte-\d.*\.tgz$/
'npm:@sentry/sveltekit':
onlyIfPresent: /^sentry-sveltekit-\d.*\.tgz$/
'npm:@sentry/opentelemetry-node':
onlyIfPresent: /^sentry-opentelemetry-node-\d.*\.tgz$/
'npm:@sentry/bun':
onlyIfPresent: /^sentry-bun-\d.*\.tgz$/
'npm:@sentry/vercel-edge':
Expand Down
3 changes: 1 addition & 2 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ body:
setup.
options:
- '@sentry/browser'
- '@sentry/astro'
- '@sentry/astro'
- '@sentry/angular'
- '@sentry/angular-ivy'
- '@sentry/bun'
Expand All @@ -40,7 +40,6 @@ body:
- '@sentry/gatsby'
- '@sentry/nextjs'
- '@sentry/node'
- '@sentry/opentelemetry-node'
- '@sentry/react'
- '@sentry/remix'
- '@sentry/serverless'
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ jobs:
echo "COMMIT_MESSAGE=$(git log -n 1 --pretty=format:%s $COMMIT_SHA)" >> $GITHUB_ENV
- name: Determine changed packages
uses: dorny/[email protected].0
uses: dorny/[email protected].1
id: changed
with:
filters: |
Expand Down Expand Up @@ -620,7 +620,7 @@ jobs:
name: Playwright (${{ matrix.bundle }}${{ matrix.shard && format(' {0}/{1}', matrix.shard, matrix.shards) || ''}}) Tests
needs: [job_get_metadata, job_build]
if: needs.job_get_metadata.outputs.changed_browser_integration == 'true' || github.event_name != 'pull_request'
runs-on: ubuntu-20.04-large-js
runs-on: ubuntu-20.04
timeout-minutes: 25
strategy:
fail-fast: false
Expand Down Expand Up @@ -783,7 +783,7 @@ jobs:
name: Browser (${{ matrix.browser }}) Tests
needs: [job_get_metadata, job_build]
if: needs.job_get_metadata.outputs.changed_browser == 'true' || github.event_name != 'pull_request'
runs-on: ubuntu-20.04-large-js
runs-on: ubuntu-20.04
timeout-minutes: 20
strategy:
fail-fast: false
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/canary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ jobs:

- name: Create Issue
if: failure() && github.event_name == 'schedule'
uses: JasonEtco/create-an-issue@e27dddc79c92bc6e4562f268fffa5ed752639abd
uses: JasonEtco/create-an-issue@1b14a70e4d8dc185e5cc76d3bec9eab20257b2c5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RUN_LINK: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
Expand Down Expand Up @@ -176,7 +176,7 @@ jobs:
- name: Create Issue
if: failure() && github.event_name == 'schedule'
uses: JasonEtco/create-an-issue@e27dddc79c92bc6e4562f268fffa5ed752639abd
uses: JasonEtco/create-an-issue@1b14a70e4d8dc185e5cc76d3bec9eab20257b2c5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RUN_LINK: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/flaky-test-detector.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ concurrency:

jobs:
flaky-detector:
runs-on: ubuntu-20.04-large-js
runs-on: ubuntu-20.04
timeout-minutes: 60
name: 'Check tests for flakiness'
# Also skip if PR is from master -> develop
Expand Down Expand Up @@ -71,7 +71,7 @@ jobs:
run: npx playwright install-deps

- name: Determine changed tests
uses: dorny/[email protected].0
uses: dorny/[email protected].1
id: changed
with:
list-files: json
Expand Down
3 changes: 0 additions & 3 deletions .github/workflows/issue-package-label.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,6 @@ jobs:
"@sentry.node": {
"label": "Package: Node"
},
"@sentry.opentelemetry-node": {
"label": "Package: otel-node"
},
"@sentry.react": {
"label": "Package: react"
},
Expand Down
258 changes: 258 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,264 @@

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

## 8.0.0-alpha.1

This is the first Alpha release of the v8 cycle, which includes a variety of breaking changes.

Read the [in-depth migration guide](./MIGRATION.md) to find out how to address any breaking changes in your code.

### Important Changes

**- feat(node): Make `@sentry/node` powered by OpenTelemetry (#10762)**

The biggest change is the switch to use OpenTelemetry under the hood in `@sentry/node`. This brings with it a variety of
changes:

- There is now automated performance instrumentation for Express, Fastify, Nest.js and Koa. You can remove any
performance and request isolation code you previously wrote manually for these frameworks.
- All performance instrumenttion is enabled by default, and will only take effect if the instrumented package is used.
You don't need to use `autoDiscoverNodePerformanceMonitoringIntegrations()` anymore.
- You need to ensure to call `Sentry.init()` _before_ you import any other packages. Otherwise, the packages cannot be
instrumented:

```js
const Sentry = require('@sentry/node');
Sentry.init({
dsn: '...',
// ... other config here
});
// now require other things below this!
const http = require('http');
const express = require('express');
// ....
```

- Currently, we only support CJS-based Node application out of the box. There is experimental ESM support, see
[the instructions](./packages/node-experimental/README.md#esm-support).
- `startTransaction` and `span.startChild()` are no longer supported. This is due to the underlying change to
OpenTelemetry powered performance instrumentation. See
[docs on the new performance APIs](./docs/v8-new-performance-apis.md) for details.

Related changes:

- feat(node-experimental): Add missing re-exports (#10679)
- feat(node-experimental): Move `defaultStackParser` & `getSentryRelease` (#10722)
- feat(node-experimental): Move `errorHandler` (#10728)
- feat(node-experimental): Move cron code over (#10742)
- feat(node-experimental): Move integrations from node (#10743)
- feat(node-experimental): Properly set request & session on http requests (#10676)
- feat(opentelemetry): Support `forceTransaction` in OTEL (#10807)
- feat(opentelemetry): Align span options with core span options (#10761)
- feat(opentelemetry): Do not capture span events as breadcrumbs (#10612)
- feat(opentelemetry): Ensure DSC & attributes are correctly set (#10806)
- feat(opentelemetry): Fix & align isolation scope usage in node-experimental (#10570)
- feat(opentelemetry): Merge node-experimental changes into opentelemetry (#10689)
- ref(node-experimental): Cleanup re-exports (#10741)
- ref(node-experimental): Cleanup tracing intergations (#10730)
- ref(node-experimental): Copy transport & client to node-experimental (#10720)
- ref(node-experimental): Remove custom `isInitialized` (#10607)
- ref(node-experimental): Remove custom hub & scope (#10616)
- ref(node-experimental): Remove deprecated class integrations (#10675)
- ref(node-experimental): Rename `errorHandler` to `expressErrorHandler` (#10746)
- ref(node-integration-tests): Migrate to new Http integration (#10765)
- ref(node): Align semantic attribute handling (#10827)

**- feat: Remove `@sentry/integrations` package (#10799)**

This package is no longer published. You can instead import these pluggable integrations directly from your SDK package
(e.g. `@sentry/browser` or `@sentry/react`).

**- feat: Remove `@sentry/hub` package (#10783)**

This package is no longer published. You can instead import directly from your SDK package (e.g. `@sentry/react` or
`@sentry/node`).

**- feat(v8): Remove @sentry/tracing (#10625)**

This package is no longer published. You can instead import directly from your SDK package (e.g. `@sentry/react` or
`@sentry/node`).

**- feat: Set required node version to >=14.8.0 for all packages (#10834)**

The minimum required node version is now 14.8+. If you need support for older node versions, you can stay on the v7
branch.

**- Removed class-based integrations**

We have removed most of the deprecated class-based integrations. Instead, you can use the functional styles:

```js
import * as Sentry from '@sentry/browser';
// v7
Sentry.init({
integrations: [new Sentry.BrowserTracing()],
});
// v8
Sentry.init({
integrations: [new Sentry.browserTracingIntegration()],
});
```

- ref: Remove `BrowserTracing` (#10653)
- feat(v8/node): Remove LocalVariables class integration (#10558)
- feat(v8/react): Delete react router exports (#10532)
- feat(v8/vue): Remove all deprecated exports from vue (#10533)
- feat(v8/wasm): Remove deprecated exports (#10552)

**- feat(v8/browser): Remove XHR transport (#10703)**

We have removed the XHR transport, and are instead using the fetch-based transport now by default. This means that if
you are using Sentry in a browser environment without fetch, you'll need to either provide a fetch polyfill, or provide
a custom transport to Sentry.

**- feat(sveltekit): Update `@sentry/vite-plugin` to 2.x and adjust options API (#10813)**

We have updated `@sentry/sveltekit` to use the latest version of `@sentry/vite-plugin`, which lead to changes in
configuration options.

### Other Changes

- feat: Allow passing `null` to `withActiveSpan` (#10717)
- feat: Implement new Async Context Strategy (#10647)
- feat: Remove `hub` from global, `hub.run` & hub utilities (#10718)
- feat: Update default trace propagation targets logic in the browser (#10621)
- feat(browser): Export `getIsolationScope` and `getGlobalScope` (#10658)
- feat(core): Add metric summaries to spans (#10554)
- feat(core): Decouple metrics aggregation from client (#10628)
- feat(core): Lookup client on current scope, not hub (#10635)
- feat(core): Make `setXXX` methods set on isolation scope (#10678)
- feat(core): Make custom tracing methods return spans & set default op (#10633)
- feat(core): Make global `addBreadcrumb` write to the isolation scope instead of current scope (#10586)
- feat(core): Remove health check transaction filters (#10818)
- feat(core): Streamline custom hub creation for node-experimental (#10555)
- feat(core): Update `addEventProcessor` to add to isolation scope (#10606)
- feat(core): Update `Sentry.addBreadcrumb` to skip hub (#10601)
- feat(core): Use global `TextEncoder` and `TextDecoder` (#10701)
- feat(deps): bump @sentry/cli from 2.26.0 to 2.28.0 (#10496)
- feat(deps): bump @sentry/cli from 2.28.0 to 2.28.5 (#10620)
- feat(deps): bump @sentry/cli from 2.28.5 to 2.28.6 (#10727)
- feat(integrations): Capture error arguments as exception regardless of level in `captureConsoleIntegration` (#10744)
- feat(metrics): Remove metrics method from `BaseClient` (#10789)
- feat(node): Remove unnecessary URL imports (#10860)
- feat(react): Drop support for React 15 (#10115)
- feat(remix): Add Vite dev-mode support to Express instrumentation. (#10784)
- fix: Export session API (#10711)
- fix(angular-ivy): Add `exports` field to `package.json` (#10569)
- fix(angular): Ensure navigations always create a transaction (#10646)
- fix(core): Add lost scope tests & fix update case (#10738)
- fix(core): Fix scope capturing via `captureContext` function (#10735)
- fix(feedback): Replay breadcrumb for feedback events was incorrect (#10536)
- fix(nextjs): Remove `webpack://` prefix more broadly from source map `sources` field (#10642)
- fix(node): import `worker_threads` and fix node v14 types (#10791)
- fix(node): Record local variables with falsy values, `null` and `undefined` (#10821)
- fix(stacktrace): Always use `?` for anonymous function name (#10732)
- fix(sveltekit): Avoid capturing Http 4xx errors on the client (#10571)
- fix(sveltekit): Ensure navigations and redirects always create a new transaction (#10656)
- fix(sveltekit): Properly await sourcemaps flattening (#10602)
- fix(types): Improve attachment type (#10832)
- fx(node): Fix anr worker check (#10719)
- ref: Cleanup browser profiling integration (#10766)
- ref: Collect child spans references via non-enumerable on Span object (#10715)
- ref: Make scope setters on hub only write to isolation scope (#10572)
- ref: Store runtime on isolation scope (#10657)
- ref(astro): Put request as SDK processing metadata instead of span data (#10840)
- ref(core): Always use a (default) ACS (#10644)
- ref(core): Make `on` and `emit` required on client (#10603)
- ref(core): Make remaining client methods required (#10605)
- ref(core): Rename `Span` class to `SentrySpan` (#10687)
- ref(core): Restructure hub exports (#10639)
- ref(core): Skip hub in top level `captureXXX` methods (#10688)
- ref(core): Allow `number` as span `traceFlag` (#10855)
- ref(core): Remove `status` field from Span (#10856)
- ref(remix): Make `@remix-run/router` a dependency. (#10479)
- ref(replay): Use `beforeAddBreadcrumb` hook instead of scope listener (#10600)
- ref(sveltekit): Hard-pin Vite plugin version (#10843)

### Other Deprecation Removals/Changes

We have also removed or updated a variety of deprecated APIs.

- feat(v8): Remove `extractTraceparentData` export (#10559)
- feat(v8): Remove defaultIntegrations deprecated export (#10691)
- feat(v8): Remove deprecated `span.isSuccess` method (#10699)
- feat(v8): Remove deprecated `traceHeaders` method (#10776)
- feat(v8): Remove deprecated addInstrumentationHandler (#10693)
- feat(v8): Remove deprecated configureScope call (#10565)
- feat(v8): Remove deprecated runWithAsyncContext API (#10780)
- feat(v8): Remove deprecated spanStatusfromHttpCode export (#10563)
- feat(v8): Remove deprecated trace and startActiveSpan methods (#10593)
- feat(v8): Remove requestData deprecations (#10626)
- feat(v8): Remove Severity enum (#10551)
- feat(v8): Remove span.origin (#10753)
- feat(v8): Remove span.toTraceparent method (#10698)
- feat(v8): Remove usage of span.description and span.name (#10697)
- feat(v8): Update eventFromUnknownInput to only use client (#10692)
- feat(v8/astro): Remove deprecated exports from Astro SDK (#10611)
- feat(v8/browser): Remove `_eventFromIncompleteOnError` usage (#10553)
- feat(v8/browser): Remove XHR transport (#10703)
- feat(v8/browser): Rename TryCatch integration to `browserApiErrorsIntegration` (#10755)
- feat(v8/core): Remove deprecated setHttpStatus (#10774)
- feat(v8/core): Remove deprecated updateWithContext method (#10800)
- feat(v8/core): Remove getters for span.op (#10767)
- feat(v8/core): Remove span.finish call (#10773)
- feat(v8/core): Remove span.instrumenter and instrumenter option (#10769)
- feat(v8/ember): Remove deprecated exports (#10535)
- feat(v8/integrations): Remove deprecated exports (#10556)
- feat(v8/node): Remove deepReadDirSync export (#10564)
- feat(v8/node): Remove deprecated anr methods (#10562)
- feat(v8/node): Remove getModuleFromFilename export (#10754)
- ref: Make `setupOnce` optional in integrations (#10729)
- ref: Migrate transaction source from metadata to attributes (#10674)
- ref: Refactor remaining `makeMain` usage (#10713)
- ref(astro): Remove deprecated Replay and BrowserTracing (#10768)
- feat(core): Remove deprecated `scope.applyToEvent()` method (#10842)
- ref(integrations): Remove offline integration (#9456)
- ref(nextjs): Remove all deprecated API (#10549)
- ref: Remove `lastEventId` (#10585)
- ref: Remove `reuseExisting` option for ACS (#10645)
- ref: Remove `tracingOrigins` options (#10614)
- ref: Remove deprecated `showReportDialog` APIs (#10609)
- ref: Remove usage of span tags (#10808)
- ref: Remove user segment (#10575)

## 7.103.0

### Important Changes

- **feat(core): Allow to pass `forceTransaction` to `startSpan()` APIs (#10819)**

You can now pass `forceTransaction: true` to `startSpan()`, `startSpanManual()` and `startInactiveSpan()`. This allows
you to start a span that you want to be a transaction, if possible. Under the hood, the SDK will connect this span to
the running active span (if there is one), but still send the new span as a transaction to the Sentry backend, if
possible, ensuring it shows up as a transaction throughout the system.

Please note that setting this to `true` does not _guarantee_ that this will be sent as a transaction, but that the SDK
will try to do so. You can enable this flag if this span is important to you and you want to ensure that you can see it
in the Sentry UI.

### Other Changes

- fix: Make breadcrumbs option optional in WinterCGFetch integration (#10792)

## 7.102.1

- fix(performance): Fixes latest route name and source for interactions not updating properly on navigation (#10702)
- fix(tracing): Guard against missing `window.location` (#10659)
- ref: Make span types more robust (#10660)
- ref(remix): Make `@remix-run/router` a dependency (v7) (#10779)

## 7.102.0

- fix: Export session API (#10712)
- fix(core): Fix scope capturing via `captureContext` function (#10737)

## 7.101.1

In version 7.101.0 the `@sentry/hub` package was missing due to a publishing issue. This release contains the package
again.

- fix(nextjs): Remove `webpack://` prefix more broadly from source map `sources` field (#10641)

## 7.101.0

- feat: Export semantic attribute keys from SDK packages (#10637)
Expand Down
Loading

0 comments on commit fc502a4

Please sign in to comment.