The Atomic team shipped SDK releases across iOS, Android, and React Native, and added an entirely new SDK for the Capacitor ecosystem.
This window includes a meaningful iOS milestone: the native Muppet SDK is now part of the iOS release line, reducing released-app SDK footprint from roughly 9.6 MB to under 1 MB while improving browser stability. There are also a few upgrade-planning items: Manage action API changes, updated iOS and Android platform requirements, and license and package metadata updates. If none of the integration surfaces below apply to your team, there may be no immediate action required.
Impact summary
- Manage actions on iOS: iOS 3.31.0 changes how action tasks are launched. Update action launch code before adopting it
- Manage actions on Android: Android v3.20.0 removes the dedicated action API. Update action launch code before adopting it
- iOS SDK: iOS 15.0+ is required from 3.28.0, and Xcode 26.1 from 3.29.0. Confirm app target and CI tooling before upgrading
- Android SDK: minSdkVersion 23 is required from v3.18.0. Confirm your app no longer needs minSdkVersion 21 or 22
- License scanning, vendor review, or dependency approval workflows: selected SDK packages are receiving license terms and package metadata updates. Route the updated metadata through internal approval if your process requires it
- Capacitor and Ionic apps: Capacitor v1.0.0 is the first stable Capacitor plugin release
- React Native apps with Swift CocoaPods: React Native v3.16.1-dynamic adds a dynamic xcframework variant for apps that have seen Swift launch crashes under static use_frameworks! linkage
Manage action API changes
These changes matter only if your integration launches Manage action tasks directly. They consolidate action-task launch behavior into the standard Transact launch path, including support for headless action tasks.
- iOS 3.31.0, breaking: Atomic.presentAction(id:...) has been removed. Build action tasks with AtomicConfig.Task.action(actionId:headless:) and launch them with Atomic.presentTransact(...)
- iOS 3.31.0, SwiftUI rename: TransactActionPresenter, atomicTransactActionsPresenter, and presentAction are now TransactPresenter, atomicTransactPresenter, and presentTransact(config:...)
- Android v3.20.0: Transact.presentAction() and ActionConfig have been removed. Use Transact.present() with a regular Config for Manage actions
- React Native v3.18.0: Atomic.presentAction() has been removed. Pass an action: { id } field on the task config and call Atomic.transact() directly. The headless flag and onLaunch callback are now supported on Atomic.transact() for action tasks
If you use Manage actions, update the relevant call sites before upgrading to iOS 3.31.0, Android v3.20.0, or React Native v3.18.0. If you do not, no code change is needed for this item.
License and package metadata updates
We are updating license terms and package metadata across selected SDK packages to align with the iOS SDK. The goal is more consistent license treatment across SDKs and less vendor-review or open-source disclosure friction for teams that consume Atomic SDK artifacts.
We do not expect runtime integration changes from the license update itself. Teams with automated dependency approval, license scanning, vendor review, or end-user open-source disclosure workflows should confirm the updated SDK package metadata is approved in their internal tooling before upgrading.
Platform requirements
- iOS 3.28.0+ requires iOS 15.0 or higher. Do not upgrade if your app still supports iOS 13 or 14
- iOS 3.29.0+ requires Xcode 26.1. Confirm local and CI build environments before upgrading
- Android v3.18.0+ requires minSdkVersion 23. Do not upgrade if your app still requires minSdkVersion 21 or 22
iOS 3.31.0: Manage action interface change
SDK interface change
Action tasks now launch through Atomic.presentTransact(...) or the SwiftUI TransactPresenter. Dedicated presentAction APIs were removed or renamed. Update Manage action launch code before adopting 3.31.0.
iOS 3.29.0 and 3.30.0: Manage action context and headless action support
Feature improvement
actionType is available in TransactStatusUpdate, and headless action configuration is supported. Review if you consume Manage action task status or plan to launch headless action tasks.
iOS 3.28.0: native Muppet SDK, package size, and browser stability
Major architecture improvement and platform requirement change
Moves iOS onto the native Muppet SDK. Released-app SDK footprint drops from roughly 9.6 MB to under 1 MB. Memory leaks, rare browser crashes, and UI hangs were fixed, and multi-page browsing support was added. Confirm iOS 15.0+ support before upgrading.
Android v3.20.0: Manage action interface change
SDK interface change
Transact.presentAction() and ActionConfig were removed. Headless action detection now works for token-based configs, and public token injection was fixed for encoded Transact configs. Update Manage action launch code before adopting v3.20.0.
Android v3.19.0: action context and headless action support
Feature improvement
actionType was added to TaskStatusUpdate, and headless action configuration is supported. Review if you consume action-task status or plan to launch headless action tasks.
Android v3.18.0: binary size, card response data, CoAuth config, and minSdk update
Build improvement and platform requirement change
androidx.security:security-crypto was removed in favor of AndroidKeyStore-based encryption. cardType was added to TransactDataResponse, coAuth can now be toggled in Features, and minSdkVersion is now 23. Confirm minSdkVersion 23 support before upgrading.
Fixed an IllegalArgumentException crash on complex nested response data and a false-positive login-verification path that could incorrectly mark a member as authenticated. Prioritize if you have seen Android authentication crashes or premature task starts.
Capacitor v1.0.0 and v1.0.1: stable Capacitor support
New stable SDK
The first stable Capacitor plugin release brings Capacitor and Ionic integrations onto a stable Atomic plugin path: Manage operation support, web userlink support, webview debugging, pause and resume methods, and clearer platform and version identification for analytics and support.
React Native v3.18.0: Manage action interface change
SDK interface change
Atomic.presentAction() was removed. Action tasks now run through Atomic.transact() with a new action: { id } task field, and the headless flag and onLaunch callback are supported for action tasks. Update launch code before adopting v3.18.0.
React Native v3.16.1-dynamic: dynamic iOS framework variant
Compatibility fix
A dynamic xcframework variant for apps that combine Atomic with Swift pods such as Sentry, Mixpanel, or Stripe under static use_frameworks! linkage. Review if you have seen swift_getAssociatedTypeWitnessSlowImpl or EXC_BAD_ACCESS launch crashes.
No Flutter release landed in this window.