Skip to content

3.0.0-rc.1

Pre-release
Pre-release

Choose a tag to compare

@sentry-release-bot sentry-release-bot released this 06 Feb 13:19

Sentry JavaScript V10

Version 10 of the Sentry JavaScript SDK primarily focuses on upgrading underlying OpenTelemetry dependencies to v2 with minimal breaking changes.

Version 10 of the SDK is compatible with Sentry self-hosted versions 24.4.2 or higher (unchanged from v9). Lower versions may continue to work, but may not support all features.

SDK Initialization changed for Sentry Vue and Nuxt

Instead of adding the Nuxt/Vue options into Sentry.init options, you will now have to add it inside siblingOptions, this only applies to parameters specific to the respective SDK, other SDKs like React or Angular won't have to do that:

before

Sentry.init({
  app: app,
  attachErrorHandler: false,
  dsn: '...',
  enableLogs: true,...
}, vueInit);

after

Sentry.init({
  dsn: '...',
  enableLogs: true,
  siblingOptions: {
    vueOptions: {
        app: app,
        attachErrorHandler: false,
        ...
    }
  },
  ...
}, vueInit);

Removed APIs

The changes outlined in this section detail deprecated APIs that are now removed.

* BaseClient was removed, use Client as a direct replacement.
* hasTracingEnabled was removed, use hasSpansEnabled as a direct replacement.
* The internal logger and type Logger exports in @sentry/core were removed, use debug and type SentryDebugLogger instead. This does not affect the logger export used for [Sentry Logging](https://docs.sentry.io/product/explore/logs/getting-started/).
* The _experiments.enableLogs and _experiments.beforeSendLog options were removed, use the top-level enableLogs and beforeSendLog options instead.
// before
Sentry.init({
  _experiments: {
    enableLogs: true,
    beforeSendLog: (log) => {
      return log;
    },
  },
});
// after
Sentry.init({
  enableLogs: true,
  beforeSendLog: (log) => {
    return log;
  },
});

Removed Options

  • _experimental.enableLogs was removed, please use the options enableLogs from CapacitorOptions.

For more informations, please go to the following link: https://docs.sentry.io/platforms/javascript/migration/v9-to-v10

Sentry Cocoa V9

  • With the addition of Sentry Cocoa V9, you may face issues when building your project, this is due to the increased minimum required version bump for the Apple platform, you can see the specific changes on the breaking change section.

PodSpec support

  • The current version continues to support Podspec-based setup, however future major releases will support only Swift Package Manager (SPM). We recommend migrating your project to SPM to ensure a smooth transition to upcoming SDK versions.

Breaking Changes

Minimum Version Requirements

  • iOS/macOS/tvOS:
    • iOS 15.0+ (previously 11.0+)
    • macOS 10.14+ (previously 10.13+)
    • tvOS 15.0+ (previously 11.0+)

Features

  • Add native attributes to logs (#1086)
  • Add Replay ID to logs (#1086)
  • Support for Capacitor 8 (#1071) - Special thanks to (jb3rndt).
  • Add experimental Metric support for Web and iOS (#1055)
  • Add Fallback to JavaScript SDK when Native SDK fails to initialize (#1043)
  • Add spotlight integration spotlightIntegration. (#1039)

Fixes

  • Disable Native Android Session Replay (#1105)

  • Duplicated session When running Capacitor as an app (#1088)

  • Added missing integrations inboundFiltersIntegration, functionToStringIntegration, browserApiErrorsIntegration, breadcrumbsIntegration, globalHandlersIntegration, linkedErrorsIntegration, dedupeIntegration and browserSessionIntegration (#1047)

  • Breadcrumbs are now showing and are tied with native breadcrumbs too (#1047)

  • Init now showing the correct JSDoc for Vue/Nuxt init parameters. (#1046)

  • Replays/Logs/Sessions now have the capacitor SDK name as the source of the event. (#1043)

  • Sentry Capacitor integrations are now exposed to @sentry/capacitor (#1039)

Dependencies