Releases: getsentry/sentry-cocoa
Releases · getsentry/sentry-cocoa
9.11.0
Features
- Track low power mode in device context (#7777)
Fixes
- Added
Package@swift-6.2.swiftto avoid issues with unsafe build flags on SPM > 6.2 (#7778) - Detect development builds via provisioning profile and debugger attachment (#7702)
- Keep replayType as
bufferfor Session Replay triggered by an error (#7804) - Fix race condition in scope observer notifications causing EXC_BAD_ACCESS during cold launch (#7807)
- Unsubscribe to system event during background to avoid reporting breadcrumbs with wrong timestamps on return to foreground (#7702)
- Fix SwiftUI's images and text redaction in iOS 26 (#7781)
- Add foreground state to app context in app hang events (#7801)
8.58.2
9.10.0
Features
- Prevent cross-organization trace continuation (#7705)
- By default, the SDK now extracts the organization ID from the DSN (e.g.
o123.ingest.sentry.io) and compares it with thesentry-org_idvalue in incoming baggage headers. When the two differ, the SDK starts a fresh trace instead of continuing the foreign one. This guards against accidentally linking traces across organizations. - New option
strictTraceContinuation(defaultfalse): when enabled, both the SDK's org ID and the incoming baggage org ID must be present and match for a trace to be continued. Traces with a missing org ID on either side are rejected. - New option
orgId: allows explicitly setting the organization ID for self-hosted and Relay setups where it cannot be extracted from the DSN.
- By default, the SDK now extracts the organization ID from the DSN (e.g.
Fixes
8.58.1
9.9.0
Features
- Add
attachAllThreadsoption toSentryOptionsto attach full stack traces for all threads to captured events (#7764) - Add per-call
attachAllThreadsparameter tocapture(event:),capture(error:),capture(exception:), andcapture(message:)to override the global option for specific calls (#7767)
Improvements
- Align app lifecycle breadcrumb
statevalues within_foreground/is_activeapp context (#7703)- Breaking: Update any
beforeBreadcrumbfilters or dashboard queries matching on the oldstatevalues:- iOS/tvOS/visionOS
didBecomeActivestate changed fromforegroundtoactive
- macOS
didBecomeActivestate changed fromforegroundtoactivewillResignActivestate changed frombackgroundtoinactive
- iOS/tvOS/visionOS
- Breaking: Update any
Fixes
- Copy incoming tags dict to prevent crash (#7763)
- Per-instance unmaskView propagates to child views (#7733)
- Warning: If you relied on children of an unmasked view still being individually redacted, verify your Session Replay redaction after updating. An explicit
maskView(_:)on a descendant still takes precedence.
- Warning: If you relied on children of an unmasked view still being individually redacted, verify your Session Replay redaction after updating. An explicit
- Move SessionTracker file I/O off the main thread (#7704)
9.8.0
9.7.0
Features
- Show feedback form on device shake (#7579)
- Enable via
config.useShakeGesture = trueinSentryUserFeedbackConfiguration - Uses UIKit's built-in shake detection — no special permissions required
- Enable via
- Add package traits for UI framework opt-out (#7578).
When building from source with Swift 6.1+ (usingPackage@swift-6.1.swift), you can enable theNoUIFrameworktrait to avoid linking UIKit or AppKit. Use this for command-line tools, headless server contexts, or other environments where UI frameworks are unavailable.
In Xcode 26.4 and later, add the Sentry package as a dependency and theSentrySPMproduct, then enable theNoUIFrameworktrait on the package reference (Package Dependencies → select Sentry → Traits). - Metric kit app hangs now report a full flamegraph rather than just one stacktrace during the hang. (#7185)
Fixes
9.6.0
Features
- Add watchdog termination hang tracker using RunLoop observer. Can be enabled by setting
options.experimental.enableWatchdogTerminationsV2 = true(#7464)