All Versions
11
Latest Version
Avg Release Cycle
61 days
Latest Release
1680 days ago

Changelog History
Page 1

  • v3.0.0 Changes

    September 13, 2019

    ๐Ÿ— Flurl 3.0 contains a major rewrite of the URL building/parsing engine. It brings Flurl.Url's feature set more in line with System.Uri, while also addressing some of its quirks.

    ๐Ÿ†• New Features

    ๐Ÿ†• New Url properties (#440)

    • Scheme (read/write)
    • UserInfo (read/write)
    • Host (read/write)
    • Port (read/write)
    • Authority (read-only, UserInfo + Host + Port)
    • Root (read-only, Scheme + Authority)
    • PathSegments (modifiable)
    • IsRelative (read-only)

    - IsSecureScheme (read-only, true for https or wss)

    ๐Ÿ— All URL-building extension methods currently on string now available on System.Uri (#489)

    ๐Ÿ†• New fluent builder methods on Flurl.Url, System.Uri, and string:

    • RemovePathSegment() (removes the last segment)
    • RemovePath()
    • RemoveQuery()

    - Reset() (restores Url to its original state as constructed, NOT available on string)

    ๐Ÿ‘Œ Support for relative URLs (#407)

    Parameterless constructor for Url (#518)

    ๐Ÿ†• New static utility method: Url.ParsePathSegments(string) (assumes entire string is the path portion of a URL)

    ๐Ÿ’ฅ Breaking Changes from 2.x

    • ๐Ÿ†• New collection type for Url.QueryParams (#555)
    • Url.Path changed to be more in line with the formal definition. Previously it included everything (scheme, host, etc.) up to the query string. It now starts after the host/port, including the leading / if present.
    • Url.IsValid() instance method was removed. It was confusing in the case of relative URLs since arguably any string could be considered a valid relative URL. Check the IsRelative property instead. (Static Url.IsValid(string) method is still available but, same a before, returns true only for valid absolute URLs.)
    • โฌ‡๏ธ Dropping support for older platforms (#544)

    ๐Ÿ› Bug fixes:

    • Url.ToUri() now works for relative URLs (#407)
  • v3.0.0-pre6 Changes

    September 13, 2019

    ๐Ÿ— Flurl 3.0 contains a major rewrite of the URL building/parsing engine. It brings Flurl.Url's feature set more in line with System.Uri, while also addressing some of its quirks.

    ๐Ÿ†• New Features

    ๐Ÿ†• New Url properties (#440)

    • Scheme (read/write)
    • UserInfo (read/write)
    • Host (read/write)
    • Port (read/write)
    • Authority (read-only, UserInfo + Host + Port)
    • Root (read-only, Scheme + Authority)
    • PathSegments (modifiable)
    • IsRelative (read-only)

    - IsSecureScheme (read-only, true for https or wss)

    ๐Ÿ— All URL-building extension methods currently on string now available on System.Uri (#489)

    ๐Ÿ†• New fluent builder methods on Flurl.Url, System.Uri, and string:

    • RemovePathSegment() (removes the last segment)
    • RemovePath()
    • RemoveQuery()

    - Reset() (restores Url to its original state as constructed, NOT available on string)

    ๐Ÿ‘Œ Support for relative URLs (#407)

    Parameterless constructor for Url (#518)

    ๐Ÿ†• New static utility method: Url.ParsePathSegments(string) (assumes entire string is the path portion of a URL)

    ๐Ÿ’ฅ Breaking Changes from 2.x

    • ๐Ÿ†• New collection type for Url.QueryParams (#555)
    • Url.Path changed to be more in line with the formal definition. Previously it included everything (scheme, host, etc.) up to the query string. It now starts after the host/port, including the leading / if present.
    • Url.IsValid() instance method was removed. It was confusing in the case of relative URLs since arguably any string could be considered a valid relative URL. Check the IsRelative property instead. (Static Url.IsValid(string) method is still available but, same a before, returns true only for valid absolute URLs.)
    • โฌ‡๏ธ Dropping support for older platforms (#544)

    ๐Ÿ› Bug fixes:

    • Url.ToUri() now works for relative URLs (#407)
  • v3.0.0-pre5 Changes

    September 13, 2019

    ๐Ÿ— Flurl 3.0 contains a major rewrite of the URL building/parsing engine. It brings Flurl.Url's feature set more in line with System.Uri, while also addressing some of its quirks.

    ๐Ÿ†• New Features

    ๐Ÿ†• New Url properties (#440)

    • Scheme (read/write)
    • UserInfo (read/write)
    • Host (read/write)
    • Port (read/write)
    • Authority (read-only, UserInfo + Host + Port)
    • Root (read-only, Scheme + Authority)
    • PathSegments (modifiable)
    • IsRelative (read-only)

    - IsSecureScheme (read-only, true for https or wss)

    ๐Ÿ— All URL-building extension methods currently on string now available on System.Uri (#489)

    ๐Ÿ†• New fluent builder methods on Flurl.Url, System.Uri, and string:

    • RemovePathSegment() (removes the last segment)
    • RemovePath()
    • RemoveQuery()

    - Reset() (restores Url to its original state as constructed, NOT available on string)

    ๐Ÿ‘Œ Support for relative URLs (#407)

    Parameterless constructor for Url (#518)

    ๐Ÿ†• New static utility method: Url.ParsePathSegments(string) (assumes entire string is the path portion of a URL)

    ๐Ÿ’ฅ Breaking Changes from 2.x

    • ๐Ÿ†• New collection type for Url.QueryParams (#555)
    • Url.Path changed to be more in line with the formal definition. Previously it included everything (scheme, host, etc.) up to the query string. It now starts after the host/port, including the leading / if present.
    • Url.IsValid() instance method was removed. It was confusing in the case of relative URLs since arguably any string could be considered a valid relative URL. Check the IsRelative property instead. (Static Url.IsValid(string) method is still available but, same a before, returns true only for valid absolute URLs.)
    • โฌ‡๏ธ Dropping support for older platforms (#544)

    ๐Ÿ› Bug fixes:

    • Url.ToUri() now works for relative URLs (#407)
  • v3.0.0-pre4 Changes

    September 13, 2019

    ๐Ÿ— Flurl 3.0 contains a major rewrite of the URL building/parsing engine. It features better support for relative URLs, and brings its parsing capabilities more in line with System.Uri, while also addressing some of its quirks.

    ๐Ÿš€ This release also adds the same set of URL-building extension methods currently on string to System.Uri (#489).

    ๐Ÿ†• New Url properties:

    • Scheme (read/write)
    • UserInfo (read/write)
    • Host (read/write)
    • Port (read/write)
    • Authority (read-only, UserInfo + Host + Port)
    • Root (read-only, Scheme + Authority)
    • PathSegments (modifiable)
    • IsRelative (read-only)
    • IsSecureScheme (read-only, true for https or wss)

    ๐Ÿ†• New fluent builder methods on Flurl.Url, System.Uri, and string:

    • RemovePathSegment() (removes the last segment)
    • ๐Ÿšš RemovePath()
    • ๐Ÿšš RemoveQuery()
    • โช Reset() (restores Url to its original state as constructed, NOT available on string)

    Other:

    • ๐Ÿ†• New static utility mthod: Url.ParsePathSegments(string) (assumes entire string is the path portion of a URL)
    • ๐Ÿ“œ Url.SetQueryParams(object) gives special treatment to collections of Tuple<T1, T2> and ValueTuple<T1, T2>, parsing their values as name-value pairs.

    ๐Ÿ’ฅ BREAKING changes on Url:

    • Path changed to be more in line with the formal definition. Previously it included everything (scheme, host, etc.) up to the query string. It now starts after the host/port, including the leading / if present.
    • IsValid() instance method was removed. It was confusing in the case of relative URLs since arguably any string could be considered a valid relative URL. Check the IsRelative property instead. (Static Url.IsValid(string) method is still available but, same a before, returns true only for valid absolute URLs.)

    ๐Ÿ› Bug fixes:

    • Url.ToUri() now works for relative URLs (#407)
  • v3.0.0-pre3b Changes

    November 09, 2019

    ๐Ÿš€ [Features to be pre-released incrementally. Will update here.]

    ๐Ÿ†• New Features

    • FlurlResponse introduced, primarily to enable inspecting response and deserializing body in separate steps (#354)
    • โœ… Tests can be set up to return different fake responses depending on the URL or any other request conditions (#481)
    • โœ… HttpTest.ForCallsTo(...).AllowRealHttp() for allowing real calls to be made in a test for specific URLs or any other request conditions (#225)
    • All extension methods on Flurl.Url and string are now also available on System.Uri (#489)

    ๐Ÿ’ฅ Breaking Changes from 2.x

    • Fluent methods that previously returned HttpResponseMessage (such GetAsync, PostAsync, etc) now return FlurlResponse. If you're using GetJsonAsync or chaining ReceiveXXX methods, this shouldn't break anything (#354)
    • ๐Ÿšš HttpCall is now FlurlCall, and several properties of FlurlCall and FlurlHttpException were moved or renamed (#488)
    • When asserting a specific URL was called, it must be a full string match rather than "contains" or "starts with". Add a * wildcard to the beginning or end if you need partial match behavior (#323)
    • โœ… When faking responses in tests, the last response in the queue becomes "sticky" rather than falling back to empty 200 responses (#482)
    • ๐Ÿ— HttpTest.ResponseQueue public property has been removed. Underlying queue implementation changed significantly to support new features, and hopefully accessing it directly isn't needed. Use RespondWith methods to build the queues.

    ๐Ÿ› Bug Fixes

    • โœ… In tests, dequeuing fake responses is fully thread-safe (#366)
  • v3.0.0-pre3 Changes

    September 13, 2019

    ๐Ÿ— Flurl 3.0 contains a major rewrite of the URL building/parsing engine. It features better support for relative URLs, and brings its parsing capabilities more in line with System.Uri, while also addressing some of its quirks.

    ๐Ÿš€ This release also adds the same set of URL-building extension methods currently on string to System.Uri (#489).

    ๐Ÿ†• New Url properties:

    • Scheme (read/write)
    • UserInfo (read/write)
    • Host (read/write)
    • Port (read/write)
    • Authority (read-only, UserInfo + Host + Port)
    • Root (read-only, Scheme + Authority)
    • PathSegments (modifiable)
    • IsRelative (read-only)

    ๐Ÿ†• New fluent builder methods on Flurl.Url, System.Uri, and string:

    • RemovePathSegment() (removes the last segment)
    • ๐Ÿšš RemovePath()
    • ๐Ÿšš RemoveQuery()
    • โช Reset() (restores Url to its original state as constructed, NOT available on string)

    ๐Ÿ†• New static methods on Url:

    • ๐Ÿ“œ ParsePathSegments(string) (assumes entire string is the path portion of a URL)

    ๐Ÿ’ฅ BREAKING changes on Url:

    • Path changed to be more in line with the formal definition. Previously it included everything (scheme, host, etc.) up to the query string. It now starts after the host/port, including the leading / if present.
    • IsValid() instance method was removed. It was confusing in the case of relative URLs since arguably any string could be considered a valid relative URL. Check the IsRelative property instead. (Static Url.IsValid(string) method is still available but, same a before, returns true only for valid absolute URLs.)

    ๐Ÿ› Bug fixes:

    • Url.ToUri() now works for relative URLs (#407)
  • v3.0.0-pre2 Changes

    December 29, 2019

    2019-12-15

  • v3.0.0-pre1 Changes

    November 09, 2019

    2019-09-01

  • v2.8.2 Changes

    April 28, 2019
    • ๐Ÿ› Bug when decoding encoded + (#437)
  • v2.8.1 Changes

    February 15, 2019
    • โž• Added Url.Clone method (#420)
    • โž• Added Url ctor that takes a Uri (#406)
    • ๐Ÿ›  BUGFIX: Skip write-only props when converting objects to kv pairs (#373)