Skip to content

chore(deps): update Cocoa SDK to v9.6.0#456

Closed
github-actions[bot] wants to merge 1 commit intomainfrom
deps/modules/sentry-cocoa.properties
Closed

chore(deps): update Cocoa SDK to v9.6.0#456
github-actions[bot] wants to merge 1 commit intomainfrom
deps/modules/sentry-cocoa.properties

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot commented Dec 2, 2025

Bumps modules/sentry-cocoa.properties from 8.57.3 to 9.6.0.

Auto-generated by a dependency updater.

Changelog

9.6.0

Features

  • Add watchdog termination hang tracker using RunLoop observer. Can be enabled by setting options.experimental.enableWatchdogTerminationsV2 = true (#7464)

Fixes

  • Preserve NSException and C++ exception reason instead of overwriting with unrelated crash_info_message from libswiftCore.dylib (#7515)
  • Fix unexpected null value when unwrapping view controller window (#7508)

9.5.1

Fixes

  • Don't report NSException subclasses as C++ exceptions (#7420)
  • Write reports on concurrent crashes (#7340)
  • Resolve data race crash in monitorCachedData (#7423)
  • Don't finish network spans for suspended URL session tasks (#7471)
  • Use different fallback for when MetricKit does not have file path (#7473)
  • Remove launch profiling logs in sandboxed environments breaking CLI tools (#7294)

9.5.0

Features

  • Enable MetricKit Integration for visionOS (#7466)

Improvements

  • The watchdog termination integration uses a runloop observer instead of fixed interval main thread work to avoid creating a busy runloop (#7464)

Fixes

  • SentryRedactViewHelper had been erroneously made public, it has been removed from the public interface (#7474)
  • Write reports on concurrent crashes (#7340)

9.4.1

Improvements

  • Record client report when dropping in beforeSendLog (#7379)

Fixes

  • Fix user attributes from scope being omitted from logs when sendDefaultPII is false (#7437)
  • Cleanup SessionReplay when maximum duration reached (#7421)
  • Fix App hangs report with high durations (#7354)

Deprecations

  • The SentrySwiftUI module is now deprecated. All SwiftUI APIs (SentryTracedView, sentryTrace(), sentryReplayMask(), sentryReplayUnmask()) have been merged into the main Sentry module. You can replace import SentrySwiftUI with import Sentry in your code. The SentrySwiftUI module still works via a re-export but will be removed in the next major version. (#7422)

9.4.0

Breaking Changes

  • Sentry.metrics.count(..) does not support units, therefore the API was incorrectly defined. This breaking change applies to a method marked as experimental. (#7358)

Fixes

  • Fix mismatch of in_foreground app context (#7188) The app context in_foreground for handled and unhandled events was sometimes different. This is fixed now by aligning the implementation and adding a new is_active app context field.
  • Fix missing stack traces for NSException objects reported via NSApplication.shared.reportException(_:) on macOS (#7284)

9.3.0

Features

  • Transport logs error message for HTTP 413 responses (#7261)
  • Add installGroupsOverride parameter to CheckForUpdateParams and installGroups property to ReleaseInfo for SentryDistribution (#7278)

Fixes

  • Fix deadlock in network reachability observer when restarting the SDK (#7246)

9.2.0

Important

This release contains a bug fix to only include user attributes in logs when options.sendDefaultPii = true.
Make sure to enable the option in case you rely on these attributes to be set.

Features

  • Add options options.sessionReplay.includedViewClasses and options.sessionReplay.excludedViewClasses to ignore views from subtree traversal (#7063)
  • Add isiOSAppOnVisionOS, isiOSAppOnMac, isMacCatalystApp to device context #6939
  • Add integration to collect Metrics, enabled by default. Can be disabled by setting options.experimental.enableMetrics = false (#6956)
  • Add implementation for Metrics Protocol with modification of items in options.experimental.beforeSendMetrics (#6960)
  • Add Sentry.metrics.count(..), Sentry.metrics.distribution(..) and Sentry.metrics.gauge(..) to public API (#6957)
  • Add flushing of Metrics to SentrySDK.flush() (#7182)

Fixes

  • Encode SwiftUI internal class names in session replay redaction to avoid false-positive App Store review rejections (#7123)
  • The transport now correctly discard envelopes on 4xx and 5xx responses and records client reports send_error (#6618) This also fixes edge cases in which the SDK kept retrying sending a faulty envelope until the offline cache overflowed.
  • Change default attributes of Logs to only include user attributes when options.sendDefaultPii = true (#7055)
  • Rename log attribute sentry.trace.parent_span_id to span_id (#7055)
  • Fixes stacktraces for MetricKit events (#6908)
  • Fix raw_description in runtime context on Mac Catalyst (#7082)
  • Deprecates configureDarkTheme for user feedback (#7114)
  • Fix incorrect variable assignment for 'sampled' key (#7120)
  • Resolve crash in caused by calling SentryFramesTracker.removeListener(_:) (#7155)

9.1.0

Warning

The class SentryDsn has been converted from Objective-C to Swift. While the public API remains the same, you might have to remove imports of the SentryDsn.h from your Objective-C code.
We acknowledge that this is a breaking change introduced in a minor release, but it should have been part of the major release 9.0.0 already before - apologies for any inconveniences caused.

Breaking Changes

  • Refactored type SentryDsn from Objective-C to Swift, removing the SentryDsn.h from the public header files.

Features

  • Add attributes data to SentryScope (#6830)
  • Add SentryScope attributes into log messages (#6834)

Improvements

  • Flush Logs on WillTerminate or WillResignActive Notifications (#6909)

Fixes

  • Save app context information (release name, dist, environment) on app hang events before saving to disk to prevent incorrect version information when an app hang turns fatal (#6998)
  • Disabled automatic session tracking in system extensions to prevent extension blocking and unwanted dock icon behavior (#6962) (#6962)
  • Fixes crash when null values are passed to UIApplication sendAction:to:from:forEvent: (#6970)
  • Fixes user.id not set to installationId if no user is set (#7005)

9.0.0

This changelog lists every breaking change. For a high-level overview and upgrade guidance, see the migration guide.

Breaking Changes

  • Bumped minimum OS versions to iOS 15.0, macOS 10.14.0, tvOS 15.0, visionOS 1.0, and watchOS 8.0 (#6873)
  • Moves SentryEventDecoder to SPI (#6365)
  • Makes PreviewRedactOptions, SentryProfileOptions, SentryRedactViewHelper, SentryViewScreenshotOptions, SentryReplayOptions, SentryUserFeedbackConfiguration, SentryUserFeedbackFormConfiguration, SentryUserFeedbackThemeConfiguration, SentryUserFeedbackWidgetConfiguration, SentryFeedback, and SentryExperimentalOptions final (#6365)
  • Removes Decodable conformances from the public API of model classes (#5691)
  • Removes unused SentryLogLevel (#5591)
  • Removes deprecated setExtraValue from SentrySpan (#5864)
  • Removes deprecated getStoreEndpoint (#5591)
  • Remove legacy profiling, the only supported profiling is now what was known as continuous V2 (#6386)
  • Removes deprecated useSpan function (#5591)
  • Makes app hang tracking V2 the default only on iOS and tvOS and removes the option to enable/disable it (#5615). macOS still uses V1.
  • Removes initializers for SentryTraceContext from the public API (#6662)
  • Removes integrations property from SentryOptions (#5749)
  • Removes defaultIntegrations function from SentryOptions (#6664)
  • Makes SentryEventDecodable internal (#5808)
  • The span property on SentryScope is now readonly (#5866)
  • Removes SentryIntegrationProtocol from the API. This is not used after the removal of the integrations property (#6660)
  • Removes deprecated SentryDebugImageProvider class (#5598)
  • Properties on SentryOptions that had no effect on the WithoutUIKit variant are now removed from the API (#6644)
  • Removes the SentryOptions.inAppExclude property because it had no effect (#6646)
  • Removes segment property on SentryUser, SentryBaggage, and SentryTraceContext (#5638)
  • Removes deprecated TraceContext initializers (#6348)
  • Removes deprecated user feedback API, this is replaced with the new feedback API (#5591)
  • Removes enablePerformanceV2 option and makes this the default. The app start duration will now finish when the first frame is drawn instead of when the OS posts the UIWindowDidBecomeVisibleNotification. (#6008)
  • Removes enableTracing property from SentryOptions (#5694)
  • Structured Logs: Move options out of experimental (#6359)
  • Remove unused SentryFrame.instruction property (#6504)
  • Remove uuid and name of SentryDebugMeta (#6512) Use debugID instead of uuid and codeFile instead of name.
  • Enable enablePreWarmedAppStartTracing by default (#6508). With this option enabled, the SDK collects prewarmed app starts.
  • Set SentryFrame.function default to nil instead of <redacted> (#6608)
  • Change value and type of SentryException to be nullable (#6563)
  • Change the default trace context status to "ok" instead of "undefined" (#6611)
  • Remove getHash from SentryDsn (#6605)
  • The precompiled XCFramework is now built with Xcode 16. To submit to the App Store, Apple now requires Xcode 16.
    If you need a precompiled XCFramework built with Xcode 15, continue using Sentry SDK 8.x.x.
  • Set SentryException.type to nil when NSException has no reason (#6653). The backend then can provide a proper message when there is no reason.
  • Rename SentryLog.Level and SentryLog.Attribute for ObjC (#6666)
  • Change SentryFeedback initializer to support multiple attachments (#6752)
  • App hang tracking is now automatically disabled for Widgets, Live Activities, Action Extensions, (Siri) Intent Extensions, and Share Extensions (#6670).
    These components run in separate processes or sandboxes with different execution characteristics, which can cause false positive app hang reports.
  • HTTP Client errors now mark sessions as errored (#6633)
  • The Package.swift has swift-tools-version set to 6.0 (#6764)
  • Converts the SentryLevel enum to be written in ObjC (#6802)
  • Removes SentryEnvelopeItemHeader from the public API (#6870)
  • Change the http.response.status_code for spans to int (#6896)

Features

  • Add SentryDistribution as Swift Package Manager target (#6149)
  • Moves SentryClient and SentryHub to be written in Swift (#6627)
  • Add option enablePropagateTraceparent to support OTel/W3C trace propagation (#6356)
  • Move enableFileManagerSwizzling from experimental options to top-level options (#6592).
    This option is still disabled by default and will be enabled in a future major release.
  • Move enableDataSwizzling from experimental options to top-level options (#6592). This option remains enabled by default.
  • Add sentry.replay_id attribute to logs (#6515)
  • Structured Logs: Add log APIs to Hub and Client (#6737)
  • Add options to customize UserFeedback error messages (#6790)

Fixes

  • Fixes warnings about minimum OS version being lower than Xcode supported version (#5591)
  • Fixes a crash when setting configureUserFeedback to nil (#6642)
  • Fix issue where the thread that generated an event could be missing when more than 100 threads are running (#6377)
  • Fix wrong Frame Delay when becoming active, which lead to false reported app hangs when the app moves to the foreground after being in the background (#6381)
  • Rename SentryMechanismMeta to SentryMechanismContext to resolve Kotlin Multi-Platform build errors (#6607)
  • Remove unnecesary dependency on SentryCppHelper to Sentry (#6754)
  • Limit log batching to maximum 100 logs per batch (#6768)
  • Fix UIWindow being possibly accessed from a background thread in SentryCrashWrapper (#6905)
  • Ensure SentrySDK.close resets everything on the main thread (#6907)
  • Allow transaction tags to be accessed and modified in beforeSend (#6910)
  • Convert bools to Swift in Options code docs (#6922)

Improvements

  • Replace deprecated SCNetworkReachability with NWPathMonitor (#6019)
  • Expose attachment type on SentryAttachment for downstream SDKs (like sentry-godot) (#6521)
  • Increase attachment max size to 100MB (#6537)
  • Increase maximum attachment size to 200MB (#6726)

9.0.0-rc.1

Breaking Changes

  • Bumped minimum OS versions to iOS 15.0, macOS 10.14.0, tvOS 15.0, visionOS 1.0, and watchOS 8.0 (#6873)
  • Moves SentryEventDecoder to SPI (#6365)
  • Makes PreviewRedactOptions, SentryProfileOptions, SentryRedactViewHelper, SentryViewScreenshotOptions, SentryReplayOptions, SentryUserFeedbackConfiguration, SentryUserFeedbackFormConfiguration, SentryUserFeedbackThemeConfiguration, SentryUserFeedbackWidgetConfiguration, SentryFeedback, and SentryExperimentalOptions final (#6365)
  • Removes Decodable conformances from the public API of model classes (#5691)
  • Removes unused SentryLogLevel (#5591)
  • Removes deprecated setExtraValue from SentrySpan (#5864)
  • Removes deprecated getStoreEndpoint (#5591)
  • Remove legacy profiling, the only supported profiling is now what was known as continuous V2 (#6386)
  • Removes deprecated useSpan function (#5591)
  • Makes app hang tracking V2 the default and removes the option to enable/disable it (#5615)
  • Removes initializers for SentryTraceContext from the public API (#6662)
  • Removes integrations property from SentryOptions (#5749)
  • Removes defaultIntegrations function from SentryOptions (#6664)
  • Makes SentryEventDecodable internal (#5808)
  • The span property on SentryScope is now readonly (#5866)
  • Removes SentryIntegrationProtocol from the API. This is not used after the removal of the integrations property (#6660)
  • Removes deprecated SentryDebugImageProvider class (#5598)
  • Properties on SentryOptions that had no effect on the WithoutUIKit variant are now removed from the API (#6644)
  • Removes the SentryOptions.inAppExclude property because it had no effect (#6646)
  • Removes segment property on SentryUser, SentryBaggage, and SentryTraceContext (#5638)
  • Removes deprecated TraceContext initializers (#6348)
  • Removes deprecated user feedback API, this is replaced with the new feedback API (#5591)
  • Removes enablePerformanceV2 option and makes this the default. The app start duration will now finish when the first frame is drawn instead of when the OS posts the UIWindowDidBecomeVisibleNotification. (#6008)
  • Removes enableTracing property from SentryOptions (#5694)
  • Structured Logs: Move options out of experimental (#6359)
  • Remove unused SentryFrame.instruction property (#6504)
  • Remove uuid and name of SentryDebugMeta (#6512) Use debugID instead of uuid and codeFile instead of name.
  • Enable enablePreWarmedAppStartTracing by default (#6508). With this option enabled, the SDK collects prewarmed app starts.
  • Set SentryFrame.function default to nil instead of <redacted> (#6608)
  • Change value and type of SentryException to be nullable (#6563)
  • Change the default trace context status to "ok" instead of "undefined" (#6611)
  • Remove getHash from SentryDsn (#6605)
  • The precompiled XCFramework is now built with Xcode 16. To submit to the App Store, Apple now requires Xcode 16.
    If you need a precompiled XCFramework built with Xcode 15, continue using Sentry SDK 8.x.x.
  • Set SentryException.type to nil when NSException has no reason (#6653). The backend then can provide a proper message when there is no reason.
  • Rename SentryLog.Level and SentryLog.Attribute for ObjC (#6666)
  • Change SentryFeedback initializer to support multiple attachments (#6752)
  • App hang tracking is now automatically disabled for Widgets, Live Activities, Action Extensions, (Siri) Intent Extensions, and Share Extensions (#6670).
    These components run in separate processes or sandboxes with different execution characteristics, which can cause false positive app hang reports.
  • HTTP Client errors now mark sessions as errored (#6633)
  • The Package.swift has swift-tools-version set to 6.0 (#6764)
  • Converts the SentryLevel enum to be written in ObjC (#6802)
  • Removes SentryEnvelopeItemHeader from the public API (#6870)

Features

  • Add SentryDistribution as Swift Package Manager target (#6149)
  • Moves SentryClient and SentryHub to be written in Swift (#6627)
  • Add option enablePropagateTraceparent to support OTel/W3C trace propagation (#6356)
  • Move enableFileManagerSwizzling from experimental options to top-level options (#6592).
    This option is still disabled by default and will be enabled in a future major release.
  • Move enableDataSwizzling from experimental options to top-level options (#6592). This option remains enabled by default.
  • Add sentry.replay_id attribute to logs (#6515)
  • Structured Logs: Add log APIs to Hub and Client (#6737)

Fixes

  • Fixes warnings about minimum OS version being lower than Xcode supported version (#5591)
  • Fixes a crash when setting configureUserFeedback to nil (#6642)
  • Fix issue where the thread that generated an event could be missing when more than 100 threads are running (#6377)
  • Fix wrong Frame Delay when becoming active, which lead to false reported app hangs when the app moves to the foreground after being in the background (#6381)
  • Rename SentryMechanismMeta to SentryMechanismContext to resolve Kotlin Multi-Platform build errors (#6607)
  • Remove unnecesary dependency on SentryCppHelper to Sentry (#6754)
  • Limit log batching to maximum 100 logs per batch (#6768)

Improvements

  • Replace deprecated SCNetworkReachability with NWPathMonitor (#6019)
  • Expose attachment type on SentryAttachment for downstream SDKs (like sentry-godot) (#6521)
  • Increase attachment max size to 100MB (#6537)
  • Increase maximum attachment size to 200MB (#6726)

9.0.0-rc.0

Breaking Changes

  • Bumped minimum OS versions to iOS 15.0, macOS 12.0, tvOS 15.0, visionOS 1.0, and watchOS 8.0
  • Moves SentryEventDecoder to SPI (#6365)
  • Makes PreviewRedactOptions, SentryProfileOptions, SentryRedactViewHelper, SentryViewScreenshotOptions, SentryReplayOptions, SentryUserFeedbackConfiguration, SentryUserFeedbackFormConfiguration, SentryUserFeedbackThemeConfiguration, SentryUserFeedbackWidgetConfiguration, SentryFeedback, and SentryExperimentalOptions final (#6365)
  • Removes Decodable conformances from the public API of model classes (#5691)
  • Removes unused SentryLogLevel (#5591)
  • Removes deprecated setExtraValue from SentrySpan (#5864)
  • Removes deprecated getStoreEndpoint (#5591)
  • Remove legacy profiling, the only supported profiling is now what was known as continuous V2 (#6386)
  • Removes deprecated useSpan function (#5591)
  • Makes app hang tracking V2 the default and removes the option to enable/disable it (#5615)
  • Removes initializers for SentryTraceContext from the public API (#6662)
  • Removes integrations property from SentryOptions (#5749)
  • Removes defaultIntegrations function from SentryOptions (#6664)
  • Makes SentryEventDecodable internal (#5808)
  • The span property on SentryScope is now readonly (#5866)
  • Removes SentryIntegrationProtocol from the API. This is not used after the removal of the integrations property (#6660)
  • Removes deprecated SentryDebugImageProvider class (#5598)
  • Properties on SentryOptions that had no effect on the WithoutUIKit variant are now removed from the API (#6644)
  • Removes the SentryOptions.inAppExclude property because it had no effect (#6646)
  • Removes segment property on SentryUser, SentryBaggage, and SentryTraceContext (#5638)
  • Removes deprecated TraceContext initializers (#6348)
  • Removes deprecated user feedback API, this is replaced with the new feedback API (#5591)
  • Removes enablePerformanceV2 option and makes this the default. The app start duration will now finish when the first frame is drawn instead of when the OS posts the UIWindowDidBecomeVisibleNotification. (#6008)
  • Removes enableTracing property from SentryOptions (#5694)
  • Structured Logs: Move options out of experimental (#6359)
  • Remove unused SentryFrame.instruction property (#6504)
  • Remove uuid and name of SentryDebugMeta (#6512) Use debugID instead of uuid and codeFile instead of name.
  • Enable enablePreWarmedAppStartTracing by default (#6508). With this option enabled, the SDK collects prewarmed app starts.
  • Set SentryFrame.function default to nil instead of <redacted> (#6608)
  • Change value and type of SentryException to be nullable (#6563)
  • Change the default trace context status to "ok" instead of "undefined" (#6611)
  • Remove getHash from SentryDsn (#6605)
  • The precompiled XCFramework is now built with Xcode 16. To submit to the App Store, Apple now requires Xcode 16.
    If you need a precompiled XCFramework built with Xcode 15, continue using Sentry SDK 8.x.x.
  • Set SentryException.type to nil when NSException has no reason (#6653). The backend then can provide a proper message when there is no reason.
  • Rename SentryLog.Level and SentryLog.Attribute for ObjC (#6666)
  • Change SentryFeedback initializer to support multiple attachments (#6752)
  • App hang tracking is now automatically disabled for Widgets, Live Activities, Action Extensions, (Siri) Intent Extensions, and Share Extensions (#6670).
    These components run in separate processes or sandboxes with different execution characteristics, which can cause false positive app hang reports.
  • HTTP Client errors now mark sessions as errored (#6633)
  • The Package.swift has swift-tools-version set to 6.0 (#6764)
  • Converts the SentryLevel enum to be written in ObjC (#6802)

Features

  • Add SentryDistribution as Swift Package Manager target (#6149)
  • Moves SentryClient and SentryHub to be written in Swift (#6627)
  • Add option enablePropagateTraceparent to support OTel/W3C trace propagation (#6356)
  • Move enableFileManagerSwizzling from experimental options to top-level options (#6592).
    This option is still disabled by default and will be enabled in a future major release.
  • Move enableDataSwizzling from experimental options to top-level options (#6592). This option remains enabled by default.
  • Add sentry.replay_id attribute to logs (#6515)
  • Structured Logs: Add log APIs to Hub and Client (#6737)

Fixes

  • Fixes warnings about minimum OS version being lower than Xcode supported version (#5591)
  • Fixes a crash when setting configureUserFeedback to nil (#6642)
  • Fix issue where the thread that generated an event could be missing when more than 100 threads are running (#6377)
  • Fix wrong Frame Delay when becoming active, which lead to false reported app hangs when the app moves to the foreground after being in the background (#6381)
  • Rename SentryMechanismMeta to SentryMechanismContext to resolve Kotlin Multi-Platform build errors (#6607)
  • Remove unnecesary dependency on SentryCppHelper to Sentry (#6754)
  • Limit log batching to maximum 100 logs per batch (#6768)

Improvements

  • Replace deprecated SCNetworkReachability with NWPathMonitor (#6019)
  • Expose attachment type on SentryAttachment for downstream SDKs (like sentry-godot) (#6521)
  • Increase attachment max size to 100MB (#6537)
  • Increase maximum attachment size to 200MB (#6726)

9.0.0-alpha.1

Breaking Changes

  • Bumped minimum OS versions to iOS 15.0, macOS 12.0, tvOS 15.0, visionOS 1.0, and watchOS 8.0
  • Moves SentryEventDecoder to SPI (#6365)
  • Makes PreviewRedactOptions, SentryProfileOptions, SentryRedactViewHelper, SentryViewScreenshotOptions, SentryReplayOptions, SentryUserFeedbackConfiguration, SentryUserFeedbackFormConfiguration, SentryUserFeedbackThemeConfiguration, SentryUserFeedbackWidgetConfiguration, SentryFeedback, and SentryExperimentalOptions final (#6365)
  • Removes Decodable conformances from the public API of model classes (#5691)
  • Removes unused SentryLogLevel (#5591)
  • Removes deprecated setExtraValue from SentrySpan (#5864)
  • Removes deprecated getStoreEndpoint (#5591)
  • Remove legacy profiling, the only supported profiling is now what was known as continuous V2 (#6386)
  • Removes deprecated useSpan function (#5591)
  • Makes app hang tracking V2 the default and removes the option to enable/disable it (#5615)
  • Removes initializers for SentryTraceContext from the public API (#6662)
  • Removes integrations property from SentryOptions (#5749)
  • Removes defaultIntegrations function from SentryOptions (#6664)
  • Makes SentryEventDecodable internal (#5808)
  • The span property on SentryScope is now readonly (#5866)
  • Removes SentryIntegrationProtocol from the API. This is not used after the removal of the integrations property (#6660)
  • Removes deprecated SentryDebugImageProvider class (#5598)
  • Properties on SentryOptions that had no effect on the WithoutUIKit variant are now removed from the API (#6644)
  • Removes the SentryOptions.inAppExclude property because it had no effect (#6646)
  • Removes segment property on SentryUser, SentryBaggage, and SentryTraceContext (#5638)
  • Removes deprecated TraceContext initializers (#6348)
  • Removes deprecated user feedback API, this is replaced with the new feedback API (#5591)
  • Removes enablePerformanceV2 option and makes this the default. The app start duration will now finish when the first frame is drawn instead of when the OS posts the UIWindowDidBecomeVisibleNotification. (#6008)
  • Removes enableTracing property from SentryOptions (#5694)
  • Structured Logs: Move options out of experimental (#6359)
  • Remove unused SentryFrame.instruction property (#6504)
  • Remove uuid and name of SentryDebugMeta (#6512) Use debugID instead of uuid and codeFile instead of name.
  • Enable enablePreWarmedAppStartTracing by default (#6508). With this option enabled, the SDK collects prewarmed app starts.
  • Set SentryFrame.function default to nil instead of <redacted> (#6608)
  • Change value and type of SentryException to be nullable (#6563)
  • Change the default trace context status to "ok" instead of "undefined" (#6611)
  • Remove getHash from SentryDsn (#6605)
  • The precompiled XCFramework is now built with Xcode 16. To submit to the App Store, Apple now requires Xcode 16.
    If you need a precompiled XCFramework built with Xcode 15, continue using Sentry SDK 8.x.x.
  • Set SentryException.type to nil when NSException has no reason (#6653). The backend then can provide a proper message when there is no reason.
  • Rename SentryLog.Level and SentryLog.Attribute for ObjC (#6666)
  • Change SentryFeedback initializer to support multiple attachments (#6752)

Fixes

  • Fixes warnings about minimum OS version being lower than Xcode supported version (#5591)
  • Fixes a crash when setting configureUserFeedback to nil (#6642)
  • Fix issue where the thread that generated an event could be missing when more than 100 threads are running (#6377)
  • Fix wrong Frame Delay when becoming active, which lead to false reported app hangs when the app moves to the foreground after being in the background (#6381)
  • Rename SentryMechanismMeta to SentryMechanismContext to resolve Kotlin Multi-Platform build errors (#6607)
  • Remove unnecesary dependency on SentryCppHelper to Sentry (#6754)

Improvements

  • Replace deprecated SCNetworkReachability with NWPathMonitor (#6019)
  • Expose attachment type on SentryAttachment for downstream SDKs (like sentry-godot) (#6521)
  • Increase attachment max size to 100MB (#6537)
  • Increase maximum attachment size to 200MB (#6726)

Features

  • Add SentryDistribution as Swift Package Manager target (#6149)
  • Moves SentryClient and SentryHub to be written in Swift (#6627)
  • Add option enablePropagateTraceparent to support OTel/W3C trace propagation (#6356)
  • Move enableFileManagerSwizzling from experimental options to top-level options (#6592).
    This option is still disabled by default and will be enabled in a future major release.
  • Move enableDataSwizzling from experimental options to top-level options (#6592). This option remains enabled by default.
  • Add sentry.replay_id attribute to logs (#6515)
  • Structured Logs: Add log APIs to Hub and Client (#6737)

9.0.0-alpha.0

Breaking Changes

  • Moves SentryEventDecoder to SPI (#6365)
  • Makes PreviewRedactOptions, SentryProfileOptions, SentryRedactViewHelper, SentryViewScreenshotOptions, SentryReplayOptions, SentryUserFeedbackConfiguration, SentryUserFeedbackFormConfiguration, SentryUserFeedbackThemeConfiguration, SentryUserFeedbackWidgetConfiguration, SentryFeedback, and SentryExperimentalOptions final (#6365)
  • Removes Decodable conformances from the public API of model classes (#5691)
  • Removes unused SentryLogLevel (#5591)
  • Removes deprecated setExtraValue from SentrySpan (#5864)
  • Removes deprecated getStoreEndpoint (#5591)
  • Remove legacy profiling, the only supported profiling is now what was known as continuous V2 (#6386)
  • Removes deprecated useSpan function (#5591)
  • Makes app hang tracking V2 the default and removes the option to enable/disable it (#5615)
  • Removes initializers for SentryTraceContext from the public API (#6662)
  • Removes integrations property from SentryOptions (#5749)
  • Removes defaultIntegrations function from SentryOptions (#6664)
  • Makes SentryEventDecodable internal (#5808)
  • Removes SentryIntegrationProtocol from the API. This is not used after the removal of the integrations property (#6660)
  • Removes deprecated SentryDebugImageProvider class (#5598)
  • Properties on SentryOptions that had no effect on the WithoutUIKit variant are now removed from the API (#6644)
  • Removes the SentryOptions.inAppExclude property because it had no effect (#6646)
  • Removes segment property on SentryUser, SentryBaggage, and SentryTraceContext (#5638)
  • Removes local symbolication when debug=True which fixes various deadlocks (#6562)
  • Removes deprecated TraceContext initializers (#6348)
  • Removes deprecated user feedback API, this is replaced with the new feedback API (#5591)
  • Removes enablePerformanceV2 option and makes this the default. The app start duration will now finish when the first frame is drawn instead of when the OS posts the UIWindowDidBecomeVisibleNotification. (#6008)
  • Removes enableTracing property from SentryOptions (#5694)
  • Structured Logs: Move options out of experimental (#6359)
  • Remove unused SentryFrame.instruction property (#6504)
  • Remove uuid and name of SentryDebugMeta (#6512) Use debugID instead of uuid and codeFile instead of name.
  • Enable enablePreWarmedAppStartTracing by default (#6508). With this option enabled, the SDK collects prewarmed app starts.
  • Set SentryFrame.function default to nil instead of <redacted> (#6608)
  • Change value and type of SentryException to be nullable (#6563)
  • Change the default trace context status to "ok" instead of "undefined" (#6611)
  • Remove getHash from SentryDsn (#6605)
  • The precompiled XCFramework is now built with Xcode 16. To submit to the App Store, Apple now requires Xcode 16.
    If you need a precompiled XCFramework built with Xcode 15, continue using Sentry SDK 8.x.x.
  • Set SentryException.type to nil when NSException has no reason (#6653). The backend then can provide a proper message when there is no reason.
  • Rename SentryLog.Level and SentryLog.Attribute for ObjC (#6666)

Fixes

  • Fixes warnings about minimum OS version being lower than Xcode supported version (#5591)
  • Fixes a crash when setting configureUserFeedback to nil (#6642)
  • Fix issue where the thread that generated an event could be missing when more than 100 threads are running (#6377)
  • Fix wrong Frame Delay when becoming active, which lead to false reported app hangs when the app moves to the foreground after being in the background (#6381)
  • Rename SentryMechanismMeta to SentryMechanismContext to resolve Kotlin Multi-Platform build errors (#6607)

Improvements

  • Replace deprecated SCNetworkReachability with NWPathMonitor (#6019)
  • Expose attachment type on SentryAttachment for downstream SDKs (like sentry-godot) (#6521)
  • Increase attachment max size to 100MB (#6537)

Features

  • Add SentryDistribution as Swift Package Manager target (#6149)
  • Moves SentryClient and SentryHub to be written in Swift (#6627)
  • Add option enablePropagateTraceparent to support OTel/W3C trace propagation (#6356)
  • Move enableFileManagerSwizzling from experimental options to top-level options (#6592).
    This option is still disabled by default and will be enabled in a future major release.
  • Move enableDataSwizzling from experimental options to top-level options (#6592). This option remains enabled by default.
  • Add sentry.replay_id attribute to logs (#6515)

8.58.0

Features

  • Add options options.sessionReplay.includedViewClasses and options.sessionReplay.excludedViewClasses to ignore views from subtree traversal (#7063)

Fixes

  • Encode SwiftUI internal class names in session replay redaction to avoid false-positive App Store review rejections (#7123)

    • Add layer class filtering for views used in multiple contexts (e.g., SwiftUI._UIGraphicsView)
Full CHANGELOG.md diff
 -1,5 +1,511 
 # Changelog
 
+## 9.6.0
+
+### Features
+
+- Add watchdog termination hang tracker using RunLoop observer. Can be enabled by setting `options.experimental.enableWatchdogTerminationsV2 = true` ([#7464](https://github-redirect.dependabot.com/getsentry/sentry-cocoa/issues/7464))
+
+### Fixes
+
+- Preserve NSException and C++ exception reason instead of overwriting with unrelated `crash_info_message` from `libswiftCore.dylib` ([#7515](https://github-redirect.dependabot.com/getsentry/sentry-cocoa/issues/7515))

> :warning: **Changelog content truncated by 60026 characters because it was over the limit (60000) and wouldn't fit into PR description.**

@bruno-garcia bruno-garcia force-pushed the deps/modules/sentry-cocoa.properties branch from 8320538 to d06fe80 Compare December 2, 2025 03:30
@bruno-garcia bruno-garcia force-pushed the deps/modules/sentry-cocoa.properties branch 2 times, most recently from 3bbbea5 to d4be44f Compare December 10, 2025 18:56
@github-actions github-actions Bot changed the title chore(deps): update Cocoa SDK to v9.0.0 chore(deps): update Cocoa SDK to v9.1.0 Dec 10, 2025
@@ -1,2 +1,2 @@
version=8.57.3
version=9.1.0
repo=https://github.com/getsentry/sentry-cocoa

This comment was marked as outdated.

@bruno-garcia bruno-garcia force-pushed the deps/modules/sentry-cocoa.properties branch 2 times, most recently from 01d6fb9 to 5e19f71 Compare December 18, 2025 03:31
@bruno-garcia bruno-garcia force-pushed the deps/modules/sentry-cocoa.properties branch from 5e19f71 to 665d9b3 Compare December 23, 2025 03:33
@@ -1,2 +1,2 @@
version=8.57.3
version=9.1.0
repo=https://github.com/getsentry/sentry-cocoa

This comment was marked as outdated.

@bruno-garcia bruno-garcia force-pushed the deps/modules/sentry-cocoa.properties branch from 665d9b3 to d573ad2 Compare December 24, 2025 03:33
@bruno-garcia bruno-garcia force-pushed the deps/modules/sentry-cocoa.properties branch from d573ad2 to cf2a786 Compare January 10, 2026 03:32
@bruno-garcia bruno-garcia force-pushed the deps/modules/sentry-cocoa.properties branch from cf2a786 to 68d1559 Compare January 20, 2026 03:35
@github-actions
Copy link
Copy Markdown
Contributor Author

github-actions Bot commented Jan 20, 2026

Semver Impact of This PR

🟢 Patch (bug fixes)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


New Features ✨

  • (android) Enable tombstone support on Android by limbonaut in #584
  • (export) Add UI export hint for Android Gradle build requirement by limbonaut in #582
  • Add Android x86_32 builds by limbonaut in #585

Internal Changes 🔧

  • (demo) Use logger instead of log file for demo output by limbonaut in #583
  • (deps) Update Cocoa SDK to v9.6.0 by github-actions[bot] in #456

🤖 This preview updates automatically when you update the PR.

@bruno-garcia bruno-garcia force-pushed the deps/modules/sentry-cocoa.properties branch from 68d1559 to d564877 Compare January 21, 2026 03:35
@github-actions github-actions Bot changed the title chore(deps): update Cocoa SDK to v9.1.0 chore(deps): update Cocoa SDK to v9.2.0 Jan 22, 2026
@bruno-garcia bruno-garcia force-pushed the deps/modules/sentry-cocoa.properties branch from d564877 to 39d30b4 Compare January 22, 2026 03:35
Comment thread modules/sentry-cocoa.properties
@bruno-garcia bruno-garcia force-pushed the deps/modules/sentry-cocoa.properties branch from 39d30b4 to e36855e Compare January 29, 2026 03:48
@github-actions github-actions Bot changed the title chore(deps): update Cocoa SDK to v9.2.0 chore(deps): update Cocoa SDK to v9.3.0 Jan 29, 2026
@bruno-garcia bruno-garcia force-pushed the deps/modules/sentry-cocoa.properties branch 4 times, most recently from 9b846fd to 6b877b9 Compare February 5, 2026 03:49
@github-actions github-actions Bot changed the title chore(deps): update Cocoa SDK to v9.3.0 chore(deps): update Cocoa SDK to v9.4.0 Feb 5, 2026
@bruno-garcia bruno-garcia force-pushed the deps/modules/sentry-cocoa.properties branch 4 times, most recently from fc2d042 to b328ba4 Compare February 12, 2026 03:55
@github-actions github-actions Bot changed the title chore(deps): update Cocoa SDK to v9.4.0 chore(deps): update Cocoa SDK to v9.4.1 Feb 12, 2026
@bruno-garcia bruno-garcia force-pushed the deps/modules/sentry-cocoa.properties branch 4 times, most recently from 29795b8 to 8adf4e9 Compare February 19, 2026 03:51
Comment thread modules/sentry-cocoa.properties
@github-actions github-actions Bot changed the title chore(deps): update Cocoa SDK to v9.4.1 chore(deps): update Cocoa SDK to v9.5.0 Feb 20, 2026
@bruno-garcia bruno-garcia force-pushed the deps/modules/sentry-cocoa.properties branch 2 times, most recently from b40c827 to 3052e83 Compare February 25, 2026 03:50
Comment thread modules/sentry-cocoa.properties Outdated
@@ -1,2 +1,2 @@
version=8.57.3
version=9.5.0
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Uncoordinated Cocoa major upgrade

High Severity

Updating modules/sentry-cocoa.properties to 9.5.0 pulls in Sentry Cocoa v9, which includes breaking platform minimum changes. The build still targets older iOS versions, so this version bump can break iOS builds or produce binaries that fail on older devices without any accompanying compatibility update.

Fix in Cursor Fix in Web

@bruno-garcia bruno-garcia force-pushed the deps/modules/sentry-cocoa.properties branch 2 times, most recently from 01155d0 to de4e176 Compare February 26, 2026 03:49
@github-actions github-actions Bot changed the title chore(deps): update Cocoa SDK to v9.5.0 chore(deps): update Cocoa SDK to v9.5.1 Feb 26, 2026
@bruno-garcia bruno-garcia force-pushed the deps/modules/sentry-cocoa.properties branch from de4e176 to a02e736 Compare February 27, 2026 03:48
Comment thread modules/sentry-cocoa.properties Outdated
@@ -1,2 +1,2 @@
version=8.57.3
version=9.5.1
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Structured logs option path incompatible with SDK v9

High Severity

Bumping sentry-cocoa from v8.57.3 to v9.5.1 introduces a breaking API change: enableLogs was moved from options.experimental to the top-level options in v9.0.0 ("Structured Logs: Move options out of experimental"). The code in cocoa_sdk.mm still accesses options.experimental.enableLogs, which will either fail to compile or silently fail to enable structured logging.

Fix in Cursor Fix in Web

@bruno-garcia bruno-garcia force-pushed the deps/modules/sentry-cocoa.properties branch 2 times, most recently from 47b44eb to 26a212e Compare March 3, 2026 03:49
@@ -1,2 +1,2 @@
version=8.57.3
version=9.5.1
repo=https://github.com/getsentry/sentry-cocoa
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Bug: The code uses outdated Sentry Cocoa SDK v8 class names (SentryStructuredLogAttribute, SentryStructuredLogLevel) after an upgrade to v9, which will cause a compilation failure.
Severity: CRITICAL

Suggested Fix

Update the code in src/sentry/cocoa/cocoa_log.mm to use the new API names from the Sentry Cocoa SDK v9. Rename all instances of SentryStructuredLogAttribute to SentryLogAttribute and SentryStructuredLogLevel to SentryLogLevel.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: modules/sentry-cocoa.properties#L2

Potential issue: The Sentry Cocoa SDK was upgraded from version 8 to 9, but the code was
not updated to reflect breaking API changes. Specifically, the code in
`src/sentry/cocoa/cocoa_log.mm` continues to reference `SentryStructuredLogAttribute`
and `SentryStructuredLogLevel`, which were renamed to `SentryLogAttribute` and
`SentryLogLevel` in SDK version 9. This mismatch will cause the code to fail during
compilation, as the old class names no longer exist in the updated SDK headers.

@bruno-garcia bruno-garcia force-pushed the deps/modules/sentry-cocoa.properties branch 3 times, most recently from db65af4 to ae63ba9 Compare March 5, 2026 03:48
@github-actions github-actions Bot changed the title chore(deps): update Cocoa SDK to v9.5.1 chore(deps): update Cocoa SDK to v9.6.0 Mar 5, 2026
@bruno-garcia bruno-garcia force-pushed the deps/modules/sentry-cocoa.properties branch 3 times, most recently from 79215e4 to 30b5244 Compare March 9, 2026 16:03
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

@@ -1,2 +1,2 @@
version=8.57.3
version=9.6.0
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

enableAppHangTracking removed from SentryOptions in v9

High Severity

Bumping the Cocoa SDK to v9.6.0 introduces a breaking change: enableAppHangTracking was removed from SentryOptions on iOS and tvOS (breaking change #5615). The code in cocoa_sdk.mm still sets options.enableAppHangTracking, which will cause a compilation error or runtime failure on iOS builds. macOS may still retain V1 tracking, but this property access is no longer valid for iOS/tvOS targets.

Fix in Cursor Fix in Web

@bruno-garcia bruno-garcia force-pushed the deps/modules/sentry-cocoa.properties branch from 30b5244 to ccc5918 Compare March 10, 2026 03:48
@bruno-garcia bruno-garcia force-pushed the deps/modules/sentry-cocoa.properties branch from ccc5918 to b146d2e Compare March 11, 2026 03:48
@limbonaut
Copy link
Copy Markdown
Collaborator

Superseded by #442

@limbonaut limbonaut closed this Mar 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants