Releases: getsentry/sentry-cocoa
8.47.0
Important
This version fixes an important bug for applying scope data to crash events (#4969).
Previously, the SDK always set the event's user to the user of the scope of the app launch after the crash event, which could result in incorrect user data if the user changed between the crash and the next launch.
Additionally, if specific properties on the crash event were nil, the SDK replaced them with values from the scope of the app launch after the crash event. This affected the following event properties: tags, extra, fingerprints, breadcrumbs, dist, environment, level, and trace context. However, since most of these properties are infrequently nil, the fix should have minimal impact on most users.
Features
- Add extension for
Data
to track file I/O operations with Sentry (#4862) - Send fatal app hang session updates (#4921) only when enabling the option
enableAppHangTrackingV2
. - Add experimental flag
options.sessionReplay.enableExperimentalViewRenderer
to enable up to 5x times more performance in Session Replay (#4940)
Fixes
- Correctly finish TTFD span when no new frame (#4941)
- Only delete envelopes when receiving HTTP 200 (#4956)
- Set foreground true for watchdog terminations (#4953)
- Fix removing value from context not updating observer context (#4960)
- Fix wrongly applying scope to crash events (#4969)
- Changed parameter of
SDKInfo.initWithOptions
to be nullable (#4968)
Improvements
8.46.0
Features
- Report fatal app hangs (#4889) only when enabling the option
enableAppHangTrackingV2
- New user feedback API and Widget (#4874)
Improvements
- Log message when setting user before starting the SDK (#4882)
- Add experimental flag to disable swizzling of
NSData
individually (#4859) - Replace calls of
SentryScope.useSpan
with callback to direct span accessor (#4896) - Slightly reduce size of SentryCrashReports (#4915)
Fixes
- Fix rare memory access issue for auto tracing (#4894). For more details, see issue (#4887).
- Move assignment of file IO span origin outside of block (#4888)
- Deadline timeout crash in SentryTracer (#4911)
- Improve memory-safety by converting Swift constants to Objective-C (#4910)
- Fix C++ compilation error due to changes in Xcode 16.3 beta's compiler toolchain (#4917 and #4918)
8.45.0
Warning
We have been made aware that this version can cause crashes in certain configurations when using network tracking, file I/O tracking, or CoreData tracking features.
We recommend staying on version 8.43.0 or disable the mentioned features until a fix is released.
See issue #4887 for more details.
Features
- Add
showMaskPreview
toSentrySDK.replay
api to debug replay masking (#4761) - Session replay masking preview for SwiftUI (#4737)
- HTTP Breadcrumb level based on response status code (#4779) 4xx is warning, 5xx is error.
- Measure app hang duration for AppHangTrackingV2 (#4836)
Improvements
- Add more debug logs for SentryViewHierarchy (#4780)
- Add
sample_rand
to baggage (#4751) - Add timeIntervalSince1970 to log messages (#4781)
- Add
waitForFullDisplay
tosentryTrace
view modifier (#4797) - Increase continuous profiling buffer size to 60 seconds (#4826)
Fixes
- Fix missing
sample_rate
in baggage (#4751) - Serializing SentryGeo with
nil
values (#4724) - Add type-safety for screenshots result array (#4843)
Internal
8.44.0
Warning
We have been made aware that this version can cause crashes in certain configurations when using network tracking, file I/O tracking, or CoreData tracking features.
We recommend staying on version 8.43.0 or disable the mentioned features until a fix is released.
See issue #4887 for more details.
Fixes
- Don't start the SDK inside Xcode preview (#4601)
- Use strlcpy to save session replay info path (#4740)
sentryReplayUnmask
andsentryReplayUnmask
preventing interaction (#4749)- Missing
SentryCrashExceptionApplication
implementation for non-macOS target (#4759) - Add
NSNull
handling tosentry_sanitize
(#4760)
Improvements
- Add native SDK information in the replay option event (#4663)
- Add error logging for invalid
cacheDirectoryPath
(#4693) - Add SentryHub to all log messages in the Hub (#4753)
- More detailed log message when can't start session in SentryHub (#4752)
Features
- SwiftUI time for initial display and time for full display (#4596)
- Add protocol for custom screenName for UIViewControllers (#4646)
- Allow hybrid SDK to set replay options tags information (#4710)
- Add threshold to always log fatal logs (#4707)
Internal
8.44.0-beta.1
Warning
We have been made aware that this version can cause crashes in certain configurations when using network tracking, file I/O tracking, or CoreData tracking features.
We recommend staying on version 8.43.0 or disable the mentioned features until a fix is released.
See issue #4887 for more details.
Fixes
- Don't start the SDK inside Xcode preview (#4601)
Improvements
- Add native SDK information in the replay option event (#4663)
- Add error logging for invalid
cacheDirectoryPath
(#4693)
Features
- SwiftUI time for initial display and time for full display (#4596)
- Add protocol for custom screenName for UIViewControllers (#4646)
- Allow hybrid SDK to set replay options tags information (#4710)
- Add threshold to always log fatal logs (#4707)
Internal
8.43.1-beta.0
Warning
We have been made aware that this version can cause crashes in certain configurations when using network tracking, file I/O tracking, or CoreData tracking features.
We recommend staying on version 8.43.0 or disable the mentioned features until a fix is released.
See issue #4887 for more details.
Fixes
- Memory growth issue in profiler (#4682)
- Replace occurences of
strncpy
withstrlcpy
(#4636) - Fix span recording for
NSFileManager.createFileAtPath
starting with iOS 18, macOS 15 and tvOS 18. This feature is experimental and must be enabled by setting the optionexperimental.enableFileManagerSwizzling
totrue
(#4634)
Internal
8.43.0 (Stable)
Warning
This release contains a breaking change for the previously experimental session replay options. We moved the options from options.experimental.sessionReplay
to options.sessionReplay
.
Features
Fixes
- Remove empty session replay tags (#4667)
SentrySdkInfo.packages
should be an array (#4626)- Use the same SdkInfo for envelope header and event (#4629)
Improvements
- Improve compiler error message for missing Swift declarations due to APPLICATION_EXTENSION_API_ONLY (#4603)
- Mask screenshots for errors (#4623)
- Slightly speed up serializing scope (#4661)
Internal
8.43.0-beta.1
Improvements
- Improve compiler error message for missing Swift declarations due to APPLICATION_EXTENSION_API_ONLY (#4603)
- Mask screenshots for errors (#4623)
- Slightly speed up serializing scope (#4661)
Features
- Show session replay options as replay tags (#4639)
Fixes
SentrySdkInfo.packages
should be an array (#4626)- Use the same SdkInfo for envelope header and event (#4629)
Internal
8.42.1
8.42.0
Features
- Add in_foreground app context to transactions (#4561)
- Add in_foreground app context to crash events ((#4584)
- Promote the option
performanceV2
from experimental to stable (#4564)
Fixes
- Session replay touch tracking race condition (#4548)
- Use
options.reportAccessibilityIdentifier
for Breadcrumbs and UIEvents (#4569) - Session replay transformed view masking (#4529)
- Load integration from same binary (#4541)
- Masking for fast animations (#4574)
- Fix GraphQL context for HTTP client error tracking (#4567)