> ## Documentation Index
> Fetch the complete documentation index at: https://primer.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# SDK lifecycle

> How Primer versions, supports, and deprecates its SDKs across iOS, Android, Web, and React Native.

This page describes the lifecycle of Primer's SDKs: the named stages every version moves through, what Primer commits to at each stage, and the rules that govern transitions. The policy applies to the **iOS**, **Android**, **Web**, and **React Native** SDKs, at the **major version** level — minor and patch versions inherit the stage of their parent major.

## Lifecycle stages

Every supported major version is in one of five stages at any given time.

| Stage | Badge | Minimum duration | What Primer commits to | Breaking changes |
| - | - | - | - | - |
| Beta | `BETA` | No minimum | Early access for design partners. The SDK may change without notice between Beta releases. | Allowed, documented in the changelog. |
| Release Candidate | `RC` | No minimum | Support for RC testers. Feature-complete and intended for integration validation ahead of GA. | Unlikely, but possible. |
| Generally Available | `GA` | Until its successor reaches `GA` | Full support: bug fixes, security patches, and new payment-method compatibility. | Avoided. A migration path is provided if one is required. |
| Supported | `Supported` | At least 12 months after the `GA` stage ends | Critical security patches only. No new features. | None — the version is frozen. |
| End of Life | `EOL` | — | No support and no patches. Version removed from public documentation. In-SDK runtime warning displayed. Package registries marked deprecated. | — |

## How versions move between stages

The lifecycle is **successor-anchored**, not calendar-anchored. A `GA` version does not expire on a fixed date. It transitions to `Supported` only when the next major version of the same SDK reaches `GA`, and it transitions to `EOL` no sooner than 12 months after that point.

```mermaid theme={"dark"}
gantt
    title Example timeline (illustrative)
    dateFormat YYYY-MM-DD
    axisFormat %b %Y

    section SDK v3
    Beta                           :v3b, 2025-01-01, 60d
    RC                             :v3rc, 2025-03-01, 30d
    GA                             :v3ga, 2025-04-01, 365d
    Supported (min. 12 months)     :crit, v3s, 2026-04-01, 365d

    section SDK v4
    Beta                           :v4b, 2025-11-01, 60d
    RC                             :v4rc, 2026-02-01, 30d
    GA                             :v4ga, 2026-04-01, 365d
```

## Current status

The table below shows the current stage of each supported major version. It is updated as versions transition between stages.

| SDK | Major version | Stage | Reference |
| - | - | - | - |
| iOS | v3.x | `BETA` | [iOS Primer Checkout reference](https://primer.io/docs/sdk/ios-checkout/v3.0.0-beta/api/common/primer-settings.md) |
| iOS | v2.x | `GA` | [iOS SDK v2 installation](https://primer.io/docs/sdk/ios/v2.x.x/installation.md) |
| Android | v3.x | `BETA` | [Android Primer Checkout installation](https://primer.io/docs/sdk/android-checkout/v3.0.0-beta/installation.md) |
| Android | v2.x | `GA` | [Android SDK v2 installation](https://primer.io/docs/sdk/android/v2.x.x/installation.md) |
| Web | v1.x | `GA` | [Web Primer Checkout reference](https://primer.io/docs/sdk/primer-checkout-web/sdk-reference-overview.md) |
| Web | v2.x | `Supported` | [Web SDK v2 overview](https://primer.io/docs/sdk/web/v2.x.x/primer-checkout/overview.md) |
| React Native | v2.x | `GA` | [React Native SDK v2 installation](https://primer.io/docs/sdk/react-native/v2.x.x/installation.md) |

For the authoritative list of released versions within each major, see each SDK's [changelog](#related).

## Deprecation signals

Versions approaching or past `EOL` surface the following signals:

* **Package-registry deprecation flags** on npm, CocoaPods, Maven Central, and Swift Package Manager.
* **In-SDK runtime warnings** emitted from `Supported` versions onward.
* **Changelog and release-notes entries** at each stage transition.

These signals indicate lifecycle state but are not themselves the state. The authoritative stage for any major version is the one listed in [Current status](#current-status).

## Enforcement

Enforcement of the SDK lifecycle is **API-driven**, not SDK-side. Primer does not actively block or disable calls from `EOL` SDKs at the SDK layer.

* When an `EOL` SDK relies on an underlying API that is itself no longer supported, calls will stop working as that API reaches its own end of life (see [API lifecycle](https://primer.io/docs/api-reference/get-started/api-lifecycle.md)). This is the expected enforcement path.
* When an `EOL` SDK relies on an API that remains supported, calls will continue to function. However, Primer offers no compatibility, security, or stability guarantees for `EOL` versions, and support tickets against them will not be accepted.

## Vocabulary

`Supported` is a specific lifecycle stage on this page, not a general adjective. A version in `GA` is actively supported, but it is not in the `Supported` stage. When referring to a version's state, prefer the badges — `GA`, `Supported`, `EOL` — over prose.

`Deprecated` is a signal Primer emits (via package-manager flags, release notes, and in-SDK runtime warnings); the underlying lifecycle state is still one of the five named stages above.

## Related

* [API lifecycle](https://primer.io/docs/api-reference/get-started/api-lifecycle.md) — the same model applied to the Primer API.
* [iOS SDK changelog](https://primer.io/docs/changelogs/ios-sdk.md)
* [Android SDK changelog](https://primer.io/docs/changelogs/android-sdk.md)
* [Web Primer Checkout changelog](https://primer.io/docs/changelogs/primer-checkout-sdk.md)
* [Web SDK changelog — v2](https://primer.io/docs/changelogs/web-sdk.md)
* [React Native SDK changelog](https://primer.io/docs/changelogs/react-native-sdk.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.