Skip to content

Tighten warning handling across Refitter builds#1079

Merged
christianhelle merged 13 commits into
mainfrom
build-warnings
Apr 29, 2026
Merged

Tighten warning handling across Refitter builds#1079
christianhelle merged 13 commits into
mainfrom
build-warnings

Conversation

@christianhelle

@christianhelle christianhelle commented Apr 29, 2026

Copy link
Copy Markdown
Owner

Summary

  • enable TreatWarningsAsErrors in Refitter.Core and Refitter.Tests to tighten warning enforcement in the main library and test project
  • remove active warning sources across the branch, including the obsolete OpenApiDocument clone path in OpenApiDocumentFactory, README package metadata drift, and a couple of nullable-flow warnings in core/tests
  • carry forward the already-committed .squad decision/history sync that is part of build-warnings

Validation

  • dotnet build -c Release src\Refitter.slnx
  • dotnet test -c Release src\Refitter.slnx
  • dotnet format --verify-no-changes src\Refitter.slnx

Summary by CodeRabbit

  • New Features

    • Enhanced validation for OpenAPI path settings to surface invalid configuration earlier.
  • Bug Fixes

    • Improved cloning and merging to preserve document version markers and key collections across mixed-version merges.
  • Tests

    • Added focused clone/merge tests and input-validation tests; added guidance for running specific test classes via the compiled test runner.
  • Chores

    • Build stricter: compiler warnings now fail builds; updated packaging settings.
  • Documentation

    • Added history, decision, and PR/process guidance entries.

christianhelle and others added 7 commits April 29, 2026 10:40
- Merged 6 inbox files into decisions.md (2026-04-28 and 2026-04-29 entries)
- Deleted all inbox files after merge
- Updated Parker history: OpenApiDocument clone path fix for obsolete API
- Updated Lambert history: 100% coverage on OpenApiDocumentFactory and obsolete API validation
- Updated Ash history: Final safety approval for OpenApiDocument clone path migration

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings April 29, 2026 09:58
@coderabbitai

coderabbitai Bot commented Apr 29, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 12e22376-ac19-4161-8782-f09358133303

📥 Commits

Reviewing files that changed from the base of the PR and between 671aafa and 9c2fd85.

📒 Files selected for processing (1)
  • src/Refitter.Tests/Issue1057SettingsCliRegressionTests.cs

📝 Walkthrough

Walkthrough

Replaces obsolete OpenApiDocument.ToJson(SchemaType) cloning with ToJson() + OpenApiDocument.FromJsonAsync(...) round-trip, adds input validation for OpenApiPath(s), enables TreatWarningsAsErrors across projects, updates/refines MSBuild task internals, and adds tests and documentation verifying schema-type preservation and merge behavior.

Changes

Cohort / File(s) Summary
Squad History & Decisions
​.squad/agents/ash/history.md, ​.squad/agents/lambert/history.md, ​.squad/agents/parker/history.md, ​.squad/agents/ripley/history.md, ​.squad/decisions.md
Adds 2026-04-29 entries documenting the serialization API replacement, coverage and merge decisions, PR scope/coordination notes, and process guidance.
Squad Skills
​.squad/skills/pr-scope-framing/SKILL.md, ​.squad/skills/tunit-test-filtering/SKILL.md
Adds PR-scope framing guidance and a TUnit example for running OpenApiDocumentFactoryMergeTests via the compiled test binary.
Core Implementation
src/Refitter.Core/OpenApiDocumentFactory.cs
Replaces direct ToJson(SchemaType) cloning with a CloneDocument helper that uses document.ToJson() and OpenApiDocument.FromJsonAsync(...) for cloning; preserves merge/fail-fast semantics.
Input Validation
src/Refitter.Core/RefitGenerator.cs
Adds guard: when OpenApiPaths is absent/empty, OpenApiPath must be non-null/non-whitespace; throws ArgumentException for invalid input.
Build Configuration
src/Refitter.Core/Refitter.Core.csproj, src/Refitter.Tests/Refitter.Tests.csproj, src/Refitter/Refitter.csproj
Enables TreatWarningsAsErrors=true in core, tests, and main projects; removes README packing entry from Refitter.csproj.
Tests
src/Refitter.Tests/OpenApiDocumentFactoryMergeTests.cs, src/Refitter.Tests/GenerateCommandTests.cs, src/Refitter.Tests/Issue1057SettingsCliRegressionTests.cs
Adds round-trip and cross-version merge tests asserting SchemaType and collection preservation; adds validation tests for OpenApiPath(s); adjusts nullability in an existing test.
MSBuild Task & Implementation Cleanup
src/Refitter.MSBuild/RefitterGenerateTask.cs
Refactors internals: simplifies AsyncLocal usage, converts ProcessExecutionResult to primary-constructor style, materializes GeneratedFiles to array, tightens nullability, modernizes process/timeout handling and related code style.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~22 minutes

Possibly related PRs

Suggested labels

enhancement, .NET, bugfix

Poem

🐇 I nibbled at old calls and found a new way,

Round-tripped the schemas so none go astray.
Tests snugly tucked, warnings set to be stern,
Merges keep order — the petals won't turn.
Hop, patch, and ship — a tidy little day.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title 'Tighten warning handling across Refitter builds' accurately summarizes the primary objective of the changeset, which is to enable TreatWarningsAsErrors across multiple project files and resolve warning sources.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch build-warnings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
Review rate limit: 0/1 reviews remaining, refill in 60 minutes.

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

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Tightens build warning enforcement by enabling warnings-as-errors and removing known warning sources (including obsolete NSwag clone usage) while adding targeted regression tests around OpenApiDocument cloning/merge behavior.

Changes:

  • Enable TreatWarningsAsErrors in Refitter.Core, Refitter.Tests, and the CLI project.
  • Replace obsolete OpenApiDocument.ToJson(SchemaType) clone path with a ToJson() + FromJsonAsync(...) round-trip and add focused merge/clone regression tests.
  • Update squad decision/history docs and TUnit filtering skill notes.

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/Refitter/Refitter.csproj Enables warnings-as-errors for the CLI/tool project; removes a redundant README pack item group.
src/Refitter.Tests/Refitter.Tests.csproj Enables warnings-as-errors for the test project.
src/Refitter.Tests/OpenApiDocumentFactoryMergeTests.cs Adds clone/round-trip and mixed-version merge tests validating schema type + key collection preservation.
src/Refitter.Tests/GenerateCommandTests.cs Adjusts a test assignment to avoid nullable warnings under stricter settings.
src/Refitter.Core/Refitter.Core.csproj Enables warnings-as-errors for the core library.
src/Refitter.Core/RefitGenerator.cs Uses null-forgiving for OpenApiPath when selecting the single-path document load route.
src/Refitter.Core/OpenApiDocumentFactory.cs Introduces CloneDocument using parameterless ToJson(); removes obsolete clone call site.
.squad/skills/tunit-test-filtering/SKILL.md Documents a TUnit treenode filter for the merge test class.
.squad/decisions.md Records decisions/directives and rationale related to warning tightening and clone-path changes.
.squad/agents/parker/history.md Syncs agent history with the obsolete clone-path fix/validation.
.squad/agents/lambert/history.md Syncs agent history with coverage + clone validation notes.
.squad/agents/ash/history.md Syncs agent history with clone-path guidance/approval and test filter command.

Comment thread src/Refitter.Core/RefitGenerator.cs
Comment thread src/Refitter/Refitter.csproj
@codecov

codecov Bot commented Apr 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.88%. Comparing base (cf8b0e4) to head (9c2fd85).
⚠️ Report is 15 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1079      +/-   ##
==========================================
+ Coverage   95.75%   95.88%   +0.12%     
==========================================
  Files          27       27              
  Lines        2570     2578       +8     
==========================================
+ Hits         2461     2472      +11     
+ Misses         39       36       -3     
  Partials       70       70              
Flag Coverage Δ
unittests 95.88% <100.00%> (+0.12%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

christianhelle and others added 3 commits April 29, 2026 12:34
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
- Merged ripley-pr-assembly.md inbox entry to decisions.md (2026-04-29)
- Added PR #1079 scope summary to Ripley's history
- Recorded branch-wide warning-hardening scope including OpenApiDocumentFactory fix
- Ripley pushed branch with squad metadata sync

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
src/Refitter.Tests/OpenApiDocumentFactoryMergeTests.cs (1)

1513-1615: Optional: parameterize the two base-schema merge tests to reduce duplication.

Both tests follow the same structure and differ mainly in base/incoming schema types and expected marker.

♻️ Possible refactor sketch
- [Test]
- public async Task Merge_Preserves_OpenApi3_Base_SchemaType_For_Cloned_Document() { ... }
-
- [Test]
- public async Task Merge_Preserves_Swagger2_Base_SchemaType_For_Cloned_Document() { ... }
+ [Test]
+ [Arguments(SchemaType.OpenApi3, "openapi", "3.0.0")]
+ [Arguments(SchemaType.Swagger2, "swagger", "2.0")]
+ public async Task Merge_Preserves_Base_SchemaType_For_Cloned_Document(
+     SchemaType expectedSchemaType,
+     string versionField,
+     string expectedVersion)
+ {
+     // Arrange base/incoming docs for expectedSchemaType
+     // Act merge
+     // Assert SchemaType + top-level discriminator
+ }
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/Refitter.Tests/OpenApiDocumentFactoryMergeTests.cs` around lines 1513 -
1615, The two tests Merge_Preserves_OpenApi3_Base_SchemaType_For_Cloned_Document
and Merge_Preserves_Swagger2_Base_SchemaType_For_Cloned_Document are duplicate
in structure and should be combined into a single parameterized test; create a
new test (e.g., Merge_Preserves_Base_SchemaType_For_Cloned_Document) that takes
parameters for baseJson, incomingJson, expected SchemaType, and expected marker
key/value, and drive it with [TestCase] or a [TestCaseSource] providing the two
scenarios; inside the test call ParseJsonDocument for both inputs, InvokeMerge,
and assert merged.SchemaType and
JObject.Parse(merged.ToJson())[markerKey].Value<string()>() == markerValue just
as currently done but using the parameters.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@src/Refitter.Tests/OpenApiDocumentFactoryMergeTests.cs`:
- Around line 1513-1615: The two tests
Merge_Preserves_OpenApi3_Base_SchemaType_For_Cloned_Document and
Merge_Preserves_Swagger2_Base_SchemaType_For_Cloned_Document are duplicate in
structure and should be combined into a single parameterized test; create a new
test (e.g., Merge_Preserves_Base_SchemaType_For_Cloned_Document) that takes
parameters for baseJson, incomingJson, expected SchemaType, and expected marker
key/value, and drive it with [TestCase] or a [TestCaseSource] providing the two
scenarios; inside the test call ParseJsonDocument for both inputs, InvokeMerge,
and assert merged.SchemaType and
JObject.Parse(merged.ToJson())[markerKey].Value<string()>() == markerValue just
as currently done but using the parameters.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 29695fbb-ce3a-4709-ab88-700125686bf0

📥 Commits

Reviewing files that changed from the base of the PR and between bdf9b22 and 130aaf0.

📒 Files selected for processing (14)
  • .squad/agents/ash/history.md
  • .squad/agents/lambert/history.md
  • .squad/agents/parker/history.md
  • .squad/agents/ripley/history.md
  • .squad/decisions.md
  • .squad/skills/pr-scope-framing/SKILL.md
  • .squad/skills/tunit-test-filtering/SKILL.md
  • src/Refitter.Core/OpenApiDocumentFactory.cs
  • src/Refitter.Core/RefitGenerator.cs
  • src/Refitter.Core/Refitter.Core.csproj
  • src/Refitter.Tests/GenerateCommandTests.cs
  • src/Refitter.Tests/OpenApiDocumentFactoryMergeTests.cs
  • src/Refitter.Tests/Refitter.Tests.csproj
  • src/Refitter/Refitter.csproj

christianhelle and others added 2 commits April 29, 2026 17:33
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@sonarqubecloud

Copy link
Copy Markdown

@christianhelle christianhelle self-assigned this Apr 29, 2026
@christianhelle christianhelle added the enhancement New feature, bug fix, or request label Apr 29, 2026
@christianhelle
christianhelle merged commit 63ea0eb into main Apr 29, 2026
15 checks passed
@christianhelle
christianhelle deleted the build-warnings branch April 29, 2026 17:39
hwinther pushed a commit to hwinther/test that referenced this pull request May 6, 2026
Updated [refitter](https://github.com/christianhelle/refitter) from
1.7.1 to 2.0.0.

<details>
<summary>Release notes</summary>

_Sourced from [refitter's
releases](https://github.com/christianhelle/refitter/releases)._

## 2.0.0

## What's Changed

* Fix numeric format with pattern quirk - infer type from format for all
numeric types by @​Copilot in
christianhelle/refitter#869
* Read group documentation from document tags. by @​DJ4ddi in
christianhelle/refitter#887
* Fix null reference and XML escaping in XmlDocumentationGenerator by
@​Copilot in christianhelle/refitter#890
* Fix build workflow: add dotnet restore before dotnet msbuild in
Prepare step by @​Copilot in
christianhelle/refitter#892
christianhelle/refitter#895
* Fix MSBuild workflow by @​christianhelle in
christianhelle/refitter#898
* Add support for generating a single client from multiple OpenAPI
specifications by @​Copilot in
christianhelle/refitter#904
* Migrate from Microsoft.OpenApi.Readers 1.x to Microsoft.OpenApi 3.x by
@​vgmello in christianhelle/refitter#907
* Improve Smoke Tests execution time by @​christianhelle in
christianhelle/refitter#915
* Fix #​580: Nullable strings marked correctly by @​christianhelle in
christianhelle/refitter#921
* Fix #​672: MultipleInterfaces ByTag method naming scoped per-interface
by @​christianhelle in
christianhelle/refitter#922
* Fix #​635: Refactor source generator to use context.AddSource() by
@​christianhelle in christianhelle/refitter#923
* Add custom format mappings configuration by @​christianhelle in
christianhelle/refitter#927
* Fix multipart form-data parameter extraction by @​christianhelle in
christianhelle/refitter#928
christianhelle/refitter#911
christianhelle/refitter#902
* Fix smoke tests: --interface-only variant missing using directive for
contract types by @​Copilot in
christianhelle/refitter#933
* Fix SonarCloud Code Quality Issues by @​Copilot in
christianhelle/refitter#932
* Add debug logging for source generator when searching for .refitter
files by @​codymullins in
christianhelle/refitter#743
* Fix: Base type not generated for types using oneOf with discriminator
by @​Copilot in christianhelle/refitter#906
* Add option for Method Level Authorization header attribute by
@​Roflincopter in christianhelle/refitter#897
* Fix PR #​897 review feedback and add comprehensive bearer auth tests
by @​christianhelle in
christianhelle/refitter#936
* Fix numeric suffix added to interface method names in ByTag mode by
@​Copilot in christianhelle/refitter#914
* Improve OpenAPI parse + codegen throughput by removing avoidable
allocations and repeated regex work by @​Copilot in
christianhelle/refitter#937
* Move [JsonConverter] from enum properties to enum types by
@​christianhelle in christianhelle/refitter#938
* Fix broken CLI tool help text by @​christianhelle in
christianhelle/refitter#940
* Improve code coverage to >90% by @​christianhelle in
christianhelle/refitter#941
* Microsoft.OpenApi v3.4 by @​christianhelle in
christianhelle/refitter#945
* Add Unicode support for XML doc comment generation by @​christianhelle
in christianhelle/refitter#948
* Add PropertyNamingPolicy support for JSON property naming by
@​christianhelle in christianhelle/refitter#969
christianhelle/refitter#966
* Fix recursive schema stack overflows by @​christianhelle in
christianhelle/refitter#971
* Made Header Parameters for Security Schemes safe to use as C# variable
name by @​smoerijf in
christianhelle/refitter#977
* Enhance schema alias handling and property name generation by
@​christianhelle in christianhelle/refitter#996
* Verify alias handling and sanitize PascalCase properties by
@​christianhelle in christianhelle/refitter#997
* Harden .refitter settings deserialization and output path handling by
@​christianhelle in christianhelle/refitter#1000
* Special-case the default .refitter filename before deriving
OutputFilename by @​coderabbitai[bot] in
christianhelle/refitter#1002
* [v2.0 audit] Fix pre-release regressions from #​1057 by
@​christianhelle in christianhelle/refitter#1064
* Resolve high-severity audit findings from #​1057 by @​christianhelle
in christianhelle/refitter#1067
* [v2.0 audit] Close remaining verified #​1057 regressions by
@​christianhelle in christianhelle/refitter#1070
* Harden generation flows by @​christianhelle in
christianhelle/refitter#1071
* Breaking changes and Migration Guide for v2.0.0 by @​christianhelle in
christianhelle/refitter#1009
* Handle equivalent duplicate schemas in multi-spec merge by
@​christianhelle in christianhelle/refitter#1076
* Tighten warning handling across Refitter builds by @​christianhelle in
christianhelle/refitter#1079
* Fix default solution path and update .NET version in VS Code config by
@​christianhelle in christianhelle/refitter#1082
* Fix docker smoke tests by @​christianhelle in
christianhelle/refitter#1081
* Sanitize malformed schema type names without renaming clean schemas by
@​christianhelle in christianhelle/refitter#1085

 ... (truncated)

## 1.7.3

## What's Changed
* Add support for systems running only .NET 10.0 (without .NET 8.0 or
9.0) in Refitter.MSBuild by @​christianhelle in
christianhelle/refitter#882
* Update to return HttpResponseMessage for file downloads by @​frogcrush
in christianhelle/refitter#877

## New Contributors
* @​frogcrush made their first contribution in
christianhelle/refitter#877

**Full Changelog**:
christianhelle/refitter@1.7.2...1.7.3

## 1.7.2

**Implemented enhancements:**

- Improve Immutable Records ergonomics
[\#​844](christianhelle/refitter#844)
- Omit certain operation headers and include all others
[\#​840](christianhelle/refitter#840)
- Create .refitter settings file as part of output
[\#​859](christianhelle/refitter#859) by
@[christianhelle
- Fix integerType enum deserialization issue
[\#​855](christianhelle/refitter#855)
([christianhelle](https://github.com/christianhelle))
- support custom nswag template directory \#​844
[\#​854](christianhelle/refitter#854) by
@​kmc059000
- Fix missing method parameter XML code-documentation
[\#​850](christianhelle/refitter#850)
([christianhelle](https://github.com/christianhelle))

**Fixed bugs:**

- integerType parsing in settings file fails
[\#​851](christianhelle/refitter#851)
- CS1573 : Method parameter has no matching XML comment
[\#​846](christianhelle/refitter#846)

**Merged pull requests:**

- docs: add frogcrush as a contributor for code
[\#​878](christianhelle/refitter#878)
([allcontributors[bot]](https://github.com/apps/allcontributors))
- Migrate solution files from .sln to .slnx format
[\#​876](christianhelle/refitter#876)
([Copilot](https://github.com/apps/copilot-swe-agent))
- Fix issue with randomly failing tests to due parallel execution
[\#​872](christianhelle/refitter#872)
([christianhelle](https://github.com/christianhelle))
- chore\(deps\): update dependency tunit to 1.9.2
[\#​863](christianhelle/refitter#863)
([renovate[bot]](https://github.com/apps/renovate))
- chore\(deps\): update dependency tunit to 1.7.7
[\#​862](christianhelle/refitter#862)
([renovate[bot]](https://github.com/apps/renovate))
- Add unit tests for WriteRefitterSettingsFile functionality
[\#​860](christianhelle/refitter#860)
([Copilot](https://github.com/apps/copilot-swe-agent))
- chore\(deps\): update dependency ruby to v4
[\#​858](christianhelle/refitter#858)
([renovate[bot]](https://github.com/apps/renovate))
- chore\(deps\): update dependency tunit to 1.6.28
[\#​857](christianhelle/refitter#857)
([renovate[bot]](https://github.com/apps/renovate))
- docs: add 0x2badc0de as a contributor for bug
[\#​856](christianhelle/refitter#856)
([allcontributors[bot]](https://github.com/apps/allcontributors))
- chore\(deps\): update dependency swashbuckle.aspnetcore to 10.1.0
[\#​853](christianhelle/refitter#853)
([renovate[bot]](https://github.com/apps/renovate))
- chore\(deps\): update dependency tunit to 1.6.0
[\#​852](christianhelle/refitter#852)
([renovate[bot]](https://github.com/apps/renovate))
- docs: add lilinus as a contributor for code
[\#​849](christianhelle/refitter#849)
([allcontributors[bot]](https://github.com/apps/allcontributors))
- chore\(deps\): update dependency ruby to v3.4.8
[\#​845](christianhelle/refitter#845)
([renovate[bot]](https://github.com/apps/renovate))
- chore\(deps\): update dependency tunit to 1.5.70
[\#​837](christianhelle/refitter#837)
([renovate[bot]](https://github.com/apps/renovate))


**Full Changelog**:
christianhelle/refitter@1.7.1...1.7.2

Commits viewable in [compare
view](christianhelle/refitter@1.7.1...2.0.0).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=refitter&package-manager=nuget&previous-version=1.7.1&new-version=2.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
vgmello pushed a commit to vgmello/momentum that referenced this pull request May 10, 2026
Updated [Refitter.MSBuild](https://github.com/christianhelle/refitter)
from 1.7.3 to 2.0.0.

<details>
<summary>Release notes</summary>

_Sourced from [Refitter.MSBuild's
releases](https://github.com/christianhelle/refitter/releases)._

## 2.0.0

## What's Changed

* Fix numeric format with pattern quirk - infer type from format for all
numeric types by @​Copilot in
christianhelle/refitter#869
* Read group documentation from document tags. by @​DJ4ddi in
christianhelle/refitter#887
* Fix null reference and XML escaping in XmlDocumentationGenerator by
@​Copilot in christianhelle/refitter#890
* Fix build workflow: add dotnet restore before dotnet msbuild in
Prepare step by @​Copilot in
christianhelle/refitter#892
christianhelle/refitter#895
* Fix MSBuild workflow by @​christianhelle in
christianhelle/refitter#898
* Add support for generating a single client from multiple OpenAPI
specifications by @​Copilot in
christianhelle/refitter#904
* Migrate from Microsoft.OpenApi.Readers 1.x to Microsoft.OpenApi 3.x by
@​vgmello in christianhelle/refitter#907
* Improve Smoke Tests execution time by @​christianhelle in
christianhelle/refitter#915
* Fix #​580: Nullable strings marked correctly by @​christianhelle in
christianhelle/refitter#921
* Fix #​672: MultipleInterfaces ByTag method naming scoped per-interface
by @​christianhelle in
christianhelle/refitter#922
* Fix #​635: Refactor source generator to use context.AddSource() by
@​christianhelle in christianhelle/refitter#923
* Add custom format mappings configuration by @​christianhelle in
christianhelle/refitter#927
* Fix multipart form-data parameter extraction by @​christianhelle in
christianhelle/refitter#928
christianhelle/refitter#911
christianhelle/refitter#902
* Fix smoke tests: --interface-only variant missing using directive for
contract types by @​Copilot in
christianhelle/refitter#933
* Fix SonarCloud Code Quality Issues by @​Copilot in
christianhelle/refitter#932
* Add debug logging for source generator when searching for .refitter
files by @​codymullins in
christianhelle/refitter#743
* Fix: Base type not generated for types using oneOf with discriminator
by @​Copilot in christianhelle/refitter#906
* Add option for Method Level Authorization header attribute by
@​Roflincopter in christianhelle/refitter#897
* Fix PR #​897 review feedback and add comprehensive bearer auth tests
by @​christianhelle in
christianhelle/refitter#936
* Fix numeric suffix added to interface method names in ByTag mode by
@​Copilot in christianhelle/refitter#914
* Improve OpenAPI parse + codegen throughput by removing avoidable
allocations and repeated regex work by @​Copilot in
christianhelle/refitter#937
* Move [JsonConverter] from enum properties to enum types by
@​christianhelle in christianhelle/refitter#938
* Fix broken CLI tool help text by @​christianhelle in
christianhelle/refitter#940
* Improve code coverage to >90% by @​christianhelle in
christianhelle/refitter#941
* Microsoft.OpenApi v3.4 by @​christianhelle in
christianhelle/refitter#945
* Add Unicode support for XML doc comment generation by @​christianhelle
in christianhelle/refitter#948
* Add PropertyNamingPolicy support for JSON property naming by
@​christianhelle in christianhelle/refitter#969
christianhelle/refitter#966
* Fix recursive schema stack overflows by @​christianhelle in
christianhelle/refitter#971
* Made Header Parameters for Security Schemes safe to use as C# variable
name by @​smoerijf in
christianhelle/refitter#977
* Enhance schema alias handling and property name generation by
@​christianhelle in christianhelle/refitter#996
* Verify alias handling and sanitize PascalCase properties by
@​christianhelle in christianhelle/refitter#997
* Harden .refitter settings deserialization and output path handling by
@​christianhelle in christianhelle/refitter#1000
* Special-case the default .refitter filename before deriving
OutputFilename by @​coderabbitai[bot] in
christianhelle/refitter#1002
* [v2.0 audit] Fix pre-release regressions from #​1057 by
@​christianhelle in christianhelle/refitter#1064
* Resolve high-severity audit findings from #​1057 by @​christianhelle
in christianhelle/refitter#1067
* [v2.0 audit] Close remaining verified #​1057 regressions by
@​christianhelle in christianhelle/refitter#1070
* Harden generation flows by @​christianhelle in
christianhelle/refitter#1071
* Breaking changes and Migration Guide for v2.0.0 by @​christianhelle in
christianhelle/refitter#1009
* Handle equivalent duplicate schemas in multi-spec merge by
@​christianhelle in christianhelle/refitter#1076
* Tighten warning handling across Refitter builds by @​christianhelle in
christianhelle/refitter#1079
* Fix default solution path and update .NET version in VS Code config by
@​christianhelle in christianhelle/refitter#1082
* Fix docker smoke tests by @​christianhelle in
christianhelle/refitter#1081
* Sanitize malformed schema type names without renaming clean schemas by
@​christianhelle in christianhelle/refitter#1085

 ... (truncated)

Commits viewable in [compare
view](christianhelle/refitter@1.7.3...2.0.0).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Refitter.MSBuild&package-manager=nuget&previous-version=1.7.3&new-version=2.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature, bug fix, or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants