Skip to content

Commit 5e49f2a

Browse files
authored
Merge pull request #3591 from getsentry/version-5.0.0
Preparing Version 5.0.0
2 parents cbe1af4 + 3fde00a commit 5e49f2a

File tree

178 files changed

+4259
-3917
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

178 files changed

+4259
-3917
lines changed

.generated.NoMobile.sln

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -155,8 +155,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FastSerialization", "module
155155
EndProject
156156
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Samples.Console.Native", "samples\Sentry.Samples.Console.Native\Sentry.Samples.Console.Native.csproj", "{FC8AEABA-1A40-4891-9EBA-4B6A1F7244B2}"
157157
EndProject
158-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Samples.Console.Metrics", "samples\Sentry.Samples.Console.Metrics\Sentry.Samples.Console.Metrics.csproj", "{BD2D08FC-8675-4157-A73C-D75F6A3856D3}"
159-
EndProject
160158
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Samples.MacOS", "samples\Sentry.Samples.MacOS\Sentry.Samples.MacOS.csproj", "{5B100CC0-1A78-407E-A5A5-94BC06D67461}"
161159
EndProject
162160
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Samples.Hangfire", "samples\Sentry.Samples.Hangfire\Sentry.Samples.Hangfire.csproj", "{407C477D-69C0-4B02-8A68-EE6B5A81C696}"
@@ -165,7 +163,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Hangfire", "src\Sent
165163
EndProject
166164
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Hangfire.Tests", "test\Sentry.Hangfire.Tests\Sentry.Hangfire.Tests.csproj", "{46E40BE8-1AB0-4846-B0A2-A40AD0272C64}"
167165
EndProject
168-
Project("{{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Samples.AspNetCore.WebAPI.Profiling", "samples\Sentry.Samples.AspNetCore.WebAPI.Profiling\Sentry.Samples.AspNetCore.WebAPI.Profiling.csproj", "{A5B26C14-7313-4EDC-91E3-287F9374AB75}"
166+
Project("{00000000-0000-0000-0000-000000000000}") = "Sentry.Samples.AspNetCore.WebAPI.Profiling", "samples\Sentry.Samples.AspNetCore.WebAPI.Profiling\Sentry.Samples.AspNetCore.WebAPI.Profiling.csproj", "{A5B26C14-7313-4EDC-91E3-287F9374AB75}"
169167
EndProject
170168
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "root", "root", "{233D34AB-970E-4913-AA1E-172E833FB5B2}"
171169
ProjectSection(SolutionItems) = preProject
@@ -180,6 +178,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "root", "root", "{233D34AB-9
180178
EndProject
181179
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.AspNetCore.Blazor.WebAssembly", "src\Sentry.AspNetCore.Blazor.WebAssembly\Sentry.AspNetCore.Blazor.WebAssembly.csproj", "{8298202C-9983-4D0A-851D-805539EE481A}"
182180
EndProject
181+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Samples.Console.HeapDump", "samples\Sentry.Samples.Console.HeapDump\Sentry.Samples.Console.HeapDump.csproj", "{D7DF0B26-AD43-4F8B-9BFE-C4471CCC9821}"
182+
EndProject
183183
Global
184184
GlobalSection(SolutionConfigurationPlatforms) = preSolution
185185
Debug|Any CPU = Debug|Any CPU
@@ -276,6 +276,7 @@ Global
276276
{4E0DC405-C372-4396-A5DF-F6AA108DA01C}.Release|Any CPU.Build.0 = Release|Any CPU
277277
{9B175EC8-6B64-4345-A158-091CB8876077}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
278278
{9B175EC8-6B64-4345-A158-091CB8876077}.Debug|Any CPU.Build.0 = Debug|Any CPU
279+
{9B175EC8-6B64-4345-A158-091CB8876077}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
279280
{9B175EC8-6B64-4345-A158-091CB8876077}.Release|Any CPU.ActiveCfg = Release|Any CPU
280281
{9B175EC8-6B64-4345-A158-091CB8876077}.Release|Any CPU.Build.0 = Release|Any CPU
281282
{EE0DC846-52F3-46AF-BC0D-DEF81150CEC0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -470,10 +471,6 @@ Global
470471
{FC8AEABA-1A40-4891-9EBA-4B6A1F7244B2}.Debug|Any CPU.Build.0 = Debug|Any CPU
471472
{FC8AEABA-1A40-4891-9EBA-4B6A1F7244B2}.Release|Any CPU.ActiveCfg = Release|Any CPU
472473
{FC8AEABA-1A40-4891-9EBA-4B6A1F7244B2}.Release|Any CPU.Build.0 = Release|Any CPU
473-
{BD2D08FC-8675-4157-A73C-D75F6A3856D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
474-
{BD2D08FC-8675-4157-A73C-D75F6A3856D3}.Debug|Any CPU.Build.0 = Debug|Any CPU
475-
{BD2D08FC-8675-4157-A73C-D75F6A3856D3}.Release|Any CPU.ActiveCfg = Release|Any CPU
476-
{BD2D08FC-8675-4157-A73C-D75F6A3856D3}.Release|Any CPU.Build.0 = Release|Any CPU
477474
{5B100CC0-1A78-407E-A5A5-94BC06D67461}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
478475
{5B100CC0-1A78-407E-A5A5-94BC06D67461}.Debug|Any CPU.Build.0 = Debug|Any CPU
479476
{5B100CC0-1A78-407E-A5A5-94BC06D67461}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -498,6 +495,10 @@ Global
498495
{A5B26C14-7313-4EDC-91E3-287F9374AB75}.Debug|Any CPU.Build.0 = Debug|Any CPU
499496
{A5B26C14-7313-4EDC-91E3-287F9374AB75}.Release|Any CPU.ActiveCfg = Release|Any CPU
500497
{A5B26C14-7313-4EDC-91E3-287F9374AB75}.Release|Any CPU.Build.0 = Release|Any CPU
498+
{D7DF0B26-AD43-4F8B-9BFE-C4471CCC9821}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
499+
{D7DF0B26-AD43-4F8B-9BFE-C4471CCC9821}.Debug|Any CPU.Build.0 = Debug|Any CPU
500+
{D7DF0B26-AD43-4F8B-9BFE-C4471CCC9821}.Release|Any CPU.ActiveCfg = Release|Any CPU
501+
{D7DF0B26-AD43-4F8B-9BFE-C4471CCC9821}.Release|Any CPU.Build.0 = Release|Any CPU
501502
EndGlobalSection
502503
GlobalSection(SolutionProperties) = preSolution
503504
HideSolutionNode = FALSE
@@ -574,12 +575,12 @@ Global
574575
{67269916-C417-4CEE-BD7D-CA66C3830AEE} = {A3CCA27E-4DF8-479D-833C-CAA0950715AA}
575576
{8032310D-3C06-442C-A318-F365BCC4C804} = {A3CCA27E-4DF8-479D-833C-CAA0950715AA}
576577
{FC8AEABA-1A40-4891-9EBA-4B6A1F7244B2} = {21B42F60-5802-404E-90F0-AEBCC56760C0}
577-
{BD2D08FC-8675-4157-A73C-D75F6A3856D3} = {21B42F60-5802-404E-90F0-AEBCC56760C0}
578578
{5B100CC0-1A78-407E-A5A5-94BC06D67461} = {21B42F60-5802-404E-90F0-AEBCC56760C0}
579579
{407C477D-69C0-4B02-8A68-EE6B5A81C696} = {21B42F60-5802-404E-90F0-AEBCC56760C0}
580580
{EADF25F5-8D02-4747-AB54-5F2BAA648471} = {230B9384-90FD-4551-A5DE-1A5C197F25B6}
581581
{46E40BE8-1AB0-4846-B0A2-A40AD0272C64} = {6987A1CC-608E-4868-A02C-09D30C8B7B2D}
582582
{8298202C-9983-4D0A-851D-805539EE481A} = {230B9384-90FD-4551-A5DE-1A5C197F25B6}
583583
{A5B26C14-7313-4EDC-91E3-287F9374AB75} = {21B42F60-5802-404E-90F0-AEBCC56760C0}
584+
{D7DF0B26-AD43-4F8B-9BFE-C4471CCC9821} = {21B42F60-5802-404E-90F0-AEBCC56760C0}
584585
EndGlobalSection
585586
EndGlobal

.github/actions/environment/action.yml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,19 +51,27 @@ runs:
5151
5252
- name: Install .NET SDK
5353
if: runner.os != 'Windows'
54-
uses: actions/setup-dotnet@v3
54+
uses: actions/setup-dotnet@v4
5555
with:
5656
dotnet-version: |
5757
6.0.x
5858
7.0.x
5959
8.0.x
60+
9.0.100
61+
62+
- name: Install .NET 9
63+
if: runner.os == 'Windows'
64+
uses: actions/setup-dotnet@v4
65+
with:
66+
dotnet-version: |
67+
9.0.100
6068
6169
- name: Install .NET Workloads
6270
shell: bash
6371
run: >
6472
dotnet workload install \
65-
wasm-tools maui-android \
73+
wasm-tools wasm-tools-net8 maui-android \
6674
${{ runner.os == 'macOS' && 'maui-ios maui-maccatalyst maui-windows macos' || '' }} \
67-
${{ runner.os == 'Windows' && 'maui-windows' || '' }} \
75+
${{ runner.os == 'Windows' && 'maui-ios maui-maccatalyst maui-windows' || '' }} \
6876
--temp-dir "${{ runner.temp }}" \
6977
--skip-sign-check
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Remove unused applications
2+
description: Frees disk space by removing unused applications
3+
runs:
4+
using: composite
5+
steps:
6+
7+
- name: Free Disk Space
8+
if: runner.os == 'Linux'
9+
uses: jlumbroso/free-disk-space@f68fdb76e2ea636224182cfb7377ff9a1708f9b8
10+
with:
11+
android: false
12+
dotnet: false
13+
haskell: true
14+
large-packages: false
15+
docker-images: true
16+
swap-storage: true
17+
18+
# TODO: Do we need all of these or just one?
19+
# 514M /usr/lib/llvm-15
20+
# 486M /usr/lib/llvm-14
21+
# 448M /usr/lib/llvm-13
22+
- name: Remove unused applications
23+
if: runner.os == 'Linux'
24+
shell: bash
25+
run: |
26+
df -h /dev/root
27+
sudo rm -rf /usr/local/.ghcup
28+
sudo rm -rf /usr/local/julia1.10.5
29+
sudo rm -rf /usr/lib/heroku
30+
sudo rm -rf /opt/hostedtoolcache/go
31+
sudo rm -rf /opt/hostedtoolcache/Ruby
32+
sudo apt-get remove -y '^mysql-.*' --fix-missing || echo "::warning::The command [sudo apt-get remove -y '^mysql-.*' --fix-missing] failed to complete successfully. Proceeding..."
33+
sudo apt-get autoremove -y || echo "::warning::The command [sudo apt-get autoremove -y] failed to complete successfully. Proceeding..."
34+
sudo apt-get clean || echo "::warning::The command [sudo apt-get clean] failed to complete successfully. Proceeding..."
35+
df -h /dev/root

.github/workflows/build.yml

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@ on:
99
paths-ignore:
1010
- "**.md"
1111

12-
env:
13-
XCODE_VERSION: 16
14-
1512
jobs:
1613
build-sentry-native:
1714
name: sentry-native (${{ matrix.os }})
@@ -35,16 +32,8 @@ jobs:
3532
key: sentry-native-${{ runner.os }}-${{ hashFiles('scripts/build-sentry-native.ps1') }}-${{ hashFiles('.git/modules/modules/sentry-native/HEAD') }}
3633
enableCrossOsArchive: true
3734

38-
- name: Free Disk Space (Ubuntu)
39-
if: runner.os == 'Linux'
40-
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be
41-
with:
42-
android: true
43-
dotnet: false
44-
haskell: true
45-
large-packages: false
46-
docker-images: false
47-
swap-storage: true
35+
- name: Remove unused applications
36+
uses: ./.github/actions/freediskspace
4837

4938
- name: Install build dependencies
5039
if: steps.cache.outputs.cache-hit != 'true' && runner.os == 'Linux'
@@ -72,19 +61,16 @@ jobs:
7261
if: github.ref_name != 'main' && !startsWith(github.ref_name, 'release/')
7362
uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # Tag: 0.12.1
7463

75-
- name: Setup Xcode
76-
if: runner.os == 'macOS'
77-
run: |
78-
sudo xcode-select --switch /Applications/Xcode_${{env.XCODE_VERSION}}.app/Contents/Developer
79-
xcodebuild -version
80-
8164
- name: Checkout
8265
uses: actions/checkout@v4
8366
with:
8467
submodules: recursive
8568
fetch-depth: 2 # default is 1 and codecov needs > 1
8669

87-
# We use macOS for the final publishing build so we we get all the iOS/macCatalyst targets in the packages
70+
- name: Remove unused applications
71+
uses: ./.github/actions/freediskspace
72+
73+
# We use macOS for the final publishing build so we get all the iOS/macCatalyst targets in the packages
8874
- name: Set Environment Variables
8975
if: runner.os == 'macOS'
9076
run: echo "CI_PUBLISHING_BUILD=true" >> $GITHUB_ENV
@@ -126,7 +112,6 @@ jobs:
126112
- name: Install Android SDKs
127113
if: runner.os == 'macOS'
128114
run: |
129-
dotnet build src/Sentry/Sentry.csproj -t:InstallAndroidDependencies -f:net7.0-android -p:AcceptAndroidSDKLicenses=True -p:AndroidSdkPath="/usr/local/lib/android/sdk/"
130115
dotnet build src/Sentry/Sentry.csproj -t:InstallAndroidDependencies -f:net8.0-android -p:AcceptAndroidSDKLicenses=True -p:AndroidSdkPath="/usr/local/lib/android/sdk/"
131116
132117
- name: Build
@@ -181,6 +166,7 @@ jobs:
181166
Directory.Build.props
182167
integration-test
183168
.github
169+
184170
- name: Fetch Nuget Packages
185171
uses: actions/download-artifact@v4
186172
with:

.github/workflows/codeql-analysis.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,10 @@ jobs:
4040
languages: csharp
4141

4242
- name: Restore .NET Dependencies
43-
run: dotnet restore Sentry-CI-CodeQL.slnf --nologo
43+
# We should be able to get rid of the restore here, if we install the correct workloads in actions/environment
44+
run: |
45+
dotnet workload restore
46+
dotnet restore Sentry-CI-CodeQL.slnf --nologo
4447
4548
- name: Build
4649
run: dotnet build Sentry-CI-CodeQL.slnf --no-restore --nologo

.github/workflows/device-tests-android.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
with:
4040
name: device-test-android
4141
if-no-files-found: error
42-
path: test/Sentry.Maui.Device.TestApp/bin/Release/net7.0-android/android-x64/io.sentry.dotnet.maui.device.testapp-Signed.apk
42+
path: test/Sentry.Maui.Device.TestApp/bin/Release/net8.0-android/android-x64/io.sentry.dotnet.maui.device.testapp-Signed.apk
4343

4444
android:
4545
needs: [build]

.github/workflows/device-tests-ios.yml

Lines changed: 2 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,8 @@ on:
1010
- "**.md"
1111

1212
jobs:
13-
build:
14-
# Pinning `macos-13` because Microsoft.iOS 16.4 requires Xcode 14.3 which is only built-in in 13
15-
runs-on: macos-13
13+
ios-tests:
14+
runs-on: macos-15
1615
env:
1716
DOTNET_CLI_TELEMETRY_OPTOUT: 1
1817
DOTNET_NOLOGO: 1
@@ -34,32 +33,6 @@ jobs:
3433
- name: Build iOS Test App
3534
run: pwsh ./scripts/device-test.ps1 ios -Build
3635

37-
- name: Upload iOS Test App
38-
uses: actions/upload-artifact@v4
39-
with:
40-
name: device-test-ios
41-
if-no-files-found: error
42-
path: test/Sentry.Maui.Device.TestApp/bin/Release/net7.0-ios/iossimulator-x64/Sentry.Maui.Device.TestApp.app
43-
44-
ios:
45-
needs: [build]
46-
name: Run iOS Tests
47-
runs-on: macos-13
48-
strategy:
49-
fail-fast: false
50-
env:
51-
DOTNET_CLI_TELEMETRY_OPTOUT: 1
52-
DOTNET_NOLOGO: 1
53-
steps:
54-
- name: Checkout
55-
uses: actions/checkout@v4
56-
57-
- name: Download test app artifact
58-
uses: actions/download-artifact@v4
59-
with:
60-
name: device-test-ios
61-
path: bin/Sentry.Maui.Device.TestApp.app
62-
6336
- name: Run Tests
6437
id: first-run
6538
continue-on-error: true

.github/workflows/format-code.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,10 @@ jobs:
2323
uses: ./.github/actions/environment
2424

2525
- name: Restore .NET Dependencies
26-
run: dotnet restore Sentry.sln --nologo
26+
# We should be able to get rid of the restore here, if we install the correct workloads in actions/environment
27+
run: |
28+
dotnet workload restore
29+
dotnet restore Sentry.sln --nologo
2730
2831
- name: Install dotnet format
2932
run: dotnet tool install -g dotnet-format

CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,27 @@
11
# Changelog
22

3+
## Version Five
4+
5+
### API Changes
6+
7+
- You should no longer pass `AndroidContext` as an argument to `SentrySdk.Init` ([#3562](https://github.com/getsentry/sentry-dotnet/pull/3562))
8+
- The `SentryUser.Segment` property has been deprecated. Consider sending this as a tag or additional data instead ([#3563](https://github.com/getsentry/sentry-dotnet/pull/3563))
9+
- The ITraceContext now includes an [Origin](https://develop.sentry.dev/sdk/telemetry/traces/trace-origin/), which is set automatically and is primarily used internally by the Sentry server ([#3564](https://github.com/getsentry/sentry-dotnet/pull/3564))
10+
- `Device.BatteryLevel` and `Device.ProcessorFrequency` are now stored as floats rather than ints, to align with the Cocoa and Java SDKs ([#3567](https://github.com/getsentry/sentry-dotnet/pull/3567))
11+
- `SentryOptions.EnableTracing` has been removed. Instead, tracing should be enabled or disabled by setting the `SentryOptions.TracesSampleRate` or by using `SentryOptions.TracesSampler` to configure a sampling function ([#3569](https://github.com/getsentry/sentry-dotnet/pull/3569))
12+
- The `FailedRequestTargets`, `TagFilters` and `TracePropagationTargets` options have all been changed from `SubstringOrRegexPattern` to `IList<StringOrRegex>` ([#3566](https://github.com/getsentry/sentry-dotnet/pull/3566))
13+
- `Scope.Transaction` is now always stored as an `AsyncLocal` also in [Global Mode](https://docs.sentry.io/platforms/dotnet/configuration/options/#is-global-mode-enabled), to prevent auto-instrumented spans from the UI ending up parented to transactions from a background task (or vice versa). ([#3596](https://github.com/getsentry/sentry-dotnet/pull/3596))
14+
- Heap dumps can be captured automatically when memory usage exceeds a configurable threshold ([#3667](https://github.com/getsentry/sentry-dotnet/pull/3667))
15+
- Sentry's Experimental Metrics feature has been deprecated and removed from the SDK. ([#3718](https://github.com/getsentry/sentry-dotnet/pull/3718))
16+
17+
### Features
18+
- Added support for `.NET 9` (preview) ([#3699](https://github.com/getsentry/sentry-dotnet/pull/3699))
19+
- libsentrysupplemental.so now supports 16 KB page sizes on Android ([#3723](https://github.com/getsentry/sentry-dotnet/pull/3723))
20+
21+
### Fixes
22+
23+
- Fixed NullReferenceException in SentryTraceHeader when parsing null or empty values ([#3757](https://github.com/getsentry/sentry-dotnet/pull/3757))
24+
325
## Unreleased
426

527
### Fixes

Directory.Build.props

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@
1313

1414
<!-- Allow references to unsigned assemblies (like MAUI) from signed projects -->
1515
<NoWarn>$(NoWarn);CS8002</NoWarn>
16+
17+
<!-- We need to support old stuff. Applications should definitely address these advisory warnings though. -->
18+
<NoWarn>$(NoWarn);NU1903</NoWarn>
19+
20+
<!-- https://learn.microsoft.com/en-us/dotnet/core/compatibility/sdk/8.0/dotnet-restore-audit#version-introduced -->
21+
<WarningsNotAsErrors>NU1903</WarningsNotAsErrors>
1622
</PropertyGroup>
1723

1824
<PropertyGroup Condition="'$(Configuration)' != 'Release'">
@@ -34,11 +40,15 @@
3440
<!--
3541
Note: The following platform-specific properties need to be set in both Directory.Build.props and DirectoryBuild.targets.
3642
TODO: Figure out how to consolidate to a single location.
43+
- Directory.Build.props will get imported at the beginning of the project files, so sets properties that are
44+
prerequisites for the build and can be overriden in the project files.
45+
- Directory.Build.targets will get imported at the end of the project files, so can be used to run common custom
46+
tasks or ultimately override properties set in Directory.Build.props or the project files.
3747
-->
3848
<PropertyGroup>
3949
<TargetPlatformIdentifier>$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)'))</TargetPlatformIdentifier>
40-
<SupportedOSPlatformVersion Condition="'$(TargetPlatformIdentifier)' == 'ios'">10.0</SupportedOSPlatformVersion>
41-
<SupportedOSPlatformVersion Condition="'$(TargetPlatformIdentifier)' == 'maccatalyst'">13.1</SupportedOSPlatformVersion>
50+
<SupportedOSPlatformVersion Condition="'$(TargetPlatformIdentifier)' == 'ios'">12.2</SupportedOSPlatformVersion>
51+
<SupportedOSPlatformVersion Condition="'$(TargetPlatformIdentifier)' == 'maccatalyst'">15.0</SupportedOSPlatformVersion>
4252
<SupportedOSPlatformVersion Condition="'$(TargetPlatformIdentifier)' == 'android'">21.0</SupportedOSPlatformVersion>
4353
<SupportedOSPlatformVersion Condition="'$(TargetPlatformIdentifier)' == 'windows'">10.0.17763.0</SupportedOSPlatformVersion>
4454
<TargetPlatformMinVersion Condition="'$(TargetPlatformIdentifier)' == 'windows'">10.0.17763.0</TargetPlatformMinVersion>
@@ -74,6 +84,15 @@
7484
<SentryCLIDirectory>$(MSBuildThisFileDirectory)tools\sentry-cli\$(SentryCLIVersion)\</SentryCLIDirectory>
7585
</PropertyGroup>
7686

87+
<!-- dotnet-gcdump needs net6+ and won't work on mobile. -->
88+
<PropertyGroup>
89+
<PlatformIsLegacy Condition="$(TargetFramework.StartsWith('net4')) or $(TargetFramework.StartsWith('netstandard'))">true</PlatformIsLegacy>
90+
<PlatformIsMobile Condition="$(TargetFramework.EndsWith('android')) or $(TargetFramework.EndsWith('ios')) or $(TargetFramework.EndsWith('maccatalyst'))">true</PlatformIsMobile>
91+
<MemoryDumpSupported Condition="!($(PlatformIsLegacy) == 'true' or $(PlatformIsMobile) == 'true')">true</MemoryDumpSupported>
92+
93+
<DefineConstants Condition="'$(MemoryDumpSupported)' == 'true'">$(DefineConstants);MEMORY_DUMP_SUPPORTED</DefineConstants>
94+
</PropertyGroup>
95+
7796
<!-- Public key of .assets/Sentry.snk - not a secret. Used by other InternalsVisibleTo entries throughout the solution. -->
7897
<PropertyGroup>
7998
<SentryPublicKey>002400000480000094000000060200000024000052534131000400000100010059964a931488bcdbd14657f1ee0df32df61b57b3d14d7290c262c2cc9ddaad6ec984044f761f778e1823049d2cb996a4f58c8ea5b46c37891414cb34b4036b1c178d7b582289d2eef3c0f1e9b692c229a306831ee3d371d9e883f0eb0f74aeac6c6ab8c85fd1ec04b267e15a31532c4b4e2191f5980459db4dce0081f1050fb8</SentryPublicKey>

0 commit comments

Comments
 (0)