Releases: tmenier/Flurl
Flurl.Http 4.0.2
- BUGFIX:
GetJsonAsync
+ResponseHeadersRead
was failing (#794) - BUGFIX: Clientless + relative URLs wasn't prepending default base URL (#803)
New Contributors
- @rwasef1830 made their first contribution in #800
Full Changelog: Flurl.Http.4.0.1...Flurl.Http.4.0.2
Flurl.Http.Newtonsoft 0.9.1
BUGFIX: UseNewtonsoft + clientless pattern, default serializer was used to serialize request body (#783)
Flurl.Http 4.0.1
BUGFIX: Custom serializer not used on request body with clientless pattern (#783)
Flurl.Http.Newtonsoft 0.9.0
Official beta release of companion lib for Flurl.Http 4.0+ that allows Newtonsoft.Json to continue to be used despite its removal, easing backward compatibility with 3.x.
- Brings back
NewtonsoftJsonSerializer
from 3.x for use in 4.0 and beyond - Brings back non-generic,
dynamic
-returning extension methods from 3.x:GetJsonAsync()
andGetJsonListAsync()
ReceiveJson()
andReceiveJsonList()
FlurlHttpException.GetResponseJsonAsync
- Easy registration via
IFlurlClientBuilder.UseNewtonsoft()
andIFlurlClientCache.UseNewtonsoft()
Flurl.Http 4.0.0
This is a significant release with many breaking changes. Please read carefully. An upgrade guide has also been added to the documentation.
Big stuff, all BREAKING:
- Removed dependency on
Newtonsoft.Json
in favor ofSystem.Text.Json
(#517)- Rather stick with Newtonsoft? Try the new Flurl.Http.Newtonsoft companion package
- Removed all non-generic,
dynamic
-returning JSON methods (#699)- Flurl.Http.Newtonsoft also brings these back.
- Huge overhaul of Flurl's configuration system to make it more fluent and more DI-friendly (#770)
- "Factories" are removed, replaced by fluent configuration of HttpClient and HttpMessageHandlers
FlurlHttp
static object completely overhauled, now mostly just responsible for client caching associated with "clientless" usage patternConfigure
andConfigureRequest
methods renamed toWithSettings
- Overhaul of Event Handlers (#784)
- No longer available on
Settings
- Fluent extension methods still work
- No longer available on
Smaller stuff, all BREAKING:
Settings.ConnectionLeaseTimeout
removed (#703)WithClient
extension methods removed (#590)CancellationToken
moved to last arg everywhere that it isn't (#702)AllowHttpStatus
now takesint
instead ofHttpStatusCode
args (#785)GetStreamAsync
defaults to unbuffered behavior (#630)IFlurlClient.Settings
andIFlurlRequest.Settings
container objects are read-onlyIFlurlClient.HttpMessageHandler
removedFlurlCall.RedirectedFrom
moved toIFlurlRequest
(accessible viaFlurlCall.Request.RedirectedFrom
)FlurlResponse
ctor takes aFlurlCall
instead of anHttpResponseMessage
FlurlRequest.Client
is no longer instantiated on demand by just referencing the property. If it hasn't been set explicitly, or (more common) by callingFlurlClient.Request
, it will remain null until the request is sentIHttpSettingsContainer
renamed toISettingsContainer
, and itsHeaders
property moved to (new)IHeadersContainer
(#773)FakeHttpMessageHandler
,TestHttpClientFactory
, andTestFlurlHttpSettings
types all removed
Non-breaking enhancements and bug fixes:
- First-class support for persisting and restoring
CookieJar
(#758) - HTTP 2.0 support via
Settings.HttpVersion
(#639) AllowRealHttp
now reverts to original HttpClient, eliminating certain quirks (#683)- Flurl no longer disposes request message automatically, per best practices (#650)
- Removed circular redirect detection (#714)
- Bugfix:
ShouldHaveCalled
false negative with URL ending with?
(#721) - Bugfix: extra space added to Content-Type headers (#740)
Flurl 4.0.0
Flurl.Http.Newtonsoft 0.9.0-pre3
- Added
dynamic
-returningFlurlHttpException.GetResponseJsonAsync
- Added README
Full Changelog: Flurl.Http.4.0.0-pre7...Flurl.Http.Newtonsoft.0.9.0-pre3
Flurl.Http 4.0.0-pre7
- BREAKING: Event handler changes (#784)
- BREAKING:
AllowHttpStatus
now takesint
instead ofHttpStatusCode
args (#785) - BUGFIX: User-Agent header didn't copy over from HttpClient correctly (#778)
Full Changelog: Flurl.Http.Newtonsoft.0.9.0-pre2...Flurl.Http.4.0.0-pre7
Flurl.Http.Newtonsoft 0.9.0-pre2
Initial release of companion lib for Flurl.Http 4.0+ that allows Newtonsoft.Json to continue to be used despite its removal, easing backward compatibility with 3.x.
- Implementation of
ISerializer
based on Newtonsoft.Json. - Support for
dynamic
s viaGetJson
andGetJsonList
(previously removed from Flurl.Http). - Easy registration via
IFlurlClientBuilder.UseNewtonsoft()
andIFlurlClientCache.UseNewtonsoft()
.
Flurl.Http.Newtonsoft 0.9.0-pre1
Flurl.Http.Newtonsoft.0.9.0-pre1 coverage threshold should be met now