Breaking Changes
- Moves
SentryEventDecoderto SPI (#6365) - Makes
PreviewRedactOptions,SentryProfileOptions,SentryRedactViewHelper,SentryViewScreenshotOptions,SentryReplayOptions,SentryUserFeedbackConfiguration,SentryUserFeedbackFormConfiguration,SentryUserFeedbackThemeConfiguration,SentryUserFeedbackWidgetConfiguration,SentryFeedback, andSentryExperimentalOptionsfinal(#6365) - Removes Decodable conformances from the public API of model classes (#5691)
- Removes unused SentryLogLevel (#5591)
- Removes deprecated
setExtraValuefrom 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
integrationsproperty fromSentryOptions(#5749) - Removes
defaultIntegrationsfunction fromSentryOptions(#6664) - Makes
SentryEventDecodableinternal (#5808) - The
spanproperty onSentryScopeis now readonly (#5866) - Removes
SentryIntegrationProtocolfrom the API. This is not used after the removal of theintegrationsproperty (#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
enablePerformanceV2option 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.instructionproperty (#6504) - Remove
uuidandnameofSentryDebugMeta(#6512) UsedebugIDinstead ofuuidandcodeFileinstead ofname. - Enable enablePreWarmedAppStartTracing by default (#6508). With this option enabled, the SDK collects prewarmed app starts.
- Set
SentryFrame.functiondefault tonilinstead of<redacted>(#6608) - Change
valueandtypeofSentryExceptionto be nullable (#6563) - Change the default trace context status to "ok" instead of "undefined" (#6611)
- Remove
getHashfrom 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.typetonilwhenNSExceptionhas noreason(#6653). The backend then can provide a proper message when there is no reason. - Rename
SentryLog.LevelandSentryLog.Attributefor 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
SentryMechanismMetatoSentryMechanismContextto resolve Kotlin Multi-Platform build errors (#6607)
Improvements
- Replace deprecated SCNetworkReachability with NWPathMonitor (#6019)
- Expose attachment type on
SentryAttachmentfor 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
enablePropagateTraceparentto support OTel/W3C trace propagation (#6356) - Move
enableFileManagerSwizzlingfrom experimental options to top-level options (#6592).
This option is still disabled by default and will be enabled in a future major release. - Move
enableDataSwizzlingfrom experimental options to top-level options (#6592). This option remains enabled by default. - Add
sentry.replay_idattribute to logs (#6515) - Structured Logs: Add
SentrySwiftLogIntegration (#6286)