Skip to content

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Aug 1, 2025

Fixes: #2260 by creating
Addresses getsentry/sentry-cocoa#5740

This PR bumps the Cocoa SDK to 8.54.0 it does multiple things:

"Fixes" Signing Issue

Starting with 8.52.0 the Cocoa SDK comes with code signing. This relies on symlinks. This will not work as expected with the way we ship the Unity SDK.

Wombo-Combo "Solution": We're now creating an ios-only xcframework out of the downloaded artifact. Doing this makes the resulting bundle a lot smaller and it also gets rid of the code signing.

"Build" the Cocoa SDK in CI

Since the ios-only xcframework creation relies on xcodebuild this needs to happen on a macOS runner. I've added the "building" of the Cocoa SDK back to sdk.yml. We wanted to get the ability to build from a submodule anyway and that's half a step in that direction.

Changes to the SentryOptions+HybridSdk

This PR also addresses the changes of getsentry/sentry-cocoa#5698 where SentryOptions+HybridSDKs.h morphed into SentryOptionsInternal.h.

Sample events

The auto-bump generated issue description.

Open at your own peril.

Bumps modules/sentry-cocoa.properties from 8.51.0 to 8.54.0.

Auto-generated by a dependency updater.

Changelog

8.54.0

Features

  • Add experimental support for capturing structured logs via SentrySDK.logger (#5532, #5593, #5639, #5628, #5637, #5643)
  • Add isiOSAppOnMac and isMacCatalystApp from ProcessInfo to the runtime context (#5570)
  • The SDK will show a warning in the console if it detects it was loaded twice (#5298)

Fixes

  • Add null-handling for internal array sanitization (#5722)
  • Fix video replay crashes due to video writer inputs not marked as finished on cancellation (#5608)
  • Fix wrong flush timeout (#5565). When flush timed out before the SDK finished sending data, it always blocked the full flush timeout the next time being called. This is fixed now.
  • Launch profiling now respects original configured options if they change on the next launch (#5417)
  • User feedback no longer subject to sample rates or beforeSend (#5692)
  • Build error in app extensions (#5682)
  • Fix frame metrics including time while in background (#5681)

Improvements

  • Extract video processing to a new class (#5604)
  • Move continuous profiling payload serialization off of the main thread (#5613)
  • Improve video generation using apple recommended loop (#5612)
  • Use -OSize for release builds (#5721)
  • Mark The integrations parameter of SentryOptions as deprecated rather than printing a warning (#5749)

8.53.2

Fixes

  • Set handled to false for fatal app hangs (#5514)
  • User feedback widget can now be displayed in SwiftUI apps (#5223)
  • Fix crash when SentryFileManger is nil (#5535)
  • Fix crash when capturing events at the same time bindClient: is called from a different thread (#5523)
  • Record user for watchdog termination events (#5558)
  • Add support for dist and environment fields for termination watch (#5560)
  • Add support for tags and context fields for termination watch (#5561)
  • Add support for extras, fingerprint, and level watchdog termination events (#5569)

Improvements

  • Removed APPLICATION_EXTENSION_API_ONLY requirement (#5524)
  • Improve launch profile configuration management (#5318)
  • Deprecate getStoreEndpoint (#5591)

8.53.1

Fixes

  • Fix XCFramework version including commit sha on release. (#5493)

8.53.0

[!Warning]
This version can cause build errors when using one of the XCFrameworks, such as
The value for key CFBundleVersion [8.53.0+f92cfa9b1199c75411a263d2d9bc2df8ea8029cf] in the Info.plist file must be no longer than 18 characters.
Updating to 8.53.1 fixes this problem.

Features

  • Capturing fatal CPPExceptions via hooking into cxa_throw when enabling options.experimental.enableUnhandledCPPExceptionsV2 = true (#5256)

Fixes

  • Fix building with Xcode 26 (#5386)
  • Fix usage of available to be iOS instead of iOSApplicationExtension (#5361)
  • Fix stacktrace symbolication of fatal app hangs (#5438)
  • Robustness against corrupt launch profile configuration files (#5447)
  • Fix auto-start for session tracker when SDK is started after app did become active (#5121)
  • Sessions will now be marked as exited instead of abnormal exit when closing the SDK (#5121)
  • Manually add dyld image to image cache to fix dyld symbols appearing as unknown (#5418)

Improvements

  • Converted SentryUserFeedback from Objective-C to Swift (#5377)
  • Crashes for uncaught NSExceptions will now report the stracktrace recorded within the exception (#5306)
  • Move SentryExperimentalOptions to a property defined in Swift (#5329)
  • Add redaction in session replay for SFSafariView used by SFSafariViewController and ASWebAuthenticationSession (#5408)
  • Convert SentryNSURLRequest to Swift (#5457)

8.53.0-alpha.0

Features

  • Capturing fatal CPPExceptions via hooking into cxa_throw when enabling options.experimental.enableUnhandledCPPExceptionsV2 = true (#5256)
  • [Structured Logging] Models + Preparation (#5441)

Fixes

  • Fix building with Xcode 26 (#5386)
  • Fix usage of available to be iOS instead of iOSApplicationExtension (#5361)
  • Fix stacktrace symbolication of fatal app hangs (#5438)
  • Robustness against corrupt launch profile configuration files (#5447)
  • Fix auto-start for session tracker when SDK is started after app did become active (#5121)
  • Sessions will now be marked as exited instead of abnormal exit when closing the SDK (#5121)
  • Manually add dyld image to image cache to fix dyld symbols appearing as unknown (#5418)

Improvements

  • Converted SentryUserFeedback from Objective-C to Swift (#5377)
  • Crashes for uncaught NSExceptions will now report the stracktrace recorded within the exception (#5306)
  • Move SentryExperimentalOptions to a property defined in Swift (#5329)
  • Add redaction in session replay for SFSafariView used by SFSafariViewController and ASWebAuthenticationSession (#5408)
  • Convert SentryNSURLRequest to Swift (#5457)

8.52.1

Fixes

  • Missing debug meta for non fatal events (#5352)

8.52.0

[!Warning]
This version has a known issue where events captured with captureMessage or captureError will have unsymbolicated stack traces. A fix is incoming and will be released in 8.52.1

Features

  • XCFrameworks are now signed (#5271)

Improvements

  • Slightly reduce performance impact by removing unnecessary lock in SentryLog.configure (#5297)
  • Redact React Native text and images by default without the RN SDK (#5302)

Fixes

  • Add missing context for watchdog termination events (#5242)
  • Use timestamp of screenshot for frames (#5342)
  • Use frame rate for cache max size of session replay (#5341)

8.52.0-beta

Features

  • XCFrameworks are now signed (#5271)

Improvements

  • Slightly reduce performance impact by removing unnecessary lock in SentryLog.configure (#5297)
  • Redact React Native text and images by default without the RN SDK (#5302)

8.51.1

[!Warning]
This version introduces a known issue where events captured with captureMessage or captureError will have unsymbolicated stack traces. A fix is incoming and will be released in 8.52.1

Fixes

  • Uses low-priority queues to reduce the chance of session replay internal multi-threading processes being dropped (#5280)

Improvements

  • Threading issues in internal dependency container (#5225)

@bruno-garcia bruno-garcia force-pushed the deps/modules/sentry-cocoa.properties/8.54.0 branch from 09c0878 to da9dc62 Compare August 1, 2025 03:35
@bitsandfoxes
Copy link
Contributor

Currently blocked by #2263

@@ -91,7 +91,7 @@ jobs:
run: docker exec unity dotnet build -c Release

- name: Install assemblyalias
run: docker exec unity dotnet tool install --global Alias --version 0.4.3
run: docker exec unity dotnet tool install --global Alias --version 0.4.3 --allow-roll-forward
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had to pull the changes from #2263 in here to make CI happy(-ish).

Comment on lines +2 to +3
#import <MetricKit/MetricKit.h>
#import <Sentry/Sentry-Swift.h>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure this is the way to go. I have to add #import <MetricKit/MetricKit.h>. Otherwise it will break in Sentry-Switft.h with

@interface SentryMXManager : NSObject <MXMetricManagerSubscriber> -- No type or protocol named 'MXMetricManagerSubscriber'

#import <MetricKit/MetricKit.h>
#import <Sentry/Sentry-Swift.h>
#import <Sentry/PrivateSentrySDKOnly.h>
#import <Sentry/SentryOptionsInternal.h>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comes from getsentry/sentry-cocoa#5698

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've extracted this from the .targets.

cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

@bitsandfoxes
Copy link
Contributor

Superseded by #2265

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Make UPM package smaller by removing not needed libraries from iOS plugin
2 participants