From 6bb0f941526ff7039f349f80dcff36bb871ac4d4 Mon Sep 17 00:00:00 2001 From: Fiona Date: Thu, 27 Aug 2026 01:32:16 -0700 Subject: [PATCH] chore(release): 0.1.5 Fixes a startup crash introduced in 0.1.4. On an app whose styling library owns the element factory - anything built on css-interop - patching React.createElement routed every createElement call in the process, React's internals included, through machinery the host wrote for its own calls, and the heap grew until Hermes aborted. 0.1.3 never hit this because the assignment threw before it could take effect. That patch is now skipped once `jsxRuntimes` says where the app's elements come from. Nothing is lost: under the automatic JSX transform such an app never calls React.createElement, and the declared runtime is what records taps. Apps that declare nothing keep the previous behaviour. Also carries two corrections to how the property was replaced - an accessor is left to the host, and the saved original now comes from the same object the replacement lands on - which were needed but not sufficient on their own. Verified on a simulator release build of a css-interop based app: it starts, reports views and resources, and records taps. --- NATIVE_SDK_VERSIONS.md | 1 + lerna.json | 2 +- packages/codepush/package.json | 4 ++-- .../src/main/kotlin/com/datadog/reactnative/SdkVersion.kt | 2 +- packages/core/ios/Sources/SdkVersion.swift | 2 +- packages/core/package.json | 2 +- packages/core/src/version.ts | 2 +- packages/internal-testing-tools/package.json | 2 +- packages/react-native-apollo-client/package.json | 2 +- packages/react-native-babel-plugin/package.json | 2 +- packages/react-native-navigation/package.json | 4 ++-- packages/react-native-session-replay/package.json | 2 +- packages/react-native-webview/package.json | 2 +- packages/react-navigation/package.json | 4 ++-- yarn.lock | 8 ++++---- 15 files changed, 21 insertions(+), 20 deletions(-) diff --git a/NATIVE_SDK_VERSIONS.md b/NATIVE_SDK_VERSIONS.md index ed09dc60f..211d9774c 100644 --- a/NATIVE_SDK_VERSIONS.md +++ b/NATIVE_SDK_VERSIONS.md @@ -1,5 +1,6 @@ | React Native | iOS Bridge / iOS SDK | Android Bridge / Android SDK | |-------------|---------------------|-----------------------------| +| 0.1.5 | 0.5.0 | 0.5.0 | | 0.1.4 | 0.5.0 | 0.5.0 | | 0.1.3 | 0.5.0 | 0.5.0 | | 0.1.2 | 0.5.0 | 0.5.0 | diff --git a/lerna.json b/lerna.json index fd7c28795..b98da12ee 100644 --- a/lerna.json +++ b/lerna.json @@ -1,6 +1,6 @@ { "npmClient": "yarn", - "version": "0.1.4", + "version": "0.1.5", "packages": [ "packages/*" ], diff --git a/packages/codepush/package.json b/packages/codepush/package.json index 5a5f7d157..5e7cbf650 100644 --- a/packages/codepush/package.json +++ b/packages/codepush/package.json @@ -1,6 +1,6 @@ { "name": "@flashcatcloud/mobile-react-native-code-push", - "version": "0.1.4", + "version": "0.1.5", "description": "A client-side React Native module to interact with Appcenter Codepush and Datadog", "keywords": [ "datadog", @@ -39,7 +39,7 @@ "prepare": "rm -rf lib && yarn bob build" }, "devDependencies": { - "@flashcatcloud/mobile-react-native": "workspace:0.1.4", + "@flashcatcloud/mobile-react-native": "workspace:0.1.5", "@testing-library/react-native": "7.0.2", "react-native-builder-bob": "0.26.0", "react-native-code-push": "7.1.0" diff --git a/packages/core/android/src/main/kotlin/com/datadog/reactnative/SdkVersion.kt b/packages/core/android/src/main/kotlin/com/datadog/reactnative/SdkVersion.kt index 55b831894..7b1790e90 100644 --- a/packages/core/android/src/main/kotlin/com/datadog/reactnative/SdkVersion.kt +++ b/packages/core/android/src/main/kotlin/com/datadog/reactnative/SdkVersion.kt @@ -7,4 +7,4 @@ package com.datadog.reactnative // This is automatically updated by the update-version.sh script -internal const val SDK_VERSION = "0.1.4" +internal const val SDK_VERSION = "0.1.5" diff --git a/packages/core/ios/Sources/SdkVersion.swift b/packages/core/ios/Sources/SdkVersion.swift index f153c0bae..1cabde4d4 100644 --- a/packages/core/ios/Sources/SdkVersion.swift +++ b/packages/core/ios/Sources/SdkVersion.swift @@ -7,4 +7,4 @@ import Foundation // This is automatically updated by the update-version.sh script -let SdkVersion = "0.1.4" +let SdkVersion = "0.1.5" diff --git a/packages/core/package.json b/packages/core/package.json index 87a1d2731..582438c2e 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@flashcatcloud/mobile-react-native", - "version": "0.1.4", + "version": "0.1.5", "description": "A client-side React Native module to interact with Datadog", "keywords": [ "datadog", diff --git a/packages/core/src/version.ts b/packages/core/src/version.ts index 165a3aee4..97709bc56 100644 --- a/packages/core/src/version.ts +++ b/packages/core/src/version.ts @@ -1,2 +1,2 @@ // generated by genversion -export const version = '0.1.4'; +export const version = '0.1.5'; diff --git a/packages/internal-testing-tools/package.json b/packages/internal-testing-tools/package.json index 6e12454f6..e7934d6ec 100644 --- a/packages/internal-testing-tools/package.json +++ b/packages/internal-testing-tools/package.json @@ -1,6 +1,6 @@ { "name": "@flashcatcloud/react-native-internal-testing-tools", - "version": "0.1.4", + "version": "0.1.5", "description": "Internal tools for testing the Datadog React Native SDK.", "keywords": [ "datadog", diff --git a/packages/react-native-apollo-client/package.json b/packages/react-native-apollo-client/package.json index 7c0606f0a..69907e667 100644 --- a/packages/react-native-apollo-client/package.json +++ b/packages/react-native-apollo-client/package.json @@ -1,6 +1,6 @@ { "name": "@flashcatcloud/mobile-react-native-apollo-client", - "version": "0.1.4", + "version": "0.1.5", "private": true, "description": "A client-side React Native module to interact with Apollo Client and Datadog", "keywords": [ diff --git a/packages/react-native-babel-plugin/package.json b/packages/react-native-babel-plugin/package.json index 94e8e5071..6ffb9dc5c 100644 --- a/packages/react-native-babel-plugin/package.json +++ b/packages/react-native-babel-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@flashcatcloud/mobile-react-native-babel-plugin", - "version": "0.1.4", + "version": "0.1.5", "description": "A Babel plugin that enhances Datadog's React Native SDK by automatically enriching React components with contextual metadata.", "keywords": [ "babel", diff --git a/packages/react-native-navigation/package.json b/packages/react-native-navigation/package.json index 3de564d5b..202ad80a4 100644 --- a/packages/react-native-navigation/package.json +++ b/packages/react-native-navigation/package.json @@ -1,6 +1,6 @@ { "name": "@flashcatcloud/mobile-react-native-navigation", - "version": "0.1.4", + "version": "0.1.5", "description": "A client-side React Native module to interact with Datadog", "keywords": [ "datadog", @@ -36,7 +36,7 @@ "prepare": "rm -rf lib && yarn bob build" }, "devDependencies": { - "@flashcatcloud/mobile-react-native": "^0.1.4", + "@flashcatcloud/mobile-react-native": "^0.1.5", "@testing-library/react-native": "7.0.2", "react-native-builder-bob": "0.26.0", "react-native-gesture-handler": "1.10.3", diff --git a/packages/react-native-session-replay/package.json b/packages/react-native-session-replay/package.json index 1a879048d..ebb9606f8 100644 --- a/packages/react-native-session-replay/package.json +++ b/packages/react-native-session-replay/package.json @@ -1,6 +1,6 @@ { "name": "@flashcatcloud/mobile-react-native-session-replay", - "version": "0.1.4", + "version": "0.1.5", "description": "A client-side React Native module to enable session replay with Datadog", "keywords": [ "datadog", diff --git a/packages/react-native-webview/package.json b/packages/react-native-webview/package.json index c895d46be..9b1a501ca 100644 --- a/packages/react-native-webview/package.json +++ b/packages/react-native-webview/package.json @@ -1,6 +1,6 @@ { "name": "@flashcatcloud/mobile-react-native-webview", - "version": "0.1.4", + "version": "0.1.5", "description": "A client-side React Native module to interact with react-native-webview and Datadog", "keywords": [ "datadog", diff --git a/packages/react-navigation/package.json b/packages/react-navigation/package.json index ba079c2f0..01f9aeb45 100644 --- a/packages/react-navigation/package.json +++ b/packages/react-navigation/package.json @@ -1,6 +1,6 @@ { "name": "@flashcatcloud/mobile-react-navigation", - "version": "0.1.4", + "version": "0.1.5", "description": "A client-side React Native module to interact with Datadog", "keywords": [ "datadog", @@ -36,7 +36,7 @@ "prepare": "rm -rf lib && yarn bob build" }, "devDependencies": { - "@flashcatcloud/mobile-react-native": "^0.1.4", + "@flashcatcloud/mobile-react-native": "^0.1.5", "@react-navigation/native-v5": "npm:@react-navigation/native@5.9.8", "@react-navigation/native-v6": "npm:@react-navigation/native@6.1.2", "@react-navigation/stack-v5": "npm:@react-navigation/stack@5.14.2", diff --git a/yarn.lock b/yarn.lock index 8b6610ed1..f22e432c2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2535,7 +2535,7 @@ __metadata: version: 0.0.0-use.local resolution: "@flashcatcloud/mobile-react-native-code-push@workspace:packages/codepush" dependencies: - "@flashcatcloud/mobile-react-native": "workspace:0.1.4" + "@flashcatcloud/mobile-react-native": "workspace:0.1.5" "@testing-library/react-native": 7.0.2 react-native-builder-bob: 0.26.0 react-native-code-push: 7.1.0 @@ -2551,7 +2551,7 @@ __metadata: version: 0.0.0-use.local resolution: "@flashcatcloud/mobile-react-native-navigation@workspace:packages/react-native-navigation" dependencies: - "@flashcatcloud/mobile-react-native": ^0.1.4 + "@flashcatcloud/mobile-react-native": ^0.1.5 "@testing-library/react-native": 7.0.2 react-native-builder-bob: 0.26.0 react-native-gesture-handler: 1.10.3 @@ -2593,7 +2593,7 @@ __metadata: languageName: unknown linkType: soft -"@flashcatcloud/mobile-react-native@^0.1.4, @flashcatcloud/mobile-react-native@workspace:0.1.4, @flashcatcloud/mobile-react-native@workspace:packages/core": +"@flashcatcloud/mobile-react-native@^0.1.5, @flashcatcloud/mobile-react-native@workspace:0.1.5, @flashcatcloud/mobile-react-native@workspace:packages/core": version: 0.0.0-use.local resolution: "@flashcatcloud/mobile-react-native@workspace:packages/core" dependencies: @@ -2610,7 +2610,7 @@ __metadata: version: 0.0.0-use.local resolution: "@flashcatcloud/mobile-react-navigation@workspace:packages/react-navigation" dependencies: - "@flashcatcloud/mobile-react-native": ^0.1.4 + "@flashcatcloud/mobile-react-native": ^0.1.5 "@react-navigation/native-v5": "npm:@react-navigation/native@5.9.8" "@react-navigation/native-v6": "npm:@react-navigation/native@6.1.2" "@react-navigation/stack-v5": "npm:@react-navigation/stack@5.14.2"