Skip to content

Bump Refit from 10.2.0 to 16.3.0 - #1170

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/Refit-16.3.0
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/Refit-16.3.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 1, 2026

Copy link
Copy Markdown
Contributor

Updated Refit from 10.2.0 to 16.3.0.

Release notes

Sourced from Refit's releases.

16.3.0

🗞️ What's Changed

✨ Features

  • reactiveui/refit@​053873c309b518d21aa128c246ff8c8b2e38bed4 feat(analyzers): explain why a method cannot generate and flag unbound route placeholders (#​2340) @​glennawatson

🔗 Full Changelog: reactiveui/refit@v16.2.0...v16.3.0

🙌 Contributions

💖 Thanks to all the contributors: @​glennawatson

16.2.0

🗞️ What's Changed

✨ Features

  • reactiveui/refit@​d864935e7f389e76cae04aecc8c8991712f8d050 feat(testing): add controllable streams, request capture and a test clock to Refit.Testing (#​2337) @​glennawatson
  • reactiveui/refit@​04187430b0a947b4d5d3280f3fd5ac6cfebe67c1 feat(bodies): typed JSON Lines uploads from IEnumerable and IAsyncEnumerable (#​2338) @​glennawatson

🧹 General Changes

  • reactiveui/refit@​2ecbf2a5613af71d6bcc51a7440a740f814685f1 chore: update packages, credit Refit's origins, remove stale files (#​2336) @​glennawatson
  • reactiveui/refit@​7aa89fa16df2a8c69811a07d5fca14d4121b999a chore: remove the Jekyll site files now that GitHub Pages redirects to reactiveui.net @​glennawatson

✅ Tests

  • reactiveui/refit@​a463e8a209976e19998d7c2125cd7829f6ebbc7c test(bodies): cover the remaining typed JSON Lines branches (#​2339) @​glennawatson

📝 Documentation

  • reactiveui/refit@​5d17ac99ebea81fe4c587c139297bf399c19145b docs(readme): name the programme behind each sponsor @​glennawatson
  • reactiveui/refit@​ceb75e82fb44241ca5f276b0d05dca44647c09bb docs(readme): link to the ReactiveUI sponsors page @​glennawatson
  • reactiveui/refit@​a330a6369aae657039cc075232608f4d20651da7 docs(readme): keep the README renderable on nuget.org @​glennawatson
  • reactiveui/refit@​176ebdbf5440f75e66961290769d8d006c99f4c1 docs: new Refit logo and official sponsor logos @​glennawatson
  • reactiveui/refit@​7333739298ab4994996f95d99724fff93b0616f5 docs(readme): credit OpenAI's Codex for Open Source support @​glennawatson

📦 Dependencies

  • reactiveui/refit@​b7ca0298c2b4c418e7b3b86fe659a5c3e31bc305 chore(deps): update dependency reactiveui.primitives to 8.1.0 (#​2334) renovate[bot]

🔗 Full Changelog: reactiveui/refit@v16.1.0...v16.2.0

🙌 Contributions

💖 Thanks to all the contributors: @​glennawatson

🤖 Automated services that contributed: renovate[bot]

16.1.0

🗞️ What's Changed

✨ Features

  • reactiveui/refit@​aa139a24f23e8a22db7c4047a3a3e2363ae611a2 feat: add lazy paging with generated PagedEnumerable methods (#​2332) @​glennawatson
  • reactiveui/refit@​bb98726d94195b8045dbdc9787da33ea87e28ba1 feat: register JSON contexts and accept JsonTypeInfo parameters (#​2333) @​glennawatson

📝 Documentation

  • reactiveui/refit@​9df07511c713cfbb296f9000220eb86edfdfa3e4 docs: point the code of conduct at the website @​glennawatson

📌 Other

  • reactiveui/refit@​5106e9c13eee42e5fd98948d93ecff2e33956709 Update copyright year in LICENSE file @​glennawatson

🔗 Full Changelog: reactiveui/refit@v16.0.0...v16.1.0

🙌 Contributions

💖 Thanks to all the contributors: @​glennawatson

16.0.0

Summary

Refit 16.0.0 is a major version because the .NET 11 assemblies are built without runtime-async. The public API does not change.

Why runtime-async is off

  • In .NET 10 and older, the C# compiler adds a state machine to each async method. The state machine stores the local variables and tracks where to resume after each await.
  • .NET 11 adds a feature called runtime-async. The runtime does this work instead, so async code can run faster.
  • Refit 12.0.0 to 15.2.0 built the .NET 11 assemblies with runtime-async on. We did not use it with older .NET 8-10 nor .NET framework assemblies.
  • The feature needs a runtime that supports it. CoreCLR does, and Mono does not.
  • Blazor WebAssembly runs on Mono unless you opt into CoreCLR. WASI, Android API levels 21 to 23, and apps that set UseMonoRuntime=true also run on Mono.
  • Refit built with runtime-async can fail in every app that runs on Mono.
  • Microsoft builds its framework assemblies twice, once for each runtime. ASP.NET Core turns the feature on only for libraries inside the shared framework, and leaves it off for libraries that also ship on NuGet.
  • A NuGet package ships one build for every runtime, so Refit leaves the feature off. The feature is opt-in, so doing nothing is the correct setting.
  • Apps that target .NET 10 or older are not affected, because only the .NET 11 assemblies used the feature. Apps on .NET 11 that run on CoreCLR do not get the speed gain inside Refit's own async code.
  • You can turn on runtime-async in your own app if it runs only on CoreCLR.

Other changes

  • Refit has a documentation website at https://reactiveui.net/documentation/refit/. It has guides for requests, results, clients, serialization and testing, and one page that lists the full API.
  • The README is a short overview of the packages, the build requirements and the links to the website.
  • src/examples/Documentation has a project for every website page, plus larger samples for topics such as multipart uploads, serializers and compression. Each project builds with Refit.slnx and checks its results against local replies, so none needs a live service.
  • On older target frameworks, Refit checks the cancellation token before it buffers or reads HTTP content. A token that is already cancelled stops the operation before it starts.
  • Doc comments were corrected to match how Refit works. They state that [Options] sends OPTIONS, that [Url] accepts an empty path or /, and that [PathPrefix] does not add a leading slash. The Refit.Testing docs state that VerifyAllCalled ignores reusable and fallback routes.
  • The Blazor WebAssembly sample builds for .NET 10 and .NET 11. It uses a generated client and JSON source generation, and builds without trimmer warnings.
  • Refit depends on ReactiveUI.Primitives 8.0.0. On .NET 11, Refit.HttpClientFactory depends on Microsoft.Extensions.Http 11.0.0-rc.1, and other targets depend on 10.0.12.
  • SECURITY.md lists the supported versions and explains how to report a vulnerability through GitHub private reporting.
  • CI workflows drop code scanning of fork pull requests and pass sourceRef to the shared release workflow. Renovate handles package updates per target framework, and the generator snapshot tests use a small in-repo helper instead of the Verify packages.

🗞️ What's Changed

✨ Features

  • reactiveui/refit@​6f0507fa061f1844a8da6ea92e839b622dfc74ef feat: expand generated request support & docs (#​2329) @​glennawatson
  • reactiveui/refit@​6445e423feb4a59b723f094829ecfca5e95473b4 feat: update nuget packages, update Renovate configuration, enhance generator tests, remove unused packages (#​2330) @​glennawatson
  • reactiveui/refit@​1459f55c5c1bcf8b385753013d75422b716454a3 feature: Remove runtime-async feature from Directory.Build.props (#​2331) @​glennawatson

🧹 General Changes

  • reactiveui/refit@​ba8f49211bdeb8273d506058e7098281e617a4ea ci: let the shared fork SonarCloud workflow resolve the pull request itself @​glennawatson
  • reactiveui/refit@​1542153ba821547d1706915fdd202a9fe9f601aa ci: remove SonarCloud scanning of fork pull requests @​glennawatson
  • reactiveui/refit@​7b1c3bedc3e811fcc9f1b42c29ac6b6d0929cf67 ci(lock): run the lock workflow at its own time of day @​glennawatson
  • reactiveui/refit@​dd2a75f077c9505650821a02b7bffde8473972f6 ci: pass sourceRef to the shared release workflow @​glennawatson

📝 Documentation

  • reactiveui/refit@​c2bd862967f163509f911e10cda564fa18e1df6d docs(readme): link combined API reference @​glennawatson
  • reactiveui/refit@​dee79fcb62c42dbb2ff3d1260ee952cfc77f3166 docs: add security policy @​glennawatson

📦 Dependencies

  • reactiveui/refit@​45fcc591e2a48d6c81de347baeb67d975f24e943 chore(deps): pin mcr.microsoft.com/dotnet/sdk docker tag to e622deb (#​2324) renovate[bot]
  • reactiveui/refit@​8b71ed09ae2e61f8a3d255dc6aa7132cdb851459 chore(deps): update dependency minver to v8 (#​2320) renovate[bot]
  • reactiveui/refit@​2d8976713c692c2b2f3f7f817886da4f4c8ab7e5 chore(deps): update dependency sonaranalyzer.csharp to 10.33.0.1635 (#​2316) renovate[bot]
    ... (truncated)

15.2.0

🗞️ What's Changed

✨ Features

  • reactiveui/refit@​164332344807773dd0c8a01e6ace24e86d2fedd8 feat(body): compress request bodies (#​2311) @​glennawatson

🐛 Fixes

  • reactiveui/refit@​96316a6b121c72e8a77abb0cb1f38c2a0839cd86 fix(debugging): stop debugger displays rendering as a bare null (#​2315) @​glennawatson
  • reactiveui/refit@​05c856ad69c33843ff7cb2b599c2ce43117fca20 fix(generator): keep the analyzers loadable in Visual Studio (#​2309) @​glennawatson
  • reactiveui/refit@​1dc43776eae5ef9abe4d7f9b29c105c90a65d2b6 fix(headers): stop rewriting raw header values (#​2310) @​glennawatson

📦 Dependencies

  • reactiveui/refit@​755b8c31055e76922c2236c281e92467433b3eb5 chore(deps): update dependency roslynator.analyzers to 4.16.1 (#​2312) renovate[bot]

🔗 Full Changelog: reactiveui/refit@v15.1.0...v15.2.0

🙌 Contributions

💖 Thanks to all the contributors: @​glennawatson

🤖 Automated services that contributed: renovate[bot]

15.1.0

🗞️ What's Changed

🐛 Fixes

  • reactiveui/refit@​74cbb64d51b705fb52a7bc0e7bd5f4e4b62bfb5e fix(generator): ship a single Roslyn analyzer slot (#​2305) @​glennawatson

⚡ Performance

  • reactiveui/refit@​b455f65ecc4c97d092317e349cb775f9cfc6bcdf perf(generator): return the request task instead of awaiting it (#​2302) @​glennawatson

🧹 General Changes

  • reactiveui/refit@​0065f72548a1d5ce872c3859b34ea239c56c631e build: raise the analyzer rules to error and fix the reported code (#​2299) @​glennawatson

📦 Dependencies

  • reactiveui/refit@​46071eb16ee8c821baf0551af13d63d4ad4b7427 chore(deps): update dependency sonaranalyzer.csharp to 10.32.0.713 (#​2303) renovate[bot]
  • reactiveui/refit@​51368ea5ade710200b3796f81e41e7a7375e35c0 chore(deps): update dependency roslynator.analyzers to 4.16.0 (#​2298) renovate[bot]

🔗 Full Changelog: reactiveui/refit@v15.0.0...v15.1.0

🙌 Contributions

💖 Thanks to all the contributors: @​glennawatson

🤖 Automated services that contributed: renovate[bot]

15.0.0

🗞️ What's Changed

✨ Features

  • reactiveui/refit@​6f5aa733c8f1dbaedc1fe68d70b91260e72c8a2f feat: introduce GeneratedSingleTypeParameterAttributeProvider for single attribute type handling @​glennawatson
  • reactiveui/refit@​873c8bddfb1bc46832b76fe7d5c21148247b92f5 feat: keyed refit generated client DI registration (#​2297) @​rmja
  • reactiveui/refit@​0ebbaf4eaa979f089c95aa4208ee42ad6be57a65 feat: Implement a more legible Source Code (#​2282) @​glennawatson @​JavierGarcíadelaNocedaArgüelles @​jgarciadelanoceda

🐛 Fixes

  • reactiveui/refit@​285cc676f4fe43b659f73bcaa0e3f0a57feea347 fix: resolve generated clients when the module initializer runs late (#​2289) @​glennawatson
  • reactiveui/refit@​ee87983042011a8f266d13999e7f3cf70aaac1db fix: differentiate explicitly empty string delimiter from "no delimiter" (#​2295) @​rmja
  • reactiveui/refit@​69ee15f2ab9734001d37fcd0aed6fb3d0c53d6d2 fix: Propagate cancellation exceptions during response buffering (#​2284) @​Lukas @​radixy0

🧹 General Changes

  • reactiveui/refit@​dc278d3905fe3ceace4fa7ccf9290b3548b22231 chore(renovate): group related dependency cohorts (#​2286) @​glennawatson
  • reactiveui/refit@​5d4a0b97f2d2954375905f91082dd6ac6e0cd16e build: track public API with PublicApiSharp.Analyzers (#​2288) @​glennawatson

📦 Dependencies

  • reactiveui/refit@​7d6f29df5971b9db33f1f65b5d618bf71674e368 chore(deps): update dependency sonaranalyzer.csharp to 10.31.0.145097 (#​2290) @​renovate[bot]
  • reactiveui/refit@​52345ac0398b8ae23369f7ff13685bc2db80d6ea chore(deps): update dependency verify.tunit to 31.28.0 (#​2291) @​renovate[bot]

🔗 Full Changelog: reactiveui/refit@v14.0.1...v15.0.0

🙌 Contributions

🌱 New contributors since the last release: @​Lukas, @​radixy0
💖 Thanks to all the contributors: @​glennawatson, @​jgarciadelanoceda, @​Lukas, @​radixy0, @​rmja

🤖 Automated services that contributed: @​renovate[bot]

15.0.0-beta.1

🗞️ What's Changed

✨ Features

  • reactiveui/refit@​6f5aa733c8f1dbaedc1fe68d70b91260e72c8a2f feat: introduce GeneratedSingleTypeParameterAttributeProvider for single attribute type handling @​glennawatson
  • reactiveui/refit@​0ebbaf4eaa979f089c95aa4208ee42ad6be57a65 feat: Implement a more legible Source Code (#​2282) @​glennawatson @​JavierGarcíadelaNocedaArgüelles @​jgarciadelanoceda

🐛 Fixes

  • reactiveui/refit@​285cc676f4fe43b659f73bcaa0e3f0a57feea347 fix: resolve generated clients when the module initializer runs late (#​2289) @​glennawatson
  • reactiveui/refit@​69ee15f2ab9734001d37fcd0aed6fb3d0c53d6d2 fix: Propagate cancellation exceptions during response buffering (#​2284) @​Lukas @​radixy0

🧹 General Changes

  • reactiveui/refit@​dc278d3905fe3ceace4fa7ccf9290b3548b22231 chore(renovate): group related dependency cohorts (#​2286) @​glennawatson
  • reactiveui/refit@​5d4a0b97f2d2954375905f91082dd6ac6e0cd16e build: track public API with PublicApiSharp.Analyzers (#​2288) @​glennawatson

📦 Dependencies

  • reactiveui/refit@​52345ac0398b8ae23369f7ff13685bc2db80d6ea chore(deps): update dependency verify.tunit to 31.28.0 (#​2291) @​renovate[bot]
  • reactiveui/refit@​7d6f29df5971b9db33f1f65b5d618bf71674e368 chore(deps): update dependency sonaranalyzer.csharp to 10.31.0.145097 (#​2290) @​renovate[bot]

🔗 Full Changelog: reactiveui/refit@v14.0.1...v15.0.0-beta.1

🙌 Contributions

🌱 New contributors since the last release: @​Lukas, @​radixy0
💖 Thanks to all the contributors: @​glennawatson, @​JavierGarcíadelaNocedaArgüelles, @​jgarciadelanoceda, @​Lukas, @​radixy0

🤖 Automated services that contributed: @​renovate[bot]

14.0.1

🗞️ What's Changed

🐛 Fixes

  • reactiveui/refit@​132f72d875f3181b96ec34229788ab4c01d51053 fix(generator): support path and header bindings (#​2281) @​glennawatson

⚡ Performance

  • reactiveui/refit@​2f16caa9841b140eb9c93a70c105056ea5f1a33d perf: escape query components in place (#​2277) @​glennawatson @​jgarciadelanoceda
  • reactiveui/refit@​6501f88cfbf41cd32550a062e02f08f94f3bf50c perf: Use String Interpolation In Code Generation (#​2278) @​glennawatson @​jgarciadelanoceda

🔗 Full Changelog: reactiveui/refit@v14.0.0...v14.0.1

🙌 Contributions

🌱 New contributors since the last release: @​JavierGarciadelaNocedaArguelles
💖 Thanks to all the contributors: @​glennawatson, @​JavierGarciadelaNocedaArguelles, @​JavierGarcíadelaNocedaArgüelles, @​jgarciadelanoceda

14.0.0

Refit 14.0.0

Refit 14 is a major bug-fix and request-generation release. It fixes a broad set of correctness issues while completing the move to source-generated request building. Most clients can now build requests without runtime reflection, improving trimming, Native AOT support, startup time, and allocations.

What end users need to know

  • Check RF006 warnings before upgrading. The reflection request builder has moved out of the main package. If any API method reports RF006, add the Refit.Reflection package. Fully generated clients should not add it.
  • Some async APIs now return ValueTask. This affects the success-guard methods, DefaultApiExceptionFactory.CreateAsync, and several RefitSettings delegates. Most callers can continue to await them; code that stores a Task may need .AsTask().
  • A few request-building behaviours are intentionally different. Query objects are flattened from their declared type, serializer property names are honoured in query keys, and nested URL-encoded objects are flattened instead of using ToString().
  • Caller-owned streams remain open. Refit no longer disposes streams supplied as request bodies or multipart parts; callers are responsible for disposing them.
  • Validation timing can change. Fully generated interfaces validate route templates when the first request is built rather than when the client is created. Generated method frames also no longer appear in ApiException stack traces.
  • Empty authorization tokens now omit the header. Returning null, empty, or whitespace from AuthorizationHeaderValueGetter no longer sends a blank Authorization header.

Major fixes

  • Request generation now handles multiple generic overloads, escaped C# keyword identifiers, nullable value-type query objects, nested URL-encoded bodies, and indexed query collections correctly.
  • Caller-supplied request streams can be reused, generated helper types no longer collide across InternalsVisibleTo assemblies, and null parameter values round-trip correctly.

Highlights

  • New request controls include [PathPrefix], per-method [Timeout], absolute URLs with [Url], optional route segments, indexed query collections, header validation, and returning a built HttpRequestMessage without sending it.
  • Query objects, dictionaries, generic methods, multipart form objects, and custom return-type adapters gain broader reflection-free generation.
  • Server-Sent Events can be consumed as IAsyncEnumerable<T>, and transport exceptions can be customized with TransportExceptionFactory.
  • Runtime, reflection, and source-generator allocation reductions improve throughput; source generation is roughly twice as fast in the measured workload.

See the V14 migration details and complete feature documentation.

🗞️ What's Changed

💥 Breaking Changes

  • reactiveui/refit@​e511df252a1e53e760bf5a325a134953e50c172d feat!: reflection-free source-generated request building (#​2210) @​glennawatson @​TimothyMakkison

✨ Features

  • reactiveui/refit@​88e1c240245078bed6ba835920f0191c50911860 feat: add generic tests to ReflectionTests (#​2195) @​TimothyMakkison
  • reactiveui/refit@​463f5cfafb21a805cfeb9b9f4de6f07dee5fdbb5 feat: add [Timeout] attribute for per-method request timeouts (#​2238) @​glennawatson
  • reactiveui/refit@​294e63a4a48d9164ea5daf958f2fb5eb29120c77 feat: add success guards to the non-generic IApiResponse (#​2242) @​glennawatson
  • reactiveui/refit@​f754684d8d67f62489dfa304e0630b98c68b7fd8 feat: add interface-level [PathPrefix] attribute for a shared route prefix (#​2240) @​glennawatson
  • reactiveui/refit@​65f864e00cb1e01c41c76c5afbee1ddbf9ca17c2 feat: only generate AttributeProvider field when not empty (#​2271) @​TimothyMakkison
  • reactiveui/refit@​99c055b4064184bcc5b32efdaa250fa447474c7b feat: support optional url segments with {name?} syntax (#​2237) @​glennawatson
  • reactiveui/refit@​759a3c0fe2d43e46cd1e0000cedef824d97c238d feat: support returning the built HttpRequestMessage without sending (#​2235) @​glennawatson
  • reactiveui/refit@​88d5e68214dc890b4e2641c11ee2940cc03d64d6 feat: add CollectionFormat.Indexed for indexed query collection expansion (#​2262) @​Copilot @​glennawatson @​jgarciadelanoceda
  • reactiveui/refit@​d9b3d5f3ac28687cae557e9d6c4ed0901f9ea043 feat: support Server-Sent Events as a streaming content format (#​2232) @​glennawatson
  • reactiveui/refit@​1e35cc9c0d1ed07e10af1f671b90d25c4314787c feat: add [Url] attribute for absolute request URLs (#​2236) @​glennawatson
  • reactiveui/refit@​7c338710b98dcba74d12f4942b4a4c1d00dd0852 feat: add opt-in RefitSettings.ValidateHeaders (#​2225) @​glennawatson
  • reactiveui/refit@​b583a34b266de4cab5173d8c259f947f19aad03b feat: add null handling for round trip parameter and add verifying test (#​2201) @​TimothyMakkison
  • reactiveui/refit@​485c63211a86144228423844452c7df33c35ab61 feat: opt-in [FormObject] flattens a model into multipart form fields (#​2245) @​glennawatson
  • reactiveui/refit@​7ac3e1a3e9b7d4dd28a6ca1f7e00a6e9319d97ab feat: fix failiure when multiple generic overloads (#​2199) @​TimothyMakkison
  • reactiveui/refit@​852cb2c39b3740670a1e17d9c1470a551c09e2aa feat: move version configuration into AddConfiguredRequestOptions (#​2214) @​glennawatson @​TimothyMakkison
  • reactiveui/refit@​a2b158139ffc46d351920f7373dda655d4683319 feat: add analyzer diagnostics for invalid Refit interfaces (#​2220) @​glennawatson
  • reactiveui/refit@​4068d9739554a2649d1ec954e480cde1a75430a2 feature: Create a TransportExceptionFactory to let the user decide the exception to be thrown (#​2205) @​glennawatson @​jgarciadelanoceda
    ... (truncated)

14.0.0-beta.5

🗞️ What's Changed

💥 Breaking Changes

  • reactiveui/refit@​e511df252a1e53e760bf5a325a134953e50c172d feat!: reflection-free source-generated request building (#​2210) @​glennawatson @​TimothyMakkison

✨ Features

  • reactiveui/refit@​65f864e00cb1e01c41c76c5afbee1ddbf9ca17c2 feat: only generate AttributeProvider field when not empty (#​2271) @​TimothyMakkison
  • reactiveui/refit@​88e1c240245078bed6ba835920f0191c50911860 feat: add generic tests to ReflectionTests (#​2195) @​TimothyMakkison
  • reactiveui/refit@​463f5cfafb21a805cfeb9b9f4de6f07dee5fdbb5 feat: add [Timeout] attribute for per-method request timeouts (#​2238) @​glennawatson
  • reactiveui/refit@​88d5e68214dc890b4e2641c11ee2940cc03d64d6 feat: add CollectionFormat.Indexed for indexed query collection expansion (#​2262) @​Copilot @​glennawatson @​JavierGarcíadelaNocedaArgüelles @​jgarciadelanoceda
  • reactiveui/refit@​294e63a4a48d9164ea5daf958f2fb5eb29120c77 feat: add success guards to the non-generic IApiResponse (#​2242) @​glennawatson
  • reactiveui/refit@​f754684d8d67f62489dfa304e0630b98c68b7fd8 feat: add interface-level [PathPrefix] attribute for a shared route prefix (#​2240) @​glennawatson
  • reactiveui/refit@​99c055b4064184bcc5b32efdaa250fa447474c7b feat: support optional url segments with {name?} syntax (#​2237) @​glennawatson
  • reactiveui/refit@​759a3c0fe2d43e46cd1e0000cedef824d97c238d feat: support returning the built HttpRequestMessage without sending (#​2235) @​glennawatson
  • reactiveui/refit@​d9b3d5f3ac28687cae557e9d6c4ed0901f9ea043 feat: support Server-Sent Events as a streaming content format (#​2232) @​glennawatson
  • reactiveui/refit@​1e35cc9c0d1ed07e10af1f671b90d25c4314787c feat: add [Url] attribute for absolute request URLs (#​2236) @​glennawatson
  • reactiveui/refit@​7c338710b98dcba74d12f4942b4a4c1d00dd0852 feat: add opt-in RefitSettings.ValidateHeaders (#​2225) @​glennawatson
  • reactiveui/refit@​b583a34b266de4cab5173d8c259f947f19aad03b feat: add null handling for round trip parameter and add verifying test (#​2201) @​TimothyMakkison
  • reactiveui/refit@​485c63211a86144228423844452c7df33c35ab61 feat: opt-in [FormObject] flattens a model into multipart form fields (#​2245) @​glennawatson
  • reactiveui/refit@​7ac3e1a3e9b7d4dd28a6ca1f7e00a6e9319d97ab feat: fix failiure when multiple generic overloads (#​2199) @​TimothyMakkison
  • reactiveui/refit@​852cb2c39b3740670a1e17d9c1470a551c09e2aa feat: move version configuration into AddConfiguredRequestOptions (#​2214) @​glennawatson @​TimothyMakkison
  • reactiveui/refit@​a2b158139ffc46d351920f7373dda655d4683319 feat: add analyzer diagnostics for invalid Refit interfaces (#​2220) @​glennawatson
  • reactiveui/refit@​4068d9739554a2649d1ec954e480cde1a75430a2 feature: Create a TransportExceptionFactory to let the user decide the exception to be thrown (#​2205) @​glennawatson @​JavierGarcíadelaNocedaArgüelles @​jgarciadelanoceda
  • reactiveui/refit@​ed63528dc18dc28925889045c736ff0d21e7f9a0 feat: optional auth header and scoped authorization token provider (#​2221) @​glennawatson
  • reactiveui/refit@​7bf7b41a0dd58119c032caa6cda991676278441f feat: inline constrained-generic path-bound objects in the source generator (#​2222) @​glennawatson
  • reactiveui/refit@​14895a493c84cea284c881cd5e0a5af656aa5b8b feat: expose call argument values to DelegatingHandlers (#​2223) @​glennawatson
  • reactiveui/refit@​37efb4e543ed8a04311b344f36a444f535408bc0 feat: add per-type URL parameter formatter registry (#​2226) @​glennawatson
  • reactiveui/refit@​aa1c19bfce5fc269dee974c024598f02d2a79e59 feat: publish method name and route template in request options (#​2239) @​glennawatson

♻️ Refactoring

  • reactiveui/refit@​aa2229bd7a8263f76eec493d857bdf5d1073eba6 refactor: resolve analyzer diagnostics across solution (#​2268) @​ChrisPulman

🐛 Fixes

  • reactiveui/refit@​809de10e91f198bd3089f61f3fbf5169feffc53c fix: do not dispose caller-supplied request streams (#​2234) @​glennawatson
  • reactiveui/refit@​71634f2c5d0845c311b1cf4f4bb512437fe86fb5 fix: escape keyword identifiers in generated interface member names (#​2248) @​glennawatson
  • reactiveui/refit@​17c24d82ab530b47c098c6a68b4b60c6a6190a99 fix: name generated helper types per assembly to avoid InternalsVisibleTo conflicts (#​2257) @​glennawatson
  • reactiveui/refit@​78271e1e34907cbdeeda36c71904b72c3fe25cb3 fix: generate inline query building for nullable value-type query objects (#​2265) @​rmja
  • reactiveui/refit@​02a037bccc6fa13d76aae72bfeeb1d0877992158 fix: flatten nested objects in url-encoded request bodies (#​2224) @​glennawatson

⚡ Performance

  • reactiveui/refit@​b575c9d95c6101d5b043188075ffdef8d3f7bc50 perf: AllAttributesCache replace Lazy with laziliy initialised code (#​2211) @​TimothyMakkison
  • reactiveui/refit@​b193498c7ad3005000d2c14b41814d1d99f78069 perf: replace StringBuilder with ValueStringBuilder (#​2270) @​TimothyMakkison
  • reactiveui/refit@​8382bed9878a9d75ec0f6b86c985bfad7e3802fb perf: reduce Refit.Reflection memory allocations (#​2267) @​glennawatson
  • reactiveui/refit@​8cea3f1cfebe6dca0fb78e6b2464b29666d2be4f perf: reduce runtime Refit memory allocations (#​2263) @​glennawatson
  • reactiveui/refit@​fc06c57dd872971a79ded40cdb5e3fd7221ecd19 perf: check for allowUnmatchedParameter before calling IndexOf (#​2252) @​TimothyMakkison
  • reactiveui/refit@​f24d1713f9682c6395f46264893a2dd19c732a58 perf: wrap helper methods in MethodImplOptions.AggressiveInlining (#​2260) @​TimothyMakkison
  • reactiveui/refit@​5dcfcc91618ba05a506f4c037fc97ac73da9c6d7 perf: cut source generator allocations and roughly halve generation time (#​2259) @​glennawatson
  • reactiveui/refit@​147282aa57f889a29d02b13654c38e0252c9f1c0 perf: replace StringBuilder with ValueStringBuilder in RoundTripEscapePath (#​2253) @​TimothyMakkison

🧹 General Changes

... (truncated)

14.0.0-beta.4

🗞️ What's Changed

💥 Breaking Changes

  • reactiveui/refit@​e511df252a1e53e760bf5a325a134953e50c172d feat!: reflection-free source-generated request building (#​2210) @​glennawatson @​TimothyMakkison

✨ Features

  • reactiveui/refit@​88e1c240245078bed6ba835920f0191c50911860 feat: add generic tests to ReflectionTests (#​2195) @​TimothyMakkison
  • reactiveui/refit@​463f5cfafb21a805cfeb9b9f4de6f07dee5fdbb5 feat: add [Timeout] attribute for per-method request timeouts (#​2238) @​glennawatson
  • reactiveui/refit@​294e63a4a48d9164ea5daf958f2fb5eb29120c77 feat: add success guards to the non-generic IApiResponse (#​2242) @​glennawatson
  • reactiveui/refit@​f754684d8d67f62489dfa304e0630b98c68b7fd8 feat: add interface-level [PathPrefix] attribute for a shared route prefix (#​2240) @​glennawatson
  • reactiveui/refit@​99c055b4064184bcc5b32efdaa250fa447474c7b feat: support optional url segments with {name?} syntax (#​2237) @​glennawatson
  • reactiveui/refit@​759a3c0fe2d43e46cd1e0000cedef824d97c238d feat: support returning the built HttpRequestMessage without sending (#​2235) @​glennawatson
  • reactiveui/refit@​d9b3d5f3ac28687cae557e9d6c4ed0901f9ea043 feat: support Server-Sent Events as a streaming content format (#​2232) @​glennawatson
  • reactiveui/refit@​1e35cc9c0d1ed07e10af1f671b90d25c4314787c feat: add [Url] attribute for absolute request URLs (#​2236) @​glennawatson
  • reactiveui/refit@​7c338710b98dcba74d12f4942b4a4c1d00dd0852 feat: add opt-in RefitSettings.ValidateHeaders (#​2225) @​glennawatson
  • reactiveui/refit@​b583a34b266de4cab5173d8c259f947f19aad03b feat: add null handling for round trip parameter and add verifying test (#​2201) @​TimothyMakkison
  • reactiveui/refit@​485c63211a86144228423844452c7df33c35ab61 feat: opt-in [FormObject] flattens a model into multipart form fields (#​2245) @​glennawatson
  • reactiveui/refit@​7ac3e1a3e9b7d4dd28a6ca1f7e00a6e9319d97ab feat: fix failiure when multiple generic overloads (#​2199) @​TimothyMakkison
  • reactiveui/refit@​852cb2c39b3740670a1e17d9c1470a551c09e2aa feat: move version configuration into AddConfiguredRequestOptions (#​2214) @​glennawatson @​TimothyMakkison
  • reactiveui/refit@​a2b158139ffc46d351920f7373dda655d4683319 feat: add analyzer diagnostics for invalid Refit interfaces (#​2220) @​glennawatson
  • reactiveui/refit@​4068d9739554a2649d1ec954e480cde1a75430a2 feature: Create a TransportExceptionFactory to let the user decide the exception to be thrown (#​2205) @​glennawatson @​JavierGarcíadelaNocedaArgüelles @​jgarciadelanoceda
  • reactiveui/refit@​ed63528dc18dc28925889045c736ff0d21e7f9a0 feat: optional auth header and scoped authorization token provider (#​2221) @​glennawatson
  • reactiveui/refit@​7bf7b41a0dd58119c032caa6cda991676278441f feat: inline constrained-generic path-bound objects in the source generator (#​2222) @​glennawatson
  • reactiveui/refit@​14895a493c84cea284c881cd5e0a5af656aa5b8b feat: expose call argument values to DelegatingHandlers (#​2223) @​glennawatson
  • reactiveui/refit@​37efb4e543ed8a04311b344f36a444f535408bc0 feat: add per-type URL parameter formatter registry (#​2226) @​glennawatson
  • reactiveui/refit@​aa1c19bfce5fc269dee974c024598f02d2a79e59 feat: publish method name and route template in request options (#​2239) @​glennawatson

🐛 Fixes

  • reactiveui/refit@​809de10e91f198bd3089f61f3fbf5169feffc53c fix: do not dispose caller-supplied request streams (#​2234) @​glennawatson
  • reactiveui/refit@​17c24d82ab530b47c098c6a68b4b60c6a6190a99 fix: name generated helper types per assembly to avoid InternalsVisibleTo conflicts (#​2257) @​glennawatson
  • reactiveui/refit@​78271e1e34907cbdeeda36c71904b72c3fe25cb3 fix: generate inline query building for nullable value-type query objects (#​2265) @​rmja
  • reactiveui/refit@​71634f2c5d0845c311b1cf4f4bb512437fe86fb5 fix: escape keyword identifiers in generated interface member names (#​2248) @​glennawatson
  • reactiveui/refit@​02a037bccc6fa13d76aae72bfeeb1d0877992158 fix: flatten nested objects in url-encoded request bodies (#​2224) @​glennawatson

⚡ Performance

  • reactiveui/refit@​8382bed9878a9d75ec0f6b86c985bfad7e3802fb perf: reduce Refit.Reflection memory allocations (#​2267) @​glennawatson
  • reactiveui/refit@​8cea3f1cfebe6dca0fb78e6b2464b29666d2be4f perf: reduce runtime Refit memory allocations (#​2263) @​glennawatson
  • reactiveui/refit@​b575c9d95c6101d5b043188075ffdef8d3f7bc50 perf: AllAttributesCache replace Lazy with laziliy initialised code (#​2211) @​TimothyMakkison
  • reactiveui/refit@​fc06c57dd872971a79ded40cdb5e3fd7221ecd19 perf: check for allowUnmatchedParameter before calling IndexOf (#​2252) @​TimothyMakkison
  • reactiveui/refit@​f24d1713f9682c6395f46264893a2dd19c732a58 perf: wrap helper methods in MethodImplOptions.AggressiveInlining (#​2260) @​TimothyMakkison
  • reactiveui/refit@​147282aa57f889a29d02b13654c38e0252c9f1c0 perf: replace StringBuilder with ValueStringBuilder in RoundTripEscapePath (#​2253) @​TimothyMakkison
  • reactiveui/refit@​5dcfcc91618ba05a506f4c037fc97ac73da9c6d7 perf: cut source generator allocations and roughly halve generation time (#​2259) @​glennawatson

🧹 General Changes

  • reactiveui/refit@​3d0546d41691dcbcf0be73732e464beb2ec7eb67 build: add PerformanceSharp.Analyzers and upgrade StyleSharp.Analyzers to 3.17.7 (#​2206) @​glennawatson
  • reactiveui/refit@​ddc42c9cb456c2f74140b37a4375f63dc11139f6 build: upgrade StyleSharp/PerformanceSharp analyzers to 3.26.0 (#​2227) @​glennawatson
  • reactiveui/refit@​a9932f856788daf92b642423473c70ee55944786 chore: enable 1000 lines for real @​glennawatson
  • reactiveui/refit@​8cc1c374c227f5cd05168e775d98741e06f5a485 chore: Relax number of file lines to 1000 lines instead of 500 @​glennawatson
  • reactiveui/refit@​44f81dedf6d153fd0a44f8547e9f0620a2debcef ci: gate native AOT smoke test via shared reusable workflow (#​2244) @​glennawatson
  • reactiveui/refit@​393b245a1be45d2840c9e093b076c1f2ae29e13a ci: add alpha/beta/rc pre-release channel to release workflow @​glennawatson
    ... (truncated)

14.0.0-beta.3

🗞️ What's Changed

💥 Breaking Changes

  • reactiveui/refit@​e511df252a1e53e760bf5a325a134953e50c172d feat!: reflection-free source-generated request building (#​2210) @​glennawatson @​TimothyMakkison

✨ Features

  • reactiveui/refit@​88e1c240245078bed6ba835920f0191c50911860 feat: add generic tests to ReflectionTests (#​2195) @​TimothyMakkison
  • reactiveui/refit@​463f5cfafb21a805cfeb9b9f4de6f07dee5fdbb5 feat: add [Timeout] attribute for per-method request timeouts (#​2238) @​glennawatson
  • reactiveui/refit@​294e63a4a48d9164ea5daf958f2fb5eb29120c77 feat: add success guards to the non-generic IApiResponse (#​2242) @​glennawatson
  • reactiveui/refit@​f754684d8d67f62489dfa304e0630b98c68b7fd8 feat: add interface-level [PathPrefix] attribute for a shared route prefix (#​2240) @​glennawatson
  • reactiveui/refit@​99c055b4064184bcc5b32efdaa250fa447474c7b feat: support optional url segments with {name?} syntax (#​2237) @​glennawatson
  • reactiveui/refit@​759a3c0fe2d43e46cd1e0000cedef824d97c238d feat: support returning the built HttpRequestMessage without sending (#​2235) @​glennawatson
  • reactiveui/refit@​d9b3d5f3ac28687cae557e9d6c4ed0901f9ea043 feat: support Server-Sent Events as a streaming content format (#​2232) @​glennawatson
  • reactiveui/refit@​1e35cc9c0d1ed07e10af1f671b90d25c4314787c feat: add [Url] attribute for absolute request URLs (#​2236) @​glennawatson
  • reactiveui/refit@​7c338710b98dcba74d12f4942b4a4c1d00dd0852 feat: add opt-in RefitSettings.ValidateHeaders (#​2225) @​glennawatson
  • reactiveui/refit@​b583a34b266de4cab5173d8c259f947f19aad03b feat: add null handling for round trip parameter and add verifying test (#​2201) @​TimothyMakkison
  • reactiveui/refit@​485c63211a86144228423844452c7df33c35ab61 feat: opt-in [FormObject] flattens a model into multipart form fields (#​2245) @​glennawatson
  • reactiveui/refit@​7ac3e1a3e9b7d4dd28a6ca1f7e00a6e9319d97ab feat: fix failiure when multiple generic overloads (#​2199) @​TimothyMakkison
  • reactiveui/refit@​852cb2c39b3740670a1e17d9c1470a551c09e2aa feat: move version configuration into AddConfiguredRequestOptions (#​2214) @​glennawatson @​TimothyMakkison
  • reactiveui/refit@​a2b158139ffc46d351920f7373dda655d4683319 feat: add analyzer diagnostics for invalid Refit interfaces (#​2220) @​glennawatson
  • reactiveui/refit@​4068d9739554a2649d1ec954e480cde1a75430a2 feature: Create a TransportExceptionFactory to let the user decide the exception to be thrown (#​2205) @​glennawatson @​JavierGarcíadelaNocedaArgüelles @​jgarciadelanoceda
  • reactiveui/refit@​ed63528dc18dc28925889045c736ff0d21e7f9a0 feat: optional auth header and scoped authorization token provider (#​2221) @​glennawatson
  • reactiveui/refit@​7bf7b41a0dd58119c032caa6cda991676278441f feat: inline constrained-generic path-bound objects in the source generator (#​2222) @​glennawatson
  • reactiveui/refit@​14895a493c84cea284c881cd5e0a5af656aa5b8b feat: expose call argument values to DelegatingHandlers (#​2223) @​glennawatson
  • reactiveui/refit@​37efb4e543ed8a04311b344f36a444f535408bc0 feat: add per-type URL parameter formatter registry (#​2226) @​glennawatson
  • reactiveui/refit@​aa1c19bfce5fc269dee974c024598f02d2a79e59 feat: publish method name and route template in request options (#​2239) @​glennawatson

🐛 Fixes

  • reactiveui/refit@​809de10e91f198bd3089f61f3fbf5169feffc53c fix: do not dispose caller-supplied request streams (#​2234) @​glennawatson
  • reactiveui/refit@​17c24d82ab530b47c098c6a68b4b60c6a6190a99 fix: name generated helper types per assembly to avoid InternalsVisibleTo conflicts (#​2257) @​glennawatson
  • reactiveui/refit@​71634f2c5d0845c311b1cf4f4bb512437fe86fb5 fix: escape keyword identifiers in generated interface member names (#​2248) @​glennawatson
  • reactiveui/refit@​02a037bccc6fa13d76aae72bfeeb1d0877992158 fix: flatten nested objects in url-encoded request bodies (#​2224) @​glennawatson

⚡ Performance

  • reactiveui/refit@​b575c9d95c6101d5b043188075ffdef8d3f7bc50 perf: AllAttributesCache replace Lazy with laziliy initialised code (#​2211) @​TimothyMakkison
  • reactiveui/refit@​fc06c57dd872971a79ded40cdb5e3fd7221ecd19 perf: check for allowUnmatchedParameter before calling IndexOf (#​2252) @​TimothyMakkison
  • reactiveui/refit@​f24d1713f9682c6395f46264893a2dd19c732a58 perf: wrap helper methods in MethodImplOptions.AggressiveInlining (#​2260) @​TimothyMakkison
  • reactiveui/refit@​5dcfcc91618ba05a506f4c037fc97ac73da9c6d7 perf: cut source generator allocations and roughly halve generation time (#​2259) @​glennawatson
  • reactiveui/refit@​147282aa57f889a29d02b13654c38e0252c9f1c0 perf: replace StringBuilder with ValueStringBuilder in RoundTripEscapePath (#​2253) @​TimothyMakkison

🧹 General Changes

  • reactiveui/refit@​3d0546d41691dcbcf0be73732e464beb2ec7eb67 build: add PerformanceSharp.Analyzers and upgrade StyleSharp.Analyzers to 3.17.7 (#​2206) @​glennawatson
  • reactiveui/refit@​8cc1c374c227f5cd05168e775d98741e06f5a485 chore: Relax number of file lines to 1000 lines instead of 500 @​glennawatson
  • reactiveui/refit@​393b245a1be45d2840c9e093b076c1f2ae29e13a ci: add alpha/beta/rc pre-release channel to release workflow @​glennawatson
  • reactiveui/refit@​44f81dedf6d153fd0a44f8547e9f0620a2debcef ci: gate native AOT smoke test via shared reusable workflow (#​2244) @​glennawatson
  • reactiveui/refit@​ddc42c9cb456c2f74140b37a4375f63dc11139f6 build: upgrade StyleSharp/PerformanceSharp analyzers to 3.26.0 (#​2227) @​glennawatson

✅ Tests

  • reactiveui/refit@​e5da8b850622d8f99b7d41dcb4e69909ba709b85 test: reach 100% product code coverage (#​2243) @​glennawatson
  • reactiveui/refit@​e67c5c43dd10ff6a59d6d5e6a91bfd5d8eca5c69 test: cover TransportExceptionFactory cancellation and timeout behavior (#​2203) @​arpitjain099 @​glennawatson
    ... (truncated)

14.0.0-beta.2

🗞️ What's Changed

💥 Breaking Changes

  • reactiveui/refit@​e511df252a1e53e760bf5a325a134953e50c172d feat!: reflection-free source-generated request building (#​2210) @​glennawatson @​TimothyMakkison

✨ Features

  • reactiveui/refit@​88e1c240245078bed6ba835920f0191c50911860 feat: add generic tests to ReflectionTests (#​2195) @​TimothyMakkison
  • reactiveui/refit@​485c63211a86144228423844452c7df33c35ab61 feat: opt-in [FormObject] flattens a model into multipart form fields (#​2245) @​glennawatson
  • reactiveui/refit@​463f5cfafb21a805cfeb9b9f4de6f07dee5fdbb5 feat: add [Timeout] attribute for per-method request timeouts (#​2238) @​glennawatson
  • reactiveui/refit@​294e63a4a48d9164ea5daf958f2fb5eb29120c77 feat: add success guards to the non-generic IApiResponse (#​2242) @​glennawatson
  • reactiveui/refit@​7c338710b98dcba74d12f4942b4a4c1d00dd0852 feat: add opt-in RefitSettings.ValidateHeaders (#​2225) @​glennawatson
  • reactiveui/refit@​f754684d8d67f62489dfa304e0630b98c68b7fd8 feat: add interface-level [PathPrefix] attribute for a shared route prefix (#​2240) @​glennawatson
  • reactiveui/refit@​d9b3d5f3ac28687cae557e9d6c4ed0901f9ea043 feat: support Server-Sent Events as a streaming content format (#​2232) @​glennawatson
  • reactiveui/refit@​99c055b4064184bcc5b32efdaa250fa447474c7b feat: support optional url segments with {name?} syntax (#​2237) @​glennawatson
  • reactiveui/refit@​759a3c0fe2d43e46cd1e0000cedef824d97c238d feat: support returning the built HttpRequestMessage without sending (#​2235) @​glennawatson
  • reactiveui/refit@​1e35cc9c0d1ed07e10af1f671b90d25c4314787c feat: add [Url] attribute for absolute request URLs (#​2236) @​glennawatson
  • reactiveui/refit@​b583a34b266de4cab5173d8c259f947f19aad03b feat: add null handling for round trip parameter and add verifying test (#​2201) @​TimothyMakkison
  • reactiveui/refit@​7ac3e1a3e9b7d4dd28a6ca1f7e00a6e9319d97ab feat: fix failiure when multiple generic overloads (#​2199) @​TimothyMakkison
  • reactiveui/refit@​852cb2c39b3740670a1e17d9c1470a551c09e2aa feat: move version configuration into AddConfiguredRequestOptions (#​2214) @​glennawatson @​TimothyMakkison
  • reactiveui/refit@​a2b158139ffc46d351920f7373dda655d4683319 feat: add analyzer diagnostics for invalid Refit interfaces (#​2220) @​glennawatson
  • reactiveui/refit@​aa1c19bfce5fc269dee974c024598f02d2a79e59 feat: publish method name and route template in request options (#​2239) @​glennawatson
  • reactiveui/refit@​37efb4e543ed8a04311b344f36a444f535408bc0 feat: add per-type URL parameter formatter registry (#​2226) @​glennawatson
  • reactiveui/refit@​4068d9739554a2649d1ec954e480cde1a75430a2 feature: Create a TransportExceptionFactory to let the user decide the exception to be thrown (#​2205) @​glennawatson @​JavierGarcíadelaNocedaArgüelles @​jgarciadelanoceda
  • reactiveui/refit@​ed63528dc18dc28925889045c736ff0d21e7f9a0 feat: optional auth header and scoped authorization token provider (#​2221) @​glennawatson
  • reactiveui/refit@​7bf7b41a0dd58119c032caa6cda991676278441f feat: inline constrained-generic path-bound objects in the source generator (#​2222) @​glennawatson
  • reactiveui/refit@​14895a493c84cea284c881cd5e0a5af656aa5b8b feat: expose call argument values to DelegatingHandlers (#​2223) @​glennawatson

🐛 Fixes

  • reactiveui/refit@​71634f2c5d0845c311b1cf4f4bb512437fe86fb5 fix: escape keyword identifiers in generated interface member names (#​2248) @​glennawatson
  • reactiveui/refit@​809de10e91f198bd3089f61f3fbf5169feffc53c fix: do not dispose caller-supplied request streams (#​2234) @​glennawatson
  • reactiveui/refit@​02a037bccc6fa13d76aae72bfeeb1d0877992158 fix: flatten nested objects in url-encoded request bodies (#​2224) @​glennawatson

⚡ Performance

  • reactiveui/refit@​b575c9d95c6101d5b043188075ffdef8d3f7bc50 perf: AllAttributesCache replace Lazy with laziliy initialised code (#​2211) @​TimothyMakkison

🧹 General Changes

  • reactiveui/refit@​44f81dedf6d153fd0a44f8547e9f0620a2debcef ci: gate native AOT smoke test via shared reusable workflow (#​2244) @​glennawatson
  • reactiveui/refit@​393b245a1be45d2840c9e093b076c1f2ae29e13a ci: add alpha/beta/rc pre-release channel to release workflow @​glennawatson
  • reactiveui/refit@​3d0546d41691dcbcf0be73732e464beb2ec7eb67 build: add PerformanceSharp.Analyzers and upgrade StyleSharp.Analyzers to 3.17.7 (#​2206) @​glennawatson
  • reactiveui/refit@​ddc42c9cb456c2f74140b37a4375f63dc11139f6 build: upgrade StyleSharp/PerformanceSharp analyzers to 3.26.0 (#​2227) @​glennawatson

✅ Tests

  • reactiveui/refit@​e67c5c43dd10ff6a59d6d5e6a91bfd5d8eca5c69 test: cover TransportExceptionFactory cancellation and timeout behavior (#​2203) @​arpitjain099 @​glennawatson
  • reactiveui/refit@​865d0f25a83697fc9a3f5b779cb45c78c7cdc9d7 test(refit.testing): cover retry and timeout scenarios (#​2208) @​glennawatson
  • reactiveui/refit@​e5da8b850622d8f99b7d41dcb4e69909ba709b85 test: reach 100% product code coverage (#​2243) @​glennawatson

📝 Documentation

  • reactiveui/refit@​69eb3ee67d47cd0463f5258c023931bfe4ea462b docs: document IQueryConverter and httpClientName client-name override (#​2233) @​glennawatson
  • reactiveui/refit@​544db0b5671bfe5bec46185ed3298ba36119af65 docs: make v12 Error.Content migration discoverable and add interface composition example (#​2217) @​glennawatson

... (truncated)

14.0.0-beta.1

Summary

Refit 14 completes the shift to reflection-free, source-generated request building: interfaces whose methods all generate inline no longer touch the reflection request builder, so they are trim- and Native AOT-clean. The reflection request builder is now an opt-in package, and a few hot-path async members return ValueTask instead of Task. These are breaking changes - read the Breaking Changes below and the full v14 migration notes before upgrading.

Alongside that, this release adds a batch of request-shaping features - the new [Url], [PathPrefix], [Timeout], and [FormObject] attributes, optional {name?} URL segments, Server-Sent Events streaming, a per-type URL parameter formatter registry, optional/scoped authorization, building a request without sending it, and exposing call arguments to delegating handlers - plus bug fixes, a performance pass, and new analyzer diagnostics for invalid Refit interfaces.

🗞️ What's Changed

💥 Breaking Changes

  • reactiveui/refit@​e511df252a1e53e760bf5a325a134953e50c172d feat!: reflection-free source-generated request building (#​2210) @​glennawatson @​TimothyMakkison

✨ Features

  • reactiveui/refit@​485c63211a86144228423844452c7df33c35ab61 feat: opt-in [FormObject] flattens a model into multipart form fields (#​2245) @​glennawatson
  • reactiveui/refit@​88e1c240245078bed6ba835920f0191c50911860 feat: add generic tests to ReflectionTests (#​2195) @​TimothyMakkison
  • reactiveui/refit@​463f5cfafb21a805cfeb9b9f4de6f07dee5fdbb5 feat: add [Timeout] attribute for per-method request timeouts (#​2238) @​glennawatson
  • reactiveui/refit@​7c338710b98dcba74d12f4942b4a4c1d00dd0852 feat: add opt-in RefitSettings.ValidateHeaders (#​2225) @​glennawatson
  • reactiveui/refit@​294e63a4a48d9164ea5daf958f2fb5eb29120c77 feat: add success guards to the non-generic IApiResponse (#​2242) @​glennawatson
  • reactiveui/refit@​d9b3d5f3ac28687cae557e9d6c4ed0901f9ea043 feat: support Server-Sent Events as a streaming content format (#​2232) @​glennawatson
  • reactiveui/refit@​759a3c0fe2d43e46cd1e0000cedef824d97c238d feat: support returning the built HttpRequestMessage without sending (#​2235) @​glennawatson
  • reactiveui/refit@​f754684d8d67f62489dfa304e0630b98c68b7fd8 feat: add interface-level [PathPrefix] attribute for a shared route prefix (#​2240) @​glennawatson
  • reactiveui/refit@​99c055b4064184bcc5b32efdaa250fa447474c7b feat: support optional url segments with {name?} syntax (#​2237) @​glennawatson
  • reactiveui/refit@​1e35cc9c0d1ed07e10af1f671b90d25c4314787c feat: add [Url] attribute for absolute request URLs (#​2236) @​glennawatson
  • reactiveui/refit@​b583a34b266de4cab5173d8c259f947f19aad03b feat: add null handling for round trip parameter and add verifying test (#​2201) @​TimothyMakkison
  • reactiveui/refit@​7ac3e1a3e9b7d4dd28a6ca1f7e00a6e9319d97ab feat: fix failiure when multiple generic overloads (#​2199) @​TimothyMakkison
  • reactiveui/refit@​852cb2c39b3740670a1e17d9c1470a551c09e2aa feat: move version configuration into AddConfiguredRequestOptions (#​2214) @​glennawatson @​TimothyMakkison
  • reactiveui/refit@​aa1c19bfce5fc269dee974c024598f02d2a79e59 feat: publish method name and route template in request options (#​2239) @​glennawatson
  • reactiveui/refit@​37efb4e543ed8a04311b344f36a444f535408bc0 feat: add per-type URL parameter formatter registry (#​2226) @​glennawatson
  • reactiveui/refit@​a2b158139ffc46d351920f7373dda655d4683319 feat: add analyzer diagnostics for invalid Refit interfaces (#​2220) @​glennawatson
  • reactiveui/refit@​4068d9739554a2649d1ec954e480cde1a75430a2 feature: Create a TransportExceptionFactory to let the user decide the exception to be thrown (#​2205) @​glennawatson @​jgarciadelanoceda
  • reactiveui/refit@​ed63528dc18dc28925889045c736ff0d21e7f9a0 feat: optional auth header and scoped authorization token provider (#​2221) @​glennawatson
  • reactiveui/refit@​7bf7b41a0dd58119c032caa6cda991676278441f feat: inline constrained-generic path-bound objects in the source generator (#​2222) @​glennawatson
  • reactiveui/refit@​14895a493c84cea284c881cd5e0a5af656aa5b8b feat: expose call argument values to DelegatingHandlers (#​2223) @​glennawatson

🐛 Fixes

  • reactiveui/refit@​809de10e91f198bd3089f61f3fbf5169feffc53c fix: do not dispose caller-supplied request streams (#​2234) @​glennawatson
  • reactiveui/refit@​02a037bccc6fa13d76aae72bfeeb1d0877992158 fix: flatten nested objects in url-encoded request bodies (#​2224) @​glennawatson

⚡ Performance

  • reactiveui/refit@​b575c9d95c6101d5b043188075ffdef8d3f7bc50 perf: AllAttributesCache replace Lazy with laziliy initialised code (#​2211) @​TimothyMakkison

🧹 General Changes

  • reactiveui/refit@​44f81dedf6d153fd0a44f8547e9f0620a2debcef ci: gate native AOT smoke test via shared reusable workflow (#​2244) @​glennawatson
  • reactiveui/refit@​393b245a1be45d2840c9e093b076c1f2ae29e13a ci: add alpha/beta/rc pre-release channel to release workflow @​glennawatson
  • reactiveui/refit@​3d0546d41691dcbcf0be73732e464beb2ec7eb67 build: add PerformanceSharp.Analyzers and upgrade StyleSharp.Analyzers to 3.17.7 (#​2206) @​glennawatson
  • reactiveui/refit@​ddc42c9cb456c2f74140b37a4375f63dc11139f6 build: upgrade StyleSharp/PerformanceSharp analyzers to 3.26.0 (#​2227) @​glennawatson

✅ Tests

  • reactiveui/refit@​e5da8b850622d8f99b7d41dcb4e69909ba709b85 test: reach 100% product code coverage (#​2243) @​glennawatson
  • reactiveui/refit@​e67c5c43dd10ff6a59d6d5e6a91bfd5d8eca5c69 test: cover TransportExceptionFactory cancellation and timeout behavior (#​2203) @​arpitjain099 @​glennawatson
  • reactiveui/refit@​865d0f25a83697fc9a3f5b779cb45c78c7cdc9d7 test(refit.testing): cover retry and timeout scenarios (#​2208) @​glennawatson
    ... (truncated)

13.1.0

🗞️ What's Changed

  • Fixed the CS0436 build error from PrimitivesR3BridgeGeneratedAttribute (#​2176, #​2194). Bumps ReactiveUI.Primitives to 6.0.0, which moves the R3 bridge generator out of the runtime package. Projects using InternalsVisibleTo (e.g. test projects) build again, and the <Analyzer Remove=... /> workaround is no longer needed.
  • Path parameters now use generated request building instead of reflection (#​2174), so they work with AddRefitGeneratedClient and NativeAOT. Now covers enum, Guid, DateTime/DateTimeOffset/DateOnly/TimeOnly/TimeSpan, all integer widths (incl. Int128/UInt128/Half), and any IFormattable (#​2193).

✨ Features

  • reactiveui/refit@​b592413509791e267aba66f24e2cf2be9ec1508a feat: add generated request building support for path parameters in the URL. (#​2174) @​calebkiage @​glennawatson
  • reactiveui/refit@​9bc675408e2950b54f7e96911f8c6b9754f39e3f feat: support more path parameter types in generated request building (#​2193) @​glennawatson

🧹 General Changes

  • reactiveui/refit@​ac79c760e414adeca629adbe290b5765cea41df2 build: update NuGet dependencies (#​2198) @​glennawatson

🔗 Full Changelog: reactiveui/refit@v13.0.0...13.1.0

🙌 Contributions

🌱 New contributors since the last release: @​calebkiage
💖 Thanks to all the contributors: @​calebkiage, @​glennawatson

13.0.0

🗞️ What's Changed

Refit 13 is a major release focused on security hardening and a brand-new testing package.

  • Security hardening (#​2181) — closes issues found in a security audit. XML deserialization is now protected against XXE (external entity) attacks, the Newtonsoft.Json integration no longer honours unsafe TypeNameHandling by default (blocking type-confusion/deserialization attacks), and sensitive values (auth headers, tokens) are now redacted from exception and log output. This is the main reason for the major version bump: if you relied on permissive Newtonsoft type handling you may need to opt back in explicitly.
  • New Refit.Testing package (#​2184) — a first-party way to stub and verify Refit clients in tests without spinning up a real HttpClient. Supply canned responses for interface calls and assert which requests your code made, instead of hand-rolling HttpMessageHandler fakes.
  • R3 bridge analyzer fix (#​2186) — corrects the removal target for the R3 bridge analyzer.
  • CI and documentation tidy-ups for SonarCloud on fork pull requests.

✨ Features

  • reactiveui/refit@​cc24382535a48c24e15100a3f58914a6e4fe8dcc feat: security hardening from audit (XXE, Newtonsoft type handling, redaction) (#​2181) @​glennawatson
  • reactiveui/refit@​339cb8d39e16d05770217902ad9794f0fe289869 feat: add Refit.Testing package for stubbing and verifying clients (#​2184) @​glennawatson

🧹 General Changes

  • reactiveui/refit@​5d272c8dc2d691d8c793abe64f1b9e430fdbec4f ci: run SonarCloud on fork pull requests @​glennawatson

📝 Documentation

  • reactiveui/refit@​533bbbe525a51eed6397c0d522e5e9cdc281c50b docs: slim fork-PR SonarCloud wrapper comments @​glennawatson

📌 Other

  • reactiveui/refit@​c0bbb5a857691bb7cd39c19d573a3f21faaaf607 [codex] Fix R3 bridge analyzer removal target (#​2186) @​ChrisPulman

🔗 Full Changelog: reactiveui/refit@v12.1.0...v13.0.0

🙌 Contributions

💖 Thanks to all the contributors: @​ChrisPulman, @​glennawatson

12.1.0

🗞️ What's Changed

✨ Features

  • reactiveui/refit@​89f17aec24691e38a9b9f87238276e6b754ef981 feat: AOT-safe generated-only client DI registration and case-insensitive problem+json detection (#​2172) @​glennawatson
  • reactiveui/refit@​b31e9fe53f6d64c6e5597efd367cbddb123022a4 feat: read sent request body and synchronously inspect the error body on ApiException (#​2175) @​glennawatson

🐛 Fixes

  • reactiveui/refit@​e3ec13ffa2a8867ce93245b892bfe731d2acc96a fix: correctly annotate error out parameters for nullable flow (#​2177) @​HulinCedric

📝 Documentation

  • reactiveui/refit@​db3305331c7c81c663d233043a3ff5c53d3e65e9 docs: document v12 breaking changes and update package versions (#​2180) @​ChrisPulman

📦 Dependencies

  • reactiveui/refit@​459aec45f0705e9ed3237bab7c230ce9e521b7fe chore(deps): update dependency verify.diffplex to 3.3.0 (#​2178) @​renovate[bot]

🔗 Full Changelog: reactiveui/refit@v12.0.0...12.1.0

🙌 Contributions

💖 Thanks to all the contributors: @​ChrisPulman, @​glennawatson, @​HulinCedric

🤖 Automated services that contributed: @​renovate[bot]

12.0.0

Overview

Refit 12.0 is a large release centred on a near-complete rewrite of how requests are built. The source generator now constructs HTTP requests inline at compile time instead of going through the reflection pipeline, making generated clients faster and friendly to trimming and Native AOT. On top of that foundation it adds response streaming, JSON Lines, naming-convention presets, and a batch of long-standing fixes. Two small, well-scoped breaking changes are called out below.

This release also removed netstandard2.0 and netstandard2.1 support. You should to use net462/net8 as your base lines, and use multiple targets if you need to target both.

Highlights

  • Reflection-free, AOT-ready source generation. Eligible interface methods now have their request (URI, headers, body, request properties) built directly in generated code, with the reflection request-builder kept only as a fallback for shapes that cannot be generated inline. Form bodies flatten through compiled, source-generated field descriptors. The generator itself was modernised and optimised, and ships analyzer diagnostics and code fixes. There is also a generated-only client-creation mode and a build-time switch for generated request building.
  • IAsyncEnumerable<T> response streaming. Stream large responses, auto-detecting a JSON array vs JSON Lines from the content type, generated inline on the hot path.
  • JSON Lines request bodies. [Body(BodySerializationMethod.JsonLines)] plus a streaming JsonLinesContent (application/x-ndjson), wired through both the reflection and source-gen paths.
  • Naming-convention presets. RefitSettings.CamelCase() / SnakeCase() / KebabCase() configure query keys, form-url-encoded keys, and JSON body property names consistently, plus snake/kebab URL key formatters. Opt-in, so existing behaviour is unchanged.
  • Response ergonomics. EnsureSuccessStatusCodeAsync() / EnsureSuccessfulAsync() are now available directly on IApiResponse<T>; a new IsSuccessfulWithContent (and HasContent) gives a single, mock-safe success-with-content check; nullable annotations on IApiResponse<T> were corrected to be sound.
  • URL and route control. Opt-in RFC 3986 / HttpClient-style URL resolution via RefitSettings.UrlResolution, and RefitSettings.AllowUnmatchedRouteParameters to leave an unmatched {token} for a DelegatingHandler to rewrite.
  • Faster JSON. A fast-path serialization option (SystemTextJsonContentSerializer.GetFastPathJsonSerializerOptions()) and buffered/streamed request-body modes that run through it.
  • Smaller additions. [Query(SerializeNull = true)] to send a null property as key= instead of omitting it, and a public UniqueName.ForType<T>() to resolve the generated IHttpClientFactory client name.
  • Fixes. Multipart Guid/DateTime/DateTimeOffset/TimeSpan (and DateOnly/TimeOnly) are sent as plain text (#​2016); property-level [Query(delimiter, prefix)] is honoured when flattening complex objects (#​1334); [Query(Format = "")] serializes a complex value via ToString() (#​1281); and IApiResponse<T> no longer shadows base members (#​1933).

Breaking changes and migration

  • IApiResponse<T> no longer shadows base members. The new-shadowed Error, ContentHeaders, IsSuccessStatusCode, and IsSuccessful members are removed from the generic interface. Source that reads these still compiles (they bind to the inherited base members), but code compiled against v8-v11 that bound to the generic-interface slots needs a recompile. If you relied on IsSuccessful to narrow Content to non-null on an IApiResponse<T>-typed value, switch to HasContent / IsSuccessfulWithContent.
  • The default System.Text.Json serializer now reads numbers from JSON strings (NumberHandling = AllowReadingFromString). Opt back out with NumberHandling = JsonNumberHandling.Strict on your JsonSerializerOptions.

🗞️ What's Changed

💥 Breaking Changes

  • reactiveui/refit@​8b70ca1c072ac17741615e38918dfe50b970dc8b break: request-building fixes, JSON Lines, and response ergonomics (#​2155) @​glennawatson
  • reactiveui/refit@​3881cc67286012268521a58740752556ed500bcf break: add IAsyncEnumerable streaming and opt-in URL, route and JSON serialization modes (#​2157) @​glennawatson

✨ Features

  • reactiveui/refit@​6f2e43dadafdf965e6764b07220b30239990b860 feat: respect naming conventions across query, form and JSON body (#​2154) @​glennawatson
  • reactiveui/refit@​196cd4966dee21f89cc982970171e174f3249427 feat: add IsSuccessfulWithContent and correct IApiResponse nullable annotations (#​2159) @​glennawatson
  • reactiveui/refit@​e28a38438ebd16e94b41de860cc609820377170c feat: generate request construction to avoid reflection pipeline (#​2150) @​glennawatson
  • reactiveui/refit@​98982b48d27a94e0d3caac0d692ccc927db00d2c feat: reflection-free generated form serialization, opt-in null values, and public UniqueName (#​2164) @​glennawatson
  • reactiveui/refit@​bf488d6a0849184eb1d1b72368fb0d7b5c5b019f feat: improve generated clients for AOT (#​2151) @​glennawatson

♻️ Refactoring

  • reactiveui/refit@​3fd4ce6f0d76405c69c5681cc4a660ab3a708d9f refactor: replace System.Reactive with ReactiveUI.Primitives and integrate observable test helpers (#​2152) @​glennawatson
  • reactiveui/refit@​c7c14b43f9ff954cf5249a6c25e526b5bdf75eb6 refactor: align Refit with rxui coding standards and modernize (#​2149) @​glennawatson

⚡ Performance

  • reactiveui/refit@​3717256d32f6dac0503e66aad68795fe1929a2f7 perf: modernize and optimize the Refit source generator (#​2148) @​glennawatson

🧹 General Changes

  • reactiveui/refit@​0aae034524fef8a3b56074e56edc21d15f771bb7 build: update StyleSharp.Analyzers to 3.13.4 and align editorconfig (#​2163) @​glennawatson

🔗 Full Changelog: reactiveui/refit@v11.2.0...v12.0.0

... (truncated)

11.2.0

🗞️ What's Changed

🐛 Fixes

  • reactiveui/refit@​13882dacbfe0466a6fb432b22f0aac224e8ce36a fix: honor parameter-level CollectionFormat for inner collections (#​2144) @​glennawatson
  • reactiveui/refit@​54a8e62f263e3867a2f6ad5de4a915d7eb266717 fix: ValidationApiException propagates ContentHeaders and uses configured serializer (#​2146) @​glennawatson
  • reactiveui/refit@​d694baf1c6297e37c483068270f8758bb54140dc fix: populate ApiException.Content when deserialization fails (#​2145) @​glennawatson

🔗 Full Changelog: reactiveui/refit@v11.1.0...v11.2.0

🙌 Contributions

💖 Thanks to all the contributors: @​glennawatson

11.1.0

🗞️ What's Changed

🐛 Fixes

  • reactiveui/refit@​be087067732c838d320c98654bf8dc6368cb7884 Fix: serialize body by runtime type for interface/abstract parameters (#​2118) (#​2119) @​HulinCedric
  • reactiveui/refit@​d58ce5a3a5d815ec93fac22cd38e2b1ba15dc246 fix: keep only baseline analyzer on legacy toolchains (#​2136) @​glennawatson
  • reactiveui/refit@​10ab2ce39ddd40f52eb0b5cb427f4caa969e96e9 fix: handle empty responses and edge cases in JSON serialization (#​2138) @​ChrisPulman @​glennawatson
  • reactiveui/refit@​f9a24abf09056d12d238d8cf15a3b123f1bc1aec fix: clearer error when a response has no request message (#​2141) @​glennawatson
  • reactiveui/refit@​98868fa8d893090b81cb4c2ba7c67c114505b4ce fix: detect nullable CancellationToken parameters (#​2139) @​glennawatson
  • reactiveui/refit@​7a3489ef3772047858104e88ab13c6ba9c2d4c93 fix: correct URL and query string building edge cases (#​2137) @​glennawatson
  • reactiveui/refit@​8f9b4606f932f5ef65911aa0c4b5aaf64c4e4411 fix: request building edge cases for headers, query and enum params (#​2140) @​glennawatson

🧹 General Changes

  • reactiveui/refit@​988d17ab40281b22d017d0226eede0ccc4b54613 build: adopt central package management and modernize MSBuild (#​2142) @​glennawatson

📝 Documentation

  • reactiveui/refit@​2989a5e7044804231cb7072342a67aaa0cf71760 docs: Fix Refit 10 typo that should be Refit 11 (#​2143) @​PressXtoChris

📦 Dependencies

  • reactiveui/refit@​b71c90c70e19d1ad366455a56d4782938cc8d258 Update dotnet monorepo (#​2123) @​renovate[bot]
  • reactiveui/refit@​b2e3c17c9a614260da21c910da991cc18705a141 Update ASP.NET Core (#​2122) @​renovate[bot]
  • reactiveui/refit@​5f67752c26dc07851a77f2f42084fceca05ef106 chore(deps): update dotnet monorepo to v8 (#​2130) @​renovate[bot]
  • reactiveui/refit@​780979c8bda4bc96f13e84e07060db83317b2de8 Update Microsoft.Testing to 18.8.0 (#​2126) @​renovate[bot]

🔗 Full Changelog: reactiveui/refit@v11.0.1...v11.1.0

🙌 Contributions

🌱 New contributors since the last release: @​HulinCedric
💖 Thanks to all the contributors: @​ChrisPulman, @​glennawatson, @​HulinCedric, @​PressXtoChris

🤖 Automated services that contributed: @​renovate[bot]

11.0.1

🗞️ What's Changed

🧹 General Changes

  • reactiveui/refit@​484edf6e67310493766b9e4010793bdeaacfb1d7 build: default examples to IsPackable=false @​glennawatson

📌 Other

  • reactiveui/refit@​8652c5e7ac8189dc85aa3748dca1808b3c3c825d Proposal to fix 2115 (#​2116) @​xIceFox

🔗 Full Changelog: reactiveui/refit@v11.0.0...11.0.1

🙌 Contributions

🌱 New contributors since the last release: @​xIceFox
💖 Thanks to all the contributors: @​glennawatson, @​xIceFox

11.0.0

⚠️ This is a breaking release (major: 10.x → 11.0.0)

11.0.0 reworks Refit's error/exception model and tightens interface validation. Most apps will compile, but code that inspects ApiResponse.Error, reads StatusCode, or catches transport exceptions around Refit calls will need changes. These are the same breaking changes that briefly shipped in the now‑delisted 10.1.7 and were reported by the community in #​2114.

💡 Need a drop‑in, non‑breaking replacement for 10.1.6? Use 10.2.0 — it is 10.1.6 re‑signed with a valid certificate (the 10.1.6 cert was revoked, see #​2114). Move to 11.0.0 when you're ready to adopt the changes below.

💥 What changed & how to migrate

1. ApiResponse<T>.Error is now ApiExceptionBase? (was ApiException?) (#​2052)
A new abstract base ApiExceptionBase now sits under both ApiException and the new ApiRequestException. ApiExceptionBase does not expose Content / HasContent — those still live on ApiException.

// before
string? body = response.Error?.Content;

// after — narrow to ApiException first
if (response.Error is ApiException apiEx)
{
    string? body = apiEx.Content;   // Content/HasContent are on ApiException
}

2. New ApiRequestException wraps transport/connection failures (#​2052)
Exceptions thrown by HttpClient.SendAsync before a response arrives — HttpRequestException (DNS/host unreachable), TaskCanceledException (timeouts), etc. — are now wrapped in ApiRequestException : ApiExceptionBase, carrying the full request context. For ApiResponse<T> return types these are now surfaced via .Error instead of only being thro...

Description has been truncated

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibilit...

Description has been truncated

---
updated-dependencies:
- dependency-name: Refit
  dependency-version: 16.3.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added .NET Pull requests that update .net code dependencies Pull requests that update a dependency file labels Oct 1, 2026
Copilot AI balanced review requested due to automatic review settings October 1, 2026 09:25
@dependabot
dependabot Bot requested a review from a team as a code owner October 1, 2026 09:25
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file .NET Pull requests that update .net code labels Oct 1, 2026

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.

Copilot review overview

🟢 Approval recommended

Existing Refit usage is compatible with the upgraded package and covered by tests.

Review effort: Balanced
Findings: None

What changed in this PR

Updates the centrally managed Refit dependency from 10.2.0 to 16.3.0.

Changes:

  • Upgrades Refit across samples, tests, and benchmarks.
File Description
Directory.Packages.props Updates the central Refit package version.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@codecov

codecov Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.33%. Comparing base (3d5da88) to head (8c4c869).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1170   +/-   ##
=======================================
  Coverage   99.33%   99.33%           
=======================================
  Files          15       15           
  Lines         896      896           
  Branches      205      205           
=======================================
  Hits          890      890           
  Misses          4        4           
  Partials        2        2           
Flag Coverage Δ
linux 99.33% <ø> (ø)
macos 99.33% <ø> (ø)
windows 99.33% <ø> (ø)

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

☔ View full report in Codecov by Harness.
📢 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.

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.

1 participant