Skip to content

chore(deps): update Cocoa SDK to v9.4.0#5417

Draft
github-actions[bot] wants to merge 1 commit intomainfrom
deps/scripts/update-cocoa.sh
Draft

chore(deps): update Cocoa SDK to v9.4.0#5417
github-actions[bot] wants to merge 1 commit intomainfrom
deps/scripts/update-cocoa.sh

Conversation

@github-actions
Copy link
Contributor

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

Bumps scripts/update-cocoa.sh from 8.58.0 to 9.4.0.

Auto-generated by a dependency updater.

Changelog

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.

  • 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)
  • 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)
Full CHANGELOG.md diff
 -1,14 +1,447 
 # Changelog
 
-## 8.58.0
+## 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](https://github-redirect.dependabot.com/getsentry/sentry-cocoa/issues/7358))
+
+### Fixes
+
+- Fix mismatch of `in_foreground` app context ([#7188](https://github-redirect.dependabot.com/getsentry/sentry-cocoa/issues/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](https://github-redirect.dependabot.com/getsentry/sentry-cocoa/issues/7284))
+
+## 9.3.0
+
+### Features
+
+- Transport logs error message for HTTP 413 responses ([#7261](https://github-redirect.dependabot.com/getsentry/sentry-cocoa/issues/7261))
+- Add `installGroupsOverride` parameter to `CheckForUpdateParams` and `installGroups` property to `ReleaseInfo` for SentryDistribution ([#7278](https://github-redirect.dependabot.com/getsentry/sentry-cocoa/issues/7278))
+
+### Fixes
+
+- Fix deadlock in network reachability observer when restarting the SDK ([#7246](https://github-redirect.dependabot.com/getsentry/sentry-cocoa/issues/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](https://github-redirect.dependabot.com/getsentry/sentry-cocoa/issues/7063))
+- Add isiOSAppOnVisionOS, isiOSAppOnMac, isMacCatalystApp to device context [#6939](https://github-redirect.dependabot.com/getsentry/sentry-cocoa/issues/6939)
+- Add integration to collect Metrics, enabled by default. Can be disabled by setting `options.experimental.enableMetrics = false` ([#6956](https://github-redirect.dependabot.com/getsentry/sentry-cocoa/issues/6956))
+- Add implementation for Metrics Protocol with modification of items in `options.experimental.beforeSendMetrics` ([#6960](https://github-redirect.dependabot.com/getsentry/sentry-cocoa/issues/6960))
+- Add `Sentry.metrics.count(..)`, `Sentry.metrics.distribution(..)` and `Sentry.metrics.gauge(..)` to public API ([#6957](https://github-redirect.dependabot.com/getsentry/sentry-cocoa/issues/6957))
+- Add flushing of Metrics to `SentrySDK.flush()` ([#7182](https://github-redirect.dependabot.com/getsentry/sentry-cocoa/issues/7182))
 
 ### Fixes
 
 - Encode SwiftUI internal class names in session replay redaction to avoid false-positive App Store review rejections ([#7123](https://github-redirect.dependabot.com/getsentry/sentry-cocoa/issues/7123))
+- The transport now correctly discard envelopes on 4xx and 5xx responses and records client reports `send_error` ([#6618](https://github-redirect.dependabot.com/getsentry/sentry-cocoa/issues/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](https://github-redirect.dependabot.com/getsentry/sentry-cocoa/issues/7055))
+- Rename log attribute `sentry.trace.parent_span_id` to `span_id` ([#7055](https://github-redirect.dependabot.com/getsentry/sentry-cocoa/issues/7055))
+- Fixes stacktraces for MetricKit events ([#6908](https://github-redirect.dependabot.com/getsentry/sentry-cocoa/issues/6908))
+- Fix `raw_description` in `runtime` context on Mac Catalyst ([#7082](https://github-redirect.dependabot.com/getsentry/sentry-cocoa/issues/7082))
+- Deprecates `configureDarkTheme` for user feedback ([#7114](https://github-redirect.dependabot.com/getsentry/sentry-cocoa/issues/7114))
+- Fix incorrect variable assignment for 'sampled' key ([#7120](https://github-redirect.dependabot.com/getsentry/sentry-cocoa/issues/7120))
+- Resolve crash in caused by calling `SentryFramesTracker.removeListener(_:)` ([#7155](https://github-redirect.dependabot.com/getsentry/sentry-cocoa/issues/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
+

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

@github-actions github-actions bot requested a review from alwx as a code owner December 1, 2025 16:27
@github-actions github-actions bot added the dependencies Pull requests that update a dependency file label Dec 1, 2025
@bruno-garcia bruno-garcia force-pushed the deps/scripts/update-cocoa.sh branch from c5bf125 to 3965923 Compare December 1, 2025 16:27
@github-actions
Copy link
Contributor Author

github-actions bot commented Dec 1, 2025

Fails
🚫 Pull request is not ready for merge, please add the "ready-to-merge" label to the pull request

Generated by 🚫 dangerJS against e273f70

@antonis antonis added the Blocked label Dec 1, 2025
Copy link
Contributor

@antonis antonis left a comment

Choose a reason for hiding this comment

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

Will be handled in #5356

@bruno-garcia bruno-garcia force-pushed the deps/scripts/update-cocoa.sh branch 9 times, most recently from f5b64f9 to b1a2479 Compare December 9, 2025 09:58
@@ -46,7 +46,7 @@ Pod::Spec.new do |s|

s.compiler_flags = other_cflags

This comment was marked as outdated.

@bruno-garcia bruno-garcia force-pushed the deps/scripts/update-cocoa.sh branch 4 times, most recently from aae81fc to df48710 Compare December 9, 2025 14:36
s.compiler_flags = other_cflags

s.dependency 'Sentry/HybridSDK', '8.57.3'
s.dependency 'Sentry/HybridSDK', '9.0.0'

This comment was marked as outdated.

@bruno-garcia bruno-garcia force-pushed the deps/scripts/update-cocoa.sh branch from df48710 to 69a2221 Compare December 10, 2025 09:05
Comment on lines 46 to 52

s.compiler_flags = other_cflags

s.dependency 'Sentry/HybridSDK', '8.57.3'
s.dependency 'Sentry/HybridSDK', '9.0.0'

if defined? install_modules_dependencies
# Default React Native dependencies for 0.71 and above (new and legacy architecture)

This comment was marked as outdated.

@bruno-garcia bruno-garcia force-pushed the deps/scripts/update-cocoa.sh branch from 69a2221 to f20594a Compare December 10, 2025 15:41
Comment on lines 46 to 52

s.compiler_flags = other_cflags

s.dependency 'Sentry/HybridSDK', '8.57.3'
s.dependency 'Sentry/HybridSDK', '9.0.0'

if defined? install_modules_dependencies
# Default React Native dependencies for 0.71 and above (new and legacy architecture)

This comment was marked as outdated.

@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 11, 2025
@bruno-garcia bruno-garcia force-pushed the deps/scripts/update-cocoa.sh branch from f20594a to 30b4712 Compare December 11, 2025 03:30
@@ -46,7 +46,7 @@ Pod::Spec.new do |s|

s.compiler_flags = other_cflags

This comment was marked as outdated.

@bruno-garcia bruno-garcia force-pushed the deps/scripts/update-cocoa.sh branch 6 times, most recently from b468d11 to d8c5508 Compare January 29, 2026 03:45
@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/scripts/update-cocoa.sh branch 16 times, most recently from 676d84d to 532650b Compare February 4, 2026 12:17
@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/scripts/update-cocoa.sh branch 2 times, most recently from 15aedf8 to ff9c396 Compare February 5, 2026 09:28
Copy link
Contributor

@antonis antonis left a comment

Choose a reason for hiding this comment

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

Bumping to 9.4.0 in v8 with #5619

@bruno-garcia bruno-garcia force-pushed the deps/scripts/update-cocoa.sh branch from ff9c396 to 4f83ab0 Compare February 5, 2026 10:16
@bruno-garcia bruno-garcia force-pushed the deps/scripts/update-cocoa.sh branch from 4f83ab0 to e273f70 Compare February 5, 2026 10:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Blocked dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants