Skip to content

4.0.0

Compare
Choose a tag to compare
@dustinmoris dustinmoris released this 29 Sep 11:48
· 376 commits to master since this release

Giraffe 4.0.0 has been tested against netcoreapp3.0 alongside netcoreapp2.1 and net461. All sample code has been upgraded to .NET Core 3.0 as well.

ATTENTION:

This release of Giraffe fixes a bug in the routef handler which would have previously matched a route too eagerly.

Before:
Route: /foo/bar/hello/world
routef: /foo/bar/%s
Match: true
Now:
Route: /foo/bar/hello/world
routef: /foo/bar/%s
Match: false

For more information please see issue #347.

New features

  • Support array of 'T as a child in form binding
  • Added a new DateTime extension method ToIsoString which produces a RFC3339 formatted string, and corrected the docs on the existing ToHtmlString extension method which actually produces a RFC822 formatted string.

Bug fixes and breaking changes

  • Fixed routef to not match more than one URL path segment.

  • Fixed the _ariaLabelledBy attribute in the GiraffeViewEngine

  • Fixed case insensitive route handlers on Ubuntu

  • Changed minimum version of Newtonsoft.Json to 11.0.2. This allows Giraffe to be compatible with Azure Functions.

  • Renamed tryMatchInput to tryMatchInputExact and swapped the order of arguments so that the string value comes last

  • Added new version of tryMatchInput which accepts MatchSettings record:

    type MatchMode =
        | Exact                // Will try to match entire string from start to end.
        | StartsWith           // Will try to match a substring. Subject string should start with test case.
        | EndsWith             // Will try to match a substring. Subject string should end with test case.
        | Contains             // Will try to match a substring. Subject string should contain test case.
    
    type MatchOptions = { IgnoreCase: bool; MatchMode: MatchMode; }