Release notes for mobile Connect SDKs
This page has release notes for all of the supported mobile platforms: native (Android and iOS) and hybrid (Flutter and React Native).
System compatibilityAndroid:
- Dev environment: Android Studio; JDK 21 (Connect Android SDK 11.0.28 and later)
- Devices: Android 8-16
Flutter:
- Dev environment: Flutter 3.16 and later
- Devices: Android 8-16; iOS 15.1-26.2
iOS:
- Dev environment: Swift/SwiftUI and Objective-C; Xcode 26
- Devices: iOS 15.1-26.2
React Native:
- Dev environment: React Native 0.82.0–0.85.x
- Devices: Android 8-16; iOS 15.1-26.2
Cordova:
- Dev environment: Cordova CLI 12.0.0 and later
- Devices: Android 8-16; iOS 15.1-26.2
Sep 22, 2026
Bug fixes
- Fixed
Connect.enable()not restoring event delivery afterConnect.disable(). The SDK reported itself as enabled, started a new session and accepted events, but sent nothing to the collector for the rest of the session. Apps that pause capture on screens showing personal data lost all analytics after the first time they disabled and re-enabled capture. - Fixed a crash when capture was disabled while an upload was in progress. Apps that pause capture around sensitive screens were most exposed.
- Fixed synchronous flushes resending the entire backlog of earlier failed uploads on the calling thread.
logFatalErrorEvent,logPreconditionErrorEvent,logAssertionFailureErrorEventandlogPreconditionFailureErrorEventflush synchronously, and each one could stall the app when the collector was slow or unreachable. The backlog is now sent only by the regular interval flush.
Our environment for this release
- Xcode 26.2
- macOS 26.1
- iOS 15.1 to 26.2
Supported iOS architectures:
- simulator (arm64, x86_64)
- device (arm64)
Known issues
- The library captures gestures even when the gestureRecognizer is set to NO. This is an Apple defect.
- On iPadOS, only single-window applications are supported.
- The pink border on the Gestures screenview is off when captured using ER because of timing or garbage collection.
- Template issues. The battery icon is not visible in green anymore. The Back link is missing during capture on some screens: Progressindicator, AlertViewController, Gestures screenview, and picker view.
connectionTyperemains N/A if a device is using Wi-Fi when the app starts.DoPostOnScreenChangeis not working as expected, because of a temp queue.- Reporting of multiple carrier names in JSON for devices with Dual SIM is a beta feature. It is not fully used in reporting.
- Certain types of alerts may be replayed incorrectly.
- If a View Controller has more than one WKWebViews, gestures may be off by a few pixels.
To update to this version, see Update the Connect Android library.
Bug fixes
Fixed analytics data being lost while uploads to the collector were succeeding. The SDK limits how many message batches it keeps on disk. That limit is meant for when the device can't reach the collector, but it was also applied while uploads were working. When an app produced more batches than the limit within one upload interval, the extra batches were discarded without a log entry, and the loss showed up only as gaps in session replay.
The limit now applies only after uploads start failing. While uploads are working, on-disk storage is capped at 10 times the configured limit. If a batch can't be written, the SDK now logs it.
Our environment for this release
- macOS 26.1
- Android Studio Otter | 2025.2.1 Patch 1
- JDK 21
- Android API level 26 to 36
Known issues
- The library may not work correctly in apps that mix the View system and Jetpack Compose.
- Text change events are not supported yet.
Where to get it: Connect React Native SDK 19.0.34
To update to this version, see Update the Connect React Native library.
Bug fixes
On Android, setCurrentScreenName no longer captures a screen layout, which matches iOS. <Connect> calls this method on every touch, so Android sent a layout message of tens to hundreds of KB with each tap. On tap-heavy screens this could overflow the SDK's disk cache and lose screen views and replay data. In our tests, twelve taps on one screen went from 21 layout messages (586 KB) to 4 (67 KB), and every tap was still captured. Layouts are now captured on navigation only.
Migration notes
If you call setCurrentScreenName directly for a screen that <Connect> can't detect, and you relied on the layout it used to capture, call TLTRN.logScreenLayout(name) after it.
Our environment for this release
- Xcode 26.4.1
- macOS 26.3
- iOS 15.1 to 26.x
Sep 15, 2026
Bug fixes
- Fixed masked text leaking through accessibility data. When an element's value was masked, its accessibility label and hint were still sent unmasked, so text your mask rules were set up to redact could reach the collector in
accessibility.label. React Native apps were affected most, because a<Text>element uses its own content as its accessibility label by default. The label and hint are now masked by the same rules as the value. - Fixed
logSignalpayload fields being wrapped in asignal.data.valueenvelope that Connect behavior signals doesn't recognize, so the values you passed didn't arrive as expected. Values now sit directly undersignal, the same format identity messages already use. ThelogSignalsignature is unchanged. - Fixed gesture events being dropped or duplicated when the tapped control had no CSS ID.
- Fixed a crash on malformed gesture data.
- React Native: Fixed session replay capturing an almost empty control tree for screens shown in a
<Modal>, or for any screen outside thereact-native-screensnavigator. The screenshot looked correct, but almost nothing on the screen could be inspected. - React Native: Fixed duplicate and missing screen views with nested native stack navigators (
createNativeStackNavigator). Leaving a tab that contained a nested stack produced duplicate screen views. Pushing or popping a screen within a nested stack produced no screen view at all. - React Native: Fixed the screen view
referrerpointing to the current screen instead of the previous one in apps that use a wrapped navigation container. This collapsed session replay into a single step.
Our environment for this release
- Xcode 26.2
- macOS 26.1
- iOS 15.1 to 26.2
Supported iOS architectures:
- simulator (arm64, x86_64)
- device (arm64)
Known issues
- The library captures gestures even when the gestureRecognizer is set to NO. This is an Apple defect.
- On iPadOS, only single-window applications are supported.
- The pink border on the Gestures screenview is off when captured using ER because of timing or garbage collection.
- Template issues. The battery icon is not visible in green anymore. The Back link is missing during capture on some screens: Progressindicator, AlertViewController, Gestures screenview, and picker view.
connectionTyperemains N/A if a device is using Wi-Fi when the app starts.DoPostOnScreenChangeis not working as expected, because of a temp queue.- Reporting of multiple carrier names in JSON for devices with Dual SIM is a beta feature. It is not fully used in reporting.
- Certain types of alerts may be replayed incorrectly.
- If a View Controller has more than one WKWebViews, gestures may be off by a few pixels.
To update to this version, see Update the Connect Android library.
Migration notes
JDK 21 is now required. The SDK is now built with Java 21 (JVM target 21). It was previously built with Java 17. To build an app against the SDK, you need JDK 21.
Connect is now a single dependency. Tealeaf and EOCore are now internal dependencies of Connect. Declare only connect, plus whichever push modules you use. Tealeaf and EOCore still resolve automatically at runtime, but they are no longer on your app's compile classpath.
No public Connect method was removed or changed. If your code imports com.tl.uic.* or com.ibm.eo.* types directly, choose one of these options:
- Recommended: switch to the Connect-native equivalents listed under New features.
- Declare
tealeafandeocoreexplicitly, at the same version as Connect:
dependencies {
implementation("io.github.go-acoustic:connect:11.0.28")
// Only needed while your code still uses Tealeaf or EOCore types directly
implementation("io.github.go-acoustic:tealeaf:11.0.28")
implementation("io.github.go-acoustic:eocore:11.0.28")
}New features
Connect-native API. Every public Connect API that used a Tealeaf or EOCore type now has a form that uses a Connect type instead. The old forms are deprecated but keep working, so you can migrate at your own pace.
| Deprecated | Use instead |
|---|---|
logScreenview(…, ScreenviewType) | logScreenview(…, ConnectScreenviewType) |
logConnection(Connection?) | logConnection(ConnectConnection?) |
logPinchGestureEvent(…, PinchData?, …) | logPinchGestureEvent(…, ConnectPinchData?, …) |
logPerformanceEvent(…, TLFPerformanceNavigationType?, …) | logPerformanceEvent(…, ConnectPerformanceNavigationType?, …) |
getCurrentScreenView(): Screenview? | getCurrentConnectScreenView(): ConnectScreenview? |
Configuration accessors that take EOLifecycleObjectName | The same accessors, taking the module name as a String (for example "Tealeaf") |
ScreenComposableManager.addAccessiblePosition(Position) | ScreenComposableManager.addAccessiblePosition(ConnectPosition) |
New methods on Connect:
onDestroy(activity, logicalPageName)handles teardown and complements the existingonPauseandonResumemethods.canCaptureUserEvents(activity, logicalPageName)reports whether capture is allowed for a screen. Call it beforelogScreenLayout.logKeyboardEvent(context, isShow)logs a keyboard show or hide event.ConnectMonitoringLevel(IGNORE,CRITICAL,IMPORTANT,INFO) supplies the log level forlogCustomEvent. For example, passConnectMonitoringLevel.INFO.value.
One version for all modules. connect, connect-push, connect-push-fcm, connect-push-hms, tealeaf and eocore now all publish at the same version number.
Bug fixes
- Fixed masked text leaking through accessibility data. When an element's value was masked, its accessibility label and hint were still sent unmasked, so text your mask rules were set up to redact could reach the collector in
accessibility.label. React Native apps were affected most, because a<Text>element uses its own content as its accessibility label by default. The label and hint are now masked by the same rules as the value. The accessibility ID is left unchanged. - Fixed form submissions in instrumented WebViews reaching the server as GET requests. A POST-only endpoint would respond with
405 Method Not Allowedand replace the user's page with an error. Navigation is now handled by the WebView itself, so the original method, body and headers are preserved. The SDK also no longer reloads a page produced by a POST when it re-captures a WebView. - Fixed the SDK replacing the app's own
WebViewClientwhen it instrumented a WebView. Once a WebView was instrumented, the app's callbacks stopped firing. Inreact-native-webview, for example, this silencedonNavigationStateChange,onLoadEnd,onError,onHttpErrorandonShouldStartLoadWithRequest. The SDK now wraps the app's client and forwards every callback to it. - Fixed a screen's layout being dropped when a WebView on that screen never finished DOM capture. The layout is now sent after the wait times out.
- Fixed WebViews hosted by React Native never matching their DOM capture to the screen layout.
- Fixed numeric values in
logSignalpayloads being silently dropped. For example,{ total: 24.99 }now arrives as a JSON number, matching iOS. - Fixed a crash that could occur when a view was removed while the SDK was scanning the view hierarchy in the background.
- Fixed the EOCore POM declaring its dependencies under the wrong group ID, which made them unresolvable for apps that depend on
eocoredirectly.
Improvements
The SDK no longer writes the full FCM registration token or the notification payload to debug logs. The token is shortened to its first and last four characters, and payloads are logged as keys only. Tokens of 9 characters or fewer are fully masked.
Our environment for this release
- macOS 26.1
- Android Studio Otter | 2025.2.1 Patch 1
- JDK 21
- Android API level 26 to 36
Known issues
- The library may not work correctly in apps that mix the View system and Jetpack Compose.
- Text change events are not supported yet.
Where to get it: React Native SDK 19.0.28
To update to this version, see Update the Connect React Native library.
Bug fixes
- The
layoutblock in ConnectConfig.json is now applied on both iOS and Android. - Advanced settings in ConnectConfig.json now take effect. Previously they were written to a file the native SDK doesn't read.
- Screen layout capture now honors
CaptureLayoutDelayfrom ConnectConfig.json. Previously the wrapper always captured with no delay, so a capture triggered by React Navigation fired at the start of the screen transition and produced half-rendered layouts in session replay. - Identity signals now default to the method attribute that matches the signal type:
loggedInsendsloginMethodandaccountRegisteredsendsregistrationMethod. PreviouslyloggedInsignals sentregistrationMethodand were rejected by server-side validation. - Android: Signal and event payload values now reach the native SDK with their original types instead of being converted to strings.
- Android: Fixed a build failure with Connect Android SDK 11.0.28 and later, which no longer expose Tealeaf and EOCore classes at compile time.
Improvements
logSignalaccepts nested JSON objects and arrays invalues, so structured payloads no longer need to be flattened.- Top-level numbers in a
logSignalpayload now reach the collector on Android as well as iOS, with Connect Android SDK 11.0.28 or later. TLTRN.logScreenLayout(name)accepts an optional second argument that overrides the configured delay for a single call. Pass0to capture immediately, or a positive number of milliseconds to wait. This helps on screens whose content loads asynchronously.- The default
CaptureLayoutDelayis now 500 ms on both platforms, which is long enough for a typical screen transition to finish. Previously the shipped templates used 1 ms, and apps without a layout block got 1 ms on iOS and 500 ms on Android. - The npm package no longer includes the
SampleUIdemo app, which removes 326 files (about 3.5 MB unpacked). It targeted a React Native version below this SDK's minimum of 0.82. The maintained samples arebare-workflowandexpo.
Migration notes
iOS: The logScreenLayout delay is now in milliseconds, matching Android and CaptureLayoutDelay. Previously the value was passed to the native API as seconds, so a 300 ms delay waited 300 seconds. If you passed a positive delay on iOS and adjusted it to compensate, remove the adjustment.
Our environment for this release
- Xcode 26.4.1
- macOS 26.3
- iOS 15.1 to 26.x
Improvements
- Switching between debug and release builds is now a single step: change
useReleasein ConnectConfig.json and runnpx cordova prepare ios/npx cordova build ios. - Updated the native SDK version dependencies for iOS and Android.
- Added the CocoaPods master specs repo as a fallback source in the generated Podfile, improving
pod installreliability.
Our environment for this release
- Xcode 26.2
- macOS 26.0.1
- iOS 15.1 to 26.x
- Android minSdk 26, SDK 36
Connect React Native SDK 19.0.11 (Jul 7, 2026)
Bug fixes
Fixed an Android build failure under useRelease: true, caused by a required dependency (eocore) that was only available as a beta release, which the production build setting was rejecting.
Migration notes
If you're already on the canonical react-native-acoustic-connect package, updating to 19.0.11 requires no code changes. If you're still on react-native-acoustic-connect-beta, you'll need to switch to the canonical package first — see Update the Connect React Native library.
Connect Android SDK 11.0.13 (July 3, 2026)
Bug fixes
Fixed a crash in View-based apps when calling AppCompatDelegate.setDefaultNightMode(). Dark-mode toggling now works correctly when the Connect SDK is enabled.
Improvements
- Improved WebView instrumentation to preserve content loaded via
loadDataWithBaseURL(null, …). Previously, the SDK calledgetUrl()on such pages, received"about:blank"and reloaded the WebView over the app's rendered content. - Push notification setup is now simpler:
firebase-messagingis included as a transitive dependency inconnect-push-fcm, so you no longer need to declare it separately. Leaving the explicitfirebase-messagingdeclaration in place is safe - Gradle deduplicates it automatically. To clean up, update your dependencies as follows:
dependencies {
implementation("io.github.go-acoustic:connect-push-fcm:11.0.11")
implementation(platform("com.google.firebase:firebase-bom:34.14.0"))
implementation("com.google.firebase:firebase-messaging")
}dependencies {
implementation("io.github.go-acoustic:connect-push-fcm:11.0.13")
implementation(platform("com.google.firebase:firebase-bom:34.14.0"))
}Our environment for this release
- macOS 26.1
- Android Studio Otter | 2025.2.1 Patch 1
- Android API level 26 to 36
Known issues
- The library may not work correctly in apps that mix the View system and Jetpack Compose.
- Text change events are not supported yet.
iOS SDK 2.1.15 (Jul 3, 2026)
New features
Push permission API. Request push notification permission and query authorization status directly through the SDK using the new requestAuthorization(options:) and getCurrentAuthorization() methods — without importing UserNotifications or managing UNUserNotificationCenter callbacks. See API reference and Push configuration guide.
Bug fixes
- Closed a version gap on the release channel. React Native apps using useRelease: true were receiving an older Tealeaf build that was missing recent screen-capture fixes, until the release pod caught up to Tealeaf 10.6.337.
- Fixed a crash on iOS 17 and later when the app delegate implements scene lifecycle methods.
- Fixed automatic push mode silently dropping the APNs device token when the app delegate doesn't declare the APNs registration methods itself. This affected React Native bare-workflow and Cordova apps.
- Fixed React Native layout handling in the native SDK.
Migration notes
Tealeaf and EOCore modules are now bundled inside the Connect distribution for Carthage users. If you use Carthage, remove any separate explicit dependencies on go-acoustic/Tealeaf or go-acoustic/EOCore before upgrading. For instructions, see Update the Connect iOS library.
Our environment for this release
- Xcode 26.2
- macOS 26.1
- iOS 15.1 to 26.2
Supported iOS architectures:
- simulator (arm64, x86_64)
- device (arm64)
Known issues
- The library captures gestures even when the gestureRecognizer is set to NO. This is an Apple defect.
- On iPadOS, only single-window applications are supported.
- The pink border on the Gestures screenview is off when captured using ER because of timing or garbage collection.
- Template issues. The battery icon is not visible in green anymore. The Back link is missing during capture on some screens: Progressindicator, AlertViewController, Gestures screenview, and picker view.
connectionTyperemains N/A if a device is using Wi-Fi when the app starts.DoPostOnScreenChangeis not working as expected, because of a temp queue.- Reporting of multiple carrier names in JSON for devices with Dual SIM is a beta feature. It is not fully used in reporting.
- Certain types of alerts may be replayed incorrectly.
- If a View Controller has more than one WKWebViews, gestures may be off by a few pixels.
Connect Cordova SDK 1.0.1 (Jul 3, 2026)
This is the first release of the Connect library for Cordova apps. It adds mobile push notifications and identity signals to a Cordova app on iOS and Android through one JavaScript API, window.AcousticConnect. For setup instructions, see Get started with the Connect SDK in a Cordova app.
Our environment for this release
- Cordova CLI 12.0.0 or later
- Node.js 20 or later
- cordova-ios 7.0.0 or later, Xcode 15 or later, CocoaPods
- cordova-android 13.0.0 or later, Android Studio SDK 34 or later, JDK 17
Connect React Native SDK 19.0.9 (Jul 3, 2026)
New features
- Mobile push notifications. Push notifications are now supported on iOS and Android, with rich content — thumbnail images, expandable content, and tappable actions — authored from Connect. For setup instructions, see Enable push notifications in a React Native app.
- Identity signals. Match anonymous app sessions to known contacts in your Connect audience by calling the new
logIdentity()method at sign-in or registration. See User identification signals in a React Native app. - Expo support (SDK 55+). The SDK now supports Expo managed workflow projects, including push notifications. See Integrate the Connect SDK into an Expo app.
- SDK lifecycle control. Two new methods let you stop and restart the SDK at runtime without reinitializing.
disable()stops all data capture and network calls.enable()restarts the SDK using the same ConnectConfig.json configuration. Useful for consent flows, A/B-test gates, or opt-out toggles.
Improvements
- React 19 compatibility.
<Connect>now readsprops.refinstead of the legacyelement.refto support React 19's ref model, and thereact-native-nitro-modulespeer dependency is now constrained to an exact version to prevent build failures. - More reliable navigation tracking.
<Connect>accepts an explicitnavigationRefprop and now polls for the NavigationContainer ref with a 10-second grace window, fixing navigation tracking for apps where the container mounts after providers (async init, splash gate, etc.).
Migration notes
No changes to your existing app code are required. To upgrade from version 18, install [email protected] alongside the SDK. For details, see Update the Connect React Native library.
Our environment for this release
- React Native 0.82.0–0.85.x (new architecture)
- Node.js 20 or later
- iOS 15.1–26.2
- Xcode 26.2
- macOS 26.0.1
Supported iOS architectures:
- simulator (arm64, x86_64)
- device (arm64)
Known issues
- Session replay accuracy (iOS). Session replay on iOS may show stale screen snapshots and does not track scroll position. Android is not affected.
- Webviews are not captured in session replay. Content rendered inside a
WebViewcomponent is not recorded. - iPad is not supported on iOS 14 and later. Due to changes introduced in iPadOS, the SDK does not support iPad on iOS 14 and later.
- Dual SIM features are in beta. Behavior using multiple carriers may be unreliable.
Connect Android SDK 11.0.11 (May 7, 2026)
To update to this version, see Update the Connect Android library.
Bug fixes
Fixed a Compose UI screenshot issue with screen transitions.
Improvements
- Minimum Android version raised from API level 21 (Android 5.0) to API level 26 (Android 8.0).
- SDK modularized into separate artifacts. The library is now split into
:connect(core analytics),:connect-push(shared push infrastructure),:connect-push-fcm(Firebase), and:connect-push-hms(Huawei). Analytics-only integrations continue to use:connect.
New features
- Push notifications. Firebase Cloud Messaging (FCM) and Huawei Mobile Services (HMS) push notifications are now supported. The SDK auto-detects the available provider on the device, with an optional strict-provider override. For setup instructions, see Enable push notifications in an Android app (Firebase).
- Added an auto instrumentation script for Connect Composable wrappers.
- Added a custom Button Composable wrapper.
- Added a gesture event unique ID with Connect Wrappers.
- Renamed
contentDescriptiontomaskLabel()to differentiate the custom property from the Android semantic property. - Added
.connectMask— a new modifier for masking any Composable in session replay. For details, see Enable privacy protection in Android Compose apps.
Our environment for this release
- macOS 26.1
- Android Studio Otter | 2025.2.1 Patch 1
- Android API level 26 to 36
Known issues
- The library may not work correctly in apps that mix the View system and Jetpack Compose.
- Text change events are not supported yet.
Connect iOS SDK 2.0.8 (Apr 14, 2026)
Improvements
- Mobile push notifications are now supported in the Connect iOS SDK. You can enable push notifications for your native iOS app (Swift and SwiftUI) to send targeted messages to your users. For setup instructions, see Enable push notifications in a native iOS app. Push notification support requires a new app key generated through the Mobile app integration in Connect. For details, see Update the Connect iOS library.
- Connect supports Swift 6.
Bug fixes
None.
Migration notes
- Objective-C apps: If you have integrated the Connect SDK using Swift Package Manager or Carthage, replace the legacy
TLFApplicationHelperinitialization call withConnectApplicationHelperonce you upgrade to SDK 2.0.8. In some configurations, the SDK may not find its configuration files if this step is skipped. - Swift and SwiftUI apps (Swift Package Manager and CocoaPods): Remove the
EOCoreandTealeafimports from your initialization code after upgrading to SDK 2.0.8. The SDK no longer requires these imports directly. - Swift and SwiftUI apps (Carthage): All three frameworks —
Connect,Tealeaf, andEOCore— are still required at this version. Do not remove the imports or xcframework references.
For details, see Update the Connect iOS library.
Our environment for this release
- Xcode 26.2
- macOS 26.1
- iOS 15.1 to 26.2
Supported iOS architectures:
- simulator (arm64, x86_64)
- device (arm64)
Known issues
- The library captures gestures even when the gestureRecognizer is set to NO. This is an Apple defect.
- On iPadOS, only single-window applications are supported.
- The pink border on the Gestures screenview is off when captured using ER because of timing or garbage collection.
- Template issues. The battery icon is not visible in green anymore. The Back link is missing during capture on some screens Progressindicator, AlertViewController, Gestures screenview and picker view.
connectionTyperemains N/A if a device is using Wi-Fi when the app starts.DoPostOnScreenChangeis not working as expected, because of a temp queue.- Reporting of multiple carrier names in JSON for devices with Dual SIM is a beta feature. It is not fully used in reporting.
- React Native apps may have issues with dynamic builds. Use the static version instead.
- Certain types of alerts may be replayed incorrectly.
- If a View Controller has more than one WKWebViews, gestures may be off by a few pixels.
Bug fixes
- Fixed a crash in the
<Connect>component caused by incompatibility with React 19. - Fixed a build failure caused by an undeclared version constraint on the react-native-nitro-modules peer dependency.
Our environment for this release
- React Native 0.78 or higher using new architecture
- Node.js 20.0.0 or higher
Known issues
- On iPadOS, only single-window applications are fully supported.
- Reporting of multiple carrier names in JSON for devices with Dual SIM is a beta feature. It is not fully used in reporting.
- Only older JSC bridge architecture is supported. Expo applications are not supported unless they are ejected as native applications.
Connect iOS SDK 1.0.81 (Jan 30, 2026)
Improvements
Updated the library using the latest Xcode and iOS versions (26.2).
Bug fixes
None.
Our environment for this release
- Xcode 26.2
- macOS 26
- iOS 15.1 to 26.2
Supported iOS architectures:
- simulator (arm64, x86_64)
- device (arm64)
Known issues
- The library captures gestures even when the gestureRecognizer is set to NO. This is an Apple defect.
- On iPadOS, only single-window applications are supported.
- The pink border on the Gestures screenview is off when captured using ER because of timing or garbage collection.
- Template issues. The battery icon is not visible in green anymore. The Back link is missing during capture on some screens Progressindicator, AlertViewController, Gestures screenview and picker view.
connectionTyperemains N/A if a device is using Wi-Fi when the app starts.DoPostOnScreenChangeis not working as expected, because of a temp queue.- Reporting of multiple carrier names in JSON for devices with Dual SIM is a beta feature. It is not fully used in reporting.
- React Native apps may have issues with dynamic builds. Use the static version instead.
- Certain types of alerts may be replayed incorrectly.
- If a View Controller has more than one WKWebViews, gestures may be off by a few pixels.
Improvements
Allowed setting log level for Flutter level logging.
Bug fixes
None.
Our environment for this release
- Flutter SDK 3.27.4
- Visual Studio Code 1.99.3 (Universal)
- Xcode 26.1
- macOS 26.0.1
- iOS 15.1 to 26.x
- Android 21-35
Supported iOS architectures:
- simulator (arm64, x86_64)
- device (arm64)
Known issues
- Our sample app is having some build issues due to a new version of Flutter. They are going to be addressed later.
- Only Android & iOS platforms are supported.
- When Navigation route isn't set, replay shows null screenview.
- Text change event isn't supported yet.
- Sometimes a masking overlay is carried on to the next screen. This is due to Flutter view tree design.
Improvements
- Added support for Android build.gradle.kts in addition to build.gradle.
- Added the ability to set a logicalPageName for a route item that does not have a value for property name. The new logic first checks if route.settings.name exists and is not empty. If it is null/empty, it examines the route's runtime type to provide meaningful names:
- ModalBottomSheetRoute → 'ModalBottomSheet'
- DialogRoute → 'Dialog'
- PopupRoute → 'Popup'
- PageRoute → 'Page_{hashCode}'
- Any other route type → '{RouteType}_{hashCode}'
Bug fixes
Fixed an issue due to which some screens had null instead of a name in session replays. The library had not been updating logicalPageName from AutoLayout/{user.Navigation Route Name}.
Our environment for this release
- Flutter SDK 3.27.4
- Visual Studio Code 1.99.3 (Universal)
- Xcode 26.1
- macOS 26.0.1
- iOS 15.1 to 26.x
Supported iOS architectures:
- simulator (arm64, x86_64)
- device (arm64)
Known issues
- Our sample app is having some build issues. They are going to be addressed later.
- Only Android & iOS platforms are supported.
- When Navigation route isn't set, replay shows null screenview.
- Text change event isn't supported yet.
- Sometimes a masking overlay is carried on to the next screen. This is due to Flutter view tree design.
Improvements
- Added support for Android build.gradle.kts in addition to build.gradle.
- Added the ability to set a logicalPageName for a route item that does not have a value for property name. The new logic first checks if route.settings.name exists and is not empty. If it is null/empty, it examines the route's runtime type to provide meaningful names:
- ModalBottomSheetRoute → 'ModalBottomSheet'
- DialogRoute → 'Dialog'
- PopupRoute → 'Popup'
- PageRoute → 'Page_{hashCode}'
- Any other route type → '{RouteType}_{hashCode}'
Bug fixes
Fixed an issue due to which some screens had null instead of a name in session replays. The library had not been updating logicalPageName from AutoLayout/{user.Navigation Route Name}.
Our environment for this release
- Flutter SDK 3.27.4
- Visual Studio Code 1.99.3 (Universal)
- Xcode 26.1
- macOS 26.0.1
- iOS 15.1 to 26.x
Supported iOS architectures:
- simulator (arm64, x86_64)
- device (arm64)
Known issues
- Our sample app is having some build issues. They are going to be addressed later.
- Only Android & iOS platforms are supported.
- When Navigation route isn't set, replay shows null screenview.
- Text change event isn't supported yet.
- Sometimes a masking overlay is carried on to the next screen. This is due to Flutter view tree design.
Connect iOS SDK 1.0.68 (Sept 30, 2025)
Improvements
- Adjusted the library to support React Native for npm plugin.
- Adjusted the library to the new minimal iOS version of 15.1.
Bug fixes
None.
Our environment for this release
- Xcode 16.4
- MacOS 15.5
- iOS 15.1 to 18.x
Supported iOS architectures:
- simulator (arm64, x86_64)
- device (arm64)
Known issues
- The library captures gestures even when the gestureRecognizer is set to NO. This is an Apple defect.
- On iPadOS, only single-window applications are supported.
- The pink border on the Gestures screenview is off when captured using ER because of timing or garbage collection.
- Template issues. The battery icon is not visible in green anymore. The Back link is missing during capture on some screens Progressindicator, AlertViewController, Gestures screenview and picker view.
connectionTyperemains N/A if a device is using Wi-Fi when the app starts.DoPostOnScreenChangeis not working as expected, because of a temp queue.- Reporting of multiple carrier names in JSON for devices with Dual SIM is a beta feature. It is not fully used in reporting.
- If your iOS app is built on the React Native framework, keep in mind that there is an issue with dynamic builds. We will use a static version instead.
- Certain types of alerts may be replayed incorrectly.
- If a View Controller has more than one WKWebViews, gestures may be off by a few pixels.
Connect Android SDK 10.4.48 (Jun 16, 2025)
Improvements
- Added an auto instrumentation script for Connect Composable wrappers.
- Added a custom Button Composable wrapper.
- Added a Gesture event unique ID with Connect Wrappers.
- Renamed
contentDescriptiontomaskLabel()to differentiate our custom property from the semantic property. - Added a new privacy protection method for Jetpack Compose apps. It's now possible to mask any Composable with a simple
.connectMaskmodifier. For details, see Enable privacy protection in Android Compose apps.
Bug fixes
Fixed a Compose UI screenshot issue with screen transitions.
Our environment for this release
- macOS 15.3
- Android Studio Meerkat Feature Drop | 2024.3.2 Patch 1, Android 14 (API level 34). The minimum supported API level - Android 5.0 (API level 21).
Known issues
- We cannot guarantee that the current version of the library is compatible with Android apps using a mixture of the Traditional View-based UI and Jetpack Compose.
- Text change events are not supported yet.
Improvements
Added package_info_plus 8.3.0 support.
Bug fixes
None.
Our environment for this release
- Flutter SDK 3.27.4
- Visual Studio Code Version: 1.90.2 (Universal)
- Xcode 15.4
- macOS 15.2
- iOS 13.x to 18.x
- Android 21-35
Supported iOS architectures:
- simulator (arm64, x86_64)
- device (arm64)
Known issues
- Android app will have build issues on AS IDE LadyBug and newer, due to out-of-date packages.
- Only Android & iOS platforms are supported.
- When Navigation route isn't set, replay shows null screenview.
- Sometimes masking overlay carries to the next screen due to Flutter view tree design.
Improvements
Added Logger 2.0.0 support.
Our environment for this release
- Flutter SDK 3.27.4
- Visual Studio Code 1.90.2 (Universal)
- Xcode 15.4
- macOS 15.2
- iOS 13.x to 18.x
- Android 21-35
Supported iOS architectures:
- simulator (arm64, x86_64)
- device (arm64)
Connect iOS SDK 1.0.47 (Jan 23, 2025)
Bug fixes
- Fixed a validation issue with XCFramework signature.
- Fixed an issue with Swift Package checksum.
Our environment for this release
- Xcode 16.1
- macOS 15.0.1
- iOS 13.x to 18.x
Supported architectures:
- simulator (arm64, x86_64)
- device (arm64)
Known issues
- The library captures gestures even when the gestureRecognizer is set to NO. This is an Apple defect.
- On iPadOS, only single-window applications are supported.
- The pink border on the Gestures screenview is off when captured using ER because of timing or garbage collection.
- Template issue. The back link is missing during capture on some screens: Progressindicator, AlertViewController, the Gestures screenview and picker view.
- Template issue. The battery icon is not visible in green anymore.
connectionTyperemains N/A if a device is using Wi-Fi when the app starts.DoPostOnScreenChangeis not working as expected, because of a temp queue.- Reporting of multiple carrier names in JSON for devices with Dual SIM is a beta feature. It is not fully used in reporting.
- React Native apps may have issues with dynamic builds. Use the static version instead.
- Certain types of alerts may be replayed incorrectly.
- If a View Controller has more than one WKWebViews, gestures may be off by a few pixels.
Connect Android SDK 10.4.28 (Dec 17, 2024)
To update the library in your project, open the app-level build.gradle file and change the version number to 10.4.28.
dependencies {
implementation("io.github.go-acoustic:connect:10.4.28")
}Improvements
- The library now supports Android apps built with Jetpack Compose. You can check out how the library captures user sessions from our sample app or add the library to your own Compose-based app.
- We have simplified dependency requirements in build.gradle.
Our environment for this release
- macOS 15.0
- Android Studio Ladybug | 2024.2.1 Patch 3
- Android 14 (API level 34)
Known issues
- We are working on the processing of gesture events for apps with Compose-based UI. You may see a generic ComposeView control in session replays. Sometimes gesture events might show up under the next screen.
- We do not guarantee that the current version of the library is compatible with Android apps using a mixture of the Android View framework and Jetpack Compose.
Connect React Native SDK 16.0.39 (Nov 22, 2024)
The React Native version of the Connect library is available in the npm public registry - react-native-acoustic-connect.
Our environment for the release
- Xcode 16.1
- macOS 15.0.1
- iOS 13.x to 18.x
Supported iOS architectures:
- simulator: arm64 and x86_64
- device: arm64
Known issues
- On iPadOS, only single-window applications are fully supported.
- Reporting of multiple carrier names in JSON for devices with Dual SIM is a beta feature. It is not fully used in reporting.
Our environment for this release
- Flutter SDK 3.22.2
- Visual Studio Code 1.90.2 (Universal)
- Xcode 15.4
- macOS 14.5
- iOS 12.x to 15.x
- Android 21-34
Supported iOS architectures:
- simulator (arm64, x86_64)
- device (arm64)
Known issues
- Only the Android and iOS platforms are supported.
- When Navigation route isn't set, replay shows null screenview.
- Sometimes masking overlay carries to the next screen due to Flutter view tree design.
This is the first stable release of the Connect library for Flutter apps.
Our environment for this release
- Flutter SDK 3.22.2
- Visual Studio Code 1.90.2 (Universal)
- Xcode 15.4
- MacOS 14.5
- iOS 12.x to 15.x
- Android 21-34
Supported iOS architectures:
- simulator (arm64, x86_64)
- device (arm64)
Known issues
- Only the Android and iOS platforms are supported.
- When Navigation route isn't set, replay shows null screenview.
- Sometimes masking overlay carries to the next screen due to Flutter view tree design.
