Releases: getsentry/sentry-cocoa
Releases · getsentry/sentry-cocoa
8.41.0
Features
- Transactions for crashes (#4504): Finish the transaction bound to the scope when the app crashes. This experimental feature is disabled by default. You can enable it via the option
enablePersistingTracesWhenCrashing
.
Fixes
- Keep PropagationContext when cloning scope (#4518)
- UIViewController with Xcode 16 in debug (#4523). The Xcode 16 build setting ENABLE_DEBUG_DYLIB, which is turned on by default only in debug, could lead to missing UIViewController traces.
- Concurrency crash with Swift 6 (#4512)
- Make
Scope.span
fully thread safe (#4519) - Finish TTFD when not calling reportFullyDisplayed before binding a new transaction to the scope (#4526).
- Session replay opacity animation masking (#4532)
8.41.0-beta.1
Features
- Transactions for crashes (#4504): Finish the transaction bound to the scope when the app crashes. This experimental feature is disabled by default. You can enable it via the option
enablePersistingTracesWhenCrashing
.
Fixes
- Keep PropagationContext when cloning scope (#4518)
- UIViewController with Xcode 16 in debug (#4523). The Xcode 16 build setting ENABLE_DEBUG_DYLIB, which is turned on by default only in debug, could lead to missing UIViewController traces.
- Concurrency crash with Swift 6 (#4512)
- Make
Scope.span
fully thread safe (#4519) - Finish TTFD when not calling reportFullyDisplayed before binding a new transaction to the scope (#4526).
- Session replay opacity animation masking (#4532)
8.40.1
8.40.0
Features
- Add option to report uncaught NSExceptions on macOS (#4471)
- Build visionOS project with static Sentry SDK (#4462)
- Too many navigation breadcrumbs for Session Replay (#4480)
- Time-of-check time-of-use filesystem race condition (#4473)
- Capture all touches with session replay (#4477)
Improvements
- Improve frames tracker performance (#4469)
- Log a warning when dropping envelopes due to rate-limiting (#4463)
- Expose
SentrySessionReplayIntegration-Hybrid.h
asprivate
(#4486) - Stops session replay if rate limiting is activated (#4496)
- Add
maskedViewClasses
andunmaskedViewClasses
to SentryReplayOptions init via dict (#4492) - Add
quality
to SentryReplayOptions init via dict (#4495)
Fixes
- Masking text with transparent text color (#4499)
8.39.0
Removal of Experimental API
- Remove the deprecated experimental Metrics API (#4406): Learn more
Features
- feat: API to manually start/stop Session Replay (#4414)
- Custom redact modifier for SwiftUI (#4362, #4392)
- Track usage of appHangTrackingV2 (#4445)
- AppHangV2 detection (#4379) Add a new algorithm for detecting app hangs that differentiates between fully blocking and non-fully blocking app hangs. Read more in-depth in our docs.
Fixes
- Edge case for swizzleClassNameExclude (#4405): Skip creating transactions for UIViewControllers ignored for swizzling via the option
swizzleClassNameExclude
. - Add TTID/TTFD spans when loadView gets skipped (#4415)
- Finish TTID correctly when viewWillAppear is skipped (#4417)
- Swizzling RootUIViewController if ignored by
swizzleClassNameExclude
(#4407) - Data race in SentrySwizzleInfo.originalCalled (#4434)
- Delete old session replay files (#4446)
- Thread running at user-initiated quality-of-service for session replay (#4439)
- Don't create transactions for unused UIViewControllers (#4448)
Improvements
- Serializing profile on a BG Thread (#4377) to avoid potentially slightly blocking the main thread.
- Session Replay performance for SwiftUI (#4419)
- Speed up getBinaryImages (#4435) for finishing transactions and capturing events
- Align SDK dispatch queue names (#4442) to start with
io.sentry
- Use UInts in envelope deserialization (#4441)
- Make
SentrySDK.replay.start()
thread safe (#4455)
8.39.0-beta.1
Removal of Experimental API
- Remove the deprecated experimental Metrics API (#4406): Learn more
Features
- feat: API to manually start/stop Session Replay (#4414)
- Custom redact modifier for SwiftUI (#4362, #4392)
- Track usage of appHangTrackingV2 (#4445)
- AppHangV2 detection (#4379) Add a new algorithm for detecting app hangs that differentiates between fully blocking and non-fully blocking app hangs. Read more in-depth in our docs.
Fixes
- Edge case for swizzleClassNameExclude (#4405): Skip creating transactions for UIViewControllers ignored for swizzling via the option
swizzleClassNameExclude
. - Add TTID/TTFD spans when loadView gets skipped (#4415)
- Finish TTID correctly when viewWillAppear is skipped (#4417)
- Swizzling RootUIViewController if ignored by
swizzleClassNameExclude
(#4407) - Data race in SentrySwizzleInfo.originalCalled (#4434)
- Delete old session replay files (#4446)
- Thread running at user-initiated quality-of-service for session replay (#4439)
- Don't create transactions for unused UIViewControllers (#4448)
Improvements
- Serializing profile on a BG Thread (#4377) to avoid potentially slightly blocking the main thread.
- Session Replay performance for SwiftUI (#4419)
- Speed up getBinaryImages (#4435) for finishing transactions and capturing events
- Align SDK dispatch queue names (#4442) to start with
io.sentry
- Use UInts in envelope deserialization (#4441)
- Make
SentrySDK.replay.start()
thread safe (#4455)
8.38.0
Features
- Added breadcrumb.origin private field (#4358)
- Custom redact modifier for SwiftUI (#4362)
- Add support for arm64e (#3398)
- Add mergeable libraries support to dynamic libraries (#4381)
Improvements
- Speed up HTTP tracking for multiple requests in parallel (#4366)
- Slightly speed up SentryInAppLogic (#4370)
- Rename session replay
redact
options and APIs tomask
(#4373) - Stop canceling timer for manual transactions (#4380)
Fixes
8.38.0-beta.1
Features
- Added breadcrumb.origin private field (#4358)
- Custom redact modifier for SwiftUI (#4362)
- Add support for arm64e (#3398)
- Add mergeable libraries support to dynamic libraries (#4381)
Improvements
- Speed up HTTP tracking for multiple requests in parallel (#4366)
- Slightly speed up SentryInAppLogic (#4370)
- Rename session replay
redact
options and APIs tomask
(#4373) - Stop canceling timer for manual transactions (#4380)
Fixes
8.37.0
Features
Refactoring
- Moved session replay API to
SentrySDK.replay
(#4326) - Changed default session replay quality to
medium
(#4326)
Fixes
- Resumes replay when the app becomes active (#4303)
- Session replay redact view with transformation (#4308)
- Correct redact UIView with higher zPosition (#4309)
- Don't redact clipped views (#4325)
- Session replay for crash not created because of a race condition (#4314)
- Double-quoted include, expected angle-bracketed instead (#4298)
- Discontinue use of NSApplicationSupportDirectory in favor of NSCachesDirectory (#4335)
- Safe guard
strncpy
usage (#4336) - Stop using
redactAllText
as an indicator tha redact is enabled (#4327)
Improvements
- Avoid extra work when storing invalid envelopes (#4337)
8.37.0-beta.1
Features
Refactoring
- Moved session replay API to
SentrySDK.replay
(#4326) - Changed default session replay quality to
medium
(#4326)
Fixes
- Resumes replay when the app becomes active (#4303)
- Session replay redact view with transformation (#4308)
- Correct redact UIView with higher zPosition (#4309)
- Don't redact clipped views (#4325)
- Session replay for crash not created because of a race condition (#4314)
- Double-quoted include, expected angle-bracketed instead (#4298)
- Discontinue use of NSApplicationSupportDirectory in favor of NSCachesDirectory (#4335)
- Safe guard
strncpy
usage (#4336) - Stop using
redactAllText
as an indicator tha redact is enabled (#4327)
Improvements
- Avoid extra work when storing invalid envelopes (#4337)