chore(deps): update dependency refit to v14 - #158
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
13.1.0→14.0.0Release Notes
reactiveui/refit (Refit)
v14.0.0: 14.0.0Refit 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
Refit.Reflectionpackage. Fully generated clients should not add it.ValueTask. This affects the success-guard methods,DefaultApiExceptionFactory.CreateAsync, and severalRefitSettingsdelegates. Most callers can continue toawaitthem; code that stores aTaskmay need.AsTask().ToString().ApiExceptionstack traces.AuthorizationHeaderValueGetterno longer sends a blankAuthorizationheader.Major fixes
InternalsVisibleToassemblies, and null parameter values round-trip correctly.Highlights
[PathPrefix], per-method[Timeout], absolute URLs with[Url], optional route segments, indexed query collections, header validation, and returning a builtHttpRequestMessagewithout sending it.IAsyncEnumerable<T>, and transport exceptions can be customized withTransportExceptionFactory.See the V14 migration details and complete feature documentation.
🗞️ What's Changed
💥 Breaking Changes
e511df2feat!: reflection-free source-generated request building (#2210) @glennawatson @TimothyMakkison✨ Features
88e1c24feat: add generic tests toReflectionTests(#2195) @TimothyMakkison463f5cffeat: add [Timeout] attribute for per-method request timeouts (#2238) @glennawatson294e63afeat: add success guards to the non-generic IApiResponse (#2242) @glennawatsonf754684feat: add interface-level [PathPrefix] attribute for a shared route prefix (#2240) @glennawatson65f864efeat: only generateAttributeProviderfield when not empty (#2271) @TimothyMakkison99c055bfeat: support optional url segments with {name?} syntax (#2237) @glennawatson759a3c0feat: support returning the built HttpRequestMessage without sending (#2235) @glennawatson88d5e68feat: add CollectionFormat.Indexed for indexed query collection expansion (#2262) @Copilot @glennawatson @jgarciadelanocedad9b3d5ffeat: support Server-Sent Events as a streaming content format (#2232) @glennawatson1e35cc9feat: add [Url] attribute for absolute request URLs (#2236) @glennawatson7c33871feat: add opt-in RefitSettings.ValidateHeaders (#2225) @glennawatsonb583a34feat: add null handling for round trip parameter and add verifying test (#2201) @TimothyMakkison485c632feat: opt-in [FormObject] flattens a model into multipart form fields (#2245) @glennawatson7ac3e1afeat: fix failiure when multiple generic overloads (#2199) @TimothyMakkison852cb2cfeat: move version configuration intoAddConfiguredRequestOptions(#2214) @glennawatson @TimothyMakkisona2b1581feat: add analyzer diagnostics for invalid Refit interfaces (#2220) @glennawatson4068d97feature: Create a TransportExceptionFactory to let the user decide the exception to be thrown (#2205) @glennawatson @jgarciadelanocedaed63528feat: optional auth header and scoped authorization token provider (#2221) @glennawatson7bf7b41feat: inline constrained-generic path-bound objects in the source generator (#2222) @glennawatson14895a4feat: expose call argument values to DelegatingHandlers (#2223) @glennawatson37efb4efeat: add per-type URL parameter formatter registry (#2226) @glennawatsonaa1c19bfeat: publish method name and route template in request options (#2239) @glennawatson♻️ Refactoring
aa2229brefactor: resolve analyzer diagnostics across solution (#2268) @ChrisPulman🐛 Fixes
8e4237bfix:Analyzer false positive on Indexed CollectionFormat (#2274) @jgarciadelanoceda809de10fix: do not dispose caller-supplied request streams (#2234) @glennawatson71634f2fix: escape keyword identifiers in generated interface member names (#2248) @glennawatson17c24d8fix: name generated helper types per assembly to avoid InternalsVisibleTo conflicts (#2257) @glennawatson78271e1fix: generate inline query building for nullable value-type query objects (#2265) @rmja02a037bfix: flatten nested objects in url-encoded request bodies (#2224) @glennawatson⚡ Performance
147282aperf: replaceStringBuilderwithValueStringBuilderinRoundTripEscapePath(#2253) @TimothyMakkisonb193498perf: replaceStringBuilderwithValueStringBuilder(#2270) @TimothyMakkisoneb92914perf: callPooledStringBuilderdirectly and removeConcatPartsandJoinParts(#2275) @TimothyMakkisonb575c9dperf:AllAttributesCachereplaceLazywith laziliy initialised code (#2211) @TimothyMakkison8382bedperf: reduce Refit.Reflection memory allocations (#2267) @glennawatsonfc06c57perf: check forallowUnmatchedParameterbefore callingIndexOf(#2252) @TimothyMakkisonf24d171perf: wrap helper methods inMethodImplOptions.AggressiveInlining(#2260) @TimothyMakkison8cea3f1perf: reduce runtime Refit memory allocations (#2263) @glennawatson5dcfcc9perf: cut source generator allocations and roughly halve generation time (#2259) @glennawatson🧹 General Changes
44f81deci: gate native AOT smoke test via shared reusable workflow (#2244) @glennawatsona9932f8chore: enable 1000 lines for real @glennawatson393b245ci: add alpha/beta/rc pre-release channel to release workflow @glennawatson8cc1c37chore: Relax number of file lines to 1000 lines instead of 500 @glennawatson✅ Tests
e5da8b8test: reach 100% product code coverage (#2243) @glennawatson865d0f2test(refit.testing): cover retry and timeout scenarios (#2208) @glennawatsone67c5c4test: cover TransportExceptionFactory cancellation and timeout behavior (#2203) @arpitjain099 @glennawatson📝 Documentation
544db0bdocs: make v12 Error.Content migration discoverable and add interface composition example (#2217) @glennawatson69eb3eedocs: document IQueryConverter and httpClientName client-name override (#2233) @glennawatson📦 Dependencies
3d0546d, @ddc42c9, @5cd9a96); Verify.DiffPlex 3.3.1 (@841ff03); Verify.TUnit 31.24.2, 31.24.3, 31.25.0, and 31.27.0 (@136d002, @e1512d1, @fb87be5, @cf77d87); actions/setup-dotnet v6 (@b920e21); and the lock-threads workflow action (@d688b1f).🔗 Full Changelog: reactiveui/refit@v13.1.0...v14.0.0
🙌 Contributions
🌱 New contributors since the last release: @arpitjain099, @jgarciadelanoceda, @rmja
💖 Thanks to all the contributors: @arpitjain099, @ChrisPulman, @Copilot, @glennawatson, @jgarciadelanoceda, @rmja, @TimothyMakkison
🤖 Automated services that contributed: @renovate[bot]
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.