Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update Cocoa SDK to v8.41.0 #3786

Closed
wants to merge 2 commits into from

Conversation

github-actions[bot]
Copy link
Contributor

Bumps modules/sentry-cocoa.properties from 8.39.0 to 8.41.0.

Auto-generated by a dependency updater.

Changelog

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)

Improvements

  • Expose Sentry._Hybrid explicit module (#4440)

8.40.1

Fixes

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

Improvements

  • Add extra logs for UIViewControllerSwizzling (#4511)

8.40.0

Feature

  • 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)

@github-actions github-actions bot added the Dependencies Pull requests that update a dependency file label Nov 25, 2024
@bruno-garcia bruno-garcia force-pushed the deps/modules/sentry-cocoa.properties branch from 64f8082 to 7db1ffb Compare November 25, 2024 03:12
@jamescrosswell
Copy link
Collaborator

@phunkeler
Copy link
Contributor

phunkeler commented Jan 27, 2025

Hi @jamescrosswell, I can’t see the specific errors holding this up anymore but suspect they related to SentryCrashExceptionApplication? I’ve run into similar issues trying to build Sentry.Samples.Maui w/ 8.43.0 as part of my Session Replay work.

Caution

error : Undefined symbols for architecture x86_64 - OBJC_CLASS$_SentryCrashExceptionApplication

Workaround

As a quick-fix I've been able to circumvent the error by removing this type altogether during binding pre-processing:

generate-cocoa-bindings.ps1
$filesToPatch = Get-ChildItem -Path "$CocoaSdkPath/Headers" -Filter *.h -Recurse | Select-Object -ExpandProperty FullName
foreach ($file in $filesToPatch) {
    if (Test-Path $file) {
        $content = Get-Content -Path $file -Raw
        $content = $content -replace '<Sentry/([^>]+)>', '"$1"'
+       $content = $content -replace '#\s*import\s*"SentryCrashExceptionApplication\.h"', ''
        Set-Content -Path $file -Value $content
    } else {
        Write-Host "File not found: $file"
    }
}

Root-Cause Analysis

If I understand getsentry/sentry-cocoa/pull/4471 correctly, the entire class and its implementation are now excluded from non-OSX targets which may be why MAUI (ios/maccatalyst) doesn't recognize it. Before, just its internals were guarded by #if TARGET_OS_OSX, allowing the type to be recognized by MAUI, but not its members. I don’t know enough about Objective-C/CocoaSdk to say why this was done but suspect it's a bug. Someone with more experience with the CocoaSdk may be able to help answer that question.

In the meantime, I'll try to clone that repo and confirm my suspicion.

@jamescrosswell
Copy link
Collaborator

Resolved in getsentry/sentry-cocoa#4759:

Included in the 8.44.0 release.

@phunkeler thank you so much for reporting this and getting it fixed!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants