Skip to content

Commit 26c5ae4

Browse files
Support .NET 9 (#233)
* Update for .NET 9 * Fix Errors * Update Unit Test forNUnit FluentAssertions * Fix Failing Unit Tests * Update build.yml * Add `AfterAllTests()` * Ensure IGitHubApiStatusService inherits from IDisposable * Update tests for `IDisposable` * Update for .NET 9 GA * Update GitStatus.Mobile.csproj * Update GitHubApiStatusServiceExtensionsTests.cs * Update build.yml * Add `partial` * Update GitStatus.Mobile.csproj
1 parent 9d85050 commit 26c5ae4

File tree

53 files changed

+912
-745
lines changed

Some content is hidden

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

53 files changed

+912
-745
lines changed

.github/workflows/build.yml

Lines changed: 41 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ jobs:
1313
runs-on: macos-latest
1414

1515
steps:
16-
- uses: actions/checkout@v3
16+
- uses: actions/checkout@v4
1717

18-
- name: Setup .NET v8.0
19-
uses: actions/setup-dotnet@v3
18+
- name: Setup .NET v9.0
19+
uses: actions/setup-dotnet@v4
2020
with:
21-
dotnet-version: "8.0.x"
21+
dotnet-version: '9.0.x'
2222

2323
- name: Install .NET MAUI Workload
2424
run: |
@@ -32,18 +32,18 @@ jobs:
3232
MobileProjectDirectory=`dirname $MobileProject`
3333
echo $MobileProjectDirectory
3434
35-
dotnet build $MobileProjectDirectory -f:net8.0-android -c Release
35+
dotnet build $MobileProjectDirectory -f:net9.0-android -c Release
3636
3737
iOS:
38-
runs-on: macos-13
38+
runs-on: macos-15
3939

4040
steps:
41-
- uses: actions/checkout@v3
41+
- uses: actions/checkout@v4
4242

43-
- name: Setup .NET v8.0
44-
uses: actions/setup-dotnet@v3
43+
- name: Setup .NET v9.0
44+
uses: actions/setup-dotnet@v4
4545
with:
46-
dotnet-version: "8.0.x"
46+
dotnet-version: '9.0.x'
4747

4848
- name: Install .NET MAUI Workload
4949
run: |
@@ -62,18 +62,18 @@ jobs:
6262
MobileProjectDirectory=`dirname $MobileProject`
6363
echo $MobileProjectDirectory
6464
65-
dotnet build $MobileProjectDirectory -f:net8.0-ios -c Release
65+
dotnet build $MobileProjectDirectory -f:net9.0-ios -c Release
6666
6767
MacCatalyst:
68-
runs-on: macos-13
68+
runs-on: macos-15
6969

7070
steps:
71-
- uses: actions/checkout@v3
71+
- uses: actions/checkout@v4
7272

73-
- name: Setup .NET v8.0
74-
uses: actions/setup-dotnet@v3
73+
- name: Setup .NET v9.0
74+
uses: actions/setup-dotnet@v4
7575
with:
76-
dotnet-version: "8.0.x"
76+
dotnet-version: '9.0.x'
7777

7878
- name: Install .NET MAUI Workload
7979
run: |
@@ -92,42 +92,42 @@ jobs:
9292
MobileProjectDirectory=`dirname $MobileProject`
9393
echo $MobileProjectDirectory
9494
95-
dotnet build $MobileProjectDirectory -f:net8.0-maccatalyst -c Release
95+
dotnet build $MobileProjectDirectory -f:net9.0-maccatalyst -c Release
9696
9797
Windows:
9898
runs-on: windows-latest
9999

100100
steps:
101-
- uses: actions/checkout@v3
101+
- uses: actions/checkout@v4
102102

103-
- uses: actions/setup-java@v3
103+
- uses: actions/setup-java@v4
104104
with:
105105
distribution: 'microsoft'
106-
java-version: '11'
106+
java-version: '17'
107107

108-
- name: Setup .NET v8.0
109-
uses: actions/setup-dotnet@v3
108+
- name: Setup .NET v9.0
109+
uses: actions/setup-dotnet@v4
110110
with:
111-
dotnet-version: "8.0.x"
111+
dotnet-version: '9.0.x'
112112

113113
- name: Install .NET MAUI Workload
114114
run: |
115115
dotnet workload install maui
116116
117117
- name: Build Windows App
118118
run: |
119-
dotnet build ./samples/GitStatus.Mobile/ -c Release -f net8.0-windows10.0.19041.0
119+
dotnet build ./samples/GitStatus.Mobile/ -c Release -f net9.0-windows10.0.19041.0
120120
121121
API:
122122
runs-on: macos-latest
123123

124124
steps:
125-
- uses: actions/checkout@v3
125+
- uses: actions/checkout@v4
126126

127-
- name: Setup .NET v8.0
128-
uses: actions/setup-dotnet@v3
127+
- name: Setup .NET v9.0
128+
uses: actions/setup-dotnet@v4
129129
with:
130-
dotnet-version: '8.0.x'
130+
dotnet-version: '9.0.x'
131131

132132
- name: Build API App
133133
run: |
@@ -143,12 +143,12 @@ jobs:
143143
runs-on: macos-latest
144144

145145
steps:
146-
- uses: actions/checkout@v3
146+
- uses: actions/checkout@v4
147147

148-
- name: Setup .NET v8.0
149-
uses: actions/setup-dotnet@v3
148+
- name: Setup .NET v9.0
149+
uses: actions/setup-dotnet@v4
150150
with:
151-
dotnet-version: '8.0.x'
151+
dotnet-version: '9.0.x'
152152

153153
- name: Build Console App
154154
run: |
@@ -164,12 +164,12 @@ jobs:
164164
runs-on: macos-latest
165165

166166
steps:
167-
- uses: actions/checkout@v3
167+
- uses: actions/checkout@v4
168168

169-
- name: Setup .NET v8.0
170-
uses: actions/setup-dotnet@v3
169+
- name: Setup .NET v9.0
170+
uses: actions/setup-dotnet@v4
171171
with:
172-
dotnet-version: '8.0.x'
172+
dotnet-version: '9.0.x'
173173

174174
- name: Build Web App
175175
run: |
@@ -185,12 +185,13 @@ jobs:
185185
runs-on: macos-latest
186186

187187
steps:
188-
- uses: actions/checkout@v3
188+
- uses: actions/checkout@v4
189189

190-
- name: Setup .NET v8.0
191-
uses: actions/setup-dotnet@v3
190+
- name: Setup .NET v9.0
191+
uses: actions/setup-dotnet@v4
192192
with:
193-
dotnet-version: '8.0.x'
193+
dotnet-version: '9.0.x'
194+
194195

195196
- name: Build Web App
196197
run: |

.github/workflows/unittests.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010

1111
jobs:
1212
UnitTests:
13-
runs-on: macos-latest
13+
runs-on: macos-15
1414

1515
env:
1616
GitHubPersonalAccessToken: ${{ secrets.GitHubPersonalAccessToken }}
@@ -22,6 +22,7 @@ jobs:
2222
uses: actions/setup-dotnet@v4
2323
with:
2424
dotnet-version: |
25+
9.0.x
2526
8.0.x
2627
7.0.x
2728
6.0.x

Directory.Build.props

Lines changed: 72 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,41 +2,90 @@
22
<Project>
33
<PropertyGroup>
44
<Nullable>enable</Nullable>
5-
<NoWarn>NETSDK1023</NoWarn>
6-
<IsTrimmable>false</IsTrimmable>
7-
<LangVersion>latest</LangVersion>
5+
<NuGetVersion>4.0.0</NuGetVersion>
6+
<LangVersion>preview</LangVersion>
7+
<Deterministic>true</Deterministic>
88
<ImplicitUsings>enable</ImplicitUsings>
9+
<LatestSupportedTFM>net9.0</LatestSupportedTFM>
910
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
1011
<ProduceReferenceAssembly>true</ProduceReferenceAssembly>
11-
<LatestSupportedNetVersion>net8.0</LatestSupportedNetVersion>
1212
<AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>
1313
<GenerateErrorForMissingTargetingPacks>false</GenerateErrorForMissingTargetingPacks>
14+
15+
<!-- MAUI Specific -->
16+
<MauiPackageVersion>9.0.10</MauiPackageVersion>
17+
<MauiStrictXamlCompilation>true</MauiStrictXamlCompilation>
1418
<SkipValidateMauiImplicitPackageReferences>true</SkipValidateMauiImplicitPackageReferences>
19+
<MauiEnableXamlCBindingWithSourceCompilation>true</MauiEnableXamlCBindingWithSourceCompilation>
20+
21+
<!-- Prevent NuGet Pacakge Vulnerabilities -->
22+
<NuGetAudit>enable</NuGetAudit>
23+
<NuGetAuditMode>all</NuGetAuditMode>
24+
25+
<!-- https://learn.microsoft.com/dotnet/core/deploying/native-aot/?tabs=net8plus%2Cwindows -->
26+
<StripSymbols>false</StripSymbols>
27+
<TrimmerSingleWarn>false</TrimmerSingleWarn>
1528

1629
<!-- WarningsAsErrors
17-
CS0419: Ambiguous reference in cref attribute
18-
CS1570: XML comment has badly formed XML 'Expected an end tag for element [parameter]
19-
CS1571: XML comment on [construct] has a duplicate param tag for [parameter]
20-
CS1572: XML comment has a param tag for '[parameter]', but there is no parameter by that name
21-
CS1573: Parameter has no matching param tag in the XML comment
22-
CS1574: XML comment has cref attribute that could not be resolved
23-
CS1580: Invalid type for parameter 'parameter number' in XML comment cref attribute
24-
CS1581: Invalid return type in XML comment cref attribute
30+
CS0419: Ambiguous reference in cref attribute
31+
CS0618: Is obsolete
32+
CS1570: XML comment has badly formed XML 'Expected an end tag for element [parameter]
33+
CS1571: XML comment on [construct] has a duplicate param tag for [parameter]
34+
CS1572: XML comment has a param tag for '[parameter]', but there is no parameter by that name
35+
CS1573: Parameter has no matching param tag in the XML comment
36+
CS1574: XML comment has cref attribute that could not be resolved
37+
CS1580: Invalid type for parameter 'parameter number' in XML comment cref attribute
38+
CS1581: Invalid return type in XML comment cref attribute
2539
CS1584: XML comment has syntactically incorrect cref attribute
26-
CS1587: XML comment is not placed on a valid language element
27-
CS1589: The syntax of a tag which referenced a file was incorrect
28-
CS1590: Invalid XML include element Missing file attribute
40+
CS1587: XML comment is not placed on a valid language element
41+
CS1589: The syntax of a tag which referenced a file was incorrect
42+
CS1590: Invalid XML include element Missing file attribute
2943
CS1591: Missing XML comment for publicly visible type or member
30-
CS1592: Badly formed XML in included comments file
31-
CS1598: XML parser could not be loaded. The XML documentation file will not be generated.
44+
CS1592: Badly formed XML in included comments file
45+
CS1598: XML parser could not be loaded. The XML documentation file will not be generated.
3246
CS1658: Identifier expected; 'true' is a keyword
3347
CS1710: XML comment on 'type' has a duplicate typeparam tag for 'parameter'
34-
CS1711: XML comment has a typeparam tag, but there is no type parameter by that name
48+
CS1711: XML comment has a typeparam tag, but there is no type parameter by that name
3549
CS1712: Type parameter has no matching typeparam tag in the XML comment
3650
CS1723: XML comment has cref attribute that refers to a type parameter
37-
CS1734: XML comment has a paramref tag, but there is no parameter by that name
38-
xUnit1012: Null should not be used for type parameter
39-
xUnit2021: Assert.ThrowsAsync is async. The resulting task should be awaited -->
40-
<WarningsAsErrors>nullable,CS0419,CS1570,CS1571,CS1572,CS1573,CS1574,CS1580,CS1581,CS1584,CS1587,CS1589,CS1590,CS1591,CS1592,CS1598,CS1658,CS1710,CS1711,CS1712,CS1723,CS1734,xUnit1012,xUnit2021</WarningsAsErrors>
51+
CS1734: XML comment has a paramref tag, but there is no parameter by that name
52+
CsWinRT1028: Class implements WinRT interfaces but isn't marked partial
53+
CsWinRT1030: Class implements WinRT interfaces that require unsafe code
54+
XC0045: Binding: Property not found
55+
XC0103: Consider attributing the markup extension with [RequireService] or [AcceptEmptyServiceProvider] if it doesn't require any
56+
NU1900 Error communicating with package source, while getting vulnerability information.
57+
NU1901 Package with low severity detected
58+
NU1902 Package with moderate severity detected
59+
NU1903 Package with high severity detected
60+
NU1904 Package with critical severity detected
61+
NU1905 An audit source does not provide a vulnerability database
62+
NUnit*: NUnit Analyzers
63+
IL2***: Trim Warnings
64+
IL3***: AOT Warnings-->
65+
<WarningsAsErrors>
66+
nullable,
67+
CS0419,CS0618,CS1570,CS1571,CS1572,CS1573,CS1574,CS1580,CS1581,CS1584,CS1587,CS1589,CS1590,CS1591,CS1592,CS1598,CS1658,CS1710,CS1711,CS1712,CS1723,CS1734,
68+
CsWinRT1028,CsWinRT1030,
69+
XC0045,XC0103,
70+
NU1900,NU1901,NU1902,NU1903,NU1904,NU1905,
71+
NUnit1001,NUnit1002,NUnit1003,NUnit1004,NUnit1005,NUnit1006,NUnit1007,NUnit1008,NUnit1009,NUnit1010,NUnit1011,NUnit1012,NUnit1013,NUnit1014,NUnit1015,NUnit1016,NUnit1017,NUnit1018,NUnit1019,NUnit1020,NUnit1021,NUnit1022,NUnit1023,NUnit1024,NUnit1025,NUnit1026,NUnit1027,NUnit1028,NUnit1029,NUnit1030,NUnit1031,NUnit1032,NUnit1033,
72+
NUnit2001,NUnit2002,NUnit2003,NUnit2004,NUnit2005,NUnit2006,NUnit2007,NUnit2008,NUnit2009,NUnit2010,NUnit2011,NUnit2012,NUnit2013,NUnit2014,NUnit2015,NUnit2016,NUnit2017,NUnit2018,NUnit2019,NUnit2020,NUnit2021,NUnit2022,NUnit2023,NUnit2024,NUnit2025,NUnit2026,NUnit2027,NUnit2028,NUnit2029,NUnit2030,NUnit2031,NUnit2032,NUnit2033,NUnit2034,NUnit2035,NUnit2036,NUnit2037,NUnit2038,NUnit2039,NUnit2040,NUnit2041,NUnit2042,NUnit2043,NUnit2044,NUnit2045,NUnit2046,NUnit2047,NUnit2048,NUnit2049,NUnit2050,
73+
NUnit3001,NUnit3002,NUnit3003,NUnit3004,
74+
NUnit4001,
75+
IL2001,IL2002,IL2003,IL2004,IL2005,IL2006,IL2007,IL2008,IL2009,
76+
IL2010,IL2011,IL2012,IL2013,IL2014,IL2015,IL2016,IL2017,IL2018,IL2019,
77+
IL2020,IL2021,IL2022,IL2023,IL2024,IL2025,IL2026,IL2027,IL2028,IL2029,
78+
IL2030,IL2031,IL2032,IL2033,IL2034,IL2035,IL2036,IL2037,IL2038,IL2039,
79+
IL2040,IL2041,IL2042,IL2043,IL2044,IL2045,IL2046,IL2047,IL2048,IL2049,
80+
IL2050,IL2051,IL2052,IL2053,IL2054,IL2055,IL2056,IL2057,IL2058,IL2059,
81+
IL2060,IL2061,IL2062,IL2063,IL2064,IL2065,IL2066,IL2067,IL2068,IL2069,
82+
IL2070,IL2071,IL2072,IL2073,IL2074,IL2075,IL2076,IL2077,IL2078,IL2079,
83+
IL2080,IL2081,IL2082,IL2083,IL2084,IL2085,IL2086,IL2087,IL2088,IL2089,
84+
IL2090,IL2091,IL2092,IL2093,IL2094,IL2095,IL2096,IL2097,IL2098,IL2099,
85+
IL2100,IL2101,IL2102,IL2103,IL2104,IL2105,IL2106,IL2107,IL2108,IL2109,
86+
IL2110,IL2111,IL2112,IL2113,IL2114,IL2115,IL2116,IL2117,IL2118,IL2119,
87+
IL2120,IL2121,IL2122,
88+
IL3050,IL3051,IL3052,IL3053,IL3054,IL3055,IL3056
89+
</WarningsAsErrors>
4190
</PropertyGroup>
42-
</Project>
91+
</Project>

GitHubApiStatus.sln

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Console", "Console", "{1D17
1414
EndProject
1515
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GitStatus.ConsoleApp", "samples\GitStatus.ConsoleApp\GitStatus.ConsoleApp.csproj", "{BE045971-4CE8-4C59-BAEB-0BF3A42A9C0A}"
1616
EndProject
17-
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "GitStatus.Shared", "samples\GitStatus.Shared\GitStatus.Shared.shproj", "{EE691483-A8A2-4071-9C75-E70F0250E5D2}"
18-
EndProject
1917
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Web", "Web", "{6DE141A9-EDFE-464D-BB27-2CFB182118AD}"
2018
EndProject
2119
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GitHubApiStatus.Extensions", "src\GitHubApiStatus.Extensions\GitHubApiStatus.Extensions.csproj", "{AE935942-772A-4A9D-A1E1-2BC99D41F4C9}"
@@ -38,6 +36,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
3836
EndProject
3937
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GitStatus.Mobile", "samples\GitStatus.Mobile\GitStatus.Mobile.csproj", "{F6B5ED4D-EEF5-46AC-94CA-064D292B0E00}"
4038
EndProject
39+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitStatus.Common", "GitStatus.Common\GitStatus.Common.csproj", "{927E2323-6227-4CE2-AF69-9A4290635040}"
40+
EndProject
4141
Global
4242
GlobalSection(SolutionConfigurationPlatforms) = preSolution
4343
Debug|Any CPU = Debug|Any CPU
@@ -144,6 +144,18 @@ Global
144144
{F6B5ED4D-EEF5-46AC-94CA-064D292B0E00}.Release|iPhone.Build.0 = Release|Any CPU
145145
{F6B5ED4D-EEF5-46AC-94CA-064D292B0E00}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
146146
{F6B5ED4D-EEF5-46AC-94CA-064D292B0E00}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
147+
{927E2323-6227-4CE2-AF69-9A4290635040}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
148+
{927E2323-6227-4CE2-AF69-9A4290635040}.Debug|Any CPU.Build.0 = Debug|Any CPU
149+
{927E2323-6227-4CE2-AF69-9A4290635040}.Debug|iPhone.ActiveCfg = Debug|Any CPU
150+
{927E2323-6227-4CE2-AF69-9A4290635040}.Debug|iPhone.Build.0 = Debug|Any CPU
151+
{927E2323-6227-4CE2-AF69-9A4290635040}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
152+
{927E2323-6227-4CE2-AF69-9A4290635040}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
153+
{927E2323-6227-4CE2-AF69-9A4290635040}.Release|Any CPU.ActiveCfg = Release|Any CPU
154+
{927E2323-6227-4CE2-AF69-9A4290635040}.Release|Any CPU.Build.0 = Release|Any CPU
155+
{927E2323-6227-4CE2-AF69-9A4290635040}.Release|iPhone.ActiveCfg = Release|Any CPU
156+
{927E2323-6227-4CE2-AF69-9A4290635040}.Release|iPhone.Build.0 = Release|Any CPU
157+
{927E2323-6227-4CE2-AF69-9A4290635040}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
158+
{927E2323-6227-4CE2-AF69-9A4290635040}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
147159
EndGlobalSection
148160
GlobalSection(SolutionProperties) = preSolution
149161
HideSolutionNode = FALSE
@@ -153,7 +165,6 @@ Global
153165
{A52818B8-0C2C-49C5-9389-D8790237ADCE} = {E2BF43DD-5550-414E-9F01-7F7E5492CCB1}
154166
{1D178B33-C69B-47E7-AF90-B460B34BCC37} = {E2BF43DD-5550-414E-9F01-7F7E5492CCB1}
155167
{BE045971-4CE8-4C59-BAEB-0BF3A42A9C0A} = {1D178B33-C69B-47E7-AF90-B460B34BCC37}
156-
{EE691483-A8A2-4071-9C75-E70F0250E5D2} = {E2BF43DD-5550-414E-9F01-7F7E5492CCB1}
157168
{6DE141A9-EDFE-464D-BB27-2CFB182118AD} = {E2BF43DD-5550-414E-9F01-7F7E5492CCB1}
158169
{A5FF2946-AE9A-4FE4-8650-75719BA23D5B} = {6DE141A9-EDFE-464D-BB27-2CFB182118AD}
159170
{70DBA7CC-2319-4B3F-8F83-97B3368AC890} = {AF841AED-C887-4B39-868A-02242D30780B}
@@ -169,7 +180,6 @@ Global
169180
samples\GitStatus.Shared\GitStatus.Shared.projitems*{9a30833a-01c9-44ed-b8e2-032a4846574f}*SharedItemsImports = 5
170181
samples\GitStatus.Shared\GitStatus.Shared.projitems*{a5ff2946-ae9a-4fe4-8650-75719ba23d5b}*SharedItemsImports = 5
171182
samples\GitStatus.Shared\GitStatus.Shared.projitems*{be045971-4ce8-4c59-baeb-0bf3a42a9c0a}*SharedItemsImports = 5
172-
samples\GitStatus.Shared\GitStatus.Shared.projitems*{ee691483-a8a2-4071-9c75-e70f0250e5d2}*SharedItemsImports = 13
173183
samples\GitStatus.Shared\GitStatus.Shared.projitems*{f6b5ed4d-eef5-46ac-94ca-064d292b0e00}*SharedItemsImports = 5
174184
EndGlobalSection
175185
EndGlobal
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
namespace GitStatus.Common;
2+
3+
public static class GitHubConstants
4+
{
5+
public const string AuthScheme = "bearer";
6+
public const string PersonalAccessToken = "";
7+
public const string GitHubRestApiUrl = "https://api.github.com";
8+
public const string GitHubGraphQLApiUrl = "https://api.github.com/graphql";
9+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFrameworks>net8.0;$(LatestSupportedTFM)</TargetFrameworks>
5+
</PropertyGroup>
6+
7+
</Project>

global.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"sdk": {
3-
"version": "8.0.300",
4-
"rollForward": "latestFeature"
3+
"version": "9.0.100-rc.2.24474.11",
4+
"rollForward": "latestFeature",
5+
"allowPrerelease": true
56
}
6-
}
7+
}

0 commit comments

Comments
 (0)