You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add options.experimental.metrickit.enabledDiagnosticReports to choose which MetricKit diagnostic reports the SDK captures, including crash diagnostics. The option is only available from Swift (#9267)
Add attachAllThreads and scope block overloads for capture(event:), capture(error:), capture(exception:), and capture(message:), also available through SentryObjC (#9424)
Align the metrics API with the other Sentry SDKs: SentrySDK.metrics.count(_:value:options:), gauge(_:value:options:) and distribution(_:value:options:) take the metric name, the value and SentryMetricOptions with unit, attributes, scope and timestamp. SentryObjC exposes the same API through count:value:options:, gauge:value:options:, distribution:value:options: and SentryObjCMetricOptions. The key-based methods such as count(key:value:attributes:) and countWithKey:value:attributes: keep working but are deprecated and will be removed in v10; use the options-based methods instead (#9453)
Capture MetricKit app launch diagnostics on iOS 16 and later and on visionOS when options.experimental.metrickit.enabledDiagnosticReports contains .appLaunch (#9441)
Expose options.experimental.metrickit.enabledDiagnosticReports through the SentryObjC SDK as options.experimental.metrickit and through the metrickit key of the options dictionary (#9296)
Add breadcrumbs when the hinge of foldable devices such as iPhone Duo opens, closes, or reaches the fully open or closed position, and report the current hinge status as hinge_status in the device context, which requires iOS 27.1 or later and is not available on Mac Catalyst (#9464)
Add options.experimental.metrickit.enabledMetricReports to send MetricKit metric payloads as Sentry metrics, such as CPU time, network transfer, memory and app exit counts. Metrics are named metrickit.<group>.<name> and carry the app and OS versions they were recorded with. The option defaults to an empty set and is only available from Swift (#9452)
Receive MetricKit diagnostics through MetricManager on iOS, macOS and visionOS 27 and later. Diagnostics produce the same events as on earlier OS versions. The raw report attached by enableMetricKitRawPayload is named DiagnosticReport.json on these versions (#9462)
Capture MetricKit memory exception diagnostics on iOS 27 and later when options.experimental.metrickit.enabledDiagnosticReports contains .memoryException (#9465)
Fixes
Wait for transactions that are still being captured on a background thread when calling flush or close, so short-lived processes no longer lose a transaction finished right before the call (#9415)
Keep pending Session Replay video when SentrySDK.replay.stop() follows flush() (#9429)
Stop reporting a false watchdog termination on the launch after SentrySDK.close() when app start tracking isn't installed, such as with enableAutoPerformanceTracing disabled (#9451)
Prevent NSException crash handling from deadlocking when a suspended thread holds a lock needed to read or format exception metadata (#9463)
@moifort FYI — this merged PR bumped Sentry (sentry-cocoa) 9.31.0 → 9.32.0 in ios/project.yml, plus the renovatebot/github-action patch. Backend CI (Unit/Integration/Feature/Prod-deps) was green, and it's a minor SemVer bump with no removed APIs in the changelog, so I squash-merged it per the maintainer rules for minor/patch bumps.
One thing worth your attention: this repo's CI has no iOS build job, so the Sentry Cocoa bump was never actually compiled against the app — it only exercised the backend. The release notes mention a new hinge_status device-context field gated to iOS 27.1+ and MetricKit additions gated to iOS 27, both additive/opt-in, so nothing should break on the current iOS 26.0 target, but you may want to build it locally (xcodegen generate + the xcodebuild command in CLAUDE.md) before your next release to confirm.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
9.31.0→9.32.0v46.3.10→v46.3.11Release Notes
getsentry/sentry-cocoa (Sentry)
v9.32.0Compare Source
Features
options.experimental.metrickit.enabledDiagnosticReportsto choose which MetricKit diagnostic reports the SDK captures, including crash diagnostics. The option is only available from Swift (#9267)attachAllThreadsand scope block overloads forcapture(event:),capture(error:),capture(exception:), andcapture(message:), also available throughSentryObjC(#9424)SentrySDK.metrics.count(_:value:options:),gauge(_:value:options:)anddistribution(_:value:options:)take the metric name, the value andSentryMetricOptionswithunit,attributes,scopeandtimestamp.SentryObjCexposes the same API throughcount:value:options:,gauge:value:options:,distribution:value:options:andSentryObjCMetricOptions. The key-based methods such ascount(key:value:attributes:)andcountWithKey:value:attributes:keep working but are deprecated and will be removed in v10; use the options-based methods instead (#9453)options.experimental.metrickit.enabledDiagnosticReportscontains.appLaunch(#9441)options.experimental.metrickit.enabledDiagnosticReportsthrough the SentryObjC SDK asoptions.experimental.metrickitand through themetrickitkey of the options dictionary (#9296)hinge_statusin the device context, which requires iOS 27.1 or later and is not available on Mac Catalyst (#9464)options.experimental.metrickit.enabledMetricReportsto send MetricKit metric payloads as Sentry metrics, such as CPU time, network transfer, memory and app exit counts. Metrics are namedmetrickit.<group>.<name>and carry the app and OS versions they were recorded with. The option defaults to an empty set and is only available from Swift (#9452)MetricManageron iOS, macOS and visionOS 27 and later. Diagnostics produce the same events as on earlier OS versions. The raw report attached byenableMetricKitRawPayloadis namedDiagnosticReport.jsonon these versions (#9462)options.experimental.metrickit.enabledDiagnosticReportscontains.memoryException(#9465)Fixes
flushorclose, so short-lived processes no longer lose a transaction finished right before the call (#9415)SentrySDK.replay.stop()followsflush()(#9429)SentrySDK.close()when app start tracking isn't installed, such as withenableAutoPerformanceTracingdisabled (#9451)renovatebot/github-action
v46.3.11Compare Source
Bug Fixes
Documentation
Miscellaneous Chores
Continuous Integration
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate CLI.