diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
index c92d1a789..2ec7a6cb2 100644
--- a/.devcontainer/devcontainer.json
+++ b/.devcontainer/devcontainer.json
@@ -1,10 +1,10 @@
{
"name": "OpenFeature .NET SDK",
- "image": "mcr.microsoft.com/devcontainers/dotnet:9.0-bookworm",
+ "image": "mcr.microsoft.com/devcontainers/dotnet:10.0",
"features": {
"ghcr.io/devcontainers/features/dotnet:latest": {
- "version": "9.0",
- "additionalVersions": "8.0"
+ "version": "10.0",
+ "dotnetRuntimeVersions": "9.0, 8.0"
},
"ghcr.io/devcontainers/features/github-cli:latest": {},
"ghcr.io/devcontainers/features/docker-in-docker": {}
@@ -30,4 +30,4 @@
"memory": "8gb"
},
"postCreateCommand": "git submodule update --init --recursive"
-}
+}
\ No newline at end of file
diff --git a/.github/workflows/aot-compatibility.yml b/.github/workflows/aot-compatibility.yml
index 20ca24a22..4ba1698ce 100644
--- a/.github/workflows/aot-compatibility.yml
+++ b/.github/workflows/aot-compatibility.yml
@@ -46,7 +46,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
with:
fetch-depth: 0
submodules: recursive
@@ -57,7 +57,7 @@ jobs:
global-json-file: global.json
- name: Cache NuGet packages
- uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
+ uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-${{ matrix.arch }}-nuget-${{ hashFiles('**/*.csproj', 'Directory.Packages.props', 'global.json') }}
@@ -81,6 +81,7 @@ jobs:
shell: pwsh
run: |
dotnet publish test/OpenFeature.AotCompatibility/OpenFeature.AotCompatibility.csproj `
+ -f net10.0 `
-r ${{ matrix.runtime }} `
-o ./aot-output
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 6f3f5c8eb..d92c7a849 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -23,7 +23,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
with:
fetch-depth: 0
submodules: recursive
@@ -34,7 +34,7 @@ jobs:
global-json-file: global.json
- name: Cache NuGet packages
- uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
+ uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj', 'Directory.Packages.props', 'global.json') }}
@@ -67,7 +67,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
with:
fetch-depth: 0
submodules: recursive
@@ -78,7 +78,7 @@ jobs:
global-json-file: global.json
- name: Cache NuGet packages
- uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
+ uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj', 'Directory.Packages.props', 'global.json') }}
@@ -102,7 +102,7 @@ jobs:
- name: Publish NuGet packages (fork)
if: github.event.pull_request.head.repo.fork == true
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
+ uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
with:
name: nupkgs
path: src/**/*.nupkg
diff --git a/.github/workflows/code-coverage.yml b/.github/workflows/code-coverage.yml
index 67d2e629b..c221b5911 100644
--- a/.github/workflows/code-coverage.yml
+++ b/.github/workflows/code-coverage.yml
@@ -22,7 +22,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6
+ - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
with:
fetch-depth: 0
@@ -32,7 +32,7 @@ jobs:
global-json-file: global.json
- name: Cache NuGet packages
- uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
+ uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj', 'Directory.Packages.props', 'global.json') }}
@@ -42,7 +42,7 @@ jobs:
- name: Run Test
run: dotnet test --verbosity normal /p:CollectCoverage=true /p:CoverletOutputFormat=opencover
- - uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
+ - uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
name: Code Coverage for ${{ matrix.os }}
fail_ci_if_error: true
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index ee4dc7f53..af80cac1d 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -38,11 +38,11 @@ jobs:
steps:
- name: Checkout repository
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@fdbfb4d2750291e159f0156def62b853c2798ca2 # v4
+ uses: github/codeql-action/init@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v4
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -56,7 +56,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
- uses: github/codeql-action/autobuild@fdbfb4d2750291e159f0156def62b853c2798ca2 # v4
+ uses: github/codeql-action/autobuild@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v4
# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
@@ -69,4 +69,4 @@ jobs:
# ./location_of_script_within_repo/buildscript.sh
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@fdbfb4d2750291e159f0156def62b853c2798ca2 # v4
+ uses: github/codeql-action/analyze@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v4
diff --git a/.github/workflows/dotnet-format.yml b/.github/workflows/dotnet-format.yml
index 170886165..e4326e045 100644
--- a/.github/workflows/dotnet-format.yml
+++ b/.github/workflows/dotnet-format.yml
@@ -15,7 +15,7 @@ jobs:
steps:
- name: Check out code
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
- name: Setup .NET SDK
uses: actions/setup-dotnet@2016bd2012dba4e32de620c46fe006a3ac9f0602 # v5
diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml
index d975ca0bd..fa02626eb 100644
--- a/.github/workflows/e2e.yml
+++ b/.github/workflows/e2e.yml
@@ -17,7 +17,7 @@ jobs:
contents: read
pull-requests: write
steps:
- - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6
+ - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
with:
fetch-depth: 0
@@ -27,7 +27,7 @@ jobs:
global-json-file: global.json
- name: Cache NuGet packages
- uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
+ uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj', 'Directory.Packages.props', 'global.json') }}
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 7cd116145..4468cb37d 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -39,7 +39,7 @@ jobs:
if: ${{ fromJSON(needs.release-please.outputs.release_created || false) }}
steps:
- - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6
+ - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
with:
fetch-depth: 0
@@ -49,7 +49,7 @@ jobs:
global-json-file: global.json
- name: Cache NuGet packages
- uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
+ uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj', 'Directory.Packages.props', 'global.json') }}
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index f393718c9..a9b8e02a9 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "2.10.0"
+ ".": "2.11.0"
}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 59501e851..3c7b76af9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,12 @@
# Changelog
+## [2.11.0](https://github.com/open-feature/dotnet-sdk/compare/v2.10.0...v2.11.0) (2025-12-18)
+
+
+### ✨ New Features
+
+* Upgrade to dotnet version 10 ([#658](https://github.com/open-feature/dotnet-sdk/issues/658)) ([c7be7e0](https://github.com/open-feature/dotnet-sdk/commit/c7be7e0fbff694ec9ef794548f6e7a478412b68b))
+
## [2.10.0](https://github.com/open-feature/dotnet-sdk/compare/v2.9.0...v2.10.0) (2025-12-01)
diff --git a/Directory.Packages.props b/Directory.Packages.props
index 58b3afa57..622dcc537 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -7,6 +7,9 @@
9.0.0
+
+ 10.0.0
+
@@ -34,7 +37,7 @@
-
+
@@ -46,11 +49,15 @@
-
+
-
+
+
+
+
+
diff --git a/README.md b/README.md
index ae4253285..dfedfabe1 100644
--- a/README.md
+++ b/README.md
@@ -10,8 +10,8 @@
[](https://github.com/open-feature/spec/releases/tag/v0.8.0)
[
-
-](https://github.com/open-feature/dotnet-sdk/releases/tag/v2.10.0)
+
+](https://github.com/open-feature/dotnet-sdk/releases/tag/v2.11.0)
[](https://cloud-native.slack.com/archives/C0344AANLA1)
[](https://codecov.io/gh/open-feature/dotnet-sdk)
diff --git a/build/Common.prod.props b/build/Common.prod.props
index bfe58d3d1..cfcd00340 100644
--- a/build/Common.prod.props
+++ b/build/Common.prod.props
@@ -9,7 +9,7 @@
- 2.10.0
+ 2.11.0
git
https://github.com/open-feature/dotnet-sdk
OpenFeature is an open standard for feature flag management, created to support a robust feature flag ecosystem using cloud native technologies. OpenFeature will provide a unified API and SDK, and a developer-first, cloud-native implementation, with extensibility for open source and commercial offerings.
diff --git a/build/Common.samples.props b/build/Common.samples.props
index a5b06c9b9..6b2058a0e 100644
--- a/build/Common.samples.props
+++ b/build/Common.samples.props
@@ -1,6 +1,6 @@
- net9.0
+ net10.0
enable
enable
true
diff --git a/docs/AOT_COMPATIBILITY.md b/docs/AOT_COMPATIBILITY.md
index afa6f1e73..d4b72952b 100644
--- a/docs/AOT_COMPATIBILITY.md
+++ b/docs/AOT_COMPATIBILITY.md
@@ -26,7 +26,7 @@ To enable NativeAOT in your project, add these properties to your `.csproj` file
```xml
- net8.0
+ net8.0
Exe
diff --git a/global.json b/global.json
index 5fb240dd3..d8d11dbec 100644
--- a/global.json
+++ b/global.json
@@ -1,7 +1,7 @@
{
"sdk": {
"rollForward": "latestFeature",
- "version": "9.0.300",
+ "version": "10.0.100",
"allowPrerelease": false
}
}
diff --git a/spec b/spec
index 3fc2e4949..400fa3038 160000
--- a/spec
+++ b/spec
@@ -1 +1 @@
-Subproject commit 3fc2e4949e53f761daf3e1f7197678481015fdf0
+Subproject commit 400fa3038d4469f0cbf77af3e79fedda406afc21
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index e5439c49b..bacf8984e 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -2,9 +2,9 @@
- net462;netstandard2.0;net8.0;net9.0
+ net462;netstandard2.0;net8.0;net9.0;net10.0
$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net8.0'))
-
\ No newline at end of file
+
diff --git a/test/Directory.Build.props b/test/Directory.Build.props
index 78b6928eb..e50e40a34 100644
--- a/test/Directory.Build.props
+++ b/test/Directory.Build.props
@@ -1,3 +1,7 @@
+
+ net8.0;net9.0;net10.0
+ $(TargetFrameworks);net462
+
diff --git a/test/OpenFeature.AotCompatibility/OpenFeature.AotCompatibility.csproj b/test/OpenFeature.AotCompatibility/OpenFeature.AotCompatibility.csproj
index 42cb2770f..bc98f8a38 100644
--- a/test/OpenFeature.AotCompatibility/OpenFeature.AotCompatibility.csproj
+++ b/test/OpenFeature.AotCompatibility/OpenFeature.AotCompatibility.csproj
@@ -1,7 +1,7 @@
- net9.0
+ net9.0;net10.0
Exe
enable
enable
diff --git a/test/OpenFeature.Benchmarks/OpenFeature.Benchmarks.csproj b/test/OpenFeature.Benchmarks/OpenFeature.Benchmarks.csproj
index c0dc300a6..248e34133 100644
--- a/test/OpenFeature.Benchmarks/OpenFeature.Benchmarks.csproj
+++ b/test/OpenFeature.Benchmarks/OpenFeature.Benchmarks.csproj
@@ -1,7 +1,7 @@
- net8.0;net9.0
+ net9.0;net10.0
OpenFeature.Benchmark
Exe
diff --git a/test/OpenFeature.E2ETests/OpenFeature.E2ETests.csproj b/test/OpenFeature.E2ETests/OpenFeature.E2ETests.csproj
index a6fabda89..11120976d 100644
--- a/test/OpenFeature.E2ETests/OpenFeature.E2ETests.csproj
+++ b/test/OpenFeature.E2ETests/OpenFeature.E2ETests.csproj
@@ -1,8 +1,6 @@
- net8.0;net9.0
- $(TargetFrameworks);net462
OpenFeature.E2ETests
diff --git a/test/OpenFeature.Hosting.Tests/OpenFeature.Hosting.Tests.csproj b/test/OpenFeature.Hosting.Tests/OpenFeature.Hosting.Tests.csproj
index ae8707a85..88251769c 100644
--- a/test/OpenFeature.Hosting.Tests/OpenFeature.Hosting.Tests.csproj
+++ b/test/OpenFeature.Hosting.Tests/OpenFeature.Hosting.Tests.csproj
@@ -1,8 +1,6 @@
- net8.0;net9.0
- $(TargetFrameworks);net462
OpenFeature.Hosting.Tests
diff --git a/test/OpenFeature.IntegrationTests/OpenFeature.IntegrationTests.csproj b/test/OpenFeature.IntegrationTests/OpenFeature.IntegrationTests.csproj
index e16aff9a6..35d85dfda 100644
--- a/test/OpenFeature.IntegrationTests/OpenFeature.IntegrationTests.csproj
+++ b/test/OpenFeature.IntegrationTests/OpenFeature.IntegrationTests.csproj
@@ -1,7 +1,7 @@
- net8.0;net9.0
+ net8.0;net9.0;net10.0
diff --git a/test/OpenFeature.Providers.MultiProvider.Tests/OpenFeature.Providers.MultiProvider.Tests.csproj b/test/OpenFeature.Providers.MultiProvider.Tests/OpenFeature.Providers.MultiProvider.Tests.csproj
index f1f016c64..1a7dae716 100644
--- a/test/OpenFeature.Providers.MultiProvider.Tests/OpenFeature.Providers.MultiProvider.Tests.csproj
+++ b/test/OpenFeature.Providers.MultiProvider.Tests/OpenFeature.Providers.MultiProvider.Tests.csproj
@@ -1,8 +1,6 @@
- net8.0;net9.0
- $(TargetFrameworks);net462
OpenFeature.Providers.MultiProvider.Tests
diff --git a/test/OpenFeature.Tests/OpenFeature.Tests.csproj b/test/OpenFeature.Tests/OpenFeature.Tests.csproj
index 8abb4891f..7a529650b 100644
--- a/test/OpenFeature.Tests/OpenFeature.Tests.csproj
+++ b/test/OpenFeature.Tests/OpenFeature.Tests.csproj
@@ -1,8 +1,6 @@
- net8.0;net9.0
- $(TargetFrameworks);net462
OpenFeature.Tests
diff --git a/version.txt b/version.txt
index 10c2c0c3d..46b81d815 100644
--- a/version.txt
+++ b/version.txt
@@ -1 +1 @@
-2.10.0
+2.11.0