Skip to content
Draft

Net10 #345

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@
"isRoot": true,
"tools": {
"fable": {
"version": "4.25.0",
"version": "4.27.0",
"commands": [
"fable"
],
"rollForward": false
},
"fantomas": {
"version": "7.0.2",
"version": "7.0.3",
"commands": [
"fantomas"
],
Expand All @@ -24,7 +24,7 @@
"rollForward": false
},
"fsharp-analyzers": {
"version": "0.31.0",
"version": "0.34.1",
"commands": [
"fsharp-analyzers"
],
Expand Down
8 changes: 4 additions & 4 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@
},
// https://github.com/devcontainers/features/blob/main/src/github-cli/README.md
"ghcr.io/devcontainers/features/github-cli:1": {},
// https://github.com/devcontainers-contrib/features/blob/main/src/starship/README.md
"ghcr.io/devcontainers-contrib/features/starship:1": {},
// https://github.com/devcontainers-extra/features/blob/main/src/starship/README.md
"ghcr.io/devcontainers-extra/features/starship:1": {},
// https://github.com/devcontainers/features/blob/main/src/dotnet/README.md
"ghcr.io/devcontainers/features/dotnet:2": {
"version": "9.0",
"additionalVersions": "8.0"
"version": "10.0",
"additionalVersions": ["8.0", "9.0"]
Copy link
Contributor Author

@1eyewonder 1eyewonder Nov 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this is necessary but temporarily have it here

},
"ghcr.io/devcontainers/features/node:1": {
"version": "22"
Expand Down
22 changes: 13 additions & 9 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,15 @@ jobs:
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v5
- name: Setup necessary dotnet SDKs
uses: actions/setup-dotnet@v3
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
dotnet-version: |
8.x
9.x
10.x

- name: Build via Bash
if: runner.os != 'Windows'
Expand All @@ -58,20 +59,21 @@ jobs:
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v5

- name: Setup Node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v5
with:
node-version: ${{ matrix.node-version }}

- name: Setup necessary dotnet SDKs
uses: actions/setup-dotnet@v3
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
dotnet-version: |
8.x
9.x
10.x

- name: Build via Bash
if: runner.os != 'Windows'
Expand Down Expand Up @@ -105,12 +107,13 @@ jobs:
python-version: ${{ matrix.python-version }}

- name: Setup necessary dotnet SDKs
uses: actions/setup-dotnet@v3
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
dotnet-version: |
8.x
9.x
10.x
- name: Build via Bash
if: runner.os != 'Windows'
run: |
Expand All @@ -132,7 +135,7 @@ jobs:
runs-on: ubuntu-latest
steps:

- uses: actions/checkout@v3
- uses: actions/checkout@v5

- name: Build and run dev container task
uses: devcontainers/[email protected]
Expand All @@ -144,14 +147,15 @@ jobs:
analyze:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v5
- name: Setup necessary dotnet SDKs
uses: actions/setup-dotnet@v3
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
dotnet-version: |
8.x
9.x
10.x
- name: Analyze
run: |
chmod +x ./build.sh
Expand Down
6 changes: 3 additions & 3 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@
"name": "benchmarks",
"type": "coreclr",
"request": "launch",
"program": "${workspaceFolder}/benchmarks/bin/Release/net8.0/benchmarks.exe",
"args": ["-m", "--runtimes", "net8.0", "--filter", "*"],
"program": "${workspaceFolder}/benchmarks/bin/Release/net10.0/benchmarks.exe",
"args": ["-m", "--runtimes", "net10.0", "--filter", "*"],
"env": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"console": "integratedTerminal",
"preLaunchTask": "build release",
"cwd": "${workspaceFolder}/benchmarks/bin/Release/net8.0/"
"cwd": "${workspaceFolder}/benchmarks/bin/Release/net10.0/"
}
]
}
5 changes: 1 addition & 4 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,5 @@
"BackgroundCompiler."
],
"FSharp.fsac.parallelReferenceResolution": false,
"FSharp.enableAnalyzers": true,
"FSharp.analyzersPath": [
"packages/analyzers"
]
"FSharp.enableAnalyzers": true
}
6 changes: 3 additions & 3 deletions Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project>
<PropertyGroup>
<DisableCheckingDuplicateNuGetItems>true</DisableCheckingDuplicateNuGetItems>
<NoWarn>$(NoWarn);FS2003;NU1903;NU1904;FS0057</NoWarn>
<NoWarn>$(NoWarn);FS2003;NU1902;NU1903;NU1904;FS0057</NoWarn>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<WarningsAsErrors />
<!--
Expand All @@ -11,8 +11,8 @@
Then, we're assuming if you're building for net9.0 you're using F# 9 Language features.
-->
<LangVersion>8.0</LangVersion>
<LangVersion Condition="'$(TargetFramework)' == 'net9.0'">9.0</LangVersion>
<Nullable Condition="'$(TargetFramework)' == 'net9.0'">enable</Nullable>
<LangVersion Condition="'$(TargetFramework)' == 'net10.0'">10.0</LangVersion>
<Nullable Condition="'$(TargetFramework)' == 'net10.0'">enable</Nullable>
</PropertyGroup>


Expand Down
30 changes: 15 additions & 15 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<PackageVersion Include="Hopac" Version="0.5.1" />
<PackageVersion Include="FSharp.Control.AsyncSeq" Version="3.2.1" />
<PackageVersion Include="Fable.Core" Version="4.2.0" />
<PackageVersion Include="IcedTasks" Version="0.11.8" />
<PackageVersion Include="IcedTasks" Version="0.11.9" />
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="1.1.1" />
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="6.0.0" />

Expand All @@ -22,29 +22,29 @@
<PackageVersion Include="Fable.Pyxpecto" Version="1.3.0" />

<!-- Benchmarks group dependencies -->
<PackageVersion Include="BenchmarkDotNet" Version="0.15.0" />
<PackageVersion Include="BenchmarkDotNet.Annotations" Version="0.15.0" />
<PackageVersion Include="BenchmarkDotNet.Diagnostics.Windows" Version="0.15.0" />
<PackageVersion Include="BenchmarkDotNet" Version="0.15.6" />
<PackageVersion Include="BenchmarkDotNet.Annotations" Version="0.15.6" />
<PackageVersion Include="BenchmarkDotNet.Diagnostics.Windows" Version="0.15.6" />

<!-- Build group dependencies -->
<PackageVersion Include="Fake.Core.Target" Version="5.22.0" />
<PackageVersion Include="Fake.DotNet.Cli" Version="5.22.0" />
<PackageVersion Include="Fake.Core.ReleaseNotes" Version="5.22.0" />
<PackageVersion Include="Fake.DotNet.AssemblyInfoFile" Version="5.22.0" />
<PackageVersion Include="Fake.DotNet.Testing.Expecto" Version="5.22.0" />
<PackageVersion Include="Fake.Tools.Git" Version="5.22.0" />
<PackageVersion Include="Fake.JavaScript.Npm" Version="5.22.0" />
<PackageVersion Include="Fake.Api.GitHub" Version="5.22.0" />
<PackageVersion Include="Fake.BuildServer.GitHubActions" Version="5.22.0" />
<PackageVersion Include="Fake.Core.Target" Version="6.1.4" />
<PackageVersion Include="Fake.DotNet.Cli" Version="6.1.4" />
<PackageVersion Include="Fake.Core.ReleaseNotes" Version="6.1.4" />
<PackageVersion Include="Fake.DotNet.AssemblyInfoFile" Version="6.1.4" />
<PackageVersion Include="Fake.DotNet.Testing.Expecto" Version="6.1.4" />
<PackageVersion Include="Fake.Tools.Git" Version="6.1.4" />
<PackageVersion Include="Fake.JavaScript.Npm" Version="6.1.4" />
<PackageVersion Include="Fake.Api.GitHub" Version="6.1.4" />
<PackageVersion Include="Fake.BuildServer.GitHubActions" Version="6.1.4" />
<PackageVersion Include="MSBuild.StructuredLogger" Version="2.2.206" />
<PackageVersion Include="Octokit" Version="0.53.0" />
<PackageVersion Include="Nuget.Common" Version="6.6.1" />
<PackageVersion Include="NuGet.Protocol" Version="6.6.1" />
<PackageVersion Include="System.Security.Cryptography.Pkcs" Version="7.0.2" />

<!-- Analyzers group dependencies -->
<PackageVersion Include="Ionide.Analyzers" Version="0.14.5" />
<PackageVersion Include="G-Research.FSharp.Analyzers" Version="0.15.0" />
<PackageVersion Include="Ionide.Analyzers" Version="0.14.10" />
<PackageVersion Include="G-Research.FSharp.Analyzers" Version="0.20.0" />
</ItemGroup>


Expand Down
2 changes: 1 addition & 1 deletion benchmarks/benchmarks.fsproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net8.0;net9.0</TargetFrameworks>
<TargetFrameworks>net10.0</TargetFrameworks>
<OutputType>Exe</OutputType>
</PropertyGroup>
<PropertyGroup>
Expand Down
2 changes: 1 addition & 1 deletion build/build.fsproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion global.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"sdk": {
"version": "9.0.100",
"version": "10.0.100",
"rollForward": "latestMinor"
}
}
10 changes: 8 additions & 2 deletions src/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@
<PackageReference Condition="'$(TargetFramework)' == 'netstandard2.0'" Include="Microsoft.Bcl.AsyncInterfaces" />
</ItemGroup>
<Choose>
<When Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)','net9.0'))">
<When Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)','net10.0'))">
<ItemGroup>
<PackageReference Include="FSharp.Core" VersionOverride="9.0.300" />
<PackageReference Include="FSharp.Core" VersionOverride="10.0.100" />
</ItemGroup>
</When>
<Otherwise>
Expand All @@ -41,4 +41,10 @@
</ItemGroup>
</Otherwise>
</Choose>

<ItemGroup>
<PackageReference Include="Ionide.Analyzers" PrivateAssets="All" />
<PackageReference Include="G-Research.FSharp.Analyzers" PrivateAssets="All" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFrameworks>netstandard2.1;netstandard2.0;net9.0</TargetFrameworks>
<TargetFrameworks>netstandard2.1;netstandard2.0;net10.0</TargetFrameworks>
<DebugType>portable</DebugType>
</PropertyGroup>
<!-- Add source files to "fable" folder in Nuget package -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFrameworks>net6.0;netstandard2.0;netstandard2.1;net9.0</TargetFrameworks>
<TargetFrameworks>net6.0;netstandard2.0;netstandard2.1;net10.0</TargetFrameworks>

<DebugType>portable</DebugType>
<NoWarn>$(NoWarn);FS3511;FS3513</NoWarn>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFrameworks>netstandard2.1;netstandard2.0;net9.0</TargetFrameworks>
<TargetFrameworks>netstandard2.1;netstandard2.0;net10.0</TargetFrameworks>
<DebugType>portable</DebugType>
</PropertyGroup>
<ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion src/FsToolkit.ErrorHandling/FsToolkit.ErrorHandling.fsproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFrameworks>netstandard2.1;netstandard2.0;net9.0</TargetFrameworks>
<TargetFrameworks>netstandard2.1;netstandard2.0;net10.0</TargetFrameworks>
<DebugType>portable</DebugType>
<NoWarn>$(NoWarn);FS1204;FS3511;FS3513;FS0057</NoWarn>
<PackageTags>$(PackageTags), fable-library, fable-dotnet, fable-javascript, fable-python</PackageTags>
Expand Down
4 changes: 2 additions & 2 deletions tests/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@
</ItemGroup>

<Choose>
<When Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)','net9.0'))">
<When Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)','net10.0'))">
<ItemGroup>
<PackageReference Include="FSharp.Core" VersionOverride="9.0.300" />
<PackageReference Include="FSharp.Core" VersionOverride="10.0.100" />
</ItemGroup>
</When>
<Otherwise>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFrameworks>net8.0;net9.0</TargetFrameworks>
<TargetFrameworks>net8.0;net10.0</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="../../src/FsToolkit.ErrorHandling.AsyncSeq/FsToolkit.ErrorHandling.AsyncSeq.fsproj" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -746,7 +746,7 @@ module CancellableTaskResultCE =

let! actual =
cancellableTaskResult {
use d = null
use d: IDisposableNull = null
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought this felt odd that this was complaining about the incompatible IAsyncDisposable vs IAsyncDisposable | null here. I locked it into IDisposableNull to allow me to continue building and testing other things

return data
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -833,7 +833,7 @@ module CancellableTaskValidationCE =

let! actual =
cancellableTaskValidation {
use d = null
use d: IDisposableNull = null
return data
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFrameworks>net8.0</TargetFrameworks>
<TargetFrameworks>net10.0</TargetFrameworks>
<NoWarn>$(NoWarn); FS3511</NoWarn>
</PropertyGroup>
<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFrameworks>net8.0;net9.0</TargetFrameworks>
<TargetFrameworks>net8.0;net10.0</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="../../src/FsToolkit.ErrorHandling.JobResult/FsToolkit.ErrorHandling.JobResult.fsproj" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFrameworks>net9.0;net8.0;</TargetFrameworks>
<TargetFrameworks>net8.0;net10.0</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="../../src/FsToolkit.ErrorHandling/FsToolkit.ErrorHandling.fsproj" />
Expand Down
2 changes: 1 addition & 1 deletion tools/FunctionMap/FunctionMap.fsproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<IsPackable>false</IsPackable>
<IsTestProject>false</IsTestProject>
</PropertyGroup>
Expand Down
Loading