@dynatrace/cordova-plugin 2.329.1 → 2.333.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/Package.swift +32 -0
  2. package/README.md +60 -19
  3. package/files/iOS/Dynatrace.xcframework/Info.plist +7 -7
  4. package/files/iOS/Dynatrace.xcframework/_CodeSignature/CodeDirectory +0 -0
  5. package/files/iOS/Dynatrace.xcframework/_CodeSignature/CodeRequirements-1 +0 -0
  6. package/files/iOS/Dynatrace.xcframework/_CodeSignature/CodeResources +69 -69
  7. package/files/iOS/Dynatrace.xcframework/_CodeSignature/CodeSignature +0 -0
  8. package/files/iOS/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Dynatrace +0 -0
  9. package/files/iOS/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Headers/Dynatrace.h +85 -41
  10. package/files/iOS/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Info.plist +0 -0
  11. package/files/iOS/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  12. package/files/iOS/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-ios.abi.json +2 -2
  13. package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Dynatrace +0 -0
  14. package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Headers/Dynatrace.h +85 -41
  15. package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Info.plist +0 -0
  16. package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  17. package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  18. package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-ios-simulator.abi.json +2 -2
  19. package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/x86_64-apple-ios-simulator.abi.json +2 -2
  20. package/files/iOS/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/_CodeSignature/CodeResources +15 -15
  21. package/files/iOS/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Dynatrace +0 -0
  22. package/files/iOS/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Headers/Dynatrace.h +85 -41
  23. package/files/iOS/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Info.plist +0 -0
  24. package/files/iOS/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-tvos.swiftsourceinfo +0 -0
  25. package/files/iOS/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Dynatrace +0 -0
  26. package/files/iOS/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Headers/Dynatrace.h +85 -41
  27. package/files/iOS/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Info.plist +0 -0
  28. package/files/iOS/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-tvos-simulator.swiftsourceinfo +0 -0
  29. package/files/iOS/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/x86_64-apple-tvos-simulator.swiftsourceinfo +0 -0
  30. package/files/iOS/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/_CodeSignature/CodeResources +11 -11
  31. package/files/plugin.gradle +1 -1
  32. package/package.json +13 -8
  33. package/plugin.xml +2 -2
  34. package/scripts/InstrumentCap.js +6 -1
  35. package/scripts/helpers/InstallHelper.js +70 -14
  36. package/scripts/helpers/PathHelper.js +16 -1
package/Package.swift ADDED
@@ -0,0 +1,32 @@
1
+ // swift-tools-version: 5.9
2
+
3
+ import PackageDescription
4
+
5
+ let package = Package(
6
+ name: "DynatraceCordovaPlugin",
7
+ platforms: [.iOS(.v15)],
8
+ products: [
9
+ .library(
10
+ name: "DynatraceCordovaPlugin",
11
+ targets: ["DynatraceCordovaPlugin"]
12
+ )
13
+ ],
14
+ dependencies: [
15
+ .package(url: "https://github.com/ionic-team/capacitor-swift-pm.git", from: "8.0.1")
16
+ ],
17
+ targets: [
18
+ .target(
19
+ name: "DynatraceCordovaPlugin",
20
+ dependencies: [
21
+ .product(name: "Cordova", package: "capacitor-swift-pm"),
22
+ "Dynatrace"
23
+ ],
24
+ path: "ios",
25
+ publicHeadersPath: "."
26
+ ),
27
+ .binaryTarget(
28
+ name: "Dynatrace",
29
+ path: "files/iOS/Dynatrace.xcframework"
30
+ )
31
+ ]
32
+ )
package/README.md CHANGED
@@ -22,17 +22,19 @@ For information as to why this is necessary, read more [here](#migration-from-ma
22
22
  * Gradle version 7.x+ ([How to update?](#updating-to-gradle-7))
23
23
  * Android Gradle Plugin version 7.0+
24
24
  * Java 11
25
+ * Jetpack Compose 1.4 - 1.10 - see [Compose Compatibility Note](#compose-compatibility-note)
25
26
  * For iOS users: Minimum iOS 12
26
27
  * For JavaScript Agent: access to API of cluster
27
28
  * Node: >= 20.x
28
29
  * Cordova: 10+
30
+ * Capacitor: 6+
29
31
 
30
32
  ## Agent Versions
31
33
 
32
34
  These agent versions are configured in this plugin:
33
35
 
34
- * Android Agent: 8.329.1.1014
35
- * iOS Agent: 8.329.1.1017
36
+ * Android Agent: 8.333.1.1006
37
+ * iOS Agent: 8.333.1.1005
36
38
 
37
39
  ## Quick Setup
38
40
 
@@ -81,6 +83,7 @@ These agent versions are configured in this plugin:
81
83
  * [Native OneAgent debug logs](#native-oneagent-debug-logs)
82
84
  * [Android](#android)
83
85
  * [iOS](#ios)
86
+ * [Compose Compatibility Note](#compose-compatibility-note)
84
87
  * [Official documentation](#official-documentation)
85
88
  * [Doctor Dynatrace](#doctor-dynatrace)
86
89
  * [Instrumentation Overhead](#instrumentation-overhead)
@@ -140,6 +143,8 @@ This screen shows what a `combined` sample user session should roughly look like
140
143
 
141
144
  To instrument your Ionic Capacitor app, you will need to follow the steps below:
142
145
 
146
+ **Note for Capacitor iOS:** Starting with Capacitor 8, new iOS projects by default use Swift Package Manager (SPM) instead of CocoaPods. The Dynatrace Cordova Plugin supports SPM based Cordova/Ionic + Capacitor projects. The steps are the same for both CocoaPods and SPM to setup/install the plugin.
147
+
143
148
  1. Install the Dynatrace Cordova Plugin via the following command:
144
149
  * `npm install @dynatrace/cordova-plugin`
145
150
  ** **Note:** If you do not want our plugin to modify your `package.json`, you can choose to opt-out of that process. See [opt-out](#opt-out) for more details.
@@ -152,25 +157,17 @@ hybridWebView {
152
157
  domains 'http://localhost', '.yourotherdomains.com'
153
158
  }
154
159
  ```
155
- 5. Run the following commands (replace `<platform>` with `ios` or `android`):
156
- * For Capacitor version < 3.1 and Ionic CLI >= 6.x
157
- * `ionic capacitor sync <platform>`
160
+ 5. Run the following commands (replace `<platform>` with `ios` or `android`) for instrumentation:
161
+ * If using **Ionic CLI**:
162
+ * `ionic capacitor run <platform>`
163
+ * `ionic capacitor sync <platform> && ionic capacitor open <platform>`
158
164
  * `ionic capacitor build <platform>`
159
-
160
- * For Capacitor version >= 3.1 use any of the following commands for instrumentation:
161
- * If using **Ionic CLI**:
162
- * `ionic capacitor run <platform>`
163
- * `ionic capacitor sync <platform> && ionic capacitor open <platform>`
164
- * `ionic capacitor build <platform>`
165
- * If using **Capacitor CLI**:
166
- * `capacitor run <platform>`
167
- * `capacitor sync <platform> && capacitor open <platform>`
165
+ * If using **Capacitor CLI**:
166
+ * `capacitor run <platform>`
167
+ * `capacitor sync <platform> && capacitor open <platform>`
168
168
 
169
169
  6. Run your application (if you did not use the **run** command)
170
170
 
171
- **Note:**
172
- Capacitor 3.1 added new hooks inside of their CLI. This allows us to instrument your application when using the `ionic capacitor run` or `capacitor run` commands.
173
-
174
171
  ## Opt out
175
172
 
176
173
  You can opt-out of having your `package.json` modified by our plugin. By default, we add the hook required to properly instrument your application. To prevent issues with git, using this opt-out feature will no longer have our plugin modify your `package.json`.
@@ -183,9 +180,9 @@ If using this feature, you will need to manually add the following hook to your
183
180
  ```js
184
181
  "scripts": {
185
182
  ...
186
- // capacitor 3.0 or lower:
183
+ // Option 1 (if using ionic + capacitor)
187
184
  "ionic:capacitor:build:before": "node node_modules/@dynatrace/cordova-plugin/scripts/InstrumentCap.js"
188
- // capacitor 3.1 or higher:
185
+ // Option 2 (if using cordova + capacitor or ionic + capacitor)
189
186
  "capacitor:sync:after": "node node_modules/@dynatrace/cordova-plugin/scripts/InstrumentCap.js"
190
187
  },
191
188
  ```
@@ -879,6 +876,41 @@ ios: {
879
876
  }
880
877
  ```
881
878
 
879
+ ## Compose Compatibility Note
880
+
881
+ Our Android Agent currently supports **Jetpack Compose 1.4 - 1.10**. If you are using an incompatible version of Jetpack Compose, you may encounter the following error message during build:
882
+
883
+ ```
884
+ Could not resolve all dependencies for configuration ':app:debugCompileClasspath'.
885
+ Version '1.0.0' of artifact 'androidx.compose.material:material' is not supported.
886
+ Please use the latest version of the Dynatrace Android Gradle plugin.
887
+ ```
888
+
889
+ If you encounter compatibility issues or want to disable Jetpack Compose instrumentation, you can configure this in your `dynatrace.config.js` file. **Note: Disabling Jetpack Compose instrumentation will skip the compatibility check, allowing you to build with any version of Jetpack Compose without triggering version validation errors.**
890
+
891
+ **Important**: The configuration example below shows **only the Compose-specific setting**. You must ensure that your complete `dynatrace.config.js` file includes all other required configuration settings (such as `beaconUrl`, `applicationId`, etc.) as described in the [Android block](#mobile-agent-configuration) section of this documentation.
892
+
893
+ ```js
894
+ module.exports = {
895
+ // ...
896
+ android: {
897
+ config: `
898
+ dynatrace {
899
+ configurations {
900
+ defaultConfig {
901
+ userActions {
902
+ composeEnabled false
903
+ }
904
+ }
905
+ }
906
+ }
907
+ `,
908
+ }
909
+ };
910
+ ```
911
+
912
+ For more information about Jetpack Compose instrumentation and monitoring capabilities, please refer to the [official Dynatrace documentation for Android OneAgent](https://docs.dynatrace.com/docs/observe/digital-experience/mobile-applications/instrument-android-app/instrumentation-via-plugin/monitoring-capabilities#compose-enable).
913
+
882
914
  ## Official documentation
883
915
 
884
916
  * Android Agent: https://www.dynatrace.com/support/help/technology-support/operating-systems/android/
@@ -943,6 +975,15 @@ When using Apple Pay with WKWebView, there are specific checks that WebKit (Appl
943
975
 
944
976
  ## Changelog
945
977
 
978
+ 2.333.1
979
+ * Updated Android (8.333.1.1006) & iOS Agent (8.333.1.1005)
980
+ * Dropped support for Capacitor 5 and lower as they are no longer supported [per Capacitor Support Status](https://capacitorjs.com/docs/main/reference/support-policy#capacitor-maintenance-and-support-status)
981
+
982
+ 2.331.1
983
+ * Updated Android (8.331.1.1004) & iOS Agent (8.331.1.1008)
984
+ * Added Swift Package Manager (SPM) support for Capacitor iOS projects
985
+ * Added [Compose Compatibility Note](#compose-compatibility-note)
986
+
946
987
  2.329.1
947
988
  * Updated Android (8.329.1.1014) & iOS Agent (8.329.1.1017)
948
989
  * Updated logic for dynatraceMobile API for iOS to use messageHandler if there is no script injection in WKWebView (see [iOS only configuration](#ios-only-configuration))
@@ -8,15 +8,18 @@
8
8
  <key>BinaryPath</key>
9
9
  <string>Dynatrace.framework/Dynatrace</string>
10
10
  <key>LibraryIdentifier</key>
11
- <string>ios-arm64</string>
11
+ <string>tvos-arm64_x86_64-simulator</string>
12
12
  <key>LibraryPath</key>
13
13
  <string>Dynatrace.framework</string>
14
14
  <key>SupportedArchitectures</key>
15
15
  <array>
16
16
  <string>arm64</string>
17
+ <string>x86_64</string>
17
18
  </array>
18
19
  <key>SupportedPlatform</key>
19
- <string>ios</string>
20
+ <string>tvos</string>
21
+ <key>SupportedPlatformVariant</key>
22
+ <string>simulator</string>
20
23
  </dict>
21
24
  <dict>
22
25
  <key>BinaryPath</key>
@@ -53,18 +56,15 @@
53
56
  <key>BinaryPath</key>
54
57
  <string>Dynatrace.framework/Dynatrace</string>
55
58
  <key>LibraryIdentifier</key>
56
- <string>tvos-arm64_x86_64-simulator</string>
59
+ <string>ios-arm64</string>
57
60
  <key>LibraryPath</key>
58
61
  <string>Dynatrace.framework</string>
59
62
  <key>SupportedArchitectures</key>
60
63
  <array>
61
64
  <string>arm64</string>
62
- <string>x86_64</string>
63
65
  </array>
64
66
  <key>SupportedPlatform</key>
65
- <string>tvos</string>
66
- <key>SupportedPlatformVariant</key>
67
- <string>simulator</string>
67
+ <string>ios</string>
68
68
  </dict>
69
69
  </array>
70
70
  <key>CFBundlePackageType</key>