Releases: getsentry/sentry-cocoa
8.50.1
8.50.1-beta.0
Fixes
- Detect AppHangsV2 when tracing not enabled (#5184)
8.50.0
Important
This version enables the better view renderer V2 used by Session Replay by default.
You can disable it by setting the option options.sessionReplay.enableViewRendererV2
to false
.
In case you are noticing issues with view rendering, please report them on GitHub.
Features
- Added ability to bring your own button for user feedback form display (#5107)
- Make enableAppHangTrackingV2 general available (#5149)
Fixes
- Correctly rate limit envelopes from the new UI profiling system (#5131)
- Race condition in ANRTrackerV1 (#5137)
Improvements
- More logging for Session Replay video info (#5132)
- Improve session replay frame presentation timing calculations (#5133)
- Use wider compatible video encoding options for Session Replay (#5134)
- GA of better session replay view renderer V2 (#5054)
- Explicitly check malloc result for SRSync to fix a Veracode Security Scan warning (#5160)
- Revert max key-frame interval to once per session replayvideo segment (#5156)
- Add more detailed debug logs for session replay (#5173)
8.49.2
Important
Version 8.21.0 introduced an issue for app launch profiling only for macOS apps that run without a sandbox (i.e. distributed outside the Mac App Store).
This issue could lead to starting the app launch profiler even when it's not configured via the options.
We recommend upgrading to at least this version.
Fixes
- Non-sandboxed macOS app launch profile configuration are now respected (#5144)
8.49.1
8.49.0
Features
Important
With the addition of the new profiling configuation API, the previous profiling API are deprecated and will be removed in the next major version of the SDK:
SentryOptions.enableProfiling
SentryOptions.isProfilingEnabled
SentryOptions.profilesSampleRate
SentryOptions.profilesSampler
SentryOptions.enableLaunchProfiling
Additionally, note that the behavior of SentrySDK.startProfiler()
will change once the above APIs are removed, as follows: before adding the new configuration API (SentryProfileOptions
), SentrySDK.startProfiler()
would unconditionally start a continuous profile if both SentryOptions.profilesSampleRate
and SentryOptions.profilesSampler
were nil
, or no-op if either was non-nil
(meaning the SDK would operate under original, transaction-based, profiling model). In the next major version, SentryOptions.profilesSampleRate
and SentryOptions.profilesSampler
will be removed, and SentrySDK.startProfile()
will become a no-op unless you configure SentryProfileOptions.sessionSampleRate
to a value greater than zero (which is its default). If you already have calls to SentrySDK.startProfiler()
in your code, ensure you properly configure SentryProfileOptions
via SentryOptions.configureProfiling
to avoid losing profiling coverage.
Fixes
- Continuous profile stop requests are cancelled by subsequent timely calls to start (#4993)
Improvements
- Remove SDK side character limit of 8192 for SentryMessage (#5005) Now, the backend handles the character limit, which has the advantage of showing in the UI when the message was truncated.
8.48.0 (Stable)
8.47.0 (Stable)
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 (Stable)
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)