Repository navigation
Merge main into version7 - #5762
Merged
Merged
Conversation
Co-authored-by: GitHub <noreply@github.com>
… attachment streams (#5736)
* chore: update scripts/update-java.ps1 to 8.61.0 * fix(android): drop SentryEventProcessor marker interface from bindings Java SDK 8.61.0 adds io.sentry.internal.eventprocessor.SentryEventProcessor, an empty internal marker interface extending EventProcessor. The binding generator surfaces EventProcessor's default methods on it as explicit interface implementations qualified as `Sentry.JavaSdk.IEventProcessor` without `global::`, which resolves against IO.Sentry and fails with CS0538/CS0234. Nothing in .NET uses it, and the generated code for its implementers is unchanged without it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: GitHub <noreply@github.com> Co-authored-by: James Crosswell <jamescrosswell@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ds (#5732) * fix: don't upload pre-trim PDBs for trimmed iOS and Mac Catalyst builds When a trimmer output directory exists, take PDBs only from it (postprocessed-assemblies, else linked) and scan the output directory for native symbols only. The outer build of a multi-RID Apple build leaves PDBs out too, since each RID's inner build uploads its own. cli.Tests.ps1 gains a Mac Catalyst case, and both Apple cases now check that every uploaded PDB matches an assembly in the app bundle. Closes #5728 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix: only skip output-directory PDBs on iOS and Mac Catalyst On desktop the trimmer runs during publish, after Build, so a linked directory at upload time is left over from an earlier publish. Removing the PDB types there left a console app's call with no -t at all, and sentry-cli then uploaded the apphost and runtime dylibs too. Other platforms now keep main's commands, split over the two calls. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…updates (#5738) * build(deps): bump the github-actions group across 1 directory with 7 updates Bumps the github-actions group with 7 updates in the / directory: | Package | From | To | | --- | --- | --- | | [actions/upload-artifact](https://github.com/actions/upload-artifact) | `7.0.1` | `7.0.2` | | [actions/download-artifact](https://github.com/actions/download-artifact) | `8.0.1` | `8.0.2` | | [getsentry/craft/.github/workflows/changelog-preview.yml](https://github.com/getsentry/craft) | `2.33.3` | `2.34.1` | | [github/codeql-action/init](https://github.com/github/codeql-action) | `4.38.2` | `4.38.3` | | [github/codeql-action/analyze](https://github.com/github/codeql-action) | `4.38.2` | `4.38.3` | | [actions/create-github-app-token](https://github.com/actions/create-github-app-token) | `3.2.0` | `3.3.0` | | [getsentry/craft](https://github.com/getsentry/craft) | `2.33.3` | `2.34.1` | Updates `actions/upload-artifact` from 7.0.1 to 7.0.2 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@043fb46...cf430e0) Updates `actions/download-artifact` from 8.0.1 to 8.0.2 - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](actions/download-artifact@3e5f45b...9000827) Updates `getsentry/craft/.github/workflows/changelog-preview.yml` from 2.33.3 to 2.34.1 - [Release notes](https://github.com/getsentry/craft/releases) - [Changelog](https://github.com/getsentry/craft/blob/master/CHANGELOG.md) - [Commits](getsentry/craft@4e16427...3f2abdc) Updates `github/codeql-action/init` from 4.38.2 to 4.38.3 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@2892aa5...24c5418) Updates `github/codeql-action/analyze` from 4.38.2 to 4.38.3 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@2892aa5...24c5418) Updates `actions/create-github-app-token` from 3.2.0 to 3.3.0 - [Release notes](https://github.com/actions/create-github-app-token/releases) - [Changelog](https://github.com/actions/create-github-app-token/blob/main/CHANGELOG.md) - [Commits](actions/create-github-app-token@bcd2ba4...64ab729) Updates `getsentry/craft` from 2.33.3 to 2.34.1 - [Release notes](https://github.com/getsentry/craft/releases) - [Changelog](https://github.com/getsentry/craft/blob/master/CHANGELOG.md) - [Commits](getsentry/craft@4e16427...3f2abdc) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: 7.0.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: actions/download-artifact dependency-version: 8.0.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: getsentry/craft/.github/workflows/changelog-preview.yml dependency-version: 2.34.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions - dependency-name: github/codeql-action/init dependency-version: 4.38.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: github/codeql-action/analyze dependency-version: 4.38.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: actions/create-github-app-token dependency-version: 3.3.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions - dependency-name: getsentry/craft dependency-version: 2.34.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com> * ci(release): Pass the release bot's client ID as client-id create-github-app-token deprecated app-id in favor of client-id, so every release run logs a deprecation warning. The action reads client-id first and falls back to app-id, so the token it creates stays the same. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Ricardo Colombo Oliveira <github@ricoliv.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: GitHub <noreply@github.com>
From RC 2 the .NET 11 SDK publishes Native AOT apps without running Build: UseOptimizedPublish defaults to true when PublishAot is set, and Publish depends on _PublishOptimizedBuildAlternative, which runs only Compile and the publish targets (dotnet/sdk#54515). CheckSentryCLI, which every upload and release target depends on, hooked AfterTargets="Build", so symbol upload and release creation silently stopped. This is decided by the SDK, not the TFM, so net8.0-net10.0 apps are affected too. CheckSentryCLI, _CreateSentryRelease and _SentrySetCommits now also run after _PublishOptimizedBuildAlternative. Ported by hand from the version7 fix: _GetSentryRelease already runs after PrepareSentryCLI on main, so it needs no change. Fixes #5727 Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… config (#5665) * feat(hangfire): Send recurring job schedule as monitor config Opt-in via UseSentry(o => o.SendRecurringJobSchedule = true). The in-progress check-in of a recurring job carries the job's cron and time zone so Sentry can create the monitor. Unsupported schedules fall back to a check-in without config. Co-Authored-By: Claude <noreply@anthropic.com> * ref(hangfire): Validate the recurring job schedule before capturing Check the crontab up front so the check-in goes out in a single call instead of relying on the hub to swallow an exception from Interval. The validator is shared with Sentry.Hangfire as a linked source file, since the unsigned assembly can't see Sentry's internals. Read the job through GetRecurringJobs, look up time zones with FindSystemTimeZoneById on .NET 6+, and add tests for UTC, unknown zones, deleted jobs, the UseSentry overload, and a real recurring job. Co-Authored-By: Claude <noreply@anthropic.com> * test(hangfire): Skip time zone tests when the zone is missing The linux-musl CI containers have no time zone database, so lookups of Europe/Berlin and Etc/UTC fail there. Co-Authored-By: Claude <noreply@anthropic.com> * fix(hangfire): Skip schedules Sentry would read differently Hangfire runs a job only on days that match both the day-of-month and day-of-week fields, while Sentry runs it on days that match either unless one of them starts with '*'. Don't send those schedules, nor ones with a reversed range such as 5-1 or SAT-SUN, which Sentry rejects. Co-Authored-By: Claude <noreply@anthropic.com> * feat(hangfire): Send recurring job schedules by default Jobs are only monitored when they have [SentryMonitorSlug], so sending the recurring job's schedule lets Sentry create or update the monitor, like the Spring and Quartz integrations. Set SendRecurringJobSchedule to false to keep managing the schedule in Sentry. Co-Authored-By: Claude <noreply@anthropic.com> * fix(hangfire): Create the check-in ID before the in-progress check-in The final check-in reused the ID returned for the in-progress one, which is empty when that one isn't captured. Create the ID up front, send it with the in-progress check-in, and store it in the job's items as before. Co-Authored-By: Claude <noreply@anthropic.com> * ref(hangfire): Rename SendRecurringJobSchedule to SendMonitorConfig Matches SentryQuartzOptions.SendMonitorConfig. Co-Authored-By: Claude <noreply@anthropic.com> * feat(hangfire): Don't send a monitor config when recurring jobs share a slug with different schedules * fix(hangfire): Don't treat a recurring job as conflicting with its own cached schedule Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
…5730) * fix(maui): report in_foreground for apps using the UIScene lifecycle Sentry.Maui set InForeground from the application-level OnActivated, OnResignActivation and DidEnterBackground events. For apps using the UIScene lifecycle, which Xcode 27 requires, MAUI raises SceneOnActivated and friends instead, so InForeground stayed null and in_foreground disappeared from every iOS and Mac Catalyst event. The iOS integration test now asserts "in_foreground":true; without the Scene* handlers it fails in both Release and Debug. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> (cherry picked from commit e75e6c9) * test(maui): adopt the UIScene lifecycle in the iOS integration test app The new "in_foreground":true assertion only guards the Scene* handlers if the app runs under scenes; otherwise the application-level OnActivated handler still sets InForeground and the assertion passes without the fix. UIKit stops calling the application-level OnActivated under scenes, so the OnActivated test hook moves to the SceneDelegate. Mirrors what #5725 did for integration-test/maui-device on version7. Refs #5726 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(maui): keep in_foreground true while another window is active Opening a second window on iPad fires SceneOnResignActivation and SceneDidEnterBackground for the first scene after SceneOnActivated for the second, so InForeground ended up false while the app was in use. Resign and background now leave it true if another connected scene is ForegroundActive. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* build(deps): bump dotnet-sdk from 10.0.401 to 10.0.402 Bumps [dotnet-sdk](https://github.com/dotnet/sdk) from 10.0.401 to 10.0.402. - [Release notes](https://github.com/dotnet/sdk/releases) - [Commits](dotnet/sdk@v10.0.401...v10.0.402) --- updated-dependencies: - dependency-name: dotnet-sdk dependency-version: 10.0.402 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * build: keep workload set 10.0.401 with SDK 10.0.402 Workload set 10.0.402 moves the iOS/MacCatalyst/macOS packs to 27.0.10722, which requires Xcode 27.0 and drops iOS 26.5 as a TargetPlatformVersion. The macos-26 runners only ship Xcode 26.x (Xcode 27 is a preview image), so keep the 10.0.401 workload set, which is in the same 10.0.400 feature band. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Revert "build: keep workload set 10.0.401 with SDK 10.0.402" This reverts commit fcfffea. * ci: move to Xcode 27 for the 10.0.402 workload set Workload set 10.0.402 ships the iOS/MacCatalyst/macOS 27.0.10722 packs, which require Xcode 27.0 and drop iOS 26.5 as a TargetPlatformVersion. - Run macOS jobs on the xcode-27 runner image and pin Xcode 27.0 - Target iOS 27.0 in the device test apps and simulator lookup - Disable PRI generation for Sentry.Maui's Windows TFM on macOS: MAUI 10.0.110 ships Microsoft.Maui.Controls.pri, so the WinAppSDK targets now invoke makepri.exe, which can't run on macOS Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(apple): adopt the UIScene lifecycle in the iOS and Mac Catalyst apps Apps built with the Xcode 27 SDKs must use the UIScene lifecycle, or they sit on the launch screen. Port of f673d4b from #5725 (version7), with integration-test/maui-device mapped to integration-test/net9-maui. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * build: fix Mac Catalyst/macOS minimums and IL2037 on the 27.0 packs - The 27.0 packs require Mac Catalyst 17.0 and macOS 14.0 for apps; raise the samples to match (as version7 already does) - The net10 iOS 27.0 pack emits spurious IL2037 for explicit-interface members in MAUI Compatibility (dotnet/macios#26529, fixed in .NET 11 only), which TreatWarningsAsErrors turns into a device test app failure Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * ci: bump XHarness to 11.0.0-prerelease.26506.3 for Xcode 27 The older mlaunch looks for Simulator.app where Xcode 27 no longer ships it (MT1008), so ios-tests failed to launch the app. Same bump as #5725. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: James Crosswell <jamescrosswell@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…5745) * feat: add connection type and effective type to the device context Device now has ConnectionType and ConnectionEffectiveType. They map to connection_type and connection_effective_type in the device context. sentry-java 8.60.0 and sentry-cocoa 9.30.0 report the same keys. Hybrid SDKs, for example sentry-unity, need typed fields to copy the values from the native SDK to managed events. Device is sealed and has no slot for extra keys. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Make the device connection fields internal The keys are not settled. Relay has no typed field for them, the device context spec does not list them, and sentry-conventions deprecates device.connection_type in favor of network.connection.type. Internal fields keep them out of the public API. sentry-unity can still use them through InternalsVisibleTo in Sentry.Unity.props. Also add UpdateFrom tests for both fields. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
ubuntu-latest is moving to Ubuntu 26.04. Playwright 1.51.0 refuses to install Chromium there ("Playwright does not support chromium on ubuntu26.04-x64"), so the Blazor WASM E2E job fails whenever it lands on a 26.04 runner. Support for 26.04 arrived in Playwright 1.61.0.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* ref: Drop unused Cocoa scope serialization --------- Co-authored-by: Ricardo Colombo Oliveira <github@ricoliv.com>
Its content already landed in version7 through #5748, which was squash-merged and so left main's history unconnected. Recording the merge makes it the merge base, so this sync only brings in main's newer commits.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## version7 #5762 +/- ##
============================================
+ Coverage 75.60% 76.17% +0.57%
============================================
Files 522 526 +4
Lines 19042 19265 +223
Branches 3679 3729 +50
============================================
+ Hits 14396 14676 +280
+ Misses 3810 3734 -76
- Partials 836 855 +19 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings
main's 3 commits since the last sync intoversion7:Blazor WASM E2Echeck, which currently fails on PRs intoversion7because Playwright 1.51 doesn't support the ubuntu26.04 runnersNo conflicts. The changes against
version7are exactly those 3 commits' diff.Don't merge this PR with the button. The repo only allows squash merges, which flattens
main's PRs into one commit, so craft lists them as a single changelog entry. Once CI is green, fast-forwardversion7to this branch instead:Reconnecting history after #5748
#5748 was squash-merged, so
version7gotmain's content up to 84eaf9f but not its history. The merge base was still bb0c397 from the sync before, and a plain merge would have redone all 13 commits and #5748's conflicts. The first commit here is an-s oursmerge of 84eaf9f, which records that state as merged without changing any files. #5748's branch tip and its squash commit onversion7have identical trees, so nothing is lost. Mergingmainon top of that brings in only the newer commits, and future syncs start from the right base.#skip-changelog
🤖 Generated with Claude Code