Skip to main content
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.

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.

Current status

The table below shows the current stage of each supported major version. It is updated as versions transition between stages. For the authoritative list of released versions within each major, see each SDK’s changelog.

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.

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). 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.