# SDK Maintenance and Support

Source: https://amplitude.com/docs/sdks/sdk-maintenance-and-support

---

On this page

- [How Amplitude maintains SDKs](#how-amplitude-maintains-sdks)
- [Versioning](#versioning)
- [SDK major version life-cycle](#sdk-major-version-life-cycle)
- [Dependency life-cycle](#dependency-life-cycle)

# SDK Maintenance and Support

## How Amplitude maintains SDKs

This document outlines the maintenance policy for Amplitude Software Development Kits (SDKs) and Tools, including Browser and Mobile SDKs, the Ampli CLI, and their underlying dependencies. Amplitude regularly updates these SDKs and Tools to add support for new or updated Amplitude APIs, new features, enhancements, bug fixes, security patches, or documentation updates. Updates may also address changes in dependencies, language runtimes, and operating systems. Amplitude publishes SDK releases to package managers (for example, npm, CocoaPods, Maven, PyPI), and the source code is available on GitHub.

Amplitude recommends that you stay up to date with SDK releases to get the latest features, security updates, and dependency support. Amplitude doesn't recommend continued use of an unsupported SDK version. Do so at your own discretion.

## Versioning

Amplitude SDK and Tools release versions follow the form `X.Y.Z`, where `X` represents the major version. An increase in the major version indicates that the SDK underwent significant changes to support new idioms and patterns in the language. Amplitude introduces major versions when public interfaces (for example, classes, methods, or types), behaviors, or semantics change. Update your applications so they work with the newest SDK version. Update major versions carefully, and follow Amplitude's upgrade guidelines.

## SDK major version life-cycle

The life-cycle for major SDKs and Tools versions has four phases:

- **Developer Preview (Beta) (Phase 0)**: In this phase, Amplitude fully supports SDKs, and you can use them in production environments. Breaking changes may occur without a new major version release. For production use, Amplitude recommends that you set a fixed version, update regularly, and test after each update. These SDKs provide early access to the latest features and let users give feedback before GA. After Amplitude determines that a release is a stable product, it may mark the release as GA.

- **General Availability (GA) (Phase 1)**: In this phase, Amplitude fully supports SDKs. Amplitude provides regular SDK releases that include support for new services, API updates for existing services, and bug and security fixes. For Tools, Amplitude provides regular releases that include new feature updates and bug fixes.

- **Maintenance (Phase 2)**: In maintenance mode, Amplitude limits SDK releases to critical bug fixes and security issues only. An SDK doesn't get API updates for new or existing services, or updates to support new regions. Maintenance mode has a default duration of at least 12 months, unless otherwise specified. After a new major version reaches GA, the previous version enters maintenance.

- **End-of-Support (EOL) (Phase 3)**: After an SDK reaches end-of-support, it no longer gets updates or releases. Already-published releases remain available through public package managers, and the code remains on GitHub. Amplitude may archive the GitHub repository. Use SDKs that have reached end-of-support at your own discretion. Amplitude recommends that you upgrade to the new major version.

## Dependency life-cycle

Most Amplitude SDKs have underlying dependencies, such as language runtimes, operating systems, or third-party libraries and frameworks. These dependencies typically tie to the language community or the vendor that owns that component. Each community or vendor publishes its own end-of-support schedule for its product.

Amplitude classifies underlying third-party dependencies with these terms:

- **Operating System (OS)**: Examples include MacOS 12.6, Android 13, and Windows 11.
- **Language Runtime**: Examples include TypeScript 4.1.6, Swift 5.7, Java 8, and Python 3.10.4.
- **Third-party Library / Framework**: Examples include OpenSSL, OCLIF, and React.

Amplitude's policy is to continue supporting SDK dependencies for at least 6 months after the community or vendor ends support for the dependency. This policy can vary depending on the specific dependency.

Amplitude reserves the right to stop support for an underlying dependency without increasing the major SDK version.

Was this helpful?

<!--$-->

<!--/$-->
