Bump Refit from 10.1.6 to 11.0.1#24
Conversation
--- updated-dependencies: - dependency-name: Refit dependency-version: 11.0.1 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | 0 |
| Duplication | 0 |
AI Reviewer: first review requested successfully. AI can make mistakes. Always validate suggestions.
TIP This summary will be updated as you push new changes.
There was a problem hiding this comment.
Pull Request Overview
This PR bumps the Refit dependency from version 10.1.6 to 11.0.1. While the package update itself is straightforward, Refit 11.0.0 is a major breaking release that changes the error model and makes status codes nullable.
The current implementation only updates Directory.Packages.props. Without corresponding updates to the consuming code, this PR will likely result in build failures or runtime exceptions where ApiResponse properties are accessed. Acceptance criteria for handling these breaking changes have not been met.
About this PR
- The PR only contains a version bump in 'Directory.Packages.props'. Because Refit 11.0.0 introduces breaking changes to the error model and status code handling, the absence of updates to the consuming code is highly likely to cause build failures or runtime exceptions.
Test suggestions
- Verify compilation of all Refit API client interfaces following stricter validation rules in v11.
- Verify that error handling logic correctly processes the new 'ApiExceptionBase' hierarchy (ApiException vs ApiRequestException).
- Verify that consumers of 'ApiResponse.StatusCode' correctly handle null values when a request fails to reach the server.
Prompt proposal for missing tests
Consider implementing these tests if applicable:
1. Verify compilation of all Refit API client interfaces following stricter validation rules in v11.
2. Verify that error handling logic correctly processes the new 'ApiExceptionBase' hierarchy (ApiException vs ApiRequestException).
3. Verify that consumers of 'ApiResponse.StatusCode' correctly handle null values when a request fails to reach the server.
TIP Improve review quality by adding custom instructions
TIP How was this review? Give us feedback
| <PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.4.0" /> | ||
| <PackageVersion Include="Nerdbank.GitVersioning" Version="3.9.50" /> | ||
| <PackageVersion Include="Refit" Version="10.1.6" /> | ||
| <PackageVersion Include="Refit" Version="11.0.1" /> |
There was a problem hiding this comment.
🔴 HIGH RISK
Refit 11.0.0 introduces breaking changes: 'ApiResponse.Error' is now 'ApiExceptionBase?' and 'StatusCode' is now nullable. Consuming code must be updated to handle these changes (e.g., handling null status codes or casting the error to 'ApiException' to access 'Content') to avoid compilation or runtime errors.
|
Looks like Refit is no longer updatable, so this is no longer needed. |
Updated Refit from 10.1.6 to 11.0.1.
Release notes
Sourced from Refit's releases.
11.0.1
🗞️ What's Changed
🧹 General Changes
📌 Other
🔗 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
11.0.0 reworks Refit's error/exception model and tightens interface validation. Most apps will compile, but code that inspects
ApiResponse.Error, readsStatusCode, or catches transport exceptions around Refit calls will need changes. These are the same breaking changes that briefly shipped in the now‑delisted10.1.7and were reported by the community in #2114.💥 What changed & how to migrate
1.
ApiResponse<T>.Erroris nowApiExceptionBase?(wasApiException?) (#2052)A new abstract base
ApiExceptionBasenow sits under bothApiExceptionand the newApiRequestException.ApiExceptionBasedoes not exposeContent/HasContent— those still live onApiException.2. New
ApiRequestExceptionwraps transport/connection failures (#2052)Exceptions thrown by
HttpClient.SendAsyncbefore a response arrives —HttpRequestException(DNS/host unreachable),TaskCanceledException(timeouts), etc. — are now wrapped inApiRequestException : ApiExceptionBase, carrying the full request context. ForApiResponse<T>return types these are now surfaced via.Errorinstead of only being thrown, so you no longer need a separatetry/catchandIsSuccessfulcheck.3.
ApiResponse<T>.StatusCodeis now nullable (HttpStatusCode?) (#2052)When the request never reached the server there is no status code. Code that assumed a non‑null value must handle
null:4. Stricter interface validation + enum name handling (#2068)
Synchronous return types are now only permitted for generated/non‑public interface members (
RestMethodInfoenforces the rule), and the System.Text.Json enum converter now maps serialized names both ways (includingJsonStringEnumMemberNameon .NET 9+). Interfaces that previously relied on unsupported sync members may now fail generation.🗞️ What's Changed
✨ Features & Enhancements
ApiRequestExceptionfor wrappingSendAsyncexceptions (new error model) by @PressXtoChris in #2052AddRefitClientoverloads and tests by @ChrisPulman in #2084... (truncated)
10.2.0
NOTE
This is a re-release of v10.1.6 which had a certificate revoked.
🗞️ What's Changed
🐛 Fixes
🧹 General Changes
📦 Dependencies
📌 Other
🔗 Full Changelog: reactiveui/refit@10.0.1...10.1.6
🙌 Contributions
💖 Thanks to all the contributors: @ChrisPulman
🤖 Automated services that contributed: @renovate[bot]
Commits viewable in compare view.
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 commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)