From 4b130ce2f1fafd35b26dc6e612b7ee5967c44481 Mon Sep 17 00:00:00 2001 From: Philipp Hofmann Date: Tue, 10 Jan 2023 11:15:08 +0100 Subject: [PATCH 1/3] feat(apple): Final pass for migration docs Add a couple of more breaking changes and modifications to the migration docs. Furthermore, restructure them a bit. --- src/platforms/apple/common/migration.mdx | 73 +++++++++++++++++------- 1 file changed, 52 insertions(+), 21 deletions(-) diff --git a/src/platforms/apple/common/migration.mdx b/src/platforms/apple/common/migration.mdx index 754e2d283401c5..fa276775311512 100644 --- a/src/platforms/apple/common/migration.mdx +++ b/src/platforms/apple/common/migration.mdx @@ -7,9 +7,31 @@ To upgrade from version 4.x of the SDK to version 8.x of the SDK, you must first ## Migrating From 7.x to 8.x -Migrating to 8.x from 7.x includes a few breaking changes. We provide this guide to help you to update your SDK. +Migrating to 8.x from 7.x includes a few breaking changes. We provide this guide to help you to update your SDK. It is important to note that this version adds a dependency to Swift. -### Configuration Changes +### Changes to Minimum OS Versions and Xcode + +The minimum supported OS versions have been bumped to macOS 10.13, iOS 11, tvOS 11, and watchOS 4. The minimum Xcode version has been bumped to 13. + +### Features Enabled by Default + +The following features are now enabled by default: + +- The user interaction tracing integration +- The File I/O tracing integration +- Capture failed requests + +### Changes to Grouping + +App Hang events might group differently as we now set the event stacktrace snapshot property to `true`. + +### Rename OOM to Watchdog Termination + +The OOM (out of memory integration) actually tracks [watchdog terminations](https://developer.apple.com/documentation/xcode/addressing-watchdog-terminations) based on heuristics. We renamed the integration to better reflect what it does. + +### Breaking Changes + +#### Configuration Changes This version includes the following configuration changes: @@ -20,7 +42,32 @@ This version includes the following configuration changes: - Rename `SentryOptions.enableCoreDataTracking` to `SentryOptions.enableCoreDataTracing` - Rename `SentryOptions.enableOutOfMemoryTracking` to `SentryOptions.enableWatchdogTerminationsTracking` -### Breaking Changes +#### Swift API Improvements + +We made some changes to make the API more ergonomic in Swift: + +- Rename `SentrySDK.addBreadcrumb(crumb:)` to `SentrySDK.addBreadcrumb(_ crumb:)` +- Rename `SentryScope.add(_ crumb:)` to `SentryScope.addBreadcrumb(_ crumb:)` +- Rename `SentryScope.add(_ attachment:)` to `SentryScope.addAttachment(_ attachment:)` +- Rename `Client` to `SentryClient` + +#### Cleanup Public Classes + +We cleaned up our public classes by removing a few functions and properties, that shouldn't be public, to make the API cleaner. In case we removed something you need, please [open an issue](https://github.com/getsentry/sentry-cocoa/issues/new/choose) on GitHub. + +- Make `SpanProtocol.data` non nullable +- Mark `[SpanProtocol setExtraValue:forKey:]` as deprecated +- Make SpanContext immutable + - Remove tags from SpanContext + - Remove context property from SentrySpan +- Remove `SentryScope.apply(to:)` +- Remove `SentryScope.apply(to:maxBreadcrumb:)` +- Remove `- [SentryOptions initWithDict:didFailWithError:]` +- Remove `- [SentryOptions sdkInfo]` +- Make SentrySession and SentrySDKInfo internal +- Remove default attachment content type +- Remove captureEnvelope from Hub and Client +- Remove confusing transaction tag #### SDK Inits @@ -44,25 +91,9 @@ SentrySDK.start { options in }]; ``` -#### Swift API Improvements - -We made some changes to make the API more ergonomic in Swift: - -- Rename `SentrySDK.addBreadcrumb(crumb:)` to `SentrySDK.addBreadcrumb(_ crumb:)` -- Rename `SentryScope.add(_ crumb:)` to `SentryScope.addBreadcrumb(_ crumb:)` -- Rename `SentryScope.add(_ attachment:)` to `SentryScope.addAttachment(_ attachment:)` -- Rename `Client` to `SentryClient` - -#### Default Integrations - -- The user interaction tracing integration is now enabled by default. -- The File I/O tracing integration is now enabled by default. - -#### Changes to Minimum OS Versions and Xcode - -The minimum supported OS versions have been bumped to macOS 10.13, iOS 11, tvOS 11, and watchOS 4. +#### SentrySDK.close Is Now Blocking -The minimum Xcode version has been bumped to 13. +`SentrySDK.close` now calls flush, which is a blocking call. ## Migrating From 6.x to 7.x From b3e9bda1971c318b546cee708351d51b6d728650 Mon Sep 17 00:00:00 2001 From: Philipp Hofmann Date: Tue, 10 Jan 2023 11:25:44 +0100 Subject: [PATCH 2/3] minor fixes --- src/platforms/apple/common/migration.mdx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/platforms/apple/common/migration.mdx b/src/platforms/apple/common/migration.mdx index fa276775311512..e9a9712a95c245 100644 --- a/src/platforms/apple/common/migration.mdx +++ b/src/platforms/apple/common/migration.mdx @@ -57,16 +57,16 @@ We cleaned up our public classes by removing a few functions and properties, tha - Make `SpanProtocol.data` non nullable - Mark `[SpanProtocol setExtraValue:forKey:]` as deprecated -- Make SpanContext immutable - - Remove tags from SpanContext - - Remove context property from SentrySpan +- Make `SpanContext` immutable + - Remove tags from `SpanContext` + - Remove context property from `SentrySpan` - Remove `SentryScope.apply(to:)` - Remove `SentryScope.apply(to:maxBreadcrumb:)` -- Remove `- [SentryOptions initWithDict:didFailWithError:]` -- Remove `- [SentryOptions sdkInfo]` -- Make SentrySession and SentrySDKInfo internal +- Remove `[SentryOptions initWithDict:didFailWithError:]` +- Remove `[SentryOptions sdkInfo]` +- Make `SentrySession` and `SentrySDKInfo` internal - Remove default attachment content type -- Remove captureEnvelope from Hub and Client +- Remove `captureEnvelope` from `SentryHub` and `SentryClient` - Remove confusing transaction tag #### SDK Inits From 2e5ea03602fef663309ff163b90f81b6b16c1678 Mon Sep 17 00:00:00 2001 From: Philipp Hofmann Date: Tue, 10 Jan 2023 11:42:30 +0100 Subject: [PATCH 3/3] active voice --- src/platforms/apple/common/migration.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/platforms/apple/common/migration.mdx b/src/platforms/apple/common/migration.mdx index e9a9712a95c245..96ab5520c8f6a7 100644 --- a/src/platforms/apple/common/migration.mdx +++ b/src/platforms/apple/common/migration.mdx @@ -11,7 +11,7 @@ Migrating to 8.x from 7.x includes a few breaking changes. We provide this guide ### Changes to Minimum OS Versions and Xcode -The minimum supported OS versions have been bumped to macOS 10.13, iOS 11, tvOS 11, and watchOS 4. The minimum Xcode version has been bumped to 13. +The minimum supported OS versions have been bumped to macOS 10.13, iOS 11, tvOS 11, and watchOS 4. We bumped the minimum Xcode version to 13. ### Features Enabled by Default