Releases: Iterable/react-native-sdk
Releases · Iterable/react-native-sdk
Release list
3.1.0
Fixes
- Fixed the React Native bridge contract for
Iterable.initializeon iOS.- The iOS bridge now calls the synchronous native initializer (
IterableAPI.initialize) and resolves the JS promise immediately, matching the Android bridge which has always behaved this way. - Previously, the iOS bridge wired the JS promise to the
initialize2(callback:)overload, whose callback fires when the first in-app messages fetch settles, not when the SDK is ready to use. That callback is anInAppManager.start()signal and has nothing to do with whetherIterableAPI.initializesucceeded. - On iOS,
IterableAPI.initialize(...)is synchronous, non-failable, and returnsVoid. The native SDK is fully usable the moment it returns. There is no init-error channel to await on the native side, and JS callers should not treat the promise as one.await Iterable.initialize(...)is supported for API symmetry but does not gate SDK readiness on any async work. - The user-visible symptom of the old contract was a multi-second to multi-minute hang on the JS promise under JWT or network friction, surfaced as an init failure even though the SDK had already initialized successfully. The error originated in the in-app messages fetch retry budget, not in initialization.
- The iOS bridge now calls the synchronous native initializer (
Updates
- Added
Iterable.registerDeviceToken(token)to re-enable push for the current device.- Android accepts an FCM token string.
- iOS accepts a continuous hex string representation of the APNS token.
- Replaced the two hardcoded 1000ms magic timeouts in the RN SDK with named, documented, and configurable values (SDK-520).
- Added
IterableConfig.androidWakeDelayMs(default1000) to tune the Android deep-link wake delay before the SDK invokesurlHandler. Set to0to dispatch synchronously. - Added
IterableConfig.authCallbackTimeoutMs(default6000) to tune the safety-net timeout for the auth callback latch. The default is chosen to comfortably exceed typical mobile auth round-trips while staying well below the native 30s auth latch ceiling on both iOS and Android.
- Added
- The auth callback gate is now event-driven: the native
handleAuthSuccessCalled/handleAuthFailureCalledevents resolve the latch immediately. The timer survives only as a fallback when no native event arrives within the configured window, instead of being the primary resolution mechanism.
3.0.1
What's Changed
- Release for 2.3.0-beta.o by @lposen in #812
- [SDK-477] 0.82 by @lposen in #863
- [SDK-473] Upgrade to 0.83 by @lposen in #864
- [SEC-6038] codeql workflow fix by @randall-wyatt in #873
- [SDK-482] Upgrade RN to 0.84.x by @lposen in #870
- [SDK-483] upgrade React Native to version 0.85.3 by @lposen in #871
New Contributors
- @randall-wyatt made their first contribution in #873
Full Changelog: 3.0.0...3.0.1
3.0.0
What's Changed
- [MOB-12270] new-embedded-view-component by @lposen in #748
- [SDK-366] parse-styles-for-components by @lposen in #817
- [SDK-366] Parse media by @lposen in #818
- [SDK-248] notification-component by @lposen in #814
- [SDK-245] banner-component by @lposen in #819
- [SDK-246] card-component by @lposen in #825
- [SDK-393] cleanup by @lposen in #834
- [SDK-431] notification-buttons-overflow-with-large-text by @lposen in #859
- [SDK-433] JSON parse error when config contains unexpected type by @lposen in #858
- Emb ootb/master by @lposen in #824
- [SDK-489] release-2-2-2 by @lposen in #865
Full Changelog: 2.2.2...3.0.0
Release 2.2.2
2.2.2 (2026-05-15)
- chore: add baseline-browser-mapping dependency and update Podfile for Xcode 26.4 compatibility (a7768d4)
- chore: add module name RNIterableAPI (b2afdca)
- chore: bump version to 2.2.2 in package.json and itblBuildInfo.ts (bd16d86)
- chore: clean up Info.plist and entitlements, update project.pbxproj references (4c3fb4c)
- chore: downgrade version to 2.3.0-alpha.0 in package.json and itblBuildInfo.ts (39e73ab)
- chore: update baseline-browser-mapping dependency to version ^2.10.29 in package.json and yarn.lock (ef16e26)
- chore: update CHANGELOG for version 2.2.2 with new features and fixes (b3c1744)
- chore: update Iterable-iOS-SDK dependency to version 6.6.7 and upgrade Swift version to 5.3 (675d383)
- chore: update Node.js version in .nvmrc to v20.19.4 (868a109)
- chore: update package version to 2.2.1 in package.json and itblBuildInfo.ts (81f9110)
- chore: update packages to the correct ones for rn version (c645a17)
- chore: update Podfile to conditionally configure static linkage for frameworks (7d43a4c)
- chore: update React Native and related packages to version 0.79.7 in package.json and yarn.lock (f831156)
- chore: update React Native and related packages to versions 0.80.3 (a06eebb)
- chore: update React Native and related packages to versions 0.81.6 (541edb3)
- chore: update react-native-screens version range in package.json and yarn.lock (c0157a0)
- chore: update Xcode project configuration (f36329e)
- chore: updated android so that it builds correctly (04d830a)
- docs: update README to clarify support for React Native's Legacy Architecture (e86bd43)
- refactor: remove console log statements from Embedded component (7fce509)
- refactor: remove redundant moduleName method from RNIterableAPI.mm (98c4324)
- refactor: remove unused button disabled styles from Embedded.styles.ts (c7f7c59)
- Force static linkage (ab8f22e)
- SDK-374 Automate Docs validation on SDKs releases (#826) (e69c305), closes #826
- WIP (209aead)
- test: enable embedded messaging in Iterable configuration tests (fe0a6db)
- fix: return all messages for getEmbeddedMessages when no placement given (b0da53d)
Release 2.2.1
2.2.1 (2026-02-17)
- chore: downgrade version to 2.3.0-alpha.0 in package.json and itblBuildInfo.ts (39e73ab)
- chore: update Iterable-iOS-SDK dependency to version 6.6.7 and upgrade Swift version to 5.3 (675d383)
- chore: update package version to 2.2.1 in package.json and itblBuildInfo.ts (81f9110)
- chore: update Podfile to conditionally configure static linkage for frameworks (7d43a4c)
- chore: update Xcode project configuration (f36329e)
- Force static linkage (ab8f22e)
- WIP (209aead)
- refactor: remove console log statements from Embedded component (7fce509)
- refactor: remove unused button disabled styles from Embedded.styles.ts (c7f7c59)
- test: enable embedded messaging in Iterable configuration tests (fe0a6db)
- fix: return all messages for getEmbeddedMessages when no placement given (b0da53d)
2.3.0-beta.0
What's Changed
- [SDK-327] Make getEmbeddedMessage return consistent by @lposen in #808
- [MOB-7052] Embedded messaging feature by @lposen in #751
Full Changelog: 2.3.0-alpha.0...2.3.0-beta.0
2.3.0-alpha.0
What's Changed
- [MOB-12260] create-embedded-tab-in-example-app by @lposen in #741
- [MOB-12261] Add IterableEmbeddedManager class by @lposen in #742
- [MOB-12263] android-add-ability-to-get placements by @lposen in #744
- [MOB-12265] Configure start and end session by @lposen in #745
- [MOB-12264] Add sync messages and get messages to android by @lposen in #746
- [MOB-12267] add pauseEmbeddedImpression method to manage embedded message impressions by @lposen in #785
- [MOB-12268] Add click handling and tracking by @lposen in #747
- [SDK-237] Set up embedded for iOS by @lposen in #795
- [SDK-240]: add start and end embedded session methods to ReactIterableAPI by @lposen in #796
- [SDK-235] Add ability to sync and get messages by @lposen in #797
- adding metals to gitignore by @Ayyanchira in #804
- [SDK-232] add startEmbeddedImpression and pauseEmbeddedImpression methods to ReactIterableAPI by @lposen in #798
- [SDK-231] Add click handling tracking by @lposen in #799
- [SDK-303] Make the functionality for ios and android the same by @lposen in #800
- [SDK-234] Add real time updates to iOS by @lposen in #803
- [SDK-223] Android Realtime update by @Ayyanchira in #805
Full Changelog: 2.2.0...2.3.0-alpha.0
2.2.0
What's Changed
- [MOB-10946] Update JWT in ts by @lposen in #726
- [MOB-10947][SDK-88] Configure JWT for Android by @lposen in #727
- [MOB-11032] configure JWT for iOS by @lposen in #728
- [MOB-12231] Put all calls to the native layer in a class called IterableApi by @lposen in #737
- [MOB-12298] Improve the logger by @lposen in #739
- [SDK-136] Add Jwt Generator to Example app by @lposen in #767
- [MOB-12216] new arch ga release by @lposen in #773
- [SDK-151] cannot-read-property-authtoken-of-undefined by @lposen in #779
- [SDK-181] update ios/android sdk versions by @lposen in #780
- [SDK-149] add-logout-functionality by @lposen in #781
- [MOB-12189] add-tests-to-iterableinappmanager by @lposen in #712
- [SDK-148] remove font references from Info.plist to streamline configuration by @lposen in #769
- chore(deps): bump tar from 7.5.1 to 7.5.2 by @dependabot[bot] in #772
- chore(deps): bump js-yaml from 3.14.1 to 3.14.2 by @dependabot[bot] in #782
- chore(deps-dev): bump @react-native-community/cli from 18.0.0 to 18.0.1 by @dependabot[bot] in #776
- [SDK-196] Fix retryInterval not being able to be updated by @lposen in #786
- [MOB-9064] JWT by @lposen in #740
Full Changelog: 2.1.0...2.2.0
2.2.0-alpha.1
2.1.0
What's Changed
- [MOB-11735] release-2-0-2 by @lposen in #677
- [MOB-11826] make-frontend-api-and-codegen by @lposen in #685
- [MOB-11833] format-files by @lposen in #686
- [MOB-11828] add-backwards-compatibility by @lposen in #688
- [MOB-11827] add-new-architecture-support by @lposen in #687
- update coverage reporting for Qlty Cloud by @davehenton in #689
- [MOB-11954] restructure RNIterableAPIModule to delegate functionality to RNIterableAPIModuleImpl by @lposen in #693
- [MOB-11994] align-dependencies-correctly by @lposen in #696
- [MOB-11955] configure-new-architecture by @lposen in #694
- [MOB-12039] rn-add-in-app-manager-back-onto-iterable-object by @lposen in #699
- [MOB-11957] ios-crashes-when-clicking-track-push-open-with-ca by @lposen in #695
- [MOB-12123] add-6-5-4-1-to-react-native-sdk by @lposen in #706
- [MOB-12199] rn-release-2-0-3 by @lposen in #714
- Initial CodeQL commit by @noelle-iterable in #702
- [MOB-12158] improve-iterable-ts-test-coverage by @lposen in #705
- [MOB-12159] add-tests-for-useappstatelistener by @lposen in #707
- [MOB-12251] temporary fix for circular paths, which break expo by @lposen in #734
- [MOB-12295] publish docs to netlify by @lposen in #736
- [MOB-12160] add unit tests for useDeviceOrientation by @lposen in #708
- [MOB-12186] add-tests-for-iterableutil by @lposen in #709
- [MOB-12187] add unit tests for IterableEdgeInsetDetails by @lposen in #710
- [MOB-12188] add tests for IterableHTMLInAppContent by @lposen in #711
- [MOB-12247] remove-dependency-on-react-native-vector-icons by @lposen in #760
- [MOB-12360] release-2-0-4 by @lposen in #761
- [SDK-82] New Architecture by @lposen in #704
New Contributors
- @davehenton made their first contribution in #689
- @noelle-iterable made their first contribution in #702
Full Changelog: 2.0.2...2.1.0