diff --git a/.azure-pipelines/ci-build.yml b/.azure-pipelines/ci-build.yml
index 8bef85221..946a0fa6b 100644
--- a/.azure-pipelines/ci-build.yml
+++ b/.azure-pipelines/ci-build.yml
@@ -69,21 +69,37 @@ extends:
- task: UseDotNet@2
displayName: 'Use .NET 10'
inputs:
- version: 10.x
+ useGlobalJson: true
- # Install the nuget tool.
- - task: NuGetToolInstaller@1
- displayName: 'Use NuGet >=6.11.0'
+ # Build the Product project
+ - task: NuGetAuthenticate@1
+ displayName: 'Authenticate to Azure Artifacts'
+
+ - pwsh: |
+ @"
+
+
+
+
+
+
+
+ "@ | Set-Content -Path "$(Build.SourcesDirectory)/nuget.config" -Encoding UTF8
+ displayName: 'Create nuget.config (central feed)'
+
+ - task: DotNetCoreCLI@2
+ displayName: 'restore'
inputs:
- versionSpec: '>=6.11.0'
- checkLatest: true
+ command: restore
+ projects: '$(Build.SourcesDirectory)\Microsoft.OpenApi.slnx'
+ feedsToUse: config
+ nugetConfigPath: '$(Build.SourcesDirectory)\nuget.config'
- # Build the Product project
- task: DotNetCoreCLI@2
displayName: 'build'
inputs:
projects: '$(Build.SourcesDirectory)\Microsoft.OpenApi.slnx'
- arguments: '--configuration $(BuildConfiguration) --no-incremental'
+ arguments: '--configuration $(BuildConfiguration) --no-incremental --no-restore'
# Run the Unit test
- task: DotNetCoreCLI@2
@@ -148,15 +164,15 @@ extends:
PendingAnalysisWaitTimeoutMinutes: '5'
# Pack core lib
- - pwsh: dotnet pack $(Build.SourcesDirectory)/src/Microsoft.OpenApi/Microsoft.OpenApi.csproj -o $(Build.ArtifactStagingDirectory) --configuration $(BuildConfiguration) --no-build --include-symbols --include-source /p:SymbolPackageFormat=snupkg
+ - pwsh: dotnet pack $(Build.SourcesDirectory)/src/Microsoft.OpenApi/Microsoft.OpenApi.csproj -o $(Build.ArtifactStagingDirectory) --configuration $(BuildConfiguration) --no-build --no-restore --include-symbols --include-source /p:SymbolPackageFormat=snupkg
displayName: 'pack OpenAPI'
# Pack YamlReader
- - pwsh: dotnet pack $(Build.SourcesDirectory)/src/Microsoft.OpenApi.YamlReader/Microsoft.OpenApi.YamlReader.csproj -o $(Build.ArtifactStagingDirectory) --configuration $(BuildConfiguration) --no-build --include-symbols --include-source /p:SymbolPackageFormat=snupkg
+ - pwsh: dotnet pack $(Build.SourcesDirectory)/src/Microsoft.OpenApi.YamlReader/Microsoft.OpenApi.YamlReader.csproj -o $(Build.ArtifactStagingDirectory) --configuration $(BuildConfiguration) --no-build --no-restore --include-symbols --include-source /p:SymbolPackageFormat=snupkg
displayName: 'pack YamlReader'
# Pack hidi
- - pwsh: dotnet pack $(Build.SourcesDirectory)/src/Microsoft.OpenApi.Hidi/Microsoft.OpenApi.Hidi.csproj -o $(Build.ArtifactStagingDirectory) --configuration $(BuildConfiguration) --no-build --include-symbols --include-source /p:SymbolPackageFormat=snupkg
+ - pwsh: dotnet pack $(Build.SourcesDirectory)/src/Microsoft.OpenApi.Hidi/Microsoft.OpenApi.Hidi.csproj -o $(Build.ArtifactStagingDirectory) --configuration $(BuildConfiguration) --no-build --no-restore --include-symbols --include-source /p:SymbolPackageFormat=snupkg
displayName: 'pack Hidi'
- task: EsrpCodeSigning@5
@@ -198,7 +214,7 @@ extends:
displayName: publish Hidi as executable
inputs:
command: 'publish'
- arguments: -c Release --runtime win-x64 /p:PublishSingleFile=true /p:PackAsTool=false --self-contained --output $(Build.ArtifactStagingDirectory)/Microsoft.OpenApi.Hidi
+ arguments: -c Release --runtime win-x64 -p:RestoreConfigFile=$(Build.SourcesDirectory)\nuget.config /p:PublishSingleFile=true /p:PackAsTool=false --self-contained --output $(Build.ArtifactStagingDirectory)/Microsoft.OpenApi.Hidi
projects: 'src/Microsoft.OpenApi.Hidi/Microsoft.OpenApi.Hidi.csproj'
publishWebProjects: False
zipAfterPublish: false
@@ -238,7 +254,7 @@ extends:
inputs:
- input: pipelineArtifact
artifactName: Nugets
- targetPath: '$(Pipeline.Workspace)'
+ targetPath: '$(Pipeline.Workspace)/Nugets'
dependsOn: []
environment: nuget-org
strategy:
@@ -250,10 +266,12 @@ extends:
- task: 1ES.PublishNuget@1
displayName: 'NuGet push'
inputs:
- packagesToPush: '$(Pipeline.Workspace)/Microsoft.OpenApi.Hidi.*.nupkg'
- packageParentPath: '$(Pipeline.Workspace)'
+ packagesToPush: '$(Pipeline.Workspace)/Nugets/Microsoft.OpenApi.Hidi.*.nupkg'
+ packageParentPath: '$(Pipeline.Workspace)/Nugets'
nuGetFeedType: external
publishFeedCredentials: 'OpenAPI Nuget Connection'
+ publishPackageMetadata: true
+ retryCountOnTaskFailure: 2
- deployment: deploy_lib
condition: and(contains(variables['build.SourceBranch'], 'refs/tags/v'), succeeded())
@@ -263,7 +281,7 @@ extends:
inputs:
- input: pipelineArtifact
artifactName: Nugets
- targetPath: '$(Pipeline.Workspace)'
+ targetPath: '$(Pipeline.Workspace)/Nugets'
dependsOn: []
environment: nuget-org
strategy:
@@ -273,7 +291,7 @@ extends:
vmImage: ubuntu-latest
steps:
- pwsh: |
- $fileNames = "$(Pipeline.Workspace)/Microsoft.OpenApi.Hidi.*.nupkg", "$(Pipeline.Workspace)/Microsoft.OpenApi.YamlReader.*.nupkg", "$(Pipeline.Workspace)/Microsoft.OpenApi.Workbench.*.nupkg"
+ $fileNames = "$(Pipeline.Workspace)/Nugets/Microsoft.OpenApi.Hidi.*.nupkg", "$(Pipeline.Workspace)/Nugets/Microsoft.OpenApi.YamlReader.*.nupkg", "$(Pipeline.Workspace)/Nugets/Microsoft.OpenApi.Workbench.*.nupkg"
foreach($fileName in $fileNames) {
if(Test-Path $fileName) {
Remove-Item $fileName -Verbose
@@ -283,10 +301,12 @@ extends:
- task: 1ES.PublishNuget@1
displayName: 'NuGet push'
inputs:
- packagesToPush: '$(Pipeline.Workspace)/Microsoft.OpenApi.*.nupkg'
- packageParentPath: '$(Pipeline.Workspace)'
+ packagesToPush: '$(Pipeline.Workspace)/Nugets/Microsoft.OpenApi.*.nupkg'
+ packageParentPath: '$(Pipeline.Workspace)/Nugets'
nuGetFeedType: external
publishFeedCredentials: 'OpenAPI Nuget Connection'
+ publishPackageMetadata: true
+ retryCountOnTaskFailure: 2
- deployment: deploy_yaml_reader
condition: and(contains(variables['build.SourceBranch'], 'refs/tags/v'), succeeded())
@@ -296,7 +316,7 @@ extends:
inputs:
- input: pipelineArtifact
artifactName: Nugets
- targetPath: '$(Pipeline.Workspace)'
+ targetPath: '$(Pipeline.Workspace)/Nugets'
dependsOn: deploy_lib
environment: nuget-org
strategy:
@@ -308,10 +328,12 @@ extends:
- task: 1ES.PublishNuget@1
displayName: 'NuGet push'
inputs:
- packagesToPush: '$(Pipeline.Workspace)/Microsoft.OpenApi.YamlReader.*.nupkg'
- packageParentPath: '$(Pipeline.Workspace)'
+ packagesToPush: '$(Pipeline.Workspace)/Nugets/Microsoft.OpenApi.YamlReader.*.nupkg'
+ packageParentPath: '$(Pipeline.Workspace)/Nugets'
nuGetFeedType: external
publishFeedCredentials: 'OpenAPI Nuget Connection'
+ publishPackageMetadata: true
+ retryCountOnTaskFailure: 2
- deployment: create_github_release
condition: and(contains(variables['build.SourceBranch'], 'refs/tags/v'), succeeded())
@@ -372,6 +394,9 @@ extends:
scriptLocation: inlineScript
inlineScript: |
az acr login --name $(REGISTRY)
+
+ - task: NuGetAuthenticate@1
+ displayName: 'Authenticate Docker build to Azure Artifacts'
- pwsh: |
$content = [XML](Get-Content $(Pipeline.Workspace)/Directory.Build.props)
@@ -457,27 +482,51 @@ extends:
- bash: |
echo "Building Docker image..."
echo "Using build date: ${BUILDDATE}"
+ if [ -z "${VSS_NUGET_ACCESSTOKEN:-}" ]; then
+ echo "##vso[task.logissue type=error]VSS_NUGET_ACCESSTOKEN is not available. Ensure NuGetAuthenticate@1 ran successfully before docker build."
+ exit 1
+ fi
# Using quotes around tags to prevent flag interpretation
docker buildx build \
--platform linux/amd64,linux/arm64/v8 \
--push \
+ --build-arg VSS_NUGET_EXTERNAL_FEED_ENDPOINTS \
+ --build-arg VSS_NUGET_URI_PREFIXES \
+ --secret id=vss_nuget_accesstoken,env=VSS_NUGET_ACCESSTOKEN \
+ --secret id=nuget_config,src="$(Pipeline.Workspace)/nuget.config" \
-t "$(REGISTRY)/$(IMAGE_NAME):nightly" \
-t "$(REGISTRY)/$(IMAGE_NAME):${VERSION}.${BUILDDATE}${RUNNUMBER}" \
"$(Pipeline.Workspace)"
displayName: 'Build and Push Nightly Image'
condition: eq(variables['Build.SourceBranch'], variables['PREVIEW_BRANCH'])
+ env:
+ VSS_NUGET_ACCESSTOKEN: $(VSS_NUGET_ACCESSTOKEN)
+ VSS_NUGET_EXTERNAL_FEED_ENDPOINTS: $(VSS_NUGET_EXTERNAL_FEED_ENDPOINTS)
+ VSS_NUGET_URI_PREFIXES: $(VSS_NUGET_URI_PREFIXES)
- bash: |
echo "Building Docker image for release..."
- docker buildx build\
+ if [ -z "${VSS_NUGET_ACCESSTOKEN:-}" ]; then
+ echo "##vso[task.logissue type=error]VSS_NUGET_ACCESSTOKEN is not available. Ensure NuGetAuthenticate@1 ran successfully before docker build."
+ exit 1
+ fi
+ docker buildx build \
--platform linux/amd64,linux/arm64/v8 \
--push \
+ --build-arg VSS_NUGET_EXTERNAL_FEED_ENDPOINTS \
+ --build-arg VSS_NUGET_URI_PREFIXES \
+ --secret id=vss_nuget_accesstoken,env=VSS_NUGET_ACCESSTOKEN \
+ --secret id=nuget_config,src="$(Pipeline.Workspace)/nuget.config" \
-t "$(REGISTRY)/$(IMAGE_NAME):latest" \
-t "$(REGISTRY)/$(IMAGE_NAME):${VERSION}" \
"$(Pipeline.Workspace)"
displayName: 'Build and Push Release Image'
condition: contains(variables['Build.SourceBranch'], 'refs/tags/v')
+ env:
+ VSS_NUGET_ACCESSTOKEN: $(VSS_NUGET_ACCESSTOKEN)
+ VSS_NUGET_EXTERNAL_FEED_ENDPOINTS: $(VSS_NUGET_EXTERNAL_FEED_ENDPOINTS)
+ VSS_NUGET_URI_PREFIXES: $(VSS_NUGET_URI_PREFIXES)
# once the nuget has been released, fill this form to get the public documentation updated.
# https://dev.azure.com/msft-skilling/Content/_workitems/create/User%20Story?templateId=39fb91e3-64a2-4c8a-83db-b2bdf3603dd3&ownerId=c4a28f90-17ae-4384-b514-7273392b082b
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 49c969ced..db2d8ebfb 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -1,35 +1,41 @@
version: 2
updates:
- - package-ecosystem: "github-actions"
- # default location of `.github/workflows`
- directory: "/"
- open-pull-requests-limit: 10
- schedule:
- interval: "daily"
- - package-ecosystem: "nuget"
- # location of package manifests
- directory: "/"
- open-pull-requests-limit: 10
- schedule:
- interval: "daily"
- groups:
- MicrosoftExtensions:
- patterns:
- - "Microsoft.Extensions.*"
- coverlet:
- patterns:
- - "coverlet.*"
- - package-ecosystem: dotnet-sdk
- directory: /
- schedule:
- interval: "daily"
- ignore:
- - dependency-name: '*'
- update-types:
- - version-update:semver-major
- - version-update:semver-minor
- - package-ecosystem: "devcontainers"
- directory: "/"
- open-pull-requests-limit: 10
- schedule:
- interval: "daily"
+- package-ecosystem: github-actions
+ directory: /
+ open-pull-requests-limit: 10
+ schedule:
+ interval: daily
+ cooldown:
+ default-days: 7
+- package-ecosystem: nuget
+ directory: /
+ open-pull-requests-limit: 10
+ schedule:
+ interval: daily
+ groups:
+ MicrosoftExtensions:
+ patterns:
+ - Microsoft.Extensions.*
+ coverlet:
+ patterns:
+ - coverlet.*
+ cooldown:
+ default-days: 7
+- package-ecosystem: dotnet-sdk
+ directory: /
+ schedule:
+ interval: daily
+ ignore:
+ - dependency-name: '*'
+ update-types:
+ - version-update:semver-major
+ - version-update:semver-minor
+ cooldown:
+ default-days: 7
+- package-ecosystem: devcontainers
+ directory: /
+ open-pull-requests-limit: 10
+ schedule:
+ interval: daily
+ cooldown:
+ default-days: 7
diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml
index d91c08ad5..d274b00c2 100644
--- a/.github/workflows/ci-cd.yml
+++ b/.github/workflows/ci-cd.yml
@@ -18,12 +18,12 @@ jobs:
GITHUB_RUN_NUMBER: ${{ github.run_number }}
steps:
- name: Setup .NET 8
- uses: actions/setup-dotnet@v5
+ uses: actions/setup-dotnet@v6
with:
dotnet-version: 8.x
- name: Setup .NET 10
- uses: actions/setup-dotnet@v5
+ uses: actions/setup-dotnet@v6
with:
dotnet-version: 10.x
@@ -64,7 +64,7 @@ jobs:
- name: Upload coverage report
if: (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'dependabot[bot]') || (github.event_name != 'pull_request' && github.ref_name == github.event.repository.default_branch)
- uses: actions/upload-code-coverage@v1
+ uses: actions/upload-code-coverage@v1.4.1
with:
file: ./reports/coverage/Cobertura.xml
language: CSharp
@@ -83,12 +83,12 @@ jobs:
- uses: actions/checkout@v7
- name: Setup .NET 8
- uses: actions/setup-dotnet@v5
+ uses: actions/setup-dotnet@v6
with:
dotnet-version: 8.x
- name: Setup .NET 10
- uses: actions/setup-dotnet@v5
+ uses: actions/setup-dotnet@v6
with:
dotnet-version: 10.x
@@ -105,12 +105,12 @@ jobs:
uses: actions/checkout@v7
- name: Setup .NET 8
- uses: actions/setup-dotnet@v5
+ uses: actions/setup-dotnet@v6
with:
dotnet-version: 8.x
- name: Setup .NET 10
- uses: actions/setup-dotnet@v5
+ uses: actions/setup-dotnet@v6
with:
dotnet-version: 10.x
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index 4f5ad9d47..ccd7affb2 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -23,18 +23,18 @@ jobs:
uses: actions/checkout@v7
- name: Setup .NET 8
- uses: actions/setup-dotnet@v5
+ uses: actions/setup-dotnet@v6
with:
dotnet-version: 8.0.x
- name: Setup .NET 10
- uses: actions/setup-dotnet@v5
+ uses: actions/setup-dotnet@v6
with:
dotnet-version: 10.0.x
- name: Initialize CodeQL
id: init_codeql
- uses: github/codeql-action/init@v4
+ uses: github/codeql-action/init@v4.37.6
with:
queries: security-and-quality
@@ -54,6 +54,6 @@ jobs:
- name: Perform CodeQL Analysis
id: analyze_codeql
- uses: github/codeql-action/analyze@v4
+ uses: github/codeql-action/analyze@v4.37.6
# Built with ❤ by [Pipeline Foundation](https://pipeline.foundation)
\ No newline at end of file
diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml
index abac4ef81..afd0135b0 100644
--- a/.github/workflows/sonarcloud.yml
+++ b/.github/workflows/sonarcloud.yml
@@ -35,16 +35,16 @@ jobs:
runs-on: windows-latest
steps:
- name: Set up JDK 17
- uses: actions/setup-java@v5
+ uses: actions/setup-java@v5.7.0
with:
distribution: 'adopt'
java-version: 17
- name: Setup .NET 8
- uses: actions/setup-dotnet@v5
+ uses: actions/setup-dotnet@v6
with:
dotnet-version: 8.0.x
- name: Setup .NET 10
- uses: actions/setup-dotnet@v5
+ uses: actions/setup-dotnet@v6
with:
dotnet-version: 10.0.x
- uses: actions/checkout@v7
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 9127b1bd5..25709d1be 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "3.9.0"
+ ".": "3.10.0"
}
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 186b10bea..619467ff3 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -6,6 +6,7 @@
},
"cSpell.words": [
"csdl",
- "Hidi"
+ "Hidi",
+ "Xunit"
]
}
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 558c2a93f..1e5cdc271 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,17 @@
# Changelog
+## [3.10.0](https://github.com/microsoft/OpenAPI.NET/compare/v3.9.0...v3.10.0) (2026-08-11)
+
+
+### Features
+
+* do not ignore multiple types when serializing to 3.0 ([#2960](https://github.com/microsoft/OpenAPI.NET/issues/2960)) ([ebaf27a](https://github.com/microsoft/OpenAPI.NET/commit/ebaf27ac46f8820e7b817cc33e693632c2fc908a))
+
+
+### Bug Fixes
+
+* bound YAML anchor/alias expansion to prevent OOM (billion laughs) ([#3000](https://github.com/microsoft/OpenAPI.NET/issues/3000)) ([2179326](https://github.com/microsoft/OpenAPI.NET/commit/21793261d6860fb6e607b71fd95c0bd320724764))
+
## [3.9.0](https://github.com/microsoft/OpenAPI.NET/compare/v3.8.0...v3.9.0) (2026-07-15)
diff --git a/Directory.Build.props b/Directory.Build.props
index aec9507b2..aec0c52e9 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -12,7 +12,7 @@
https://github.com/Microsoft/OpenAPI.NET
© Microsoft Corporation. All rights reserved.
OpenAPI .NET
- 3.9.0
+ 3.10.0
diff --git a/Dockerfile b/Dockerfile
index 25f1ec589..f6aaacc2c 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,11 +1,22 @@
-FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build-env
+# syntax=docker/dockerfile:1.2
+FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build-env
WORKDIR /app
+ARG VSS_NUGET_URI_PREFIXES
+ARG VSS_NUGET_EXTERNAL_FEED_ENDPOINTS
COPY ./src ./hidi/src
COPY ./Directory.Build.props ./hidi/Directory.Build.props
COPY ./README.md ./hidi/README.md
WORKDIR /app/hidi
-RUN dotnet publish ./src/Microsoft.OpenApi.Hidi/Microsoft.OpenApi.Hidi.csproj -c Release
+RUN --mount=type=secret,id=vss_nuget_accesstoken,target=/run/secrets/vss_nuget_accesstoken,required=false \
+ --mount=type=secret,id=nuget_config,target=/run/secrets/nuget_config,required=false \
+ if [ -f /run/secrets/nuget_config ]; then \
+ wget -qO- https://aka.ms/install-artifacts-credprovider.sh | bash && \
+ VSS_NUGET_ACCESSTOKEN="$(cat /run/secrets/vss_nuget_accesstoken)" \
+ dotnet publish ./src/Microsoft.OpenApi.Hidi/Microsoft.OpenApi.Hidi.csproj -c Release -p:RestoreConfigFile=/run/secrets/nuget_config; \
+ else \
+ dotnet publish ./src/Microsoft.OpenApi.Hidi/Microsoft.OpenApi.Hidi.csproj -c Release; \
+ fi
FROM mcr.microsoft.com/dotnet/runtime:8.0-jammy-chiseled AS runtime
WORKDIR /app
diff --git a/performance/benchmark/BenchmarkDotNet.Artifacts/results/performance.Descriptions-report-github.md b/performance/benchmark/BenchmarkDotNet.Artifacts/results/performance.Descriptions-report-github.md
index 2abba8670..6ee697332 100644
--- a/performance/benchmark/BenchmarkDotNet.Artifacts/results/performance.Descriptions-report-github.md
+++ b/performance/benchmark/BenchmarkDotNet.Artifacts/results/performance.Descriptions-report-github.md
@@ -1,20 +1,20 @@
```
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
-AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
-.NET SDK 10.0.301
- [Host] : .NET 8.0.28 (8.0.28, 8.0.2826.26413), X64 RyuJIT x86-64-v3
- ShortRun : .NET 8.0.28 (8.0.28, 8.0.2826.26413), X64 RyuJIT x86-64-v3
+INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
+.NET SDK 10.0.302
+ [Host] : .NET 8.0.29 (8.0.29, 8.0.2926.32403), X64 RyuJIT x86-64-v4
+ ShortRun : .NET 8.0.29 (8.0.29, 8.0.2926.32403), X64 RyuJIT x86-64-v4
Job=ShortRun IterationCount=3 LaunchCount=1
WarmupCount=3
```
-| Method | Mean | Error | StdDev | Gen0 | Gen1 | Gen2 | Allocated |
-|------------- |---------------:|--------------:|-------------:|-----------:|-----------:|----------:|-------------:|
-| PetStoreYaml | 582.2 μs | 208.61 μs | 11.43 μs | 19.5313 | 3.9063 | - | 375.68 KB |
-| PetStoreJson | 252.3 μs | 29.46 μs | 1.61 μs | 11.7188 | 1.9531 | - | 209.67 KB |
-| GHESYaml | 1,005,560.1 μs | 211,112.24 μs | 11,571.77 μs | 22000.0000 | 18000.0000 | 3000.0000 | 311035.48 KB |
-| GHESJson | 369,047.2 μs | 94,799.88 μs | 5,196.30 μs | 9000.0000 | 8000.0000 | 2000.0000 | 140644.21 KB |
-| GHESNextYaml | 1,241,432.6 μs | 106,390.00 μs | 5,831.60 μs | 34000.0000 | 19000.0000 | 3000.0000 | 513301.23 KB |
-| GHESNextJson | 626,499.0 μs | 70,802.74 μs | 3,880.94 μs | 22000.0000 | 10000.0000 | 2000.0000 | 345119.94 KB |
+| Method | Mean | Error | StdDev | Gen0 | Gen1 | Gen2 | Allocated |
+|------------- |---------------:|--------------:|-------------:|----------:|----------:|----------:|-------------:|
+| PetStoreYaml | 477.6 μs | 237.53 μs | 13.02 μs | 3.9063 | - | - | 375.67 KB |
+| PetStoreJson | 193.3 μs | 29.03 μs | 1.59 μs | 1.9531 | - | - | 209.67 KB |
+| GHESYaml | 878,325.2 μs | 555,688.50 μs | 30,459.16 μs | 4000.0000 | 3000.0000 | 1000.0000 | 310814.2 KB |
+| GHESJson | 225,445.4 μs | 35,058.33 μs | 1,921.67 μs | 1000.0000 | - | - | 140426.65 KB |
+| GHESNextYaml | 1,254,063.7 μs | 245,210.30 μs | 13,440.80 μs | 8000.0000 | 6000.0000 | 2000.0000 | 512928.9 KB |
+| GHESNextJson | 588,121.5 μs | 83,680.85 μs | 4,586.83 μs | 5000.0000 | 4000.0000 | 1000.0000 | 344754.7 KB |
diff --git a/performance/benchmark/BenchmarkDotNet.Artifacts/results/performance.Descriptions-report.csv b/performance/benchmark/BenchmarkDotNet.Artifacts/results/performance.Descriptions-report.csv
index 316be68f2..c5aeb2762 100644
--- a/performance/benchmark/BenchmarkDotNet.Artifacts/results/performance.Descriptions-report.csv
+++ b/performance/benchmark/BenchmarkDotNet.Artifacts/results/performance.Descriptions-report.csv
@@ -1,7 +1,7 @@
Method,Job,AnalyzeLaunchVariance,EvaluateOverhead,MaxAbsoluteError,MaxRelativeError,MinInvokeCount,MinIterationTime,OutlierMode,Affinity,EnvironmentVariables,Jit,LargeAddressAware,Platform,PowerPlanMode,Runtime,AllowVeryLargeObjects,Concurrent,CpuGroups,Force,HeapAffinitizeMask,HeapCount,NoAffinitize,RetainVm,Server,Arguments,BuildConfiguration,Clock,EngineFactory,NuGetReferences,Toolchain,IsMutator,InvocationCount,IterationCount,IterationTime,LaunchCount,MaxIterationCount,MaxWarmupIterationCount,MemoryRandomization,MinIterationCount,MinWarmupIterationCount,RunStrategy,UnrollFactor,WarmupCount,Mean,Error,StdDev,Gen0,Gen1,Gen2,Allocated
-PetStoreYaml,ShortRun,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,3,Default,1,Default,Default,Default,Default,Default,Default,16,3,582.2 μs,208.61 μs,11.43 μs,19.5313,3.9063,0.0000,375.68 KB
-PetStoreJson,ShortRun,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,3,Default,1,Default,Default,Default,Default,Default,Default,16,3,252.3 μs,29.46 μs,1.61 μs,11.7188,1.9531,0.0000,209.67 KB
-GHESYaml,ShortRun,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,3,Default,1,Default,Default,Default,Default,Default,Default,16,3,"1,005,560.1 μs","211,112.24 μs","11,571.77 μs",22000.0000,18000.0000,3000.0000,311035.48 KB
-GHESJson,ShortRun,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,3,Default,1,Default,Default,Default,Default,Default,Default,16,3,"369,047.2 μs","94,799.88 μs","5,196.30 μs",9000.0000,8000.0000,2000.0000,140644.21 KB
-GHESNextYaml,ShortRun,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,3,Default,1,Default,Default,Default,Default,Default,Default,16,3,"1,241,432.6 μs","106,390.00 μs","5,831.60 μs",34000.0000,19000.0000,3000.0000,513301.23 KB
-GHESNextJson,ShortRun,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,3,Default,1,Default,Default,Default,Default,Default,Default,16,3,"626,499.0 μs","70,802.74 μs","3,880.94 μs",22000.0000,10000.0000,2000.0000,345119.94 KB
+PetStoreYaml,ShortRun,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,3,Default,1,Default,Default,Default,Default,Default,Default,16,3,477.6 μs,237.53 μs,13.02 μs,3.9063,0.0000,0.0000,375.67 KB
+PetStoreJson,ShortRun,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,3,Default,1,Default,Default,Default,Default,Default,Default,16,3,193.3 μs,29.03 μs,1.59 μs,1.9531,0.0000,0.0000,209.67 KB
+GHESYaml,ShortRun,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,3,Default,1,Default,Default,Default,Default,Default,Default,16,3,"878,325.2 μs","555,688.50 μs","30,459.16 μs",4000.0000,3000.0000,1000.0000,310814.2 KB
+GHESJson,ShortRun,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,3,Default,1,Default,Default,Default,Default,Default,Default,16,3,"225,445.4 μs","35,058.33 μs","1,921.67 μs",1000.0000,0.0000,0.0000,140426.65 KB
+GHESNextYaml,ShortRun,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,3,Default,1,Default,Default,Default,Default,Default,Default,16,3,"1,254,063.7 μs","245,210.30 μs","13,440.80 μs",8000.0000,6000.0000,2000.0000,512928.9 KB
+GHESNextJson,ShortRun,False,Default,Default,Default,Default,Default,Default,1111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 8.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,3,Default,1,Default,Default,Default,Default,Default,Default,16,3,"588,121.5 μs","83,680.85 μs","4,586.83 μs",5000.0000,4000.0000,1000.0000,344754.7 KB
diff --git a/performance/benchmark/BenchmarkDotNet.Artifacts/results/performance.Descriptions-report.html b/performance/benchmark/BenchmarkDotNet.Artifacts/results/performance.Descriptions-report.html
index 95b1dadc6..f015841f0 100644
--- a/performance/benchmark/BenchmarkDotNet.Artifacts/results/performance.Descriptions-report.html
+++ b/performance/benchmark/BenchmarkDotNet.Artifacts/results/performance.Descriptions-report.html
@@ -2,7 +2,7 @@
-performance.Descriptions-20260714-121715
+performance.Descriptions-20260807-144733