What are the breaking changes in version 9.*? #2036
-
|
I see that version 9 is out, but I cannot find where the breaking changes are listed, I do see the Releases page with changes but I don't really see breaking changes at first glance. I see this was asked for the previous version here, but didn't see one for version 9 (9.02 now). |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
|
I upgraded and had to rollback as there is a bug #2044 where if you have a trailing character after your parameter, it gets dropped. |
Beta Was this translation helpful? Give feedback.
-
|
There is no separate hand-written "breaking changes" page for 9.x or 10.x; the only curated breaking-changes notes in the README are for 6.x and 11.x. So here is the practical summary for 8 -> 9 -> 10. The big breaking change in 9.x is target frameworks. Refit 8 multi-targeted net462; netstandard2.0; net6.0; net8.0. Refit 9 dropped net6.0 and targets net462; netstandard2.0; net8.0; net9.0 (10 adds net10.0). If you (or one of your dependencies) target net6.0/net7.0, that is the most common cause of upgrade failures - move to net8.0+ or stay on netstandard2.0. Other things that bite people moving across 9/10:
If you want the exact API-level deltas, the most reliable source is the public API snapshot diff between tags, e.g. compare src/Refit.Tests/API/ApiApprovalTests.Refit.*.verified.txt across the 8.0.0, 9.0.2, 10.x and 11.x tags - every public surface change shows up there. For "how safe is 8 -> 9": if your TFM is net8.0+ or netstandard2.0 it is usually a clean bump; the compile errors others reported were generally net6.0 targeting or downstream libraries still on the old generator. Note there was a separate query-trailing-character bug reported as #2044 in 9.x; check whether it affects your routes before upgrading. |
Beta Was this translation helpful? Give feedback.
There is no separate hand-written "breaking changes" page for 9.x or 10.x; the only curated breaking-changes notes in the README are for 6.x and 11.x. So here is the practical summary for 8 -> 9 -> 10.
The big breaking change in 9.x is target frameworks. Refit 8 multi-targeted net462; netstandard2.0; net6.0; net8.0. Refit 9 dropped net6.0 and targets net462; netstandard2.0; net8.0; net9.0 (10 adds net10.0). If you (or one of your dependencies) target net6.0/net7.0, that is the most common cause of upgrade failures - move to net8.0+ or stay on netstandard2.0.
Other things that bite people moving across 9/10: