Flurl Versions Save

Fluent URL builder and testable HTTP client for .NET

Flurl.Http.4.0.2

4 months ago
  • BUGFIX: GetJsonAsync + ResponseHeadersRead was failing (#794)
  • BUGFIX: Clientless + relative URLs wasn't prepending default base URL (#803)

New Contributors

Full Changelog: https://github.com/tmenier/Flurl/compare/Flurl.Http.4.0.1...Flurl.Http.4.0.2

Flurl.Http.Newtonsoft.0.9.1

4 months ago

BUGFIX: UseNewtonsoft + clientless pattern, default serializer was used to serialize request body (#783)

Flurl.Http.4.0.1

4 months ago

BUGFIX: Custom serializer not used on request body with clientless pattern (#783)

Flurl.Http.Newtonsoft.0.9.0

5 months ago

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() and GetJsonListAsync()
    • ReceiveJson() and ReceiveJsonList()
    • FlurlHttpException.GetResponseJsonAsync
  • Easy registration via IFlurlClientBuilder.UseNewtonsoft() and IFlurlClientCache.UseNewtonsoft()

Flurl.Http.4.0.0

5 months ago

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 of System.Text.Json (#517)
  • Removed all non-generic, dynamic-returning JSON methods (#699)
  • 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 pattern
    • Configure and ConfigureRequest methods renamed to WithSettings
  • Overhaul of Event Handlers (#784)
    • No longer available on Settings
    • Fluent extension methods still work

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 takes int instead of HttpStatusCode args (#785)
  • GetStreamAsync defaults to unbuffered behavior (#630)
  • IFlurlClient.Settings and IFlurlRequest.Settings container objects are read-only
  • IFlurlClient.HttpMessageHandler removed
  • FlurlCall.RedirectedFrom moved to IFlurlRequest (accessible via FlurlCall.Request.RedirectedFrom)
  • FlurlResponse ctor takes a FlurlCall instead of an HttpResponseMessage
  • FlurlRequest.Client is no longer instantiated on demand by just referencing the property. If it hasn't been set explicitly, or (more common) by calling FlurlClient.Request, it will remain null until the request is sent
  • IHttpSettingsContainer renamed to ISettingsContainer, and its Headers property moved to (new) IHeadersContainer (#773)
  • FakeHttpMessageHandler, TestHttpClientFactory, and TestFlurlHttpSettings 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

5 months ago
  • AppendQueryParams method/overloads (#688), thx @Marusyk!
  • BUGFIX: SetQueryParams with collection, duplicate keys should append not overwrite (#370)
  • BUGFIX: False negatives with Url.IsValid (#462)

Flurl.Http.Newtonsoft.0.9.0-pre3

5 months ago
  • Added dynamic-returning FlurlHttpException.GetResponseJsonAsync
  • Added README

Full Changelog: https://github.com/tmenier/Flurl/compare/Flurl.Http.4.0.0-pre7...Flurl.Http.Newtonsoft.0.9.0-pre3

Flurl.Http.4.0.0-pre7

5 months ago
  • BREAKING: Event handler changes (#784)
  • BREAKING: AllowHttpStatus now takes int instead of HttpStatusCode args (#785)
  • BUGFIX: User-Agent header didn't copy over from HttpClient correctly (#778)

Full Changelog: https://github.com/tmenier/Flurl/compare/Flurl.Http.Newtonsoft.0.9.0-pre2...Flurl.Http.4.0.0-pre7

Flurl.Http.Newtonsoft.0.9.0-pre2

5 months ago

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 dynamics via GetJson and GetJsonList (previously removed from Flurl.Http).
  • Easy registration via IFlurlClientBuilder.UseNewtonsoft() and IFlurlClientCache.UseNewtonsoft().

Flurl.Http.Newtonsoft.0.9.0-pre1

5 months ago