Skip to content

Commit 39ed47e

Browse files
authored
Merge branch 'main' into dev/ygerges/multiple-types-3
2 parents a663f6f + 196a306 commit 39ed47e

49 files changed

Lines changed: 1450 additions & 64 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.azure-pipelines/ci-build.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,20 @@ extends:
7979
checkLatest: true
8080

8181
# Build the Product project
82+
- task: NuGetAuthenticate@1
83+
displayName: 'Authenticate to Azure Artifacts'
84+
85+
- pwsh: |
86+
@"
87+
<?xml version="1.0" encoding="utf-8"?>
88+
<configuration>
89+
<packageSources>
90+
<clear />
91+
<add key="GraphDeveloperExperiences_Public" value="https://microsoftgraph.pkgs.visualstudio.com/0985d294-5762-4bc2-a565-161ef349ca3e/_packaging/GraphDeveloperExperiences_Public/nuget/v3/index.json" />
92+
</packageSources>
93+
</configuration>
94+
"@ | Set-Content -Path "$(Build.SourcesDirectory)/nuget.config" -Encoding UTF8
95+
displayName: 'Create nuget.config (central feed)'
8296
- task: DotNetCoreCLI@2
8397
displayName: 'build'
8498
inputs:

.github/dependabot.yml

Lines changed: 39 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,41 @@
11
version: 2
22
updates:
3-
- package-ecosystem: "github-actions"
4-
# default location of `.github/workflows`
5-
directory: "/"
6-
open-pull-requests-limit: 10
7-
schedule:
8-
interval: "daily"
9-
- package-ecosystem: "nuget"
10-
# location of package manifests
11-
directory: "/"
12-
open-pull-requests-limit: 10
13-
schedule:
14-
interval: "daily"
15-
groups:
16-
MicrosoftExtensions:
17-
patterns:
18-
- "Microsoft.Extensions.*"
19-
coverlet:
20-
patterns:
21-
- "coverlet.*"
22-
- package-ecosystem: dotnet-sdk
23-
directory: /
24-
schedule:
25-
interval: "daily"
26-
ignore:
27-
- dependency-name: '*'
28-
update-types:
29-
- version-update:semver-major
30-
- version-update:semver-minor
31-
- package-ecosystem: "devcontainers"
32-
directory: "/"
33-
open-pull-requests-limit: 10
34-
schedule:
35-
interval: "daily"
3+
- package-ecosystem: github-actions
4+
directory: /
5+
open-pull-requests-limit: 10
6+
schedule:
7+
interval: daily
8+
cooldown:
9+
default-days: 7
10+
- package-ecosystem: nuget
11+
directory: /
12+
open-pull-requests-limit: 10
13+
schedule:
14+
interval: daily
15+
groups:
16+
MicrosoftExtensions:
17+
patterns:
18+
- Microsoft.Extensions.*
19+
coverlet:
20+
patterns:
21+
- coverlet.*
22+
cooldown:
23+
default-days: 7
24+
- package-ecosystem: dotnet-sdk
25+
directory: /
26+
schedule:
27+
interval: daily
28+
ignore:
29+
- dependency-name: '*'
30+
update-types:
31+
- version-update:semver-major
32+
- version-update:semver-minor
33+
cooldown:
34+
default-days: 7
35+
- package-ecosystem: devcontainers
36+
directory: /
37+
open-pull-requests-limit: 10
38+
schedule:
39+
interval: daily
40+
cooldown:
41+
default-days: 7

.github/workflows/ci-cd.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ jobs:
1818
GITHUB_RUN_NUMBER: ${{ github.run_number }}
1919
steps:
2020
- name: Setup .NET 8
21-
uses: actions/setup-dotnet@v5
21+
uses: actions/setup-dotnet@v6
2222
with:
2323
dotnet-version: 8.x
2424

2525
- name: Setup .NET 10
26-
uses: actions/setup-dotnet@v5
26+
uses: actions/setup-dotnet@v6
2727
with:
2828
dotnet-version: 10.x
2929

@@ -64,7 +64,7 @@ jobs:
6464
6565
- name: Upload coverage report
6666
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)
67-
uses: actions/upload-code-coverage@v1
67+
uses: actions/upload-code-coverage@v1.4.1
6868
with:
6969
file: ./reports/coverage/Cobertura.xml
7070
language: CSharp
@@ -83,12 +83,12 @@ jobs:
8383
- uses: actions/checkout@v7
8484

8585
- name: Setup .NET 8
86-
uses: actions/setup-dotnet@v5
86+
uses: actions/setup-dotnet@v6
8787
with:
8888
dotnet-version: 8.x
8989

9090
- name: Setup .NET 10
91-
uses: actions/setup-dotnet@v5
91+
uses: actions/setup-dotnet@v6
9292
with:
9393
dotnet-version: 10.x
9494

@@ -105,12 +105,12 @@ jobs:
105105
uses: actions/checkout@v7
106106

107107
- name: Setup .NET 8
108-
uses: actions/setup-dotnet@v5
108+
uses: actions/setup-dotnet@v6
109109
with:
110110
dotnet-version: 8.x
111111

112112
- name: Setup .NET 10
113-
uses: actions/setup-dotnet@v5
113+
uses: actions/setup-dotnet@v6
114114
with:
115115
dotnet-version: 10.x
116116

.github/workflows/codeql-analysis.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,18 @@ jobs:
2323
uses: actions/checkout@v7
2424

2525
- name: Setup .NET 8
26-
uses: actions/setup-dotnet@v5
26+
uses: actions/setup-dotnet@v6
2727
with:
2828
dotnet-version: 8.0.x
2929

3030
- name: Setup .NET 10
31-
uses: actions/setup-dotnet@v5
31+
uses: actions/setup-dotnet@v6
3232
with:
3333
dotnet-version: 10.0.x
3434

3535
- name: Initialize CodeQL
3636
id: init_codeql
37-
uses: github/codeql-action/init@v4
37+
uses: github/codeql-action/init@v4.37.2
3838
with:
3939
queries: security-and-quality
4040

@@ -54,6 +54,6 @@ jobs:
5454
5555
- name: Perform CodeQL Analysis
5656
id: analyze_codeql
57-
uses: github/codeql-action/analyze@v4
57+
uses: github/codeql-action/analyze@v4.37.2
5858

5959
# Built with ❤ by [Pipeline Foundation](https://pipeline.foundation)

.github/workflows/sonarcloud.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,11 @@ jobs:
4040
distribution: 'adopt'
4141
java-version: 17
4242
- name: Setup .NET 8
43-
uses: actions/setup-dotnet@v5
43+
uses: actions/setup-dotnet@v6
4444
with:
4545
dotnet-version: 8.0.x
4646
- name: Setup .NET 10
47-
uses: actions/setup-dotnet@v5
47+
uses: actions/setup-dotnet@v6
4848
with:
4949
dotnet-version: 10.0.x
5050
- uses: actions/checkout@v7

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "3.8.0"
2+
".": "3.9.0"
33
}

CHANGELOG.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,24 @@
11
# Changelog
22

3+
## [3.9.0](https://github.com/microsoft/OpenAPI.NET/compare/v3.8.0...v3.9.0) (2026-07-15)
4+
5+
6+
### Features
7+
8+
* adds support for anchor and id external resolution ([1591007](https://github.com/microsoft/OpenAPI.NET/commit/15910070f2bf3006f79e1c43dd9c2b56e45d665c))
9+
* **schema:** resolve bare $dynamicRef via $dynamicAnchor index ([#2913](https://github.com/microsoft/OpenAPI.NET/issues/2913)) ([eacc2fc](https://github.com/microsoft/OpenAPI.NET/commit/eacc2fc06537fbb11fe95765e4fb6df09861c9af))
10+
* support relative URI resolution in $dynamicRef ([#2928](https://github.com/microsoft/OpenAPI.NET/issues/2928)) ([#2945](https://github.com/microsoft/OpenAPI.NET/issues/2945)) ([821053b](https://github.com/microsoft/OpenAPI.NET/commit/821053ba02129e92868df2ae0c26551fb3d5276a))
11+
12+
13+
### Bug Fixes
14+
15+
* adds explicit error message for invalid json pointers ([63fc55d](https://github.com/microsoft/OpenAPI.NET/commit/63fc55d69274ebd405e677983e0a72efd2b96079))
16+
* adds explicit error message for invalid json pointers ([bc93efe](https://github.com/microsoft/OpenAPI.NET/commit/bc93efe9d4694e89da1ea30fbc2d031e7f1318ae))
17+
* default mapping is not being serialized with the correct shape ([fe4a25f](https://github.com/microsoft/OpenAPI.NET/commit/fe4a25f1f25c853404540d30f11812f1208f93c9))
18+
* differentiate unset value from null value in OpenApiSchema.Const ([#2936](https://github.com/microsoft/OpenAPI.NET/issues/2936)) ([07b525f](https://github.com/microsoft/OpenAPI.NET/commit/07b525f568b65b5003deaccc56829f5e7e8e2641))
19+
* handle nullability more accurately during serialization for 3.0/2.0 ([#2933](https://github.com/microsoft/OpenAPI.NET/issues/2933)) ([0ace243](https://github.com/microsoft/OpenAPI.NET/commit/0ace243ebbabe82aacc52d49fe58f54f039bdf76))
20+
* validate required properties of security scheme before serialization ([#2952](https://github.com/microsoft/OpenAPI.NET/issues/2952)) ([f31b192](https://github.com/microsoft/OpenAPI.NET/commit/f31b192e9d59d39671fdfd03b4fa4d309b03021b))
21+
322
## [3.8.0](https://github.com/microsoft/OpenAPI.NET/compare/v3.7.0...v3.8.0) (2026-07-03)
423

524

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<PackageProjectUrl>https://github.com/Microsoft/OpenAPI.NET</PackageProjectUrl>
1313
<Copyright>© Microsoft Corporation. All rights reserved.</Copyright>
1414
<PackageTags>OpenAPI .NET</PackageTags>
15-
<Version>3.8.0</Version>
15+
<Version>3.9.0</Version>
1616
</PropertyGroup>
1717
<!-- https://github.com/clairernovotny/DeterministicBuilds#deterministic-builds -->
1818
<PropertyGroup Condition="'$(TF_BUILD)' == 'true'">

src/Microsoft.OpenApi.Workbench/Microsoft.OpenApi.Workbench.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
<PrivateAssets>all</PrivateAssets>
2727
</PackageReference>
2828
<PackageReference Include="Microsoft.Windows.Compatibility" Version="10.0.5" />
29+
<PackageReference Include="System.Security.Cryptography.Xml" Version="10.0.6" />
2930
</ItemGroup>
3031

3132
<!-- Windows-specific resources -->

src/Microsoft.OpenApi/Models/Interfaces/IOpenApiParameter.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using System.Collections.Generic;
1+
using System;
2+
using System.Collections.Generic;
23
using System.Text.Json.Nodes;
34

45
namespace Microsoft.OpenApi;
@@ -42,6 +43,7 @@ public interface IOpenApiParameter : IOpenApiDescribedElement, IOpenApiReadOnlyE
4243
/// If style is used, and if behavior is n/a (cannot be serialized),
4344
/// the value of allowEmptyValue SHALL be ignored.
4445
/// </summary>
46+
[Obsolete("Use of AllowEmptyValue is not recommended and it is likely to be removed in a later revision.")]
4547
public bool AllowEmptyValue { get; }
4648

4749
/// <summary>

0 commit comments

Comments
 (0)