Skip to content

Commit b2ea90c

Browse files
authored
Arcus now targets .NET 10 (#70)
* Targets .NET 10 * Updates Packages
1 parent ecb47ac commit b2ea90c

File tree

12 files changed

+1031
-458
lines changed

12 files changed

+1031
-458
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ jobs:
3030
dotnet-version: |
3131
8.0.x
3232
9.0.x
33+
10.0.x
3334
3435
- name: Restore .NET tools
3536
run: dotnet tool restore

.github/workflows/publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
- name: Setup .NET
2727
uses: actions/setup-dotnet@v5
2828
with:
29-
dotnet-version: 9.0.x
29+
dotnet-version: 10.0.x
3030

3131
- name: Extract version
3232
id: extract_version

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
[![nuget Version](https://img.shields.io/nuget/v/Arcus)](https://www.nuget.org/packages/Arcus)
55
[![GitHub Release](https://img.shields.io/github/v/release/sandialabs/Arcus)](https://github.com/sandialabs/Arcus/releases)
66
[![GitHub Tag](https://img.shields.io/github/v/tag/sandialabs/Arcus)](https://github.com/sandialabs/Arcus/tags)
7-
![Targets](https://img.shields.io/badge/.NET%20Standard%202.0%20|%20.NET%208.0%20|%20.NET%209.0-blue?logo=.net)
7+
![Targets](https://img.shields.io/badge/.NET%20Standard%202.0%20|%20.NET%208.0%20|%20.NET%209.0|%20.NET%2010.0-blue)
88
[![Apache 2.0 License](https://img.shields.io/github/license/sandialabs/Arcus?logo=apache)](https://github.com/sandialabs/Arcus/blob/main/LICENSE)
99

1010
## About the Project
@@ -17,7 +17,7 @@ Arcus is a C# manipulation library for calculating, parsing, formatting, convert
1717

1818
In .NET versions up to and including .NET 4.8 (which corresponds to .NET Standard 2.0), stricter parsing rules were enforced for `IPAddress` according to the IPv6 specification. Specifically, the presence of a terminal '%' character without a valid zone index is considered invalid in these versions. As a result, the input `abcd::%` fails to parse, leading to a null or failed address parsing depending on `Parse`/`TryParse`. This behavior represents a breaking change from Arcus's previous target of .NET Standard 1.3. and may provide confusion for .NET 4.8 / .NET Standard 2.0 versions.
1919

20-
In contrast, in newer versions of .NET, including .NET 8 and .NET 9, the parsing rules have been relaxed. The trailing '%' character is now ignored during parsing, allowing for inputs that would have previously failed.
20+
In contrast, in newer versions of .NET, including .NET 8 and .NET 9, and .NET 10 the parsing rules have been relaxed. The trailing '%' character is now ignored during parsing, allowing for inputs that would have previously failed.
2121

2222
It is important to note that this scenario appears to be an extreme edge case, and developers should ensure that their applications handle `IPAddress` parsing appropriately across different target frameworks as expected.
2323

@@ -165,7 +165,7 @@ This project uses [Semantic Versioning](https://semver.org/)
165165

166166
### Targeting
167167

168-
The project targets [.NET Standard 2.0](https://learn.microsoft.com/en-us/dotnet/standard/net-standard?tabs=net-standard-2-0), [.NET 8](https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-8), and [.NET 9](https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-9/overview). The test project similarly targets .NET 8, .NET 9, but targets [.NET Framework 4.8](https://dotnet.microsoft.com/en-us/download/dotnet-framework/net48) for the .NET Standard 2.0 tests.
168+
The project targets [.NET Standard 2.0](https://learn.microsoft.com/en-us/dotnet/standard/net-standard?tabs=net-standard-2-0), [.NET 8](https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-8), [.NET 9](https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-9/overview), and [.NET 10](https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-10/overview). The test project similarly targets .NET 8, .NET 9, .NET 10, but targets [.NET Framework 4.8](https://dotnet.microsoft.com/en-us/download/dotnet-framework/net48) for the .NET Standard 2.0 tests.
169169

170170
### Commit Hook
171171

docs/index.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ Arcus
1212
.. image:: https://img.shields.io/github/v/tag/sandialabs/Arcus
1313
:alt: GitHub Tag
1414
:target: https://github.com/sandialabs/Arcus/tags
15-
.. image:: https://img.shields.io/badge/.NET%20Standard%202.0%20|%20.NET%208.0%20|%20.NET%209.0-blue?logo=.net
16-
:alt: Targets .NET Standard 2.0, .NET 8, and .NET 9
15+
.. image:: https://img.shields.io/badge/.NET%20Standard%202.0%20|%20.NET%208.0%20|%20.NET%209.0|%20.NET%2010.0-blue?logo=.net
16+
:alt: Targets .NET Standard 2.0, .NET 8, .NET 9, and .NET 10
1717
.. image:: https://img.shields.io/github/license/sandialabs/Arcus?logo=apache
1818
:alt: Apache 2.0 License
1919
:target: https://github.com/sandialabs/Arcus/blob/main/LICENSE

src/Arcus.DocExamples/Arcus.DocExamples.csproj

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<Copyright>Copyright 2025 National Technology &amp; Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software</Copyright>
77
</PropertyGroup>
88
<PropertyGroup>
9-
<TargetFrameworks>net48;net8.0;net9.0</TargetFrameworks>
9+
<TargetFrameworks>net48;net8.0;net9.0;net10.0</TargetFrameworks>
1010
<IsPackable>false</IsPackable>
1111
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
1212
<OutputPath>bin\</OutputPath>
@@ -21,9 +21,9 @@
2121
<ProjectReference Include="..\Arcus\Arcus.csproj" />
2222
</ItemGroup>
2323
<ItemGroup>
24-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
24+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
2525
<PackageReference Include="xunit" Version="2.9.3" />
26-
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.0">
26+
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
2727
<PrivateAssets>all</PrivateAssets>
2828
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
2929
</PackageReference>
@@ -33,23 +33,23 @@
3333
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
3434
<PrivateAssets>all</PrivateAssets>
3535
</PackageReference>
36-
<PackageReference Include="Microsoft.VisualStudio.Threading.Analyzers" Version="17.13.61">
36+
<PackageReference Include="Microsoft.VisualStudio.Threading.Analyzers" Version="17.14.15">
3737
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
3838
<PrivateAssets>all</PrivateAssets>
3939
</PackageReference>
40-
<PackageReference Include="Roslynator.Analyzers" Version="4.13.1">
40+
<PackageReference Include="Roslynator.Analyzers" Version="4.14.1">
4141
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
4242
<PrivateAssets>all</PrivateAssets>
4343
</PackageReference>
44-
<PackageReference Include="Roslynator.CodeAnalysis.Analyzers" Version="4.13.1">
44+
<PackageReference Include="Roslynator.CodeAnalysis.Analyzers" Version="4.14.1">
4545
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
4646
<PrivateAssets>all</PrivateAssets>
4747
</PackageReference>
48-
<PackageReference Include="Roslynator.Formatting.Analyzers" Version="4.13.1">
48+
<PackageReference Include="Roslynator.Formatting.Analyzers" Version="4.14.1">
4949
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
5050
<PrivateAssets>all</PrivateAssets>
5151
</PackageReference>
52-
<PackageReference Include="SonarAnalyzer.CSharp" Version="10.9.0.115408">
52+
<PackageReference Include="SonarAnalyzer.CSharp" Version="10.15.0.120848">
5353
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
5454
<PrivateAssets>all</PrivateAssets>
5555
</PackageReference>

0 commit comments

Comments
 (0)