Releases: getsentry/sentry-cocoa
8.55.1
8.55.0
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 ARM64eSentry-Dynamic-WithARM64e
: With ARM64e sliceSentry-WithoutUIKitOrAppKit
: Without ARM64eSentry-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
- Add a new prebuilt framework with arm64e and remove it from the regular one (#5788)
- Add
beforeSendLog
callback toSentryOptions
(#5678) - 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
- 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)
- Fixed a build error in
SentryFeedback.swift
when building with cocoapods on Xcode 14.2 (#5917) - Fix linking against Sentry on an app extension (#5813)
8.54.1-alpha.2
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 ARM64eSentry-Dynamic-WithARM64e
: With ARM64e sliceSentry-WithoutUIKitOrAppKit
: Without ARM64eSentry-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
- No documented changes.
8.54.1-alpha.0
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 arm64eSentry-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
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.
Features
- Add experimental support for capturing structured logs via
SentrySDK.logger
(#5532, #5593, #5639, #5628, #5637, #5643) - Add
isiOSAppOnMac
andisMacCatalystApp
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
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
8.53.1 (Stable)
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 beiOS
instead ofiOSApplicationExtension
(#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 asunknown
(#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 bySFSafariViewController
andASWebAuthenticationSession
(#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)
Fixes
- Fix building with Xcode 26 (#5386)
- Fix usage of
@available
to beiOS
instead ofiOSApplicationExtension
(#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 asunknown
(#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 bySFSafariViewController
andASWebAuthenticationSession
(#5408) - Convert SentryNSURLRequest to Swift (#5457)