Skip to content

chore(deps): decline OpenApi v3 + js-yaml v5 majors; encode the rationale in renovate config - #479

Merged
github-actions[bot] merged 1 commit into
mainfrom
claude/renovate-major-guards
Jul 4, 2026
Merged

chore(deps): decline OpenApi v3 + js-yaml v5 majors; encode the rationale in renovate config#479
github-actions[bot] merged 1 commit into
mainfrom
claude/renovate-major-guards

Conversation

@ANcpLua

@ANcpLua ANcpLua commented Jul 4, 2026

Copy link
Copy Markdown
Owner

Complete-and-verified

Resolution for the two open renovate majors (#465, #425): both decline on evidence, and this PR makes the decision durable + self-documenting via packageRules (local rules merge on top of the fleet preset).

Microsoft.OpenApi 2.9.0 → 3.7.0 (#465) — declined

  • 3.x makes IOpenApiMediaType.Example read-only. The Microsoft.AspNetCore.OpenApi XML-comment source generator still assigns it, producing CS0200 in generated code (OpenApiXmlCommentSupport.generated.cs), which this repo's hard rules forbid hand-editing.
  • Reproduced today on current main with the latest available Microsoft.AspNetCore.OpenApi (10.0.9 — no newer exists on NuGet): same two CS0200 errors as the PR's CI. Reverted, build back to 0 errors.
  • Second occurrence: deps: Update dependency Microsoft.OpenApi to v3 #462 already reverted this exact bump; Directory.Packages.props documents the 2.9.0 pin (which also clears GHSA-v5pm-xwqc-g5wc). Blocked upstream until ASP.NET's generator supports OpenAPI.NET v3 — the rule description says exactly when to re-enable.

js-yaml ^4.2.0 → ^5.0.0 (#425) — declined

  • js-yaml is not a dependency — it's an npm overrides security floor from the deps: dashboard dependency sweep — npm audit (vite 8.1.0, js-yaml ≥4.2.0) + @vitejs/plugin-react 6.0.2 #406 audit sweep.
  • Every consumer (openapi-typescript → @redocly/openapi-core, shadcn → cosmiconfig) declares ^4.x and resolves 4.3.0 naturally; npm audit: 0 vulnerabilities.
  • Forcing v5 through overrides pushes an out-of-range major with real breaking changes (quoteStyle/forceQuotes dump API) into the generate:ts and shadcn toolchain for zero security gain. The floor should follow consumers into v5, not lead them.

Both renovate PRs will be closed with a comment linking here once this merges.

Verification

  • renovate.json schema-valid (packageRules with matchDepNames/matchUpdateTypes).
  • OpenApi repro + revert: internal/qyl.instrumentation builds 0 errors on main afterward.

🤖 Generated with Claude Code

…onfig

Both majors were evaluated and declined on evidence:
- Microsoft.OpenApi 3.x: CS0200 in Microsoft.AspNetCore.OpenApi's generated
  XML-comment support (Example is read-only in v3) — reproduced today on
  latest 10.0.9; the pin in Directory.Packages.props stands (#462, #465).
- js-yaml 5.x: the dep exists only as an overrides security floor; all
  consumers declare ^4.x and npm audit is clean — a forced major buys
  nothing and risks the generate:ts/shadcn toolchain (#425).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 4, 2026 03:00
@github-actions
github-actions Bot enabled auto-merge (squash) July 4, 2026 03:00
@coderabbitai

coderabbitai Bot commented Jul 4, 2026

Copy link
Copy Markdown

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (1)
  • renovate.json is excluded by none and included by none

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: dca5ebef-5141-4b83-81b0-83506d3d68e9

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Makes the decision to decline two Renovate major updates durable and self-documenting by encoding the rationale directly in Renovate config, so future Renovate runs won’t reopen the same majors without an intentional config change.

Changes:

  • Adds a Renovate packageRules entry to disable major updates for Microsoft.OpenApi (documenting the generated-code break caused by OpenAPI.NET v3).
  • Adds a Renovate packageRules entry to disable major updates for js-yaml (documenting that it’s only an overrides security floor and v5 would be out-of-range for current consumers).

@github-actions
github-actions Bot merged commit 5fa0bc5 into main Jul 4, 2026
7 checks passed
@ANcpLua
ANcpLua deleted the claude/renovate-major-guards branch July 4, 2026 05:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants