Skip to content

Commit f8289de

Browse files
Merge branch 'main' into hotfix/6.9.1
2 parents 49b4e36 + 4ed9c54 commit f8289de

32 files changed

+311
-217
lines changed

.github/ISSUE_TEMPLATE/BUG_REPORT.yml

+33-31
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,63 @@
1-
name: "🐞 Bug Report"
1+
name: '🐞 Bug Report'
22
description: "Tell us about something that's not working the way we (probably) intend."
3-
labels: ["Platform: React-Native", "Type: 🪲 Bug"]
3+
labels: ['Platform: React-Native', 'Type: 🪲 Bug']
4+
type: Bug
45
body:
56
- type: dropdown
67
id: environment
78
validations:
89
required: true
910
attributes:
10-
label: "What React Native libraries do you use?"
11-
description: "Select all options that describe your application."
11+
label: 'What React Native libraries do you use?'
12+
description: 'Select all options that describe your application.'
1213
multiple: true
1314
options:
14-
- "React Native without Frameworks"
15-
- "React Navigation"
16-
- "Hermes"
17-
- "RN New Architecture"
18-
- "Expo Application Services (EAS)"
19-
- "Expo (mobile only)"
20-
- "Expo Web"
21-
- "Expo Router"
22-
- "React Native Web"
23-
- "React Native Navigation by Wix"
15+
- 'React Native without Frameworks'
16+
- 'React Navigation'
17+
- 'Hermes'
18+
- 'RN New Architecture'
19+
- 'Expo Application Services (EAS)'
20+
- 'Expo (mobile only)'
21+
- 'Expo Web'
22+
- 'Expo Router'
23+
- 'React Native Web'
24+
- 'React Native Navigation by Wix'
2425

2526
- type: dropdown
2627
id: sentry
2728
validations:
2829
required: true
2930
attributes:
30-
label: "Are you using sentry.io or on-premise?"
31-
description: "Select exactly one option."
31+
label: 'Are you using sentry.io or on-premise?'
32+
description: 'Select exactly one option.'
3233
options:
33-
- "sentry.io (SaS)"
34-
- "on-premise (Self-Hosted)"
34+
- 'sentry.io (SaS)'
35+
- 'on-premise (Self-Hosted)'
3536

3637
- type: input
3738
id: version
3839
validations:
3940
required: true
4041
attributes:
41-
label: "@sentry/react-native SDK Version"
42-
description: "If the issue started after the SDK upgrade, please input both old and new versions."
43-
placeholder: "5.33.1 ← should look like this"
42+
label: '@sentry/react-native SDK Version'
43+
description: 'If the issue started after the SDK upgrade, please input both old and new versions.'
44+
placeholder: '5.33.1 ← should look like this'
4445

4546
- type: textarea
4647
id: doctor
4748
validations:
4849
required: true
4950
attributes:
50-
label: "How does your development environment look like?"
51-
description: "Output of the command `npx react-native@latest info` or manully describe your development environment?"
51+
label: 'How does your development environment look like?'
52+
description:
53+
'Output of the command `npx react-native@latest info` or manully describe your development environment?'
5254
placeholder: |-
5355
info Fetching system and libraries information...
5456
OS: OS version
5557
Node: Your version
5658
Yarn: Yarn version
5759
Expo SDK: Expo SDK version
58-
react: React version
60+
react: React version
5961
react-native: React Native version
6062
hermesEnabled: bool
6163
newArchEnabled: bool
@@ -65,8 +67,8 @@ body:
6567
validations:
6668
required: true
6769
attributes:
68-
label: "Sentry.init()"
69-
description: "Code snipped of Sentry initialization from your application."
70+
label: 'Sentry.init()'
71+
description: 'Code snipped of Sentry initialization from your application.'
7072
placeholder: |-
7173
Sentry.init({
7274
dsn: 'https://[email protected]/...'
@@ -78,10 +80,10 @@ body:
7880
validations:
7981
required: true
8082
attributes:
81-
label: "Steps to Reproduce"
83+
label: 'Steps to Reproduce'
8284
description: "How can we see what you're seeing? Specific is terrific."
8385
placeholder: |-
84-
1. Build Android using `npx react-native run-android --mode Debug`
86+
1. Build Android using `npx react-native run-android --mode Debug`
8587
2. Start Metro Dev server using `npx react-native start`
8688
3. Click on button executing `Sentry.capture(new Error("This is not captured :("))`
8789
@@ -90,15 +92,15 @@ body:
9092
validations:
9193
required: true
9294
attributes:
93-
label: "Expected Result"
95+
label: 'Expected Result'
9496

9597
- type: textarea
9698
id: actual
9799
validations:
98100
required: true
99101
attributes:
100-
label: "Actual Result"
101-
description: "JS Console? iOS Console? Logcat? Screenshots? Yes, please."
102+
label: 'Actual Result'
103+
description: 'JS Console? iOS Console? Logcat? Screenshots? Yes, please.'
102104

103105
- type: markdown
104106
attributes:

.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md

-7
This file was deleted.
+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: 💡 Feature Request
2+
description: Tell us about a problem our SDK could solve but doesn't.
3+
labels: ['Platform: React-Native', 'enhancement']
4+
type: Feature
5+
body:
6+
- type: textarea
7+
id: problem
8+
attributes:
9+
label: Problem Statement
10+
description: What problem could Sentry solve that it doesn't?
11+
placeholder: |-
12+
I want to make whirled peas, but Sentry doesn't blend.
13+
validations:
14+
required: true
15+
16+
- type: textarea
17+
id: expected
18+
attributes:
19+
label: Solution Brainstorm
20+
description: We know you have bright ideas to share ... share away, friend.
21+
placeholder: |-
22+
Add a blender to Sentry.
23+
24+
- type: dropdown
25+
id: submit-a-pr
26+
attributes:
27+
label: Are you willing to submit a PR?
28+
description: We accept contributions!
29+
options:
30+
- 'Yes'
31+
- 'No'
32+
33+
- type: markdown
34+
attributes:
35+
value: |-
36+
## Thanks 🙏
37+
Check our [triage docs](https://open.sentry.io/triage/) for what to expect next.

.github/workflows/codeql-analysis.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444

4545
# Initializes the CodeQL tools for scanning.
4646
- name: Initialize CodeQL
47-
uses: github/codeql-action/init@9e8d0789d4a0fa9ceb6b1738f7e269594bdd67f0 # [email protected].9
47+
uses: github/codeql-action/init@6bb031afdd8eb862ea3fc1848194185e076637e5 # [email protected].11
4848
with:
4949
languages: ${{ matrix.language }}
5050
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -55,7 +55,7 @@ jobs:
5555
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
5656
# If this step fails, then you should remove it and run the build manually (see below)
5757
- name: Autobuild
58-
uses: github/codeql-action/autobuild@9e8d0789d4a0fa9ceb6b1738f7e269594bdd67f0 # [email protected].9
58+
uses: github/codeql-action/autobuild@6bb031afdd8eb862ea3fc1848194185e076637e5 # [email protected].11
5959

6060
# ℹ️ Command-line programs to run using the OS shell.
6161
# 📚 https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions
@@ -66,4 +66,4 @@ jobs:
6666
# make bootstrap
6767
# make release
6868
- name: Perform CodeQL Analysis
69-
uses: github/codeql-action/analyze@9e8d0789d4a0fa9ceb6b1738f7e269594bdd67f0 # [email protected].9
69+
uses: github/codeql-action/analyze@6bb031afdd8eb862ea3fc1848194185e076637e5 # [email protected].11

.github/workflows/e2e.yml

+5-3
Original file line numberDiff line numberDiff line change
@@ -171,9 +171,11 @@ jobs:
171171
include:
172172
- platform: ios
173173
rn-version: '0.77.1'
174-
runs-on: macos-14
174+
xcode-version: '16.2'
175+
runs-on: macos-15
175176
- platform: ios
176177
rn-version: '0.65.3'
178+
xcode-version: '14.2'
177179
runs-on: macos-13
178180
- platform: android
179181
runs-on: ubuntu-latest
@@ -221,8 +223,8 @@ jobs:
221223
echo "SENTRY_RELEASE=$SENTRY_RELEASE"
222224
echo "SENTRY_DIST=$SENTRY_DIST"
223225
224-
- run: sudo xcode-select -s /Applications/Xcode_14.2.app/Contents/Developer
225-
if: ${{ matrix.platform == 'ios' && matrix.rn-version == '0.65.3' }}
226+
- run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode-version }}.app/Contents/Developer
227+
if: ${{ matrix.platform == 'ios' }}
226228

227229
- run: corepack enable
228230
- uses: actions/setup-node@v4

.github/workflows/release.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
steps:
2020
- name: Get auth token
2121
id: token
22-
uses: actions/create-github-app-token@0d564482f06ca65fa9e77e2510873638c82206f2 # v1.11.5
22+
uses: actions/create-github-app-token@21cfef2b496dd8ef5b904c159339626a10ad380e # v1.11.6
2323
with:
2424
app-id: ${{ vars.SENTRY_RELEASE_BOT_CLIENT_ID }}
2525
private-key: ${{ secrets.SENTRY_RELEASE_BOT_PRIVATE_KEY }}

.github/workflows/testflight.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ jobs:
1414

1515
upload_to_testflight:
1616
name: Build and Upload React Native Sample to Testflight
17-
runs-on: macos-14
17+
runs-on: macos-15
1818
needs: [diff_check]
1919
if: ${{ needs.diff_check.outputs.skip_ci != 'true' }}
2020
steps:
2121
- uses: actions/checkout@v4
22-
- run: sudo xcode-select -s /Applications/Xcode_15.3.app/Contents/Developer
22+
- run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer
2323
- uses: ruby/setup-ruby@v1
2424
with:
2525
working-directory: samples/react-native

CHANGELOG.md

+44
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,30 @@
66
> make sure you follow our [migration guide](https://docs.sentry.io/platforms/react-native/migration/) first.
77
<!-- prettier-ignore-end -->
88
9+
## Unreleased
10+
11+
### Features
12+
13+
- Add thread information to spans ([#4579](https://github.com/getsentry/sentry-react-native/pull/4579))
14+
- Exposed `getDataFromUri` as a public API to retrieve data from a URI ([#4638](https://github.com/getsentry/sentry-react-native/pull/4638))
15+
16+
### Fixes
17+
18+
- Considers the `SENTRY_DISABLE_AUTO_UPLOAD` and `SENTRY_DISABLE_NATIVE_DEBUG_UPLOAD` environment variables in the configuration of the Sentry Android Gradle Plugin for Expo plugin ([#4583](https://github.com/getsentry/sentry-react-native/pull/4583))
19+
- Handle non-string category in getCurrentScreen on iOS ([#4629](https://github.com/getsentry/sentry-react-native/pull/4629))
20+
21+
### Dependencies
22+
23+
- Bump Bundler Plugins from v3.2.0 to v3.2.2 ([#4585](https://github.com/getsentry/sentry-react-native/pull/4585), [#4620](https://github.com/getsentry/sentry-react-native/pull/4620))
24+
- [changelog](https://github.com/getsentry/sentry-javascript-bundler-plugins/blob/main/CHANGELOG.md#322)
25+
- [diff](https://github.com/getsentry/sentry-javascript-bundler-plugins/compare/3.2.0...3.2.2)
26+
- Bump CLI from v2.42.1 to v2.42.2 ([#4586](https://github.com/getsentry/sentry-react-native/pull/4586))
27+
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2422)
28+
- [diff](https://github.com/getsentry/sentry-cli/compare/2.42.1...2.42.2)
29+
- Bump Cocoa SDK from v8.45.0 to v8.46.0 ([#4621](https://github.com/getsentry/sentry-react-native/pull/4621))
30+
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8460)
31+
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.45.0...8.46.0)
32+
933
## 6.9.1
1034

1135
### Fixes
@@ -21,6 +45,10 @@
2145

2246
## 6.9.0
2347

48+
> [!WARNING]
49+
> This release contains an issue where Cold starts can be incorrectly reported as Warm starts on Android. We recommend staying on version 6.4.0 if you use this feature on Android.
50+
> See issue [#4598](https://github.com/getsentry/sentry-react-native/issues/4598) for more details.
51+
2452
### Features
2553

2654
- User Feedback Widget Beta ([#4435](https://github.com/getsentry/sentry-react-native/pull/4435))
@@ -56,6 +84,10 @@
5684

5785
## 6.8.0
5886

87+
> [!WARNING]
88+
> This release contains an issue where Cold starts can be incorrectly reported as Warm starts on Android. We recommend staying on version 6.4.0 if you use this feature on Android.
89+
> See issue [#4598](https://github.com/getsentry/sentry-react-native/issues/4598) for more details.
90+
5991
### Features
6092

6193
- Adds Sentry Android Gradle Plugin as an experimental Expo plugin feature ([#4440](https://github.com/getsentry/sentry-react-native/pull/4440))
@@ -101,6 +133,10 @@
101133

102134
## 6.7.0
103135

136+
> [!WARNING]
137+
> This release contains an issue where Cold starts can be incorrectly reported as Warm starts on Android. We recommend staying on version 6.4.0 if you use this feature on Android.
138+
> See issue [#4598](https://github.com/getsentry/sentry-react-native/issues/4598) for more details.
139+
104140
### Features
105141

106142
- Add `ignoredComponents` option to `annotateReactComponents` to exclude specific components from React component annotations ([#4517](https://github.com/getsentry/sentry-react-native/pull/4517))
@@ -133,6 +169,10 @@
133169

134170
## 6.6.0
135171

172+
> [!WARNING]
173+
> This release contains an issue where Cold starts can be incorrectly reported as Warm starts on Android. We recommend staying on version 6.4.0 if you use this feature on Android.
174+
> See issue [#4598](https://github.com/getsentry/sentry-react-native/issues/4598) for more details.
175+
136176
### Features
137177

138178
- Send Sentry React Native SDK version in the Session Replay Events on iOS ([#4450](https://github.com/getsentry/sentry-react-native/pull/4450))
@@ -169,6 +209,10 @@
169209

170210
## 6.5.0
171211

212+
> [!WARNING]
213+
> This release contains an issue where Cold starts can be incorrectly reported as Warm starts on Android. We recommend staying on version 6.4.0 if you use this feature on Android.
214+
> See issue [#4598](https://github.com/getsentry/sentry-react-native/issues/4598) for more details.
215+
172216
### Features
173217

174218
- Mobile Session Replay is now generally available and ready for production use ([#4384](https://github.com/getsentry/sentry-react-native/pull/4384))

dev-packages/type-check/ts3.8-test/index.ts

+5
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ declare global {
2020
}
2121
interface PerformanceEntry {}
2222
}
23+
24+
declare module 'react-native' {
25+
export interface TurboModule {}
26+
}
27+
2328
import 'react-native';
2429

2530
// we need to import the SDK to ensure tsc check the types

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
"devDependencies": {
3131
"@expo/swiftlint": "^0.57.1",
3232
"@naturalcycles/ktlint": "^1.13.0",
33-
"@sentry/cli": "2.42.1",
33+
"@sentry/cli": "2.42.2",
3434
"clang-format": "^1.8.0",
3535
"downlevel-dts": "^0.11.0",
3636
"google-java-format": "^1.4.0",

packages/core/RNSentry.podspec

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Pod::Spec.new do |s|
3737

3838
s.compiler_flags = other_cflags
3939

40-
s.dependency 'Sentry/HybridSDK', '8.45.0'
40+
s.dependency 'Sentry/HybridSDK', '8.46.0'
4141

4242
if defined? install_modules_dependencies
4343
# Default React Native dependencies for 0.71 and above (new and legacy architecture)

packages/core/RNSentryCocoaTester/RNSentryCocoaTesterTests/RNSentryBreadcrumbTests.swift

+6
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,12 @@ final class RNSentryBreadcrumbTests: XCTestCase {
5454
XCTAssertNil(actual)
5555
}
5656

57+
func testNullForNonStringCategory() {
58+
let map: [String: Any] = ["category": false]
59+
let actual = RNSentryBreadcrumb.getCurrentScreen(from: map)
60+
XCTAssertNil(actual)
61+
}
62+
5763
func testNullForNonNavigationCategory() {
5864
let map: [String: Any] = ["category": "unknown"]
5965
let actual = RNSentryBreadcrumb.getCurrentScreen(from: map)

packages/core/ios/RNSentryBreadcrumb.m

+2-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ + (SentryBreadcrumb *)from:(NSDictionary *)dict
3939
+ (NSString *_Nullable)getCurrentScreenFrom:(NSDictionary<NSString *, id> *_Nonnull)dict
4040
{
4141
NSString *_Nullable maybeCategory = [dict valueForKey:@"category"];
42-
if (![maybeCategory isEqualToString:@"navigation"]) {
42+
if ([maybeCategory isKindOfClass:[NSString class]]
43+
&& ![maybeCategory isEqualToString:@"navigation"]) {
4344
return nil;
4445
}
4546

0 commit comments

Comments
 (0)