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 (Stable)
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.enableProfilingSentryOptions.isProfilingEnabledSentryOptions.profilesSampleRateSentryOptions.profilesSamplerSentryOptions.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
Datato 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.enableExperimentalViewRendererto 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.initWithOptionsto 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
NSDataindividually (#4859) - Replace calls of
SentryScope.useSpanwith 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
showMaskPreviewtoSentrySDK.replayapi 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_randto baggage (#4751) - Add timeIntervalSince1970 to log messages (#4781)
- Add
waitForFullDisplaytosentryTraceview modifier (#4797) - Increase continuous profiling buffer size to 60 seconds (#4826)
Fixes
- Fix missing
sample_ratein baggage (#4751) - Serializing SentryGeo with
nilvalues (#4724) - Add type-safety for screenshots result array (#4843)