Skip to content

Releases: getsentry/sentry-cocoa

8.54.1-alpha.2

13 Aug 17:53

Choose a tag to compare

8.54.1-alpha.2 Pre-release
Pre-release

Important

Xcode 26 no longer allows individual frameworks to contain arm64e slices anymore if the main binary doesn't contain them.
We have decided to split the Dynamic variant and Sentry-WithoutUIKitOrAppKit of Sentry into two variants:

  • Sentry-Dynamic: Without ARM64e
  • Sentry-Dynamic-WithARM64e: With ARM64e slice
  • Sentry-WithoutUIKitOrAppKit: Without ARM64e
  • Sentry-WithoutUIKitOrAppKit-WithARM64e: With ARM64e slice

If your app does not need arm64e, you don't need to make any changes.
But if your app needs arm64e please use Sentry-Dynamic-WithARM64e or Sentry-WithoutUIKitOrAppKit-WithARM64e from 8.55.0 so you don't have issues uploading to the App Store.

Features

  • Structured Logs: Flush logs on SDK flush/close (#5834)
  • Add a new prebuilt framework with ARM64e for WithoutUIKitOrAppKit (#5897)
  • Add source context and vars fields to SentryFrame (#5853)

Fixes

  • Fixed a build error in SentryFeedback.swift when building with cocoapods on Xcode 14.2 (#5917)

8.54.1-alpha.1

12 Aug 00:48

Choose a tag to compare

8.54.1-alpha.1 Pre-release
Pre-release
  • No documented changes.

8.54.1-alpha.0

11 Aug 13:09

Choose a tag to compare

8.54.1-alpha.0 Pre-release
Pre-release

Important

Xcode 26 is not allowing individual frameworks to contain arm64e slices anymore if the main binary doesn't contain it.
We have decided to split the Dynamic variant of Sentry into two variants:

  • Sentry-Dynamic: Without arm64e
  • Sentry-Dynamic-WithARM64e: With ARM64e slice

If your app does not need arm64e, you don't need to do any changes.
But if your app needs arm64e please use Sentry-Dynamic-WithARM64e from 8.55.0 so you don't have issues uploading to the AppStore.

Features

  • Add a new prebuilt framework with arm64e and remove it from the regular one (#5788)

Fixes

  • Add support for PDFKit views in session replay (#5750)
  • Fix Infinite Session Replay Processing Loop (#5765)
  • Fix memory leak in SessionReplayIntegration (#5770)
  • Fix reporting of energy used while profiling (#5768)

Internal

  • Add nullability property for screenName (#5782)

8.54.0

31 Jul 11:12

Choose a tag to compare

Warning

This version can cause compilation errors when used in projects with app extensions. This is fixed in v8.55.0.
As a workaround you can also stay on v8.53.2 or v8.53.1.

Warning

Session Replay in this version does not correctly mask views when built with Xcode 26 and running on iOS 26 with Liquid Glass, which may lead to PII leaks. Please upgrade to 8.57.0 or later, which automatically disables session replay in such environments.

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)

8.53.2

09 Jul 20:56

Choose a tag to compare

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 (Stable)

25 Jun 20:32

Choose a tag to compare

Fixes

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

8.53.0

25 Jun 14:35

Choose a tag to compare

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

25 Jun 09:38

Choose a tag to compare

8.53.0-alpha.0 Pre-release
Pre-release

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.52.1 (Stable)

05 Jun 15:38

Choose a tag to compare

Fixes

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

8.52.0

03 Jun 14:55

Choose a tag to compare

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)