Update dependency Refit.HttpClientFactory to v13#607
Merged
Conversation
c8aacda to
7581eff
Compare
6c5f97b to
53cd4d9
Compare
53cd4d9 to
6c8c0bb
Compare
Contributor
Author
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
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:
11.2.0→13.1.0Release Notes
reactiveui/refit (Refit.HttpClientFactory)
v13.1.0: 13.1.0🗞️ What's Changed
CS0436build error fromPrimitivesR3BridgeGeneratedAttribute(#2176, #2194). BumpsReactiveUI.Primitivesto 6.0.0, which moves the R3 bridge generator out of the runtime package. Projects usingInternalsVisibleTo(e.g. test projects) build again, and the<Analyzer Remove=... />workaround is no longer needed.AddRefitGeneratedClientand NativeAOT. Now coversenum,Guid,DateTime/DateTimeOffset/DateOnly/TimeOnly/TimeSpan, all integer widths (incl.Int128/UInt128/Half), and anyIFormattable(#2193).✨ Features
b592413feat: add generated request building support for path parameters in the URL. (#2174) @calebkiage @glennawatson9bc6754feat: support more path parameter types in generated request building (#2193) @glennawatson🧹 General Changes
ac79c76build: 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
v13.0.0: 13.0.0🗞️ What's Changed
Refit 13 is a major release focused on security hardening and a brand-new testing package.
TypeNameHandlingby 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.Refit.Testingpackage (#2184) — a first-party way to stub and verify Refit clients in tests without spinning up a realHttpClient. Supply canned responses for interface calls and assert which requests your code made, instead of hand-rollingHttpMessageHandlerfakes.✨ Features
cc24382feat: security hardening from audit (XXE, Newtonsoft type handling, redaction) (#2181) @glennawatson339cb8dfeat: add Refit.Testing package for stubbing and verifying clients (#2184) @glennawatson🧹 General Changes
5d272c8ci: run SonarCloud on fork pull requests @glennawatson📝 Documentation
533bbbedocs: slim fork-PR SonarCloud wrapper comments @glennawatson📌 Other
c0bbb5a[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
v12.1.0: 12.1.0🗞️ What's Changed
✨ Features
89f17aefeat: AOT-safe generated-only client DI registration and case-insensitive problem+json detection (#2172) @glennawatsonb31e9fefeat: read sent request body and synchronously inspect the error body on ApiException (#2175) @glennawatson🐛 Fixes
e3ec13ffix: correctly annotate error out parameters for nullable flow (#2177) @HulinCedric📝 Documentation
db33053docs: document v12 breaking changes and update package versions (#2180) @ChrisPulman📦 Dependencies
459aec4chore(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]
v12.0.0: 12.0.0Overview
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
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.[Body(BodySerializationMethod.JsonLines)]plus a streamingJsonLinesContent(application/x-ndjson), wired through both the reflection and source-gen paths.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.EnsureSuccessStatusCodeAsync()/EnsureSuccessfulAsync()are now available directly onIApiResponse<T>; a newIsSuccessfulWithContent(andHasContent) gives a single, mock-safe success-with-content check; nullable annotations onIApiResponse<T>were corrected to be sound.RefitSettings.UrlResolution, andRefitSettings.AllowUnmatchedRouteParametersto leave an unmatched{token}for aDelegatingHandlerto rewrite.SystemTextJsonContentSerializer.GetFastPathJsonSerializerOptions()) and buffered/streamed request-body modes that run through it.[Query(SerializeNull = true)]to send a null property askey=instead of omitting it, and a publicUniqueName.ForType<T>()to resolve the generatedIHttpClientFactoryclient name.Guid/DateTime/DateTimeOffset/TimeSpan(andDateOnly/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 viaToString()(#1281); andIApiResponse<T>no longer shadows base members (#1933).Breaking changes and migration
IApiResponse<T>no longer shadows base members. Thenew-shadowedError,ContentHeaders,IsSuccessStatusCode, andIsSuccessfulmembers 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 onIsSuccessfulto narrowContentto non-null on anIApiResponse<T>-typed value, switch toHasContent/IsSuccessfulWithContent.System.Text.Jsonserializer now reads numbers from JSON strings (NumberHandling = AllowReadingFromString). Opt back out withNumberHandling = JsonNumberHandling.Stricton yourJsonSerializerOptions.🗞️ What's Changed
💥 Breaking Changes
8b70ca1break: request-building fixes, JSON Lines, and response ergonomics (#2155) @glennawatson3881cc6break: add IAsyncEnumerable streaming and opt-in URL, route and JSON serialization modes (#2157) @glennawatson✨ Features
6f2e43dfeat: respect naming conventions across query, form and JSON body (#2154) @glennawatson196cd49feat: add IsSuccessfulWithContent and correct IApiResponse nullable annotations (#2159) @glennawatsone28a384feat: generate request construction to avoid reflection pipeline (#2150) @glennawatson98982b4feat: reflection-free generated form serialization, opt-in null values, and public UniqueName (#2164) @glennawatsonbf488d6feat: improve generated clients for AOT (#2151) @glennawatson♻️ Refactoring
3fd4ce6refactor: replace System.Reactive with ReactiveUI.Primitives and integrate observable test helpers (#2152) @glennawatsonc7c14b4refactor: align Refit with rxui coding standards and modernize (#2149) @glennawatson⚡ Performance
3717256perf: modernize and optimize the Refit source generator (#2148) @glennawatson🧹 General Changes
0aae034build: update StyleSharp.Analyzers to 3.13.4 and align editorconfig (#2163) @glennawatson🔗 Full Changelog: reactiveui/refit@v11.2.0...v12.0.0
🙌 Contributions
💖 Thanks to all the contributors: @glennawatson
Configuration
📅 Schedule: (UTC)
* 0-3 * * *)🚦 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.