Skip to content

Conversation

github-actions[bot]
Copy link

Bumps modules/sentry-cocoa from 8.21.0 to 8.56.0.

Auto-generated by a dependency updater.

Changelog

8.56.0

Features

  • Structured Logs: Flush logs on SDK flush/close (#5834)
  • Add masking options for screenshots (#5401)
  • Add significant time change breadcrumb (#6112)
  • Add support for iOS 26, macOS 26, visionOS 26, watchOS 26, and tvOS 26 in device tests (#6063)

Improvements

  • Lazily CharacterSet only once in SentryBaggageSerialization (#5871)
  • Structured Logging: Log SentrySDK.logger calls to SentrySDKLog (#5991)
  • The build type in the app context now differentiates between enterprise and adhoc (#6044)
  • visionOS no longer needs swift's interoperability mode (#6077)
  • Ensure IP address is only inferred by Relay if sendDefaultPii is true (#5877)
  • Sentry without UIKit / AppKit is available to install with SPM (#6160)

Fixes

  • Don't capture replays for events dropped in beforeSend (#5916)
  • Fix linking with SentrySwiftUI on Xcode 26 for visionOS (#5823)
  • Structured Logging: Logger called before SentrySDK.start becomes unusable (#5984)
  • Add masking for AVPlayerView (#5910)
  • Fix missing view hierachy when enabling attachScreenshot too (#5989)
  • Fix macOS's frameworks not following the versioned framework structure (#6049)
  • Add warning to addBreadcrumb when used before SDK init (#6083)
  • Add null-handling for parsed DSN in SentryHTTPTransport (#5800)
  • Fix crash in Session Replay when opening the camera UI on iOS 26+ by skipping redaction of internal views.
    This may result in more of the camera screen being redacted. (#6045)
  • Fix crash in SentryDependencyContainer init when using the SDK as a static framework (#6125)
  • Fixes a React Native legacy build failure by adding the missing self references for explicit capture semantics (#6156)

8.56.0-alpha.3

Fixes

  • Fixes a React Native legacy build failure by adding the missing self references for explicit capture semantics (#6156)

8.56.0-alpha.2

Features

  • Add significant time change breadcrumb (#6112)
  • Add support for iOS 26, macOS 26, visionOS 26, watchOS 26, and tvOS 26 in device tests (#6063)

Fixes

  • Fix crash in Session Replay when opening the camera UI on iOS 26+ by skipping redaction of internal views.
    This may result in more of the camera screen being redacted. (#6045)
  • Fix crash in SentryDependencyContainer init when using the SDK as a static framework (#6125)

8.56.0-alpha.1

  • No documented changes.

8.56.0-alpha.0

Features

  • Structured Logs: Flush logs on SDK flush/close (#5834)
  • Add masking options for screenshots (#5401)

Fixes

  • Don't capture replays for events dropped in beforeSend (#5916)
  • Fix linking with SentrySwiftUI on Xcode 26 for visionOS (#5823)
  • Structured Logging: Logger called before SentrySDK.start becomes unusable (#5984)
  • Add masking for AVPlayerView (#5910)
  • Fix missing view hierachy when enabling attachScreenshot too (#5989)
  • Fix macOS's frameworks not following the versioned framework structure (#6049)
  • Add warning to addBreadcrumb when used before SDK init (#6083)
  • Add null-handling for parsed DSN in SentryHTTPTransport (#5800)

Improvements

  • Lazily CharacterSet only once in SentryBaggageSerialization (#5871)
  • Structured Logging: Log SentrySDK.logger calls to SentrySDKLog (#5991)
  • The build type in the app context now differentiates between enterprise and adhoc (#6044)
  • visionOS no longer needs swift's interoperability mode (#6077)
  • Ensure IP address is only inferred by Relay if sendDefaultPii is true (#5877)

8.55.1

Features

Fixes

  • Fix macOS's frameworks not following the versioned framework structure (#6049)

8.54.1-alpha.1

Fixes

  • Add padding to tap area of widget button (#5949)

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 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

  • Add a new prebuilt framework with arm64e and remove it from the regular one (#5788)
  • Add beforeSendLog callback to SentryOptions (#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)

Internal

  • Add nullability property for screenName (#5782)

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)

8.51.0

Important

This version creates new issue groups for your unhandled C++ exceptions because it now again reports the message of unhandled C++ exceptions, which we use for grouping.

Features

  • Apps can now manually show and hide the included feedback widget button (#5236)

Fixes

  • Reporting unhandled C++ exception message (#5190)
  • Improved internal multi-threading of session replay to fix thread inversion warning and reduce chance of queue starvation (#5018)

Improvements

  • Add itemCount to SentryEnvelopeItemHeader (#5230)
  • Improve warn log in SentryTracer (#5248)

8.50.2

Fixes

  • Improved time-to-display tracker to not crash when using view life cycle methods incorrectly (#5048)
  • Enable view renderer V2 by default in session replay and preview redact options when using initializer with default values (#5210)

8.50.1

Fixes

  • Detect AppHangsV2 when tracing not enabled (#5184)

Improvements

  • Add frameRate, errorReplayDuration, errorReplayDuration, sessionSegmentDuration and maximumDuration to session replay options dictionary initializer for Hybrid SDKs (#5210)

8.50.1-beta.0

Fixes

  • Detect AppHangsV2 when tracing not enabled (#5184)

8.50.0

Important

This version enables the better view renderer V2 used by Session Replay by default.
You can disable it by setting the option options.sessionReplay.enableViewRendererV2 to false.

In case you are noticing issues with view rendering, please report them on GitHub.

Features

  • Added ability to bring your own button for user feedback form display (#5107)
  • Make enableAppHangTrackingV2 general available (#5149)

Fixes

  • Correctly rate limit envelopes from the new UI profiling system (#5131)
  • Race condition in ANRTrackerV1 (#5137)

Improvements

  • More logging for Session Replay video info (#5132)
  • Improve session replay frame presentation timing calculations (#5133)
  • Use wider compatible video encoding options for Session Replay (#5134)
  • GA of better session replay view renderer V2 (#5054)
  • Explicitly check malloc result for SRSync to fix a Veracode Security Scan warning (#5160)
  • Revert max key-frame interval to once per session replayvideo segment (#5156)
  • Add more detailed debug logs for session replay (#5173)

8.49.2

Important

Version 8.21.0 introduced an issue for app launch profiling only for macOS apps that run without a sandbox (i.e. distributed outside the Mac App Store).
This issue could lead to starting the app launch profiler even when it's not configured via the options.
We recommend upgrading to at least this version.

Fixes

  • Non-sandboxed macOS app launch profile configuration are now respected (#5144)

8.49.1

Fixes

  • Crash in setMeasurement when name is nil (#5064)
  • Make setMeasurement thread safe (#5067, #5078)
  • Truncation of Swift crash messages (#5036)
  • Add error logging for move current replay to last path (#5083)
  • Async safe log for backtrace in CPPException (#5098)

8.49.0

Features

  • New continuous profiling configuration API (#4952 and #5063)

Important

With the addition of the new profiling configuration API, the previous profiling API are deprecated and will be removed in the next major version of the SDK:

  • SentryOptions.enableProfiling
  • SentryOptions.isProfilingEnabled
  • SentryOptions.profilesSampleRate
  • SentryOptions.profilesSampler
  • SentryOptions.enableLaunchProfiling

Additionally, note that the behavior of SentrySDK.startProfiler() will change once the above APIs are removed, as follows: before adding the new configuration API (SentryProfileOptions), SentrySDK.startProfiler() would unconditionally start a continuous profile if both SentryOptions.profilesSampleRate and SentryOptions.profilesSampler were nil, or no-op if either was non-nil (meaning the SDK would operate under original, transaction-based, profiling model). In the next major version, SentryOptions.profilesSampleRate and SentryOptions.profilesSampler will be removed, and SentrySDK.startProfile() will become a no-op unless you configure SentryProfileOptions.sessionSampleRate to a value greater than zero (which is its default). If you already have calls to SentrySDK.startProfiler() in your code, ensure you properly configure SentryProfileOptions via SentryOptions.configureProfiling to avoid losing profiling coverage.

Fixes

  • Continuous profile stop requests are cancelled by subsequent timely calls to start (#4993)

Improvements

  • Remove SDK side character limit of 8192 for SentryMessage (#5005) Now, the backend handles the character limit, which has the advantage of showing in the UI when the message was truncated.

8.48.0

Features

  • Add extension for FileManager to track file I/O operations with Sentry (#4863)

Improvements

  • Slightly speed up adding breadcrumbs (#4984)

Fixes

  • Fixes experimental Replay view renderer options initialisation (#4988)

8.47.0

Important

This version fixes an important bug for applying scope data to crash events (#4969).

Previously, the SDK always set the event's user to the user of the scope of the app launch after the crash event, which could result in incorrect user data if the user changed between the crash and the next launch.
Additionally, if specific properties on the crash event were nil, the SDK replaced them with values from the scope of the app launch after the crash event. This affected the following event properties: tags, extra, fingerprints, breadcrumbs, dist, environment, level, and trace context. However, since most of these properties are infrequently nil, the fix should have minimal impact on most users.

Deprecations

  • Some profiling API are deprecated in favor of new ways to manage starting and stopping continuous profiling sessions (#4854)

Features

  • Add extension for Data to track file I/O operations with Sentry (#4862)
  • Send fatal app hang session updates (#4921) only when enabling the option enableAppHangTrackingV2.
  • Add experimental flag options.sessionReplay.enableExperimentalViewRenderer to enable up to 5x times more performance in Session Replay (#4940)

Fixes

  • Correctly finish TTFD span when no new frame (#4941)
  • Only delete envelopes when receiving HTTP 200 (#4956)
  • Set foreground true for watchdog terminations (#4953)
  • Fix removing value from context not updating observer context (#4960)
  • Fix wrongly applying scope to crash events (#4969)
  • Changed parameter of SDKInfo.initWithOptions to be nullable (#4968)

Improvements

  • More debug logs for UIViewController tracing (#4942)
  • Avoid creating unnecessary User Interaction transactions (#4957)

8.46.0

Features

  • Report fatal app hangs (#4889) only when enabling the option enableAppHangTrackingV2
  • New user feedback API and Widget (#4874)

Improvements

  • Log message when setting user before starting the SDK (#4882)
  • Add experimental flag to disable swizzling of NSData individually (#4859)
  • Replace calls of SentryScope.useSpan with callback to direct span accessor (#4896)
  • Slightly reduce size of SentryCrashReports (#4915)

Fixes

  • Fix rare memory access issue for auto tracing (#4894). For more details, see issue (#4887).
  • Move assignment of file IO span origin outside of block (#4888)
  • Deadline timeout crash in SentryTracer (#4911)
  • Improve memory-safety by converting Swift constants to Objective-C (#4910)
  • Fix C++ compilation error due to changes in Xcode 16.3 beta's compiler toolchain (#4917 and #4918)

Internal

  • Add injectable mask and view renderer (#4938)

8.45.0

Warning

We have been made aware that this version can cause crashes in certain configurations when using network tracking, file I/O tracking, or CoreData tracking features.
We recommend staying on version 8.43.0 or disabling the mentioned features until a fix is released.
See issue #4887 for more details.

Features

  • Add showMaskPreview to SentrySDK.replay api to debug replay masking (#4761)
  • Session replay masking preview for SwiftUI (#4737)
  • HTTP Breadcrumb level based on response status code (#4779) 4xx is warning, 5xx is error.
  • Measure app hang duration for AppHangTrackingV2 (#4836)

Improvements

  • Add more debug logs for SentryViewHierarchy (#4780)
  • Add sample_rand to baggage (#4751)
  • Add timeIntervalSince1970 to log messages (#4781)
  • Add waitForFullDisplay to sentryTrace view modifier (#4797)
  • Increase continuous profiling buffer size to 60 seconds (#4826)

Fixes

  • Fix missing sample_rate in baggage (#4751)
  • Serializing SentryGeo with nil values (#4724)
  • Add type-safety for screenshots result array (#4843)

Internal

  • Deserializing SentryEvents with Decodable (#4724)
  • Remove internal unknown dict for Breadcrumbs (#4803) This potentially only impacts hybrid SDKs.

8.44.0

Warning

We have been made aware that this version can cause crashes in certain configurations when using network tracking, file I/O tracking, or CoreData tracking features.
We recommend staying on version 8.43.0 or disable the mentioned features until a fix is released.
See issue #4887 for more details.

Fixes

  • Don't start the SDK inside Xcode preview (#4601)
  • Use strlcpy to save session replay info path (#4740)
  • sentryReplayUnmask and sentryReplayUnmask preventing interaction (#4749)
  • Missing SentryCrashExceptionApplication implementation for non-macOS target (#4759)
  • Add NSNull handling to sentry_sanitize (#4760)

Improvements

  • Add native SDK information in the replay option event (#4663)
  • Add error logging for invalid cacheDirectoryPath (#4693)
  • Add SentryHub to all log messages in the Hub (#4753)
  • More detailed log message when can't start session in SentryHub (#4752)

Features

  • SwiftUI time for initial display and time for full display (#4596)
  • Add protocol for custom screenName for UIViewControllers (#4646)
  • Allow hybrid SDK to set replay options tags information (#4710)
  • Add threshold to always log fatal logs (#4707)

Internal

  • Change macros TEST and TESTCI to SENTRY_TEST and SENTRY_TEST_CI (#4712)
  • Convert constants SentrySpanOperation to Swift (#4718)
  • Convert constants SentryTraceOrigins to Swift (#4717)

8.44.0-beta.1

Fixes

  • Don't start the SDK inside Xcode preview (#4601)

Improvements

  • Add native SDK information in the replay option event (#4663)
  • Add error logging for invalid cacheDirectoryPath (#4693)

Features

  • SwiftUI time for initial display and time for full display (#4596)
  • Add protocol for custom screenName for UIViewControllers (#4646)
  • Allow hybrid SDK to set replay options tags information (#4710)
  • Add threshold to always log fatal logs (#4707)

Internal

  • Change macros TEST and TESTCI to SENTRY_TEST and SENTRY_TEST_CI (#4712)
  • Convert constants SentrySpanOperation to Swift (#4718)
  • Convert constants SentryTraceOrigins to Swift (#4717)

8.43.1-beta.0

Fixes

  • Memory growth issue in profiler (#4682)
  • Replace occurences of strncpy with strlcpy (#4636)
  • Fix span recording for NSFileManager.createFileAtPath starting with iOS 18, macOS 15 and tvOS 18. This feature is experimental and must be enabled by setting the option experimental.enableFileManagerSwizzling to true (#4634)

Internal

  • Update to Xcode 16.2 in workflows (#4673)
  • Add method unswizzling (#4647)

8.43.0

Warning

This release contains a breaking change for the previously experimental session replay options. We moved the options from Session from options.experimental.sessionReplay to options.sessionReplay.

Features

  • Session replay GA (#4662)
  • Show session replay options as replay tags (#4639)

Fixes

  • Remove empty session replay tags (#4667)
  • SentrySdkInfo.packages should be an array (#4626)
  • Use the same SdkInfo for envelope header and event (#4629)

Improvements

  • Improve compiler error message for missing Swift declarations due to APPLICATION_EXTENSION_API_ONLY (#4603)
  • Mask screenshots for errors (#4623)
  • Slightly speed up serializing scope (#4661)

Internal

  • Remove loading integrations names from event.extra (#4627)
  • Add Hybrid SDKs API to add extra SDK packages (#4637)

8.43.0-beta.1

Improvements

  • Improve compiler error message for missing Swift declarations due to APPLICATION_EXTENSION_API_ONLY (#4603)
  • Mask screenshots for errors (#4623)
  • Slightly speed up serializing scope (#4661)

Features

  • Show session replay options as replay tags (#4639)

Fixes

  • SentrySdkInfo.packages should be an array (#4626)
  • Use the same SdkInfo for envelope header and event (#4629)

Internal

  • Remove loading integrations names from event.extra (#4627)
  • Add Hybrid SDKs API to add extra SDK packages (#4637)

8.42.1

Fixes

  • Fixes Session replay screenshot provider crash (#4649)
  • Session Replay wrong clipping order (#4651)

8.42.0

Features

  • Add in_foreground app context to transactions (#4561)
  • Add in_foreground app context to crash events (#4584)
  • Promote the option performanceV2 from experimental to stable (#4564)

Fixes

  • Session replay touch tracking race condition (#4548)
  • Use options.reportAccessibilityIdentifier for Breadcrumbs and UIEvents (#4569)
  • Session replay transformed view masking (#4529)
  • Load integration from same binary (#4541)
  • Masking for fast animations #4574
  • Fix GraphQL context for HTTP client error tracking (#4567)

Improvements

  • impr: Speed up getBinaryImages V2 (#4539). Follow up on (#4435)
  • Make SentryId Sendable (#4553)
  • Expose Sentry._Hybrid explicit module (#4440)
  • Track adoption of enablePersistingTracesWhenCrashing (#4587)

8.42.0-beta.2

Fixes

  • Fix GraphQL context for HTTP client error tracking (#4567)

Improvements

  • Track adoption of enablePersistingTracesWhenCrashing (#4587)

8.42.0-beta.1

Features

  • Add in_foreground app context to transactions (#4561)
  • Add in_foreground app context to crash events (#4584)
  • Promote the option performanceV2 from experimental to stable (#4564)

Fixes

  • Session replay touch tracking race condition (#4548)
  • Use options.reportAccessibilityIdentifier for Breadcrumbs and UIEvents (#4569)
  • Session replay transformed view masking (#4529)
  • Load integration from same binary (#4541)
  • Masking for fast animations #4574

Improvements

  • impr: Speed up getBinaryImages V2 (#4539). Follow up on (#4435)
  • Make SentryId Sendable (#4553)
  • Expose Sentry._Hybrid explicit module (#4440)

8.41.0

Features

  • Transactions for crashes (#4504): Finish the transaction bound to the scope when the app crashes. This experimental feature is disabled by default. You can enable it via the option enablePersistingTracesWhenCrashing.

Fixes

  • Keep PropagationContext when cloning scope (#4518)
  • UIViewController with Xcode 16 in debug (#4523). The Xcode 16 build setting ENABLE_DEBUG_DYLIB, which is turned on by default only in debug, could lead to missing UIViewController traces.
  • Concurrency crash with Swift 6 (#4512)
  • Make Scope.span fully thread safe (#4519)
  • Finish TTFD when not calling reportFullyDisplayed before binding a new transaction to the scope (#4526).
  • Session replay opacity animation masking (#4532)

8.41.0-beta.1

Features

  • Transactions for crashes (#4504): Finish the transaction bound to the scope when the app crashes. This experimental feature is disabled by default. You can enable it via the option enablePersistingTracesWhenCrashing.

Fixes

  • Keep PropagationContext when cloning scope (#4518)
  • UIViewController with Xcode 16 in debug (#4523). The Xcode 16 build setting ENABLE_DEBUG_DYLIB, which is turned on by default only in debug, could lead to missing UIViewController traces.
  • Concurrency crash with Swift 6 (#4512)
  • Make Scope.span fully thread safe (#4519)
  • Finish TTFD when not calling reportFullyDisplayed before binding a new transaction to the scope (#4526).
  • Session replay opacity animation masking (#4532)

8.40.1

Fixes

  • Session replay masking not working inside scroll view (#4498)

Improvements

  • Add extra logs for UIViewControllerSwizzling (#4511)

8.40.0

Features

  • Add option to report uncaught NSExceptions on macOS (#4471)
  • Build visionOS project with static Sentry SDK (#4462)
  • Too many navigation breadcrumbs for Session Replay (#4480)
  • Time-of-check time-of-use filesystem race condition (#4473)
  • Capture all touches with session replay (#4477)

Improvements

  • Improve frames tracker performance (#4469)
  • Log a warning when dropping envelopes due to rate-limiting (#4463)
  • Expose SentrySessionReplayIntegration-Hybrid.h as private (#4486)
  • Stops session replay if rate limiting is activated (#4496)
  • Add maskedViewClasses and unmaskedViewClasses to SentryReplayOptions init via dict (#4492)
  • Add quality to SentryReplayOptions init via dict (#4495)

Fixes

  • Masking text with transparent text color (#4499)

8.39.0

Removal of Experimental API

Features

  • feat: API to manually start/stop Session Replay (#4414)
  • Custom redact modifier for SwiftUI (#4362, #4392)
  • Track usage of appHangTrackingV2 (#4445)
  • AppHangV2 detection (#4379) Add a new algorithm for detecting app hangs that differentiates between fully blocking and non-fully blocking app hangs. Read more in-depth in our docs.

Fixes

  • Edge case for swizzleClassNameExclude (#4405): Skip creating transactions for UIViewControllers ignored for swizzling via the option swizzleClassNameExclude.
  • Add TTID/TTFD spans when loadView gets skipped (#4415)
  • Finish TTID correctly when viewWillAppear is skipped (#4417)
  • Swizzling RootUIViewController if ignored by swizzleClassNameExclude (#4407)
  • Data race in SentrySwizzleInfo.originalCalled (#4434)
  • Delete old session replay files (#4446)
  • Thread running at user-initiated quality-of-service for session replay (#4439)
  • Don't create transactions for unused UIViewControllers (#4448)

Improvements

  • Serializing profile on a BG Thread (#4377) to avoid potentially slightly blocking the main thread.
  • Session Replay performance for SwiftUI (#4419)
  • Speed up getBinaryImages (#4435) for finishing transactions and capturing events
  • Align SDK dispatch queue names (#4442) to start with io.sentry
  • Use UInts in envelope deserialization (#4441)
  • Make SentrySDK.replay.start() thread safe (#4455)

8.39.0-beta.1

Removal of Experimental API

Features

  • feat: API to manually start/stop Session Replay (#4414)
  • Custom redact modifier for SwiftUI (#4362, #4392)
  • Track usage of appHangTrackingV2 (#4445)
  • AppHangV2 detection (#4379) Add a new algorithm for detecting app hangs that differentiates between fully blocking and non-fully blocking app hangs. Read more in-depth in our docs.

Fixes

  • Edge case for swizzleClassNameExclude (#4405): Skip creating transactions for UIViewControllers ignored for swizzling via the option swizzleClassNameExclude.
  • Add TTID/TTFD spans when loadView gets skipped (#4415)
  • Finish TTID correctly when viewWillAppear is skipped (#4417)
  • Swizzling RootUIViewController if ignored by swizzleClassNameExclude (#4407)
  • Data race in SentrySwizzleInfo.originalCalled (#4434)
  • Delete old session replay files (#4446)
  • Thread running at user-initiated quality-of-service for session replay (#4439)
  • Don't create transactions for unused UIViewControllers (#4448)

Improvements

  • Serializing profile on a BG Thread (#4377) to avoid potentially slightly blocking the main thread.
  • Session Replay performance for SwiftUI (#4419)
  • Speed up getBinaryImages (#4435) for finishing transactions and capturing events
  • Align SDK dispatch queue names (#4442) to start with io.sentry
  • Use UInts in envelope deserialization (#4441)
  • Make SentrySDK.replay.start() thread safe (#4455)

8.38.0

Features

  • Added breadcrumb.origin private field (#4358)
  • Custom redact modifier for SwiftUI (#4362)
  • Add support for arm64e (#3398)

⚠️ Changelog content truncated by 26565 characters because it was over the limit (60000) and wouldn't fit into PR description.

@github-actions github-actions bot force-pushed the deps/modules/sentry-cocoa/8.56.0 branch from a22851e to 2c9f51f Compare September 16, 2025 03:28
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.

1 participant