Skip to content

Amplitude SDKs and Tools Maintenance & Support Policy

Overview

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 provides the Amplitude SDKs and Tools with updates that may contain support for new or updated Amplitude APIs, new features, enhancements, bug fixes, security patches, or documentation updates. Updates may also address changes with dependencies, language runtimes, and operating systems. Amplitude publishes SDK releases to package managers (for example, npm, CocoaPods, Maven, PyPI), and are available as source code on GitHub.

Amplitude recommends users to stay up-to-date with SDK releases to keep up with the latest features, security updates, and underlying dependencies. Continued use of an unsupported SDK version isn't recommended, do so at your own discretion.

Versioning

The Amplitude SDK and Tools release versions are in the form of X.Y.Z where X represents the major version. Increasing the major version of an SDK indicates that this SDK underwent significant and large 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 have changed. Update your applications for them to work with the newest SDK version. It's important to update major versions carefully, following Amplitude's upgrade guidelines.

SDK major version life-cycle

The life-cycle for major SDKs and Tools versions consists of 5 phases:

  • Developer Preview (Beta) (Phase 0) - During this phase, SDKs are fully supported, and can used in production environments, however, there may be breaking changes without a new major version release. If used in a production environment, Amplitude recommends setting a fixed version, updating regularly, and testing after each update. These SDKs provide early access to the latest features and allow for user feedback prior to GA. Once Amplitude identifies a release to be a stable product, it may mark it as GA.

  • General Availability (GA) (Phase 1) - During this phase, SDKs are fully supported. Amplitude provides regular SDK releases that include support for new services, API updates for existing services, as well as bug and security fixes. For Tools, Amplitude provides regular releases that include new feature updates and bug fixes.

  • Maintenance Announcement (Phase 2) - Amplitude makes a public announcement at least 6 months before an SDK or Tool enters maintenance mode. During this period, the SDK continues to be fully supported. Typically, Amplitude announces maintenance mode at the same time as the next major version moves to GA.

  • Maintenance (Phase 3) - During the maintenance mode, Amplitude limits SDK releases to address critical bug fixes and security issues only. An SDK doesn't receive 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.

  • End-of-Support (EOL) (Phase 4) - When an SDK reaches end-of support, it no longer receive updates or releases. Already published releases continue to be 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 users 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 are typically tied to the language community or the vendor who owns that particular component. Each community or vendor publishes their own end-of-support schedule for their product.

The following terms are used to classify underlying third party dependencies:

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

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, however, could vary depending on the specific dependency.

Note

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

Communication methods

Amplitude communicates maintenance announcements in several ways:

  • An email announcement to affected accounts, announcing plans to end support for the specific SDK version. The email outlines the path to end-of-support, specify the campaign timelines, and provide upgrade guidance.

  • Amplitude updates SDK documentation, such as API reference documentation, user guides, SDK product marketing pages, and GitHub README docs to share the campaign timeline and provide guidance on upgrading affected applications.

  • Amplitude publishes blog post in the Amplitude Community that outlines the path to end-of-support, as well as reiterates the campaign timelines.

  • Amplitude adds deprecation warnings to the SDKs, outlining the path to end-of-support and linking to the SDK documentation.

To see the list of available major versions of Amplitude SDKs and Tools and where they're in their maintenance life cycle, see Amplitude SDKs and Tools version support matrix.

SDKs and Tools version support matrix

The matrix below shows the list of available Amplitude SDK and Tools major versions and where they're in the maintenance life cycle with associated timelines. Amplitude updates the matrix with the release of a new major version or when a major version transitions to a new phase in the maintenance life cycle.

SDK / Tool Version Phase GA Date Notes
Ampli CLI
@amplitude/ampli
1.x GA 2021-11-15
Android SDK
com.amplitude:analytics-android
Amplitude-Kotlin
1.x GA 2022-06-28
Android SDK
com.amplitude:android-sdk
Amplitude-Android
3.x End-of-support 2021-12-16 EOL: 2021-12-16
Bad release (3.35.1)
Android SDK
com.amplitude:android-sdk
Amplitude-Android
1.x -2.x Maintenance 2014-05-01 MD: 2023-06-14
Browser SDK
@amplitude/analytics-browser
Amplitude-TypeScript
2.x GA 2023-06-14
Browser SDK
@amplitude/analytics-browser
Amplitude-TypeScript
1.x Maintenance 2022-06-29 MD: 2023-06-29
Browser SDK
@amplitude/marketing-analytics-browser
Amplitude-TypeScript
1.x Maintenance 2022-06-29 MD: 2023-06-29
Replaced by Browser 2.0
Browser SDK
@amplitude/amplitude-js
Amplitude-JavaScript
1.x - 8.x Maintenance 2014-06-11 MD: 2023-06-29
Chrome Event Explorer
Amplitude Event Explorer
1.x GA 2023-04-25
Flutter SDK
amplitude_flutter
Amplitude-Flutter
1.x - 3.X GA 2020-04-30
Google Tag Manager (Client)
Amplitude Analytics Browser SDK
amplitude-browser-sdk-gtm-template
1.x GA 2022-11-13
Google Tag Manager (Server)
Amplitude Analytics
amplitude-browser-sdk-gtm-template
1.x GA 2022-05-02
Google Tag Manager (Client)
Amplitude Analytics Legacy
amplitude-gtm-template
1.x Maintenance 2021-10-21 MD: 2022-11-13
Go SDK
github.com/amplitude/analytics-go
analytics-go
1.x GA 2023-02-09
iOS SDK
AmplitudeSwift
Amplitude-Swift
1.x GA 2023-10-27
iOS SDK
Amplitude
Amplitude-iOS
1.x - 8.X Maintenance 2014-06-05 MD: 2023-10-27
Java SDK
com.amplitude.:java-sdk
Amplitude-Java
1.x GA 2021-06-15
Node SDK
@amplitude/analytics-node
Amplitude-Typescript
1.x GA 2022-12-10
Node SDK
@amplitude/node
Amplitude-Node
1.x Maintenance 2020-09-25 MD: 2022-12-10
Python SDK
amplitude-analytics
Amplitude-Python
1.x GA 2022-06-29
React SDK
@amplitude/react-amplitude
react-amplitude
1.x End-of-support 2019-05-27 EOL: 2022-06-29
Replaced by Browser 2.0
React Native SDK
@amplitude/analytics-react-native
Amplitude-TypeScript
1.x GA 2023-02-02
React Native SDK
@amplitude/react-native
Amplitude-ReactNative
2.x Maintenance 2021-03-02 MD: 2023-02-02
Unity SDK
amplitude-unity.unitypackage
unity-plugin
1.x - 2.X GA 2020-03-18
Unreal SDK
AmplitudeUnreal
Amplitude-Unreal
0.x Beta N/A

Was this page helpful?