diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index 9f4b9f1d56..de5a0b2ff0 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"jetbrains.resharper.globaltools": {
- "version": "2025.2.4",
+ "version": "2025.3.0.2",
"commands": [
"jb"
],
@@ -17,14 +17,14 @@
"rollForward": false
},
"dotnet-reportgenerator-globaltool": {
- "version": "5.4.17",
+ "version": "5.5.0",
"commands": [
"reportgenerator"
],
"rollForward": false
},
"docfx": {
- "version": "2.78.2",
+ "version": "2.78.4",
"commands": [
"docfx"
],
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 35313888ef..3e9f8edd9c 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -48,6 +48,7 @@ jobs:
dotnet-version: |
8.0.*
9.0.*
+ 10.0.*
- name: Show installed versions
shell: pwsh
run: |
@@ -159,6 +160,7 @@ jobs:
dotnet-version: |
8.0.*
9.0.*
+ 10.0.*
- name: Git checkout
uses: actions/checkout@v5
- name: Restore tools
@@ -168,6 +170,7 @@ jobs:
run: |
$inspectCodeOutputPath = Join-Path $env:RUNNER_TEMP 'jetbrains-inspectcode-results.xml'
Write-Output "INSPECT_CODE_OUTPUT_PATH=$inspectCodeOutputPath" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
+ dotnet jb inspectcode --version
dotnet jb inspectcode JsonApiDotNetCore.sln --build --dotnetcoresdk=$(dotnet --version) --output="$inspectCodeOutputPath" --format="xml" --profile=WarningSeverities.DotSettings --properties:Configuration=Release --properties:ContinuousIntegrationBuild=false --properties:RunAnalyzers=false --severity=WARNING --verbosity=WARN -dsl=GlobalAll -dsl=GlobalPerProduct -dsl=SolutionPersonal -dsl=ProjectPersonal
- name: Upload output to artifacts
uses: actions/upload-artifact@v4
@@ -218,6 +221,7 @@ jobs:
dotnet-version: |
8.0.*
9.0.*
+ 10.0.*
- name: Git checkout
uses: actions/checkout@v5
with:
@@ -236,12 +240,14 @@ jobs:
$baseCommitHash = git rev-parse HEAD~1
Write-Output "Running code cleanup on commit range $baseCommitHash..$headCommitHash in pull request."
+ dotnet jb cleanupcode --version
dotnet regitlint -s JsonApiDotNetCore.sln --print-command --skip-tool-check --max-runs=5 --jb --dotnetcoresdk=$(dotnet --version) --jb-profile="JADNC Full Cleanup" --jb --properties:Configuration=Release --jb --properties:RunAnalyzers=false --jb --verbosity=WARN -f commits -a $headCommitHash -b $baseCommitHash --fail-on-diff --print-diff
- name: CleanupCode (on branch)
if: ${{ github.event_name == 'push' || github.event_name == 'release' || github.event_name == 'workflow_dispatch' }}
shell: pwsh
run: |
Write-Output 'Running code cleanup on all files.'
+ dotnet jb cleanupcode --version
dotnet regitlint -s JsonApiDotNetCore.sln --print-command --skip-tool-check --jb --dotnetcoresdk=$(dotnet --version) --jb-profile="JADNC Full Cleanup" --jb --properties:Configuration=Release --jb --properties:RunAnalyzers=false --jb --verbosity=WARN --fail-on-diff --print-diff
publish:
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index 0ff1bb17be..35c8171615 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -28,6 +28,7 @@ jobs:
dotnet-version: |
8.0.*
9.0.*
+ 10.0.*
- name: Git checkout
uses: actions/checkout@v5
- name: Initialize CodeQL
diff --git a/.github/workflows/qodana.yml b/.github/workflows/qodana.yml
index 6a91aebccc..83405f8027 100644
--- a/.github/workflows/qodana.yml
+++ b/.github/workflows/qodana.yml
@@ -27,6 +27,7 @@ jobs:
dotnet-version: |
8.0.*
9.0.*
+ 10.0.*
- name: Git checkout
uses: actions/checkout@v5
with:
diff --git a/.gitignore b/.gitignore
index c1757fc159..85bd0f1080 100644
--- a/.gitignore
+++ b/.gitignore
@@ -423,6 +423,3 @@ FodyWeavers.xsd
**/.idea/**/httpRequests/
**/.idea/**/dataSources/
!**/.idea/**/codeStyles/*
-
-# Workaround for https://github.com/microsoft/kiota/issues/4228
-kiota-lock.json
diff --git a/Directory.Build.props b/Directory.Build.props
index e5323c6c76..46088e01b0 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -12,7 +12,17 @@
5.9.2
pre
7
- direct
+
+
+
+
+
+ $(NoWarn);NU1608
+
diff --git a/Directory.Build.targets b/Directory.Build.targets
new file mode 100644
index 0000000000..61e668c6b9
--- /dev/null
+++ b/Directory.Build.targets
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/JsonApiDotNetCore.sln.DotSettings b/JsonApiDotNetCore.sln.DotSettings
index 3576ab2bd8..e340302b69 100644
--- a/JsonApiDotNetCore.sln.DotSettings
+++ b/JsonApiDotNetCore.sln.DotSettings
@@ -72,8 +72,10 @@
WARNING
SUGGESTION
SUGGESTION
+ WARNING
SUGGESTION
WARNING
+ WARNING
DO_NOT_SHOW
WARNING
WARNING
diff --git a/README.md b/README.md
index d9719db341..b15b2dc5cc 100644
--- a/README.md
+++ b/README.md
@@ -219,23 +219,17 @@ The following links explain what this project provides, why it exists, and how y
The following chart should help you pick the best version, based on your environment.
See also our [versioning policy](./VERSIONING_POLICY.md).
-| JsonApiDotNetCore | Status | .NET | Entity Framework Core |
-| ----------------- | ------------ | -------- | --------------------- |
-| master | Preview | 9 | 9 |
-| | | 8 | 8, 9 |
-| 5.7.0+ | Stable | 9 | 9 |
-| | | 8 | 8, 9 |
-| 5.5.0-5.6.0 | Stable | 9 | 9 |
-| | | 8 | 8, 9 |
-| | | 7 | 7 |
-| | | 6 | 6, 7 |
-| 5.0.3-5.4.0 | Stable | 7 | 7 |
-| | | 6 | 6, 7 |
-| 5.0.0-5.0.2 | Stable | 6 | 6 |
-| 4.x | Stable | 6 | 5 |
-| | | 5 | 5 |
-| | | Core 3.1 | 3.1, 5 |
-| 3.x | Stable | Core 2.x | 2.x |
+| .NET | Entity Framework Core | JsonApiDotNetCore | Status |
+| -------- | --------------------- | ----------------- | -------------- |
+| 10 | 10 | master | Preview |
+| 9 | 9 | 5.5.0+ | Stable |
+| 8 | 8, 9 | 5.5.0+ | Stable |
+| 7 | 7 | 5.0.3 - 5.6.0 | Out of support |
+| 6 | 7 | 5.0.3 - 5.6.0 | Out of support |
+| 6 | 6 | 5.0.0 - 5.6.0 | Out of support |
+| 5 | 5 | 4.x | Out of support |
+| Core 3.1 | 3.1, 5 | 4.x | Out of support |
+| Core 2.x | 2.x | 3.x | Out of support |
## Trying out the latest build
diff --git a/benchmarks/Benchmarks.csproj b/benchmarks/Benchmarks.csproj
index 90d53461d2..6bd78a5cdd 100644
--- a/benchmarks/Benchmarks.csproj
+++ b/benchmarks/Benchmarks.csproj
@@ -1,7 +1,7 @@
Exe
- net9.0
+ net10.0
true
diff --git a/cleanupcode.ps1 b/cleanupcode.ps1
index b35d1cb215..d87c58a342 100644
--- a/cleanupcode.ps1
+++ b/cleanupcode.ps1
@@ -28,17 +28,20 @@ if ($revision) {
if ($baseCommitHash -eq $headCommitHash) {
Write-Output "Running code cleanup on staged/unstaged files."
+ dotnet jb cleanupcode --version
dotnet regitlint -s JsonApiDotNetCore.sln --print-command --skip-tool-check --max-runs=5 --jb --dotnetcoresdk=$(dotnet --version) --jb-profile="JADNC Full Cleanup" --jb --properties:Configuration=Release --jb --properties:RunAnalyzers=false --jb --verbosity=WARN -f staged,modified
VerifySuccessExitCode
}
else {
Write-Output "Running code cleanup on commit range $baseCommitHash..$headCommitHash, including staged/unstaged files."
+ dotnet jb cleanupcode --version
dotnet regitlint -s JsonApiDotNetCore.sln --print-command --skip-tool-check --max-runs=5 --jb --dotnetcoresdk=$(dotnet --version) --jb-profile="JADNC Full Cleanup" --jb --properties:Configuration=Release --jb --properties:RunAnalyzers=false --jb --verbosity=WARN -f staged,modified,commits -a $headCommitHash -b $baseCommitHash
VerifySuccessExitCode
}
}
else {
Write-Output "Running code cleanup on all files."
+ dotnet jb cleanupcode --version
dotnet regitlint -s JsonApiDotNetCore.sln --print-command --skip-tool-check --jb --dotnetcoresdk=$(dotnet --version) --jb-profile="JADNC Full Cleanup" --jb --properties:Configuration=Release --jb --properties:RunAnalyzers=false --jb --verbosity=WARN
VerifySuccessExitCode
}
diff --git a/docs/generate-examples.ps1 b/docs/generate-examples.ps1
index ea6b2bd8f2..dced9ce131 100644
--- a/docs/generate-examples.ps1
+++ b/docs/generate-examples.ps1
@@ -34,7 +34,7 @@ function Start-WebServer {
Write-Output "Starting web server"
$startTimeUtc = Get-Date -AsUTC
$job = Start-Job -ScriptBlock {
- dotnet run --project ..\src\Examples\GettingStarted\GettingStarted.csproj --framework net8.0 --configuration Debug --property:TreatWarningsAsErrors=True --urls=http://0.0.0.0:14141
+ dotnet run --project ../src/Examples/GettingStarted/GettingStarted.csproj --framework net10.0 --configuration Debug --property:TreatWarningsAsErrors=True --urls=http://0.0.0.0:14141
}
$webProcessId = $null
diff --git a/inspectcode.ps1 b/inspectcode.ps1
index 21e96eac67..e3ae50660b 100644
--- a/inspectcode.ps1
+++ b/inspectcode.ps1
@@ -10,6 +10,7 @@ if ($LastExitCode -ne 0) {
$outputPath = [System.IO.Path]::Combine([System.IO.Path]::GetTempPath(), 'jetbrains-inspectcode-results.xml')
$resultPath = [System.IO.Path]::Combine([System.IO.Path]::GetTempPath(), 'jetbrains-inspectcode-results.html')
+dotnet jb inspectcode --version
dotnet jb inspectcode JsonApiDotNetCore.sln --dotnetcoresdk=$(dotnet --version) --build --output="$outputPath" --format="xml" --profile=WarningSeverities.DotSettings --properties:Configuration=Release --properties:RunAnalyzers=false --severity=WARNING --verbosity=WARN -dsl=GlobalAll -dsl=GlobalPerProduct -dsl=SolutionPersonal -dsl=ProjectPersonal
if ($LastExitCode -ne 0) {
diff --git a/package-versions.props b/package-versions.props
index a4fa94ce08..eb57740bd9 100644
--- a/package-versions.props
+++ b/package-versions.props
@@ -5,7 +5,7 @@
0.4.1
2.14.1
13.0.4
- 9.0.6
+ 10.0.1
4.3.1
@@ -13,28 +13,40 @@
0.15.*
1.0.*
35.6.*
- 4.14.*
+ 5.0.*
6.0.*
2.1.*
7.2.*
2.4.*
2.0.*
1.*
- 9.0.*
- 9.0.*
+ 10.0.*
0.9.*
14.6.*
13.0.*
- 8.9.*
+ 9.1.*
4.1.*
- 2.9.*
- 9.*-*
- 9.0.*
+ 2.11.*
+ 10.*-*
+ 10.0.*
18.0.*
2.9.*
3.1.*
+
+
+ 10.0.0
+
+
+ 10.0.*
+ 10.0.*-*
+
+
+ 9.0.*
+
+
+
N/A
@@ -42,6 +54,7 @@
9.0.*
9.0.*
+ $(EntityFrameworkCoreVersion)
@@ -51,5 +64,6 @@
8.0.*
8.0.*
+ $(EntityFrameworkCoreVersion)
diff --git a/src/Examples/DapperExample/DapperExample.csproj b/src/Examples/DapperExample/DapperExample.csproj
index 0685dc0343..f34631b4a8 100644
--- a/src/Examples/DapperExample/DapperExample.csproj
+++ b/src/Examples/DapperExample/DapperExample.csproj
@@ -1,6 +1,6 @@
-
+
- net9.0;net8.0
+ net10.0;net9.0;net8.0
@@ -13,9 +13,9 @@
-
+
-
+
diff --git a/src/Examples/DapperExample/TranslationToSql/TreeNodes/TableSourceNode.cs b/src/Examples/DapperExample/TranslationToSql/TreeNodes/TableSourceNode.cs
index 62ff5ad3ef..4b0fa2d5b5 100644
--- a/src/Examples/DapperExample/TranslationToSql/TreeNodes/TableSourceNode.cs
+++ b/src/Examples/DapperExample/TranslationToSql/TreeNodes/TableSourceNode.cs
@@ -7,7 +7,7 @@ namespace DapperExample.TranslationToSql.TreeNodes;
///
internal abstract class TableSourceNode(string? alias) : SqlTreeNode
{
- public const string IdColumnName = nameof(Identifiable