Skip to content

Commit 6763b35

Browse files
authored
Merge branch 'main' into itay/cocoa-547-convert-sentryscreenframes-to-swift
2 parents a059e8d + 72a8746 commit 6763b35

File tree

98 files changed

+870
-670
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

98 files changed

+870
-670
lines changed

.github/actions/prepare-package.swift/action.yml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,6 @@ inputs:
1212
runs:
1313
using: "composite"
1414
steps:
15-
- name: Remove newer package files
16-
# Remove newer package files when processing Package.swift to prevent interference
17-
if: ${{ inputs.package-file == 'Package.swift' }}
18-
shell: bash
19-
run: rm -rf Package@swift*
2015
- name: Remove Sentry-Dynamic-WithARM64e target
2116
# We don't build it on PRs, so we need to remove it from the package.swift file.
2217
if: ${{ inputs.is-pr == 'true' }}
@@ -25,7 +20,8 @@ runs:
2520
PACKAGE_FILE: ${{ inputs.package-file }}
2621
run: |
2722
sed -i '' '/Sentry-Dynamic-WithARM64e/d' $PACKAGE_FILE
28-
sed -i '' '/^[[:space:]]*\.binaryTarget($/{N;/\n[[:space:]]*),$/d;}' $PACKAGE_FILE
23+
sed -i '' '/Sentry-WithoutUIKitOrAppKit-WithARM64e/d' $PACKAGE_FILE
24+
sed -i '' '/^[[:space:]]*\.binaryTarget($/{N;/\n[[:space:]]*),\{0,1\}$/d;}' $PACKAGE_FILE
2925
- name: Change path of the framework
3026
shell: bash
3127
env:
@@ -35,3 +31,5 @@ runs:
3531
sed -i '' 's/checksum: ".*" \/\/Sentry-Static/path: "Sentry.xcframework.zip"/g' $PACKAGE_FILE
3632
sed -i '' 's/checksum: ".*" \/\/Sentry-Dynamic-WithARM64e/path: "Sentry-Dynamic-WithARM64e.xcframework.zip"/g' $PACKAGE_FILE
3733
sed -i '' 's/checksum: ".*" \/\/Sentry-Dynamic/path: "Sentry-Dynamic.xcframework.zip"/g' $PACKAGE_FILE
34+
sed -i '' 's/checksum: ".*" \/\/Sentry-WithoutUIKitOrAppKit-WithARM64e/path: "Sentry-WithoutUIKitOrAppKit-WithARM64e.xcframework.zip"/g' $PACKAGE_FILE
35+
sed -i '' 's/checksum: ".*" \/\/Sentry-WithoutUIKitOrAppKit/path: "Sentry-WithoutUIKitOrAppKit.xcframework.zip"/g' $PACKAGE_FILE

.github/last-release-runid

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
17674303183
1+
17733239540

.github/workflows/api-stability.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,17 +46,16 @@ jobs:
4646
uses: actions/checkout@v5
4747
with:
4848
fetch-depth: 0
49-
- run: ./scripts/ci-select-xcode.sh 16.4
5049

5150
- name: Generate HEAD SDK
5251
run: |
5352
if [ "${{ matrix.version }}" = "v9" ]; then
5453
mv sdk_api_v9.json sdk_api_base.json
55-
make generate-public-api CONFIG=V9
54+
./scripts/update-api.sh V9
5655
mv sdk_api_v9.json sdk_api.json
5756
else
5857
mv sdk_api.json sdk_api_base.json
59-
make generate-public-api
58+
./scripts/update-api.sh
6059
fi
6160
6261
- name: Diagnose breaking changes

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@ jobs:
300300
steps:
301301
- name: Get auth token
302302
id: token
303-
uses: actions/create-github-app-token@a8d616148505b5069dccd32f177bb87d7f39123b # v2.1.1
303+
uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4
304304
with:
305305
app-id: ${{ vars.SENTRY_RELEASE_BOT_CLIENT_ID }}
306306
private-key: ${{ secrets.SENTRY_RELEASE_BOT_PRIVATE_KEY }}

.github/workflows/test.yml

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -134,11 +134,11 @@ jobs:
134134

135135
# iOS 26 with Xcode 26
136136
- name: iOS 26 Sentry
137-
runs-on: macos-15
137+
runs-on: macos-26
138138
platform: "iOS"
139139
xcode: "26.0"
140-
test-destination-os: "26.0"
141-
device: "iPhone 16 Pro"
140+
test-destination-os: "latest"
141+
device: "iPhone 17 Pro"
142142
scheme: "Sentry"
143143

144144
# We don't run the unit tests on macOS 13 cause we run them on all on GH actions available iOS versions.
@@ -161,6 +161,14 @@ jobs:
161161
test-destination-os: "latest"
162162
scheme: "Sentry"
163163

164+
# macOS 26
165+
- name: macOS 26 Sentry
166+
runs-on: macos-26
167+
platform: "macOS"
168+
xcode: "26.0"
169+
test-destination-os: "latest"
170+
scheme: "Sentry"
171+
164172
# Catalyst. We test the latest version, as the risk something breaking on Catalyst and not
165173
# on an older iOS or macOS version is low.
166174
# In addition we are running tests on macOS 14, as there were OS-internal changes introduced in succeeding versions.
@@ -178,6 +186,8 @@ jobs:
178186
test-destination-os: "latest"
179187
scheme: "Sentry"
180188

189+
## We don't run unit tests on macCatalyst 26 yet because of https://github.com/getsentry/sentry-cocoa/issues/6165.
190+
181191
# We don't run the unit tests on tvOS 16 cause we run them on all on GH actions available iOS versions.
182192
# The chance of missing a bug solely on tvOS 16 that doesn't occur on iOS, tvOS 15 or tvOS 16 is minimal.
183193
# We are running tests on tvOS 17 and latest, as there were OS-internal changes introduced in succeeding versions.
@@ -207,6 +217,15 @@ jobs:
207217
test-destination-os: "18.4"
208218
scheme: "Sentry"
209219

220+
# tvOS 26
221+
- name: tvOS 26 Sentry
222+
runs-on: macos-26
223+
platform: "tvOS"
224+
xcode: "26.0"
225+
test-destination-os: "latest"
226+
device: "Apple TV"
227+
scheme: "Sentry"
228+
210229
steps:
211230
- uses: actions/checkout@v5
212231
- uses: actions/download-artifact@v5
@@ -217,13 +236,6 @@ jobs:
217236
run: ./scripts/start-test-server.sh
218237
- run: ./scripts/ci-select-xcode.sh ${{matrix.xcode}}
219238

220-
- name: Install required platforms for Xcode 26
221-
if: matrix.xcode == '26.0' && matrix.platform != ''
222-
run: ./scripts/ci-install-xOS-26-platforms.sh --platforms "${{matrix.platform}}"
223-
224-
- name: Create simulator device for Xcode 26
225-
if: matrix.xcode == '26.0' && matrix.platform != ''
226-
run: ./scripts/ci-create-simulator.sh --platform "${{matrix.platform}}" --os-version "${{matrix.test-destination-os}}" --device-name "${{matrix.device}}"
227239
- name: Install Slather
228240
run: gem install slather
229241

.github/workflows/version-bump-util.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ jobs:
8282
echo "<FAKE STATIC ZIP>" > Carthage/Sentry.xcframework.zip
8383
echo "<FAKE DYNAMIC ZIP>" > Carthage/Sentry-Dynamic.xcframework.zip
8484
echo "<FAKE DYNAMIC WITH ARM64E ZIP>" > Carthage/Sentry-Dynamic-WithARM64e.xcframework.zip
85+
echo "<FAKE WITHOUT UIKIT OR APPKIT ZIP>" > Carthage/Sentry-WithoutUIKitOrAppKit.xcframework.zip
86+
echo "<FAKE WITHOUT UIKIT OR APPKIT WITH ARM64E ZIP>" > Carthage/Sentry-WithoutUIKitOrAppKit-WithARM64e.xcframework.zip
8587
8688
- name: Bump version
8789
run: ./scripts/bump.sh ${{ steps.generate-version-number.outputs.OLD_VERSION }} ${{ steps.generate-version-number.outputs.NEW_VERSION }}
@@ -95,6 +97,8 @@ jobs:
9597
--static-checksum "7062a80f8a80f8b6d812698af87384751567a6aaa0df6f03b0596d728b22dcfd" \
9698
--dynamic-checksum "f6325cd8f05523d60222451fa61b3cd3d58148e5a21236f82abfd3f92750c87c" \
9799
--dynamic-with-arm64e-checksum "bbb84b054e5792aa705b95541aa4585f793e566a6b95638f8fef8e308d9782c3" \
100+
--without-uikit-or-appkit-checksum "c647afe93889063325b5dfcabf43101749f6a8f37008cca858833ed280d2a84e" \
101+
--without-uikit-or-appkit-with-arm64e-checksum "af5af7edc8e107fe04b905bd23524fdc93914fce8e1bd72ccf281408efff9a47" \
98102
--last-release-runid "${{ github.run_id }}"
99103
100104
# This check validates that either version-bump-util passed or was skipped, which allows us

CHANGELOG-v9.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ Removes deprecated `setExtraValue` from SentrySpan (#5864)
1616
Removes `integrations` property from `SentryOptions` (#5749)
1717
Makes `SentryEventDecodable` internal (#5808)
1818
The `span` property on `SentryScope` is now readonly (#5866)
19+
Removes `enablePerformanceV2` option and makes this the default (#6008)
1920

2021
### Fixes
2122

CHANGELOG.md

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

3+
## Unreleased
4+
5+
### Fixes
6+
7+
- Fix potential app launch hang caused by the SentrySDK (#6181) Fixed by removing the call to `_dyld_get_image_header` on the main thread.
8+
- Fix dyanmic selector crash in SentryReplayRecording (#6211)
9+
10+
## 8.56.0
11+
12+
### Features
13+
14+
- Structured Logs: Flush logs on SDK flush/close (#5834)
15+
- Add masking options for screenshots (#5401)
16+
- Add significant time change breadcrumb (#6112)
17+
- Add support for iOS 26, macOS 26, visionOS 26, watchOS 26, and tvOS 26 in device tests (#6063)
18+
19+
### Improvements
20+
21+
- Lazily CharacterSet only once in SentryBaggageSerialization (#5871)
22+
- Structured Logging: Log `SentrySDK.logger` calls to `SentrySDKLog` (#5991)
23+
- The build type in the app context now differentiates between `enterprise` and `adhoc` (#6044)
24+
- visionOS no longer needs swift's interoperability mode (#6077)
25+
- Ensure IP address is only inferred by Relay if sendDefaultPii is true (#5877)
26+
- Sentry without UIKit / AppKit is available to install with SPM (#6160)
27+
28+
### Fixes
29+
30+
- Don't capture replays for events dropped in `beforeSend` (#5916)
31+
- Fix linking with SentrySwiftUI on Xcode 26 for visionOS (#5823)
32+
- Structured Logging: Logger called before `SentrySDK.start` becomes unusable (#5984)
33+
- Add masking for AVPlayerView (#5910)
34+
- Fix missing view hierachy when enabling `attachScreenshot` too (#5989)
35+
- Fix macOS's frameworks not following the versioned framework structure (#6049)
36+
- Add warning to addBreadcrumb when used before SDK init (#6083)
37+
- Add null-handling for parsed DSN in SentryHTTPTransport (#5800)
38+
- Fix crash in Session Replay when opening the camera UI on iOS 26+ by skipping redaction of internal views.
39+
This may result in more of the camera screen being redacted. (#6045)
40+
- Fix crash in SentryDependencyContainer init when using the SDK as a static framework (#6125)
41+
- Fixes a React Native legacy build failure by adding the missing self references for explicit capture semantics (#6156)
42+
343
## 8.56.0-alpha.3
444

545
### Fixes

Gemfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ GEM
265265
mime-types (>= 1.16, < 4.0)
266266
netrc (~> 0.8)
267267
retriable (3.1.2)
268-
rexml (3.4.1)
268+
rexml (3.4.2)
269269
rouge (3.28.0)
270270
ruby-macho (2.5.1)
271271
ruby2_keywords (0.0.5)

Package.swift

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,24 +13,36 @@ var products: [Product] = [
1313
.library(name: "Sentry", targets: ["Sentry", "SentryCppHelper"]),
1414
.library(name: "Sentry-Dynamic", targets: ["Sentry-Dynamic"]),
1515
.library(name: "Sentry-Dynamic-WithARM64e", targets: ["Sentry-Dynamic-WithARM64e"]),
16+
.library(name: "Sentry-WithoutUIKitOrAppKit", targets: ["Sentry-WithoutUIKitOrAppKit", "SentryCppHelper"]),
17+
.library(name: "Sentry-WithoutUIKitOrAppKit-WithARM64e", targets: ["Sentry-WithoutUIKitOrAppKit-WithARM64e", "SentryCppHelper"]),
1618
.library(name: "SentrySwiftUI", targets: ["Sentry", "SentrySwiftUI", "SentryCppHelper"])
1719
]
1820

1921
var targets: [Target] = [
2022
.binaryTarget(
2123
name: "Sentry",
22-
url: "https://github.com/getsentry/sentry-cocoa/releases/download/8.56.0-alpha.3/Sentry.xcframework.zip",
23-
checksum: "a78d6d16cbad0e21218c3816929d12391277e3db9bee862f986212e1cb0ef694" //Sentry-Static
24+
url: "https://github.com/getsentry/sentry-cocoa/releases/download/8.56.0/Sentry.xcframework.zip",
25+
checksum: "ecc100b59f2044800650f17786c33f071ea580cb318d82e8ce1d403b643555a4" //Sentry-Static
2426
),
2527
.binaryTarget(
2628
name: "Sentry-Dynamic",
27-
url: "https://github.com/getsentry/sentry-cocoa/releases/download/8.56.0-alpha.3/Sentry-Dynamic.xcframework.zip",
28-
checksum: "d70a5deffe9db7fd755e001e96a080956022136496dbf83ce56eb5af8f550a1d" //Sentry-Dynamic
29+
url: "https://github.com/getsentry/sentry-cocoa/releases/download/8.56.0/Sentry-Dynamic.xcframework.zip",
30+
checksum: "509cdbc89e4409614f6d584464ef7e1d26c47ad8afe3abc2bd1e1d71c068be1e" //Sentry-Dynamic
2931
),
3032
.binaryTarget(
3133
name: "Sentry-Dynamic-WithARM64e",
32-
url: "https://github.com/getsentry/sentry-cocoa/releases/download/8.56.0-alpha.3/Sentry-Dynamic-WithARM64e.xcframework.zip",
33-
checksum: "5a7eb7c6e6d49bb90e252d946f3e03477597d40604a860bbec74ee5aaf2d4272" //Sentry-Dynamic-WithARM64e
34+
url: "https://github.com/getsentry/sentry-cocoa/releases/download/8.56.0/Sentry-Dynamic-WithARM64e.xcframework.zip",
35+
checksum: "d62a5ced65465c7c63962ed40d06a9aadd8675b8d0909089f89f65bf233e38c3" //Sentry-Dynamic-WithARM64e
36+
),
37+
.binaryTarget(
38+
name: "Sentry-WithoutUIKitOrAppKit",
39+
url: "https://github.com/getsentry/sentry-cocoa/releases/download/8.56.0/Sentry-WithoutUIKitOrAppKit.xcframework.zip",
40+
checksum: "4abfe912bb543eedb7d7dd015df04c93c2b8e49437962046137653d4cf737d38" //Sentry-WithoutUIKitOrAppKit
41+
),
42+
.binaryTarget(
43+
name: "Sentry-WithoutUIKitOrAppKit-WithARM64e",
44+
url: "https://github.com/getsentry/sentry-cocoa/releases/download/8.56.0/Sentry-WithoutUIKitOrAppKit-WithARM64e.xcframework.zip",
45+
checksum: "0b6b454b48614f8cd2430cdc75e524ded46308309b95e73fdd9a90da81622e77" //Sentry-WithoutUIKitOrAppKit-WithARM64e
3446
),
3547
.target (
3648
name: "SentrySwiftUI",

0 commit comments

Comments
 (0)