Skip to content

Releases: getsentry/sentry-cocoa

8.41.0

22 Nov 08:29
Compare
Choose a tag to compare

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

15 Nov 12:37
Compare
Choose a tag to compare
8.41.0-beta.1 Pre-release
Pre-release

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

07 Nov 15:56
Compare
Choose a tag to compare

Fixes

  • Session replay masking not working inside scroll view (#4498)

Improvements

  • Add extra logs for UIViewControllerSwizzling (#4511)

8.40.0

06 Nov 09:27
c64d4a8
Compare
Choose a tag to compare

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 as private (#4486)
  • Stops session replay if rate limiting is activated (#4496)
  • Add maskedViewClasses and unmaskedViewClasses 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

28 Oct 08:42
Compare
Choose a tag to compare

Removal of Experimental API

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

19 Oct 01:36
Compare
Choose a tag to compare
8.39.0-beta.1 Pre-release
Pre-release

Removal of Experimental API

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

15 Oct 13:58
Compare
Choose a tag to compare

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 to mask (#4373)
  • Stop canceling timer for manual transactions (#4380)

Fixes

  • Fix the versioning to support app release with Beta versions (#4368)
  • Linking ongoing trace to crash event (#4393)

8.38.0-beta.1

08 Oct 07:19
Compare
Choose a tag to compare
8.38.0-beta.1 Pre-release
Pre-release

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 to mask (#4373)
  • Stop canceling timer for manual transactions (#4380)

Fixes

  • Fix the versioning to support app release with Beta versions (#4368)
  • Linking ongoing trace to crash event (#4393)

8.37.0

07 Oct 16:31
Compare
Choose a tag to compare

Features

  • Added thermal_state to device context (#4305)
  • Send envelopes that cannot be cached to disk (#4294)

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

20 Sep 13:37
Compare
Choose a tag to compare
8.37.0-beta.1 Pre-release
Pre-release

Features

  • Added thermal_state to device context (#4305)
  • Send envelopes that cannot be cached to disk (#4294)

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)