Skip to content

Commit 92079a0

Browse files
chore(deps): Hotfix: update Cocoa SDK from 8.29.1 to 8.36.0 (#4102)
* Bumps cocoa from 8.29.1 to 8.36.0 * removed duplicate SentryTraceHeader definition * Update CHANGELOG.md * fix(metro): Fix sourceMapString is not a function, support [email protected] (see #4004) * misc: Update to RN 0.73.9, fix CI flipper error (see #3981) * use fixed version of react-native-gesture-handler --------- Co-authored-by: lucas <[email protected]>
1 parent 788e2a2 commit 92079a0

File tree

14 files changed

+5606
-9833
lines changed

14 files changed

+5606
-9833
lines changed

.github/workflows/e2e.yml

Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -168,15 +168,15 @@ jobs:
168168
strategy:
169169
fail-fast: false # keeps matrix running if one fails
170170
matrix:
171-
rn-version: ['0.65.3', '0.73.2']
171+
rn-version: ['0.65.3', '0.73.9']
172172
rn-architecture: ['legacy', 'new']
173173
platform: ['android', 'ios']
174174
build-type: ['production']
175175
ios-use-frameworks: ['no', 'static', 'dynamic']
176176
engine: ['hermes', 'jsc']
177177
include:
178178
- platform: ios
179-
rn-version: '0.73.2'
179+
rn-version: '0.73.9'
180180
runs-on: macos-14 # uses m1 https://github.blog/changelog/2024-01-30-github-actions-macos-14-sonoma-is-now-available/
181181
runtime: 'latest'
182182
device: 'iPhone 14'
@@ -189,7 +189,7 @@ jobs:
189189
runs-on: ubuntu-latest
190190
exclude:
191191
# exclude JSC for new RN versions (keeping the matrix manageable)
192-
- rn-version: '0.73.2'
192+
- rn-version: '0.73.9'
193193
engine: 'jsc'
194194
# exclude all rn versions lower than 0.70.0 for new architecture
195195
- rn-version: '0.65.3'
@@ -231,6 +231,10 @@ jobs:
231231
- run: sudo xcode-select -s /Applications/Xcode_14.2.app/Contents/Developer
232232
if: ${{ matrix.platform == 'ios' && matrix.rn-version == '0.65.3' }}
233233

234+
- name: Enable Corepack # RN 0.73.9 and newer are using yarn 3 which requires corepack
235+
if: ${{ matrix.rn-version == '0.73.9' }}
236+
run: corepack enable
237+
234238
- uses: actions/setup-node@v4
235239
with:
236240
node-version: 18
@@ -304,9 +308,21 @@ jobs:
304308
working-directory: test/react-native/versions/${{ matrix.rn-version }}/RnDiffApp
305309
run: yalc add @sentry/react-native
306310

307-
- name: Install App JS Dependencies
311+
- name: Install App JS Dependencies (yarn v1)
308312
working-directory: test/react-native/versions/${{ matrix.rn-version }}/RnDiffApp
309-
run: yarn install
313+
if: ${{ matrix.rn-version != '0.73.9' }}
314+
run: |
315+
yarn install
316+
317+
- name: Install App JS Dependencies (yarn v3)
318+
working-directory: test/react-native/versions/${{ matrix.rn-version }}/RnDiffApp
319+
if: ${{ matrix.rn-version == '0.73.9' }}
320+
run: |
321+
rm -f .yarnrc.yml # original yarnrc contains the exact yarn version which causes corepack to fail to install yarn v3
322+
echo "nodeLinker: node-modules" > .yarnrc.yml # RN build script require dependencies to be present in node_modules
323+
touch yarn.lock # yarn v3 won't install dependencies in a sub project without a yarn.lock file present
324+
export YARN_ENABLE_IMMUTABLE_INSTALLS=false # yarn v3 run immutable install by default in CI
325+
yarn install
310326
311327
- name: Add E2E Tests Library to App
312328
working-directory: test/react-native/versions/${{ matrix.rn-version }}/RnDiffApp
@@ -328,8 +344,9 @@ jobs:
328344
working-directory: test/react-native/versions/${{ matrix.rn-version }}/RnDiffApp/ios
329345
run: |
330346
../../../../rn.patch.podfile.js --pod-file Podfile --engine ${{ matrix.engine }}
331-
[[ "${{ matrix.ios-use-frameworks }}" == "static" ]] && export USE_FRAMEWORKS=static && export NO_FLIPPER=1
332-
[[ "${{ matrix.ios-use-frameworks }}" == "dynamic" ]] && export USE_FRAMEWORKS=dynamic && export NO_FLIPPER=1
347+
export NO_FLIPPER=1 # Flipper is causing build issues on iOS, so we disable it
348+
[[ "${{ matrix.ios-use-frameworks }}" == "static" ]] && export USE_FRAMEWORKS=static
349+
[[ "${{ matrix.ios-use-frameworks }}" == "dynamic" ]] && export USE_FRAMEWORKS=dynamic
333350
[[ "${{ matrix.build-type }}" == "production" ]] && ENABLE_PROD=1 || ENABLE_PROD=0
334351
[[ "${{ matrix.rn-architecture }}" == "new" ]] && ENABLE_NEW_ARCH=1 || ENABLE_NEW_ARCH=0
335352
[[ "${{ matrix.rn-version }}" == "0.65.3" ]] && POD_INSTALL_COMMNAND="pod install" || POD_INSTALL_COMMNAND="bundle exec pod install"
@@ -445,15 +462,15 @@ jobs:
445462
strategy:
446463
fail-fast: false # keeps matrix running if one fails
447464
matrix:
448-
rn-version: ['0.65.3', '0.73.2']
465+
rn-version: ['0.65.3', '0.73.9']
449466
rn-architecture: ['legacy', 'new']
450467
platform: ['android', 'ios']
451468
build-type: ['production']
452469
ios-use-frameworks: ['no'] # test only no framworks
453470
engine: ['hermes', 'jsc']
454471
include:
455472
- platform: ios
456-
rn-version: '0.73.2'
473+
rn-version: '0.73.9'
457474
runs-on: macos-14 # uses m1 https://github.blog/changelog/2024-01-30-github-actions-macos-14-sonoma-is-now-available/
458475
runtime: 'latest'
459476
device: 'iPhone 14'
@@ -471,10 +488,10 @@ jobs:
471488
# e2e test only the default combinations
472489
- rn-version: '0.65.3'
473490
engine: 'hermes'
474-
- rn-version: '0.73.2'
491+
- rn-version: '0.73.9'
475492
engine: 'jsc'
476493
# E2E timeout due to a race condition https://github.com/facebook/react-native/issues/42123#issuecomment-1881203719
477-
- rn-version: '0.73.2'
494+
- rn-version: '0.73.9'
478495
platform: 'ios'
479496
rn-architecture: 'new'
480497
env:

.github/workflows/sample-application.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,9 +108,10 @@ jobs:
108108
[[ "${{ matrix.platform }}" == "ios" ]] && cd ios
109109
[[ "${{ matrix.platform }}" == "macos" ]] && cd macos
110110
111+
export NO_FLIPPER=1 # Flipper is causing build issues on iOS, so we disable it
111112
[[ "${{ matrix.build-type }}" == "production" ]] && ENABLE_PROD=1 || ENABLE_PROD=0
112113
[[ "${{ matrix.rn-architecture }}" == "new" ]] && ENABLE_NEW_ARCH=1 || ENABLE_NEW_ARCH=0
113-
[[ "${{ matrix.ios-use-frameworks }}" == "dynamic-frameworks" ]] && export USE_FRAMEWORKS=dynamic && export NO_FLIPPER=1
114+
[[ "${{ matrix.ios-use-frameworks }}" == "dynamic-frameworks" ]] && export USE_FRAMEWORKS=dynamic
114115
echo "ENABLE_PROD=$ENABLE_PROD"
115116
echo "ENABLE_NEW_ARCH=$ENABLE_NEW_ARCH"
116117
PRODUCTION=$ENABLE_PROD RCT_NEW_ARCH_ENABLED=$ENABLE_NEW_ARCH bundle exec pod install

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
# Changelog
22

3+
## Unreleased
4+
5+
### Fixes
6+
7+
- Support `[email protected]` new `sourceMapString` export ([#4004](https://github.com/getsentry/sentry-react-native/pull/4004))
8+
9+
### Dependencies
10+
11+
- Bump Cocoa SDK from v8.29.1 to v8.36.0 ([#4102](https://github.com/getsentry/sentry-react-native/pull/4102))
12+
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8360)
13+
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.29.1...8.36.0)
14+
315
## 5.24.2
416

517
### Features

RNSentry.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Pod::Spec.new do |s|
3333
s.preserve_paths = '*.js'
3434

3535
s.dependency 'React-Core'
36-
s.dependency 'Sentry/HybridSDK', '8.29.1'
36+
s.dependency 'Sentry/HybridSDK', '8.36.0'
3737

3838
s.source_files = 'ios/**/*.{h,m,mm}'
3939
s.public_header_files = 'ios/RNSentry.h'

ios/RNSentry.mm

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,6 @@
4343
#import "RNSentryFramesTrackerListener.h"
4444
#endif
4545

46-
@interface SentryTraceContext : NSObject
47-
- (nullable instancetype)initWithDict:(NSDictionary<NSString *, id> *)dictionary;
48-
@end
49-
5046
@interface SentrySDK (RNSentry)
5147

5248
+ (void)captureEnvelope:(SentryEnvelope *)envelope;

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,10 +103,10 @@
103103
"jest-environment-jsdom": "^29.6.2",
104104
"jest-extended": "^4.0.2",
105105
"madge": "^6.1.0",
106-
"metro": "0.76",
106+
"metro": "0.80.10",
107107
"prettier": "^2.0.5",
108108
"react": "18.2.0",
109-
"react-native": "0.73.2",
109+
"react-native": "0.73.9",
110110
"react-native-version": "^4.0.0",
111111
"react-test-renderer": "^18.2.0",
112112
"replace-in-file": "^7.0.1",

samples/react-native/Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ source 'https://rubygems.org'
44
ruby "3.3.0"
55

66
gem 'cocoapods', '1.15.2'
7-
gem 'activesupport', '>= 6.1.7.3', '< 7.1.0'
7+
gem 'activesupport', '>= 6.1.7.5', '< 7.1.0'
88
gem 'fastlane', '2.220.0'

samples/react-native/Gemfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ PLATFORMS
273273
x86_64-darwin-20
274274

275275
DEPENDENCIES
276-
activesupport (>= 6.1.7.3, < 7.1.0)
276+
activesupport (>= 6.1.7.5, < 7.1.0)
277277
cocoapods (= 1.15.2)
278278
fastlane (= 2.220.0)
279279

samples/react-native/ios/sentryreactnativesample.xcodeproj/project.pbxproj

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
338BBBC82B614FA10035844C /* NativePlatformSampleModule.mm in Sources */ = {isa = PBXBuildFile; fileRef = 338BBBC62B614FA10035844C /* NativePlatformSampleModule.mm */; };
1515
33E2D62A29A7719600B5042B /* RCTAssetsModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 33E2D62829A7719600B5042B /* RCTAssetsModule.m */; };
1616
5ACADB1A9924EDD0850FACBA /* libPods-sentryreactnativesample-sentryreactnativesampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AFC2BCCFBDE2DC231B5C04E5 /* libPods-sentryreactnativesample-sentryreactnativesampleTests.a */; };
17+
723FB93385E08A7032AE82F4 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 916F55A329D66130A4DFF319 /* PrivacyInfo.xcprivacy */; };
1718
81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
1819
F998F5A3F1731876C4EDA235 /* libPods-sentryreactnativesample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CA08EE94AE203638B8C8B74B /* libPods-sentryreactnativesample.a */; };
1920
/* End PBXBuildFile section */
@@ -47,6 +48,7 @@
4748
5B7EB9410499542E8C5724F5 /* Pods-sentryreactnativesample-sentryreactnativesampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sentryreactnativesample-sentryreactnativesampleTests.debug.xcconfig"; path = "Target Support Files/Pods-sentryreactnativesample-sentryreactnativesampleTests/Pods-sentryreactnativesample-sentryreactnativesampleTests.debug.xcconfig"; sourceTree = "<group>"; };
4849
81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = sentryreactnativesample/LaunchScreen.storyboard; sourceTree = "<group>"; };
4950
89C6BE57DB24E9ADA2F236DE /* Pods-sentryreactnativesample-sentryreactnativesampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sentryreactnativesample-sentryreactnativesampleTests.release.xcconfig"; path = "Target Support Files/Pods-sentryreactnativesample-sentryreactnativesampleTests/Pods-sentryreactnativesample-sentryreactnativesampleTests.release.xcconfig"; sourceTree = "<group>"; };
51+
916F55A329D66130A4DFF319 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = sentryreactnativesample/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
5052
AFC2BCCFBDE2DC231B5C04E5 /* libPods-sentryreactnativesample-sentryreactnativesampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-sentryreactnativesample-sentryreactnativesampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
5153
CA08EE94AE203638B8C8B74B /* libPods-sentryreactnativesample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-sentryreactnativesample.a"; sourceTree = BUILT_PRODUCTS_DIR; };
5254
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
@@ -102,6 +104,7 @@
102104
13B07FB61A68108700A75B9A /* Info.plist */,
103105
81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */,
104106
13B07FB71A68108700A75B9A /* main.m */,
107+
916F55A329D66130A4DFF319 /* PrivacyInfo.xcprivacy */,
105108
);
106109
name = sentryreactnativesample;
107110
sourceTree = "<group>";
@@ -254,6 +257,7 @@
254257
files = (
255258
81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */,
256259
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
260+
723FB93385E08A7032AE82F4 /* PrivacyInfo.xcprivacy in Resources */,
257261
);
258262
runOnlyForDeploymentPostprocessing = 0;
259263
};
@@ -626,19 +630,18 @@
626630
);
627631
MTL_ENABLE_DEBUG_INFO = YES;
628632
ONLY_ACTIVE_ARCH = YES;
629-
OTHER_CFLAGS = "$(inherited) ";
633+
OTHER_CFLAGS = (
634+
"$(inherited)",
635+
" ",
636+
);
630637
OTHER_CPLUSPLUSFLAGS = (
631638
"$(OTHER_CFLAGS)",
632639
"-DFOLLY_NO_CONFIG",
633640
"-DFOLLY_MOBILE=1",
634641
"-DFOLLY_USE_LIBCPP=1",
635642
"-DRN_FABRIC_ENABLED",
636643
);
637-
OTHER_LDFLAGS = (
638-
"$(inherited)",
639-
"-Wl",
640-
"-ld_classic",
641-
);
644+
OTHER_LDFLAGS = "$(inherited)";
642645
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
643646
SDKROOT = iphoneos;
644647
SENTRY_INCLUDE_NATIVE_SOURCES = false;
@@ -710,18 +713,17 @@
710713
"\"$(inherited)\"",
711714
);
712715
MTL_ENABLE_DEBUG_INFO = NO;
713-
OTHER_CFLAGS = "$(inherited) ";
716+
OTHER_CFLAGS = (
717+
"$(inherited)",
718+
" ",
719+
);
714720
OTHER_CPLUSPLUSFLAGS = (
715721
"$(OTHER_CFLAGS)",
716722
"-DFOLLY_NO_CONFIG",
717723
"-DFOLLY_MOBILE=1",
718724
"-DFOLLY_USE_LIBCPP=1",
719725
);
720-
OTHER_LDFLAGS = (
721-
"$(inherited)",
722-
"-Wl",
723-
"-ld_classic",
724-
);
726+
OTHER_LDFLAGS = "$(inherited)";
725727
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
726728
SDKROOT = iphoneos;
727729
SENTRY_INCLUDE_NATIVE_SOURCES = false;
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>NSPrivacyAccessedAPITypes</key>
6+
<array>
7+
<dict>
8+
<key>NSPrivacyAccessedAPIType</key>
9+
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
10+
<key>NSPrivacyAccessedAPITypeReasons</key>
11+
<array>
12+
<string>CA92.1</string>
13+
</array>
14+
</dict>
15+
<dict>
16+
<key>NSPrivacyAccessedAPIType</key>
17+
<string>NSPrivacyAccessedAPICategorySystemBootTime</string>
18+
<key>NSPrivacyAccessedAPITypeReasons</key>
19+
<array>
20+
<string>35F9.1</string>
21+
</array>
22+
</dict>
23+
<dict>
24+
<key>NSPrivacyAccessedAPIType</key>
25+
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
26+
<key>NSPrivacyAccessedAPITypeReasons</key>
27+
<array>
28+
<string>C617.1</string>
29+
</array>
30+
</dict>
31+
</array>
32+
<key>NSPrivacyCollectedDataTypes</key>
33+
<array>
34+
<dict>
35+
<key>NSPrivacyCollectedDataType</key>
36+
<string>NSPrivacyCollectedDataTypeCrashData</string>
37+
<key>NSPrivacyCollectedDataTypeLinked</key>
38+
<false/>
39+
<key>NSPrivacyCollectedDataTypePurposes</key>
40+
<array>
41+
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
42+
</array>
43+
<key>NSPrivacyCollectedDataTypeTracking</key>
44+
<false/>
45+
</dict>
46+
<dict>
47+
<key>NSPrivacyCollectedDataType</key>
48+
<string>NSPrivacyCollectedDataTypePerformanceData</string>
49+
<key>NSPrivacyCollectedDataTypeLinked</key>
50+
<false/>
51+
<key>NSPrivacyCollectedDataTypePurposes</key>
52+
<array>
53+
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
54+
</array>
55+
<key>NSPrivacyCollectedDataTypeTracking</key>
56+
<false/>
57+
</dict>
58+
<dict>
59+
<key>NSPrivacyCollectedDataType</key>
60+
<string>NSPrivacyCollectedDataTypeOtherDiagnosticData</string>
61+
<key>NSPrivacyCollectedDataTypeLinked</key>
62+
<false/>
63+
<key>NSPrivacyCollectedDataTypePurposes</key>
64+
<array>
65+
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
66+
</array>
67+
<key>NSPrivacyCollectedDataTypeTracking</key>
68+
<false/>
69+
</dict>
70+
</array>
71+
</dict>
72+
</plist>

0 commit comments

Comments
 (0)