Skip to content

Add support for systems running only .NET 10.0 (without .NET 8.0 or 9.0) in Refitter.MSBuild#882

Merged
christianhelle merged 6 commits into
mainfrom
msbuild-net10
Jan 22, 2026
Merged

Add support for systems running only .NET 10.0 (without .NET 8.0 or 9.0) in Refitter.MSBuild#882
christianhelle merged 6 commits into
mainfrom
msbuild-net10

Conversation

@christianhelle

@christianhelle christianhelle commented Jan 22, 2026

Copy link
Copy Markdown
Owner

Fixes #881

Summary by CodeRabbit

  • New Features

    • Detects .NET 10 runtimes and automatically selects matching runtime artifacts.
  • New Packaging

    • Includes .NET 10 artifacts in MSBuild packaging and distribution.
  • Tests

    • Test project target moved to .NET 10 and related resilience test packages removed.
    • Test run configuration changed to Release.
  • Chores

    • CI workflow simplified by removing explicit SDK setup and minor workflow cleanups.

✏️ Tip: You can customize this high-level summary in your review settings.

@christianhelle christianhelle self-assigned this Jan 22, 2026
Copilot AI review requested due to automatic review settings January 22, 2026 14:04
@christianhelle christianhelle added enhancement New feature, bug fix, or request .NET Pull requests that contain changes to .NET code labels Jan 22, 2026
@coderabbitai

coderabbitai Bot commented Jan 22, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

Adds .NET 10 support across packaging, runtime selection, tests, and CI: packages net10.0 artifacts, updates RefitterGenerateTask to prefer .NET 10, retargets tests to net10.0, and removes the explicit setup-dotnet step from the workflow.

Changes

Cohort / File(s) Summary
MSBuild Project Packaging
src/Refitter.MSBuild/Refitter.MSBuild.csproj
Added Content Include to package ../Refitter/bin/$(Configuration)/net10.0/**/* into tasks/net10.0 alongside existing net8.0 and net9.0 entries.
Runtime Selection Logic
src/Refitter.MSBuild/RefitterGenerateTask.cs
Reordered detection to check for Microsoft.NETCore.App 10.x first; selects net10.0/refitter.dll and emits a diagnostic log when detected; retains net9.0 and net8.0 fallbacks.
Tests Target Framework
test/MSBuild/Refitter.MSBuild.Tests.csproj
Updated TargetFramework from net8.0net10.0; removed several resilience-related package references.
CI Workflow / Build Script
.github/workflows/msbuild.yml, test/MSBuild/build.ps1
Removed actions/setup-dotnet@v5 and its dotnet-version inputs from workflow; changed test build run to -c Release; minor whitespace/logging normalization.

Sequence Diagram(s)

mermaid
sequenceDiagram
rect rgba(200,200,255,0.5)
participant MSBuildTask as MSBuild Task
participant Runtime as .NET Host/Runtime
participant Files as Artifacts / FileSystem
participant Logger as Logger
end
MSBuildTask->>Runtime: Probe installed runtimes (query Microsoft.NETCore.App)
Runtime-->>MSBuildTask: Report versions (e.g., 10.x, 9.x, 8.x)
MSBuildTask->>Logger: Log detected runtime (prefer 10.x if present)
MSBuildTask->>Files: Select DLL path (tasks/net10.0/refitter.dll) or fallback
Files-->>MSBuildTask: Provide selected DLL for task execution
MSBuildTask->>Logger: Emit final selection diagnostic

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested labels

CI/CD

Poem

🐰 I sniffed the runtimes, found ten at play,
I packed new bins and hopped away.
Tests retargeted, CI trimmed the net,
A tiny hop forward—no build upset.
🥕 Puff of fur, and off we get!

🚥 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 title directly matches the primary change: adding .NET 10 support to Refitter.MSBuild for systems without earlier SDK versions.
Linked Issues check ✅ Passed Changes implement .NET 10 support across build configuration (csproj), task selection logic (RefitterGenerateTask.cs), and CI/test infrastructure, fulfilling issue #881 requirements.
Out of Scope Changes check ✅ Passed All changes align with .NET 10 support goal: packaging artifacts, runtime detection, test targeting, workflow updates, and build configuration are all directly related.

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


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

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

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

This PR adds support for .NET 10 runtime in Refitter.MSBuild by updating the runtime detection logic and package configuration. The changes enable the MSBuild task to detect and use the .NET 10 version of the Refitter tool when available.

Changes:

  • Updated runtime detection to check for .NET 10 and select the appropriate Refitter DLL
  • Added .NET 10 binaries to the MSBuild package content
  • Updated test project to target .NET 10

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
src/Refitter.MSBuild/RefitterGenerateTask.cs Added .NET 10 runtime detection and DLL path selection logic
src/Refitter.MSBuild/Refitter.MSBuild.csproj Included .NET 10 binaries in the MSBuild package
test/MSBuild/Refitter.MSBuild.Tests.csproj Updated target framework from net8.0 to net10.0

@christianhelle christianhelle changed the title Add support for .NET 10 in Refitter.MSBuild Add support for systems running only .NET 10.0 (without .NET 8.0 or 9.0) in Refitter.MSBuild Jan 22, 2026
@codecov

codecov Bot commented Jan 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 51.92%. Comparing base (4672538) to head (aa833f3).
⚠️ Report is 8 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #882   +/-   ##
=======================================
  Coverage   51.92%   51.92%           
=======================================
  Files          23       23           
  Lines        1610     1610           
=======================================
  Hits          836      836           
  Misses        755      755           
  Partials       19       19           
Flag Coverage Δ
unittests 51.92% <ø> (ø)

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.

@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.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@test/MSBuild/Refitter.MSBuild.Tests.csproj`:
- Around line 11-15: Pin the conflicting Microsoft.Extensions.* packages by
adding explicit PackageReference entries for
Microsoft.Extensions.Configuration.Abstractions,
Microsoft.Extensions.DependencyInjection.Abstractions, and
Microsoft.Extensions.Options set to version 10.0.2 (to match the
Microsoft.Extensions.Http 10.x graph) so the project-local references override
the transitive downgrade from Refit.HttpClientFactory 9.0.2; update the project
file to include these three package references
(Microsoft.Extensions.Configuration.Abstractions,
Microsoft.Extensions.DependencyInjection.Abstractions,
Microsoft.Extensions.Options) at version 10.0.2.

Comment on lines 11 to 15
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="10.1.0" />
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="10.2.0" />
<PackageReference Include="Refit.HttpClientFactory" Version="9.0.2" />
<PackageReference Include="Microsoft.Extensions.Http.Polly" Version="10.0.1" />
<PackageReference Include="Microsoft.Extensions.Http.Polly" Version="10.0.2" />
<PackageReference Include="Polly.Contrib.WaitAndRetry" Version="1.1.1" />

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.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

# First, find the test project file and examine its structure
find . -name "Refitter.MSBuild.Tests.csproj" -type f

Repository: christianhelle/refitter

Length of output: 111


🏁 Script executed:

# Check for Directory.Packages.props (central package management)
find . -name "Directory.Packages.props" -type f

Repository: christianhelle/refitter

Length of output: 49


🏁 Script executed:

# Also check for any global package configuration
find . -name "*.props" -o -name "*.targets" | grep -i "package\|version" | head -20

Repository: christianhelle/refitter

Length of output: 49


🏁 Script executed:

# Explore the repository structure
git ls-files | grep -E "\.(csproj|props)$" | head -30

Repository: christianhelle/refitter

Length of output: 1307


🏁 Script executed:

# Examine the test project file
cat -n ./test/MSBuild/Refitter.MSBuild.Tests.csproj

Repository: christianhelle/refitter

Length of output: 880


🏁 Script executed:

# Check for Directory.Build.props files in relevant paths
find ./test/MSBuild -name "*.props" -o -name "*.targets"
find ./test -maxdepth 1 -name "Directory.*.props"
ls -la ./test/MSBuild/

Repository: christianhelle/refitter

Length of output: 501


🏁 Script executed:

# Check the root Directory.Build.props if it exists
ls -la ./Directory.Build.props 2>/dev/null || echo "No root Directory.Build.props"
cat -n ./src/Directory.Build.props 2>/dev/null | head -50

Repository: christianhelle/refitter

Length of output: 2006


🏁 Script executed:

# Check if there's any build log or error information in the repo
find . -name "*.log" -o -name "*build*" -type f | grep -i "test\|msbuild" | head -20

Repository: christianhelle/refitter

Length of output: 219


🏁 Script executed:

# Look for any GitHub Actions workflow or CI config that might show the NU1605 error
find . -name "*.yml" -o -name "*.yaml" | xargs grep -l "NU1605\|Microsoft.Extensions" 2>/dev/null | head -5

Repository: christianhelle/refitter

Length of output: 49


🌐 Web query:

Refit.HttpClientFactory 9.0.2 dependencies Microsoft.Extensions

💡 Result:

Refit.HttpClientFactory 9.0.2 depends on Microsoft.Extensions.Http (>= 9.0.3) for its supported targets (.NETStandard2.0, .NETFramework4.6.2, net8.0, net9.0, net10.0). [1][2]

Sources:

  • NuGet package page for Refit.HttpClientFactory 9.0.2. [1]
  • NuGet summary listing (Refit.HttpClientFactory dependencies). [2]

🌐 Web query:

Microsoft.Extensions.Http.Polly 10.0.2 dependencies

💡 Result:

Microsoft.Extensions.Http.Polly 10.0.2 direct package dependencies:

  • Microsoft.Extensions.Http (>= 10.0.2). [1]
  • Polly (>= 7.2.4). [1]
  • Polly.Extensions.Http (>= 3.0.0). [1]

Source: NuGet package metadata for Microsoft.Extensions.Http.Polly 10.0.2. [1]


🌐 Web query:

Microsoft.Extensions.Http.Resilience 10.2.0 dependencies Microsoft.Extensions.Configuration.Abstractions DependencyInjection.Abstractions

💡 Result:

Short answer: No — Microsoft.Extensions.Http.Resilience 10.2.0 does not list Microsoft.Extensions.Configuration.Abstractions or Microsoft.Extensions.DependencyInjection.Abstractions as direct package dependencies. Its NuGet dependency list shows packages like Microsoft.Extensions.Diagnostics.ExceptionSummarization, Microsoft.Extensions.Telemetry.Abstractions, Microsoft.Extensions.Diagnostics, Microsoft.Extensions.Options.ConfigurationExtensions and Polly packages instead. [1][2]

Sources:

  • Microsoft.Extensions.Http.Resilience 10.2.0 (NuGet). [1]
  • Package dependency summary (mirror). [2]

🌐 Web query:

Microsoft.Extensions.Http 10.0.2 dependencies Configuration.Abstractions DependencyInjection.Abstractions

💡 Result:

Yes — Microsoft.Extensions.Http v10.0.2 depends on:

  • Microsoft.Extensions.Configuration.Abstractions (>= 10.0.2). [1]
  • Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.2). [1]

Source: NuGet package metadata for Microsoft.Extensions.Http 10.0.2. [1]

References
[1] NuGet — Microsoft.Extensions.Http 10.0.2 (package details & dependencies).


🌐 Web query:

Microsoft.Extensions.Options 10.0.1 version available NuGet

💡 Result:

Yes — Microsoft.Extensions.Options version 10.0.1 is available on NuGet (published 12/09/2025). Install with:
dotnet add package Microsoft.Extensions.Options --version 10.0.1. [1]

Sources
[1] NuGet package: Microsoft.Extensions.Options 10.0.1.


🌐 Web query:

NU1605 downgrade warning .NET NuGet

💡 Result:

NU1605 = "Detected package downgrade" (NuGet restore warning). It means restore picked a lower version of a package than some dependency requested (direct-dependency-wins / version conflict). Common causes:

  • A direct reference in your project specifies an older version than a transitive dependency requires.
  • A package author explicitly downgraded a transitive dependency.
  • Old .NET Core package combinations + RuntimeIdentifier (System.* / Microsoft.* 4.0.0–4.3.1) producing runtime. conflicts.

How to fix (pick the simplest appropriate option):

  • Add/upgrade a direct PackageReference to the higher (requested) version in the project that shows the warning. Example:
    dotnet add package PackageB --version 4.0.0
    or edit the in the .csproj. (learn.microsoft.com)
  • For .NET Core 3+ projects with the System.* runtime/RID downgrade, add Microsoft.NETCore.Targets (match SDK major) as a PrivateAssets package. (learn.microsoft.com)
  • Update the .NET SDK if the warning involves Microsoft.NETCore.App auto-references (older SDKs auto-reference older versions). (learn.microsoft.com)
  • If you intentionally accept the downgrade, you can suppress the warning (or avoid TreatWarningsAsErrors for NU1605), but that risks runtime issues. (learn.microsoft.com)

If you want, paste the NU1605 diagnostic text (or your project.assets.json / project file) and I’ll show the exact package(s) to add or change.

Citations:


🌐 Web query:

Microsoft.Extensions.Configuration.Abstractions 10.0.2 NuGet available

💡 Result:

Yes — Microsoft.Extensions.Configuration.Abstractions version 10.0.2 is available on NuGet (published 2026-01-13). Install examples:

  • dotnet: dotnet add package Microsoft.Extensions.Configuration.Abstractions --version 10.0.2
  • PackageReference: . [1][2]

Sources:
[1] NuGet package page for Microsoft.Extensions.Configuration.Abstractions.
[2] NuGet version listing for Microsoft.Extensions.Configuration.Abstractions (10.0.2 entry).


🌐 Web query:

Microsoft.Extensions.DependencyInjection.Abstractions 10.0.2 NuGet available

💡 Result:

Yes — Microsoft.Extensions.DependencyInjection.Abstractions version 10.0.2 is published on NuGet (last updated January 13, 2026). Install with:

dotnet add package Microsoft.Extensions.DependencyInjection.Abstractions --version 10.0.2

[1] [2]


Resolve NU1605 downgrades by pinning Microsoft.Extensions. packages to align with 10.x dependency graph.*

The project has a conflict: Refit.HttpClientFactory 9.0.2 requires Microsoft.Extensions.Http >= 9.0.3, which downgrades the transitive requirement from Microsoft.Extensions.Http 10.0.2. This triggers NU1605 warnings for Microsoft.Extensions.Configuration.Abstractions, Microsoft.Extensions.DependencyInjection.Abstractions, and Microsoft.Extensions.Options.

Add explicit references to pin these to versions matching the 10.0.2 requirement:

🔧 Suggested fix (project-local pin)
 <ItemGroup>
   <PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="10.2.0" />
   <PackageReference Include="Refit.HttpClientFactory" Version="9.0.2" />
   <PackageReference Include="Microsoft.Extensions.Http.Polly" Version="10.0.2" />
+  <PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="10.0.2" />
+  <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.2" />
+  <PackageReference Include="Microsoft.Extensions.Options" Version="10.0.2" />
   <PackageReference Include="Polly.Contrib.WaitAndRetry" Version="1.1.1" />
 </ItemGroup>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="10.1.0" />
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="10.2.0" />
<PackageReference Include="Refit.HttpClientFactory" Version="9.0.2" />
<PackageReference Include="Microsoft.Extensions.Http.Polly" Version="10.0.1" />
<PackageReference Include="Microsoft.Extensions.Http.Polly" Version="10.0.2" />
<PackageReference Include="Polly.Contrib.WaitAndRetry" Version="1.1.1" />
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="10.2.0" />
<PackageReference Include="Refit.HttpClientFactory" Version="9.0.2" />
<PackageReference Include="Microsoft.Extensions.Http.Polly" Version="10.0.2" />
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="10.0.2" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.2" />
<PackageReference Include="Microsoft.Extensions.Options" Version="10.0.2" />
<PackageReference Include="Polly.Contrib.WaitAndRetry" Version="1.1.1" />
🤖 Prompt for AI Agents
In `@test/MSBuild/Refitter.MSBuild.Tests.csproj` around lines 11 - 15, Pin the
conflicting Microsoft.Extensions.* packages by adding explicit PackageReference
entries for Microsoft.Extensions.Configuration.Abstractions,
Microsoft.Extensions.DependencyInjection.Abstractions, and
Microsoft.Extensions.Options set to version 10.0.2 (to match the
Microsoft.Extensions.Http 10.x graph) so the project-local references override
the transitive downgrade from Refit.HttpClientFactory 9.0.2; update the project
file to include these three package references
(Microsoft.Extensions.Configuration.Abstractions,
Microsoft.Extensions.DependencyInjection.Abstractions,
Microsoft.Extensions.Options) at version 10.0.2.

@sonarqubecloud

Copy link
Copy Markdown

@christianhelle
christianhelle merged commit b93441a into main Jan 22, 2026
11 checks passed
@christianhelle
christianhelle deleted the msbuild-net10 branch January 22, 2026 15:26
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>
@coderabbitai coderabbitai Bot mentioned this pull request Jun 13, 2026
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 .NET Pull requests that contain changes to .NET code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Refitter.MSBuild Support .NET 10

2 participants