# Terminal SDK versioning and support Learn about the Terminal SDK versioning policy, support lifecycle, and end-of-life schedule. ## Terminal SDK versioning The Terminal mobile SDKs for iOS, Android, and React Native follow [semantic versioning](https://semver.org/): - `MAJOR` versions include incompatible API changes and are released annually. - `MINOR` versions add backwards-compatible functionality and are released approximately monthly. - `PATCH` versions include backwards-compatible bug fixes. We release new features and bug fixes in the latest major version of the SDK. Earlier major versions enter maintenance and eventually reach end of life according to the support lifecycle below. ## Support lifecycle Each Terminal mobile SDK major version follows a three-phase lifecycle from its General Availability (GA) release date: ### Phase 1: Active development (1 year) Full support including new features, bug fixes, and security patches. ### Phase 2: Maintenance (1 year) Critical bug fixes and security or compliance patches only. No new feature development. ### Phase 3: Deprecated (1 year) No patches or support. The SDK might continue to function during this phase, but we recommend that you upgrade to a supported version as soon as possible. ## End-of-life enforcement At the end of the `Deprecated` phase, SDK versions reach their end of life and won’t be able to connect to Terminal readers. Integrations using end-of-life SDK versions can’t connect to readers or process payments. You must upgrade to a supported SDK version before the end-of-life date to avoid interruption to your payment processing. ## Support schedule | Version | GA date | Critical fixes only | Deprecated | End of life | | ------- | -------------- | ------------------- | ------------ | ------------ | | 1.x.x | October 2019 | | January 2024 | January 2027 | | 2.x.x | June 2021 | | October 2024 | January 2027 | | 3.x.x | September 2023 | | October 2025 | January 2027 | | 4.x.x | October 2024 | October 2025 | October 2026 | October 2027 | | 5.x.x | October 2025 | October 2026 | October 2027 | October 2028 | After their end of life, those SDK versions are unable to connect to readers. ## Minimum supported version After each end-of-life date, we update the minimum SDK version required to connect to Terminal readers: - After January 2027: Minimum SDK V4.0.0 - After October 2027: Minimum SDK V5.0.0 - After October 2028: Minimum SDK V6.0.0 ## Upgrading your SDK Use the [migration guide](https://docs.stripe.com/terminal/references/sdk-migration-guide.md) for detailed steps to upgrade between any major version. **Changelogs:** - [iOS changelog](https://github.com/stripe/stripe-terminal-ios/blob/master/CHANGELOG.md) - [Android changelog](https://github.com/stripe/stripe-terminal-android/blob/master/CHANGELOG.md) - [React Native changelog](https://github.com/stripe/stripe-terminal-react-native/releases) ## Additional notes - [Tap to Pay](https://docs.stripe.com/terminal/payments/setup-reader/tap-to-pay.md) functionality might have additional constraints that require upgrades to your SDK in advance of the timeline described above. Tap to Pay has security and compliance requirements that can change independently of the standard SDK lifecycle. - This policy applies to all current and future Terminal mobile SDK major versions (iOS, Android, and React Native). - The [React Native SDK](https://github.com/stripe/stripe-terminal-react-native) is currently in public preview. During public preview, always use the latest SDK version to get the latest features and fixes. We’ll publish the end-of-life enforcement schedule for React Native when the SDK reaches General Availability.