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 @@ [![Specification](https://img.shields.io/static/v1?label=specification&message=v0.8.0&color=yellow&style=for-the-badge)](https://github.com/open-feature/spec/releases/tag/v0.8.0) [ -![Release](https://img.shields.io/static/v1?label=release&message=v2.10.0&color=blue&style=for-the-badge) -](https://github.com/open-feature/dotnet-sdk/releases/tag/v2.10.0) +![Release](https://img.shields.io/static/v1?label=release&message=v2.11.0&color=blue&style=for-the-badge) +](https://github.com/open-feature/dotnet-sdk/releases/tag/v2.11.0) [![Slack](https://img.shields.io/badge/slack-%40cncf%2Fopenfeature-brightgreen?style=flat&logo=slack)](https://cloud-native.slack.com/archives/C0344AANLA1) [![Codecov](https://codecov.io/gh/open-feature/dotnet-sdk/branch/main/graph/badge.svg?token=MONAVJBXUJ)](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