# Migrate from 9.x to 10.x | Sentry for Cloud Functions for Firebase

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.

## [Version Support Changes:](https://docs.sentry.io/platforms/javascript/guides/firebase/migration/v9-to-v10.md#version-support-changes)

Version 10 of the Sentry SDK has new compatibility ranges for runtimes and frameworks.

### [Node.js](https://docs.sentry.io/platforms/javascript/guides/firebase/migration/v9-to-v10.md#nodejs)

All OpenTelemetry dependencies have been bumped to `2.x.x` / `0.20x.x` respectively, and all OpenTelemetry instrumentations have been upgraded to their latest version.

If you cannot run with OpenTelemetry v2 versions, consider either staying on Version 9 of our SDKs or using [@sentry/node-core](https://www.npmjs.com/package/@sentry/node-core) instead, which ships with widened OpenTelemetry peer dependencies.

### [AWS Lambda Layer Changes](https://docs.sentry.io/platforms/javascript/guides/firebase/migration/v9-to-v10.md#aws-lambda-layer-changes)

A new AWS Lambda Layer for version 10 will be published as `SentryNodeServerlessSDKv10`.

Updates and fixes for version 9 will be published as `SentryNodeServerlessSDKv9`.

## [Removed APIs](https://docs.sentry.io/platforms/javascript/guides/firebase/migration/v9-to-v10.md#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.md)
* The `_experiments.enableLogs` and `_experiments.beforeSendLog` options were removed, use the top-level `enableLogs` and `beforeSendLog` options instead.

```js
// before
Sentry.init({
  _experiments: {
    enableLogs: true,
    beforeSendLog: (log) => {
      return log;
    },
  },
});

// after
Sentry.init({
  enableLogs: true,
  beforeSendLog: (log) => {
    return log;
  },
});
```

## [Version Support Timeline](https://docs.sentry.io/platforms/javascript/guides/firebase/migration/v9-to-v10.md#version-support-timeline)

Version support timelines can be stressful for everybody using the SDK, so we won't be defining one. Instead, we will be applying bug fixes and features to older versions as long as there is demand.

Additionally, we hold ourselves accountable for any security issues, meaning that if any vulnerabilities are found, we will, in almost all cases, backport them.

Note, that backporting decisions are made on a case-by-case basis. If you need a fix or feature in a previous version of the SDK, please reach out via a [GitHub Issue](https://github.com/getsentry/sentry-javascript/issues).
