Skip to content

Bump Microsoft.OpenApi from 2.12.2 to 3.10.2 - #116

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/Microsoft.OpenApi-3.10.2
Closed

Bump Microsoft.OpenApi from 2.12.2 to 3.10.2#116
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/Microsoft.OpenApi-3.10.2

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 24, 2026

Copy link
Copy Markdown
Contributor

Updated Microsoft.OpenApi from 2.12.2 to 3.10.2.

Release notes

Sourced from Microsoft.OpenApi's releases.

3.10.2

3.10.2 (2026-08-20)

Bug Fixes

3.10.1

3.10.1 (2026-08-19)

Bug Fixes

3.10.0

3.10.0 (2026-08-11)

Features

  • adds deserialization of the example extension (e5a1080)
  • do not ignore multiple types when serializing to 3.0 (#​2960) (ebaf27a)
  • serialize license identifier as extension for earlier versions (d090989)
  • serialize license identifier as extension for earlier versions (60971ba)

Bug Fixes

  • better nullability round-tripping (655c2c8)
  • bound YAML anchor/alias expansion to prevent OOM (billion laughs) (#​3000) (2179326)
  • deserialize metadata url from extension in earlier version (9387b01)
  • marks deprecated properties from the specification as obsolete (787b045)
  • marks deprecated properties from the specification as obsolete (953c22a)
  • schema: serialize compatibility examples from examples list (5d8ec3a)
  • serialize examples as extension in v2/v3 (ff1dbc9)
  • serialize examples as extension in v2/v3 (edf3c67)

3.9.0

3.9.0 (2026-07-15)

Features

Bug Fixes

  • adds explicit error message for invalid json pointers (63fc55d)
  • adds explicit error message for invalid json pointers (bc93efe)
  • default mapping is not being serialized with the correct shape (fe4a25f)
  • differentiate unset value from null value in OpenApiSchema.Const (#​2936) (07b525f)
  • handle nullability more accurately during serialization for 3.0/2.0 (#​2933) (0ace243)
  • validate required properties of security scheme before serialization (#​2952) (f31b192)

3.8.0

3.8.0 (2026-07-03)

Features

  • add JsonConverter for OpenApiSchema System.Text.Json serialization (#​2915) (2f8b3d2)
  • library: support schema keywords on references (434b2f8)
  • library: support schema keywords on references (66a9d04), closes #​2903

Bug Fixes

  • Don't silently skip null assignment to OpenApiDocument.Tags (3764142)
  • handling of nullable enums for 3.0 (#​2920) (beb68f5)
  • library: keep v3 schema references ref-only (c938727)
  • preserve JSON Schema 2020-12 keyword siblings on $ref schemas for OAS 3.1+ (#​2896) (08160c8)
  • use async method for crypto flush (6e675d9)

3.7.0

3.7.0 (2026-06-10)

Features

  • add contains/minContains/maxContains members (78475e3)
  • add contains/minContains/maxContains members (1a974f8)
  • library: add missing json schema properties (9b1aed6)
  • library: add missing json schema properties (82f84e0)

Bug Fixes

  • library: always copy unevaluated properties (4907d1c)
  • library: avoid false circular refs for external schema re-exports (b635242)
  • library: avoid false circular refs for external schema re-exports (7a443c2)
  • library: remove unshipped schema extension fallback (cf54bb3)
  • library: use version-specific schema keyword callbacks (6e22ec6)
  • library: use x-jsonschema schema extensions (eb1891a)

3.6.0

3.6.0 (2026-06-01)

Features

  • reader: remove ParseNode infrastructure (9b4f45b)
  • Significant performance improvements resulting ~40% reduced allocations when parsing JSON descriptions, ~25% for YAML.

3.5.5

3.5.5 (2026-05-28)

Bug Fixes

  • reader: preserve Null flag when nullable appears before type in V3.0/V3.1/V3.2 deserializers (2b9d7f4)

3.5.4

3.5.4 (2026-05-26)

Bug Fixes

  • library: handle circular schema references (b3cd42b)
  • library: handle circular schema references (91a989f)

3.5.3

3.5.3 (2026-04-27)

Bug Fixes

  • null reference exception for boolean component schemas (f97f91a)
  • null reference exception for boolean component schemas (fe0b50a)
  • schema: support boolean schemas in deserializer for OpenAPI 3.1/3.2 (05b44be)

Performance Improvements

  • schema: optimize boolean schema deserialization (7316e3f)

3.5.2

3.5.2 (2026-04-14)

Bug Fixes

  • hidi: update Microsoft.OpenApi.OData to 3.2.1 (b0a68fb)
  • hidi: update Microsoft.OpenApi.OData to 3.2.1 (8c22ab2), closes #​2811

3.5.1

3.5.1 (2026-03-31)

Bug Fixes

  • security scheme references serialization (a5acb89)

3.5.0

3.5.0 (2026-03-20)

Features

  • library: add Extensions support for schema references in v3.1/v3.2; add SerializeAsV32 with loop detection (9b422bf)

Bug Fixes

  • a bug where path parameter validation would fail if they contained forbidden JSON pointer characters (ef55b2c)
  • a bug where path parameter validation would fail if they contained forbidden JSON pointer characters (4b3164a)
  • double encoding of json pointer for invalid reference rule (b246cd0)
  • encoding of special characters for JSON paths (4c757e1)
  • library: do not emit unevaluatedProperties for non-object schemas (852fb4c)
  • library: do not emit unevaluatedProperties for non-object schemas (19538aa)
  • library: enforce spec-compliant $ref serialization; add Extensions support for schema references in v3.1/v3.2 (9bf61de)
  • potential double encoding of paths (471a61a)

3.4.0

3.4.0 (2026-03-04)

Features

  • library: preserve PatternProperties as x-jsonschema-patternProperties extension for OpenAPI v2/v3.0 serialization (d969fdc)
  • library: Preserve PatternProperties via x-jsonschema-patternProperties extension for OpenAPI v2/v3.0 (16ab5e4)
  • securityscheme: add oauth2MetadataUrl support (OpenAPI 3.2) (4509488)

Bug Fixes

  • implement unevaluatedProperties as schema per JSON Schema 2020-12 (#​2728) (7c13fb3)
  • library: serialize additionalProperties schema in OpenAPI V2 (f3165fa)
  • library: serialize additionalProperties schema in OpenAPI V2 documents (3d07756)
  • optimize parsing V3.1 documents by reducing GetLocation method allocation on hot path(#​2748) (f690681)

3.3.1

3.3.1 (2026-01-22)

Features

Bug Fixes

  • broken binary compatibility due to interface changes in previous version (d96bba7)

3.3.0

3.3.0 (2026-01-21)

Features

  • models: add shared Content interface (9e13b25)
  • models: add shared Content interface (#​2695) (9e13b25)
  • models: support mutualTLS security scheme (a4efdfe)

3.2.0

3.2.0 (2026-01-19)

Features

  • hidi validate command now logs warnings (76a3c0f)
  • hidi validate command now logs warnings (62e7d56)

Bug Fixes

  • discriminator property validation fails any/allOf cases when it shouldn't (fb6cecc)
  • discriminator property validation fails any/allOf cases when it shouldn't (a8fb81c)

3.1.3

3.1.3 (2026-01-16)

Bug Fixes

  • Support custom tag ordering (008576c)
  • Support custom tag ordering (7610d07)

3.1.2

3.1.2 (2026-01-06)

Bug Fixes

  • correct error pointer when extension parser throws OpenApiException (43c75a9)
  • wrap extension parser calls in try-catch to ensure correct error pointers (50b44aa)

3.1.1

3.1.1 (2025-12-18)

Bug Fixes

  • schema: always serialize additionalProperties: false (6651c36)
  • schema: always serialize additionalProperties: false (e36fc95)

3.1.0

3.1.0 (2025-12-17)

Features

  • Add type: "null" downcasting when in oneOf and anyOf for OpenAPI v3 (782cf8d)

3.0.3

3.0.3 (2025-12-16)

Bug Fixes

  • load JSON documents that are preceded by multiple whitespace (6461bac)
  • non-seekable json streams would fail to load as a document (2436d73)
  • reading streams in an asp.net context would cause async exceptions (f9e5248)

3.0.2

3.0.2 (2025-12-08)

Bug Fixes

  • additional properties serialization should not emit a schema in v2 (946cba9)
  • additional properties serialization should not emit booleans in v3.1+ (946cba9)

3.0.1

3.0.1 (2025-11-17)

Bug Fixes

  • empty strings should be quoted in yaml (8d215f9)
  • empty strings should be quoted in yaml (0ca10db)

3.0.0

3.0.0 (2025-11-11)

⚠ BREAKING CHANGES

  • adds support for OpenAPI 3.2.0

Note: Please refer to the upgrade guide for a detailed description of the breaking changes.

Note: ASP.net users should remain on version 1.X for ASP.net < 10, and version 2.X for ASP.net 10, this new major version will be implemented in a future version of ASP.net, more information

Features

  • adds support for OpenAPI 3.2.0 (765a8dd)

Special thanks

Commits viewable in compare view.

@dependabot dependabot Bot added .NET Pull requests that update .NET code dependencies Pull requests that update a dependency file labels Aug 24, 2026
@bgard68

bgard68 commented Aug 24, 2026

Copy link
Copy Markdown
Owner

This one can't go green, and it isn't a flake.

Microsoft.AspNetCore.OpenApi 10.0.11 declares Microsoft.OpenApi >= 2.7.5 && < 3.0.0, so resolving 3.10.2 trips NU1608 — which Directory.Build.props promotes to an error. The restore fails before anything is built:

error NU1608: Detected package version outside of dependency constraint:
Microsoft.AspNetCore.OpenApi 10.0.11 requires Microsoft.OpenApi (>= 2.7.5 && < 3.0.0)
but version Microsoft.OpenApi 3.10.2 was resolved.

This is the same constraint #107 pinned 2.x for. Rather than let it be re-proposed every week, I've added an ignore rule for Microsoft.OpenApi major bumps on claude/lotteryapp-prs-security-quality-frze77, with a note to drop it once AspNetCore.OpenApi takes a 3.x dependency. Minor and patch updates still flow.

Suggest closing this PR once that branch merges.


Generated by Claude Code

bgard68 added a commit that referenced this pull request Aug 24, 2026
#116, #111 and #109 each bump a package that a peer or framework constraint
caps, so every one fails before its tests run and is re-proposed the next week:

* Microsoft.OpenApi 3.x - AspNetCore.OpenApi 10.0.x requires >= 2.7.5 && < 3.0.0,
  so the restore trips NU1608, which Directory.Build.props promotes to an error.
  This is the constraint #107 pinned 2.x for.
* typescript 7.x - @angular/build 22.x has peer typescript >= 6.0 < 6.1.
* jasmine-core 7.x - karma-jasmine-html-reporter 2.2 peers ^4 || ^5 || ^6.

Each ignore is scoped to semver-major and carries the condition for lifting it,
so minor and patch updates - security ones included - keep flowing.

Also adds the missing nuget entry for the frontend branch: that branch carries
src/Lottery.Api and its CI builds it, but the existing nuget entry has no
target-branch, so those packages were never bumped or scanned.
---
updated-dependencies:
- dependency-name: Microsoft.OpenApi
  dependency-version: 3.10.2
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github

dependabot Bot commented on behalf of github Aug 25, 2026

Copy link
Copy Markdown
Contributor Author

Looks like Microsoft.OpenApi is no longer updatable, so this is no longer needed.

@dependabot dependabot Bot changed the title Bump Microsoft.OpenApi from 2.12.0 to 3.10.2 Bump Microsoft.OpenApi from 2.12.2 to 3.10.2 Aug 25, 2026
@dependabot
dependabot Bot force-pushed the dependabot/nuget/Microsoft.OpenApi-3.10.2 branch from 3d58f53 to 0cd6b05 Compare August 25, 2026 02:58
@dependabot dependabot Bot closed this Aug 25, 2026
@dependabot
dependabot Bot deleted the dependabot/nuget/Microsoft.OpenApi-3.10.2 branch August 25, 2026 02:58
bgard68 added a commit that referenced this pull request Aug 25, 2026
… feed bug that 500s /internal/refresh (#117)

* build(deps): move both codeql-action steps to 4.37.8 in one commit

Dependabot bumps init and analyze in separate PRs (#110, #114), but the two
steps must run the same codeql-action version - a mismatched pair ends the
Analyze job in a configuration error. Same consolidation #105 did for 4.37.7.
Supersedes #110 and #114.

* build: add coverlet.collector and Mvc.Testing, register Lottery.Api.Tests

Coverage was not measurable at all - no collector was referenced by any test
project. Adds coverlet.collector to all four, Microsoft.AspNetCore.Mvc.Testing
for the new API integration tests, and the new project to the solution.

* test(api): add the host factory and offline feed fakes

Boots the real API over a throwaway SQLite file so migrations, seeding,
routing and middleware are all exercised for real; only the live feeds and the
timer-driven refresh loop are replaced, which keeps a test run offline.

* test(api): endpoints, security headers, refresh gate, health check, refresh loop

66 tests over the four API source files that previously had none.

* test(api): security headers, refresh key gate, health check, refresh loop

* test(api): health check verdicts and the refresh loop on virtual time

* ci: scope cleanup-runs' actions:write to its job, document CodeQL's grant

GHA002 flagged both as excessive token permissions. cleanup-runs genuinely was
- actions:write applied workflow-wide, so any job added later would inherit the
ability to delete runs; it now sits on the one job that needs it.

CodeQL's security-events:write is the floor rather than a convenience: code
scanning has no read-only ingest path, so analyze cannot upload its SARIF
without it. It was already job-scoped with the workflow default left read-only;
the comment records why so the finding is not re-raised.

* build: sync Lottery.Application.Tests lock file for coverlet.collector

CI restores with --locked-mode, so the lock file has to carry the new
reference or the restore fails NU1004.

* build: sync test lock files for coverlet.collector

CI restores with --locked-mode, so the lock files have to carry the new
reference or the restore fails NU1004. Lottery.Api.Tests is a new project,
so this is its initial lock file.

* ci: close gate-integrity gaps and tighten workflow permissions

Three checks could report success while proving nothing: era-check's live-feed
validation exited 0 when the API was unreachable (no set -e, and [ "" -gt 0 ]
returns 2, making the if false); gate-probes' third probe did not guard its
setup or check that the failure was the planted one; and the Start API wait
loops exit 0 whether or not the API came up.

Also scopes deploy-api's id-token:write to its job, grants dependency-review
the pull-requests:write its comment-summary-in-pr silently needed, passes
API_BASE_URL through env instead of interpolating it into a run line, adds
concurrency groups to the PR-triggered workflows, and stops gitleaks
allowlisting package-lock.json wholesale (npm lock files can carry inline
registry credentials in resolved URLs; only integrity hashes are excluded now).

Adds coverlet.runsettings so coverage measures our code rather than the
thousands of generated OpenAPI lines nothing we write can cover.

* ci: close gate-integrity gaps and tighten workflow permissions

Three checks could report success while proving nothing: era-check's live-feed
validation exited 0 when the API was unreachable (no set -e, and [ "" -gt 0 ]
returns 2, making the if false); gate-probes' third probe did not guard its
setup or check that the failure was the planted one; and the Start API wait
loops exit 0 whether or not the API came up.

Also scopes deploy-api's id-token:write to its job, grants dependency-review
the pull-requests:write its comment-summary-in-pr silently needed, passes
API_BASE_URL through env instead of interpolating it into a run line, adds
concurrency groups to the PR-triggered workflows, and stops gitleaks
allowlisting package-lock.json wholesale (npm lock files can carry inline
registry credentials in resolved URLs; only integrity hashes are excluded now).

Adds coverlet.runsettings so coverage measures our code rather than the
thousands of generated OpenAPI lines nothing we write can cover.

* build(deps): stop Dependabot re-proposing three PRs that cannot merge

#116, #111 and #109 each bump a package that a peer or framework constraint
caps, so every one fails before its tests run and is re-proposed the next week:

* Microsoft.OpenApi 3.x - AspNetCore.OpenApi 10.0.x requires >= 2.7.5 && < 3.0.0,
  so the restore trips NU1608, which Directory.Build.props promotes to an error.
  This is the constraint #107 pinned 2.x for.
* typescript 7.x - @angular/build 22.x has peer typescript >= 6.0 < 6.1.
* jasmine-core 7.x - karma-jasmine-html-reporter 2.2 peers ^4 || ^5 || ^6.

Each ignore is scoped to semver-major and carries the condition for lifting it,
so minor and patch updates - security ones included - keep flowing.

Also adds the missing nuget entry for the frontend branch: that branch carries
src/Lottery.Api and its CI builds it, but the existing nuget entry has no
target-branch, so those packages were never bumped or scanned.

* docs(tests): document Lottery.Api.Tests and the coverage settings

The README still said "109 tests across three projects". Adds the API layer's
66 tests and a note on coverlet.runsettings, which excludes the OpenAPI
generator's output so the coverage figure measures our own code.

* test(domain): cover Draw, RuleEra bounds, PrizeTier and the unknown-Game guards

* test(application): cover the jackpot-refresh and result-mapping paths

* test(infrastructure): cover the feeds, the import ledger and the DI wiring

* test(infrastructure): cover the feeds, the import ledger and the DI wiring

* fix(feeds): stop parse failures 500ing /internal/refresh

MegaMillionsJackpotFeed's own summary promises "any shape change degrades to
null rather than throwing", and both sibling jackpot feeds guard
HttpRequestException and JsonException. This one guarded nothing:
XDocument.Parse throws XmlException on a non-XML body and Deserialize throws
JsonException on a truncated one.

Neither type is matched by RefreshGame's catch filter, and CompositeJackpotFeed
passes them straight through, so they escape RefreshGame.ExecuteAsync.
/internal/refresh - the endpoint the keep-alive workflow calls - has no
try/catch, so the request 500s and any game after the failing one is skipped.

The trigger is the one this repo has already been bitten by: a bot-challenge
HTML page served with a 200, which is what retired powerball.com's API.

SocrataWinningNumbersFeed had the same escape by a different route. It still
refuses the whole batch - a silently short batch would let gap-repair skip real
draws - but now as InvalidOperationException with the cause kept, which is the
type the caller already handles.

The ten tests that pinned the previous behaviour now assert the corrected
contract. 316 tests pass; coverage unchanged.

* fix(feeds): restore the real MmPayload/MmJackpot shape

The previous commit rewrote these DTOs while adding the exception guard. That
was not part of the fix and it was wrong: the JSON property is Winners, not
JackpotWinners, so deserialization would have silently produced a null winner
count and lost the rollover flag. Restores the file to the tested version -
the guard, and nothing else, changed.

* fix(feeds): report Socrata parse failures as a handled feed error

A malformed payload, or a row whose winning_numbers is short or non-numeric,
escaped as JsonException / FormatException / ArgumentOutOfRangeException. None
of those match RefreshGame's catch filter, so one bad row 500s
/internal/refresh instead of being reported.

The batch is still refused - delivering a silently short batch would let
gap-repair skip real draws - but as InvalidOperationException with the cause
kept, which is the type the caller already handles.

* test(feeds): assert the corrected degradation contract

These ten tests previously pinned the pre-fix behaviour, deliberately written
so a fix would fail them loudly rather than pass silently. MegaMillions now
degrades to null on a non-XML body, a truncated payload and a 5xx, matching its
class comment and both sibling feeds; Socrata still refuses a batch containing
a bad row but reports it as InvalidOperationException with the cause kept.

* build: sync Lottery.Api.Tests lock file for OpenApi 2.12.2

#113 bumped Microsoft.OpenApi 2.12.0 -> 2.12.2 and regenerated the lock files
that existed at the time. Lottery.Api.Tests is new on this branch, so its lock
file still pinned 2.12.0 and locked-mode restore failed NU1004.

Regenerated with dotnet restore --force-evaluate; no other lock file changed.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AWkVh7cyAz1gWapBH1CY8n

---------

Co-authored-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add missing keywords support for OpenAPIReference (and JsonSchemaRefernece Update Microsoft.OpenApi.OData to 3.2.1 on main (OpenAPI 3.2)

1 participant