Skip to content

Releases: giraffe-fsharp/Giraffe

5.0.0-alpha-001

27 May 23:24
Compare
Choose a tag to compare
5.0.0-alpha-001 Pre-release
Pre-release
  • Only supported target framework is .NET Core 3.1 (in preparation for .NET 5)
  • Added System.Text.Json serializer
  • Added Giraffe.EndpointRouting namespace with a super early alpha version of new routing handlers which integrate with ASP.NET Core's endpoint routing API (check out the EndpointRoutingApp sample app for examples before the documentation is ready)
  • Removed Giraffe.GiraffeViewEngine (in preparation to distribute it as a separate NuGet package, which doesn't exist yet). This release has no GiraffeViewEngine which is one of the reasons why it's an alpha-001 release. Plans are to bring it back in 5.0.0-alpha-002
  • New JsonOnlyNegotiationConfig for setting a content negotiation which only supports JSON serialisation and not XML
  • Improved RegEx http handlers in original (non Endpoint routing) http handlers
  • Added SystemTextJsonSerializer which uses System.Text.Json for JSON serialisation when configured as the desired JSON serializer in Giraffe

4.1.0

13 Apr 11:30
Compare
Choose a tag to compare
  • Removed redundant dependencies
  • Fixed model binding for arrays (see #403)
  • Fixed pre-condition bug for the If-Unmodified-Since HTTP header (see #402)
  • Added netcoreapp3.1 support

4.0.1

18 Oct 16:12
Compare
Choose a tag to compare

Fixed dependency references for TFM netcoreapp3.0 projects.

4.0.0

29 Sep 11:48
Compare
Choose a tag to compare

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; }

3.6.0

10 Feb 14:43
Compare
Choose a tag to compare

Bug fixes

  • Fixed a bug in the subRouteCi http handler, which prevented nested sub routes to be case insensitive.

New features

  • Added two new HttpContext extension methods to retrieve cookie and form values:
    • GetCookieValue (key : string)
    • GetFormValue (key : string)

3.5.1

20 Jan 13:45
Compare
Choose a tag to compare

Bug fixes

  • Fixed a bug in Giraffe's model binding to not try to set read only properties anymore.

3.5.0

28 Dec 23:24
Compare
Choose a tag to compare

New features

  • Updated all packages and framework library dependencies to .NET Core 2.2.
  • Added a new GET_HEAD http handler (see: #314 for more info).
  • Added a new convenience function called handleContext, which can be used for creating new HttpHandler functions.

Bug fixes

  • Fixed the _data attribute in the GiraffeViewEngine to accept a key and value parameter now.

3.4.0

28 Oct 22:10
Compare
Choose a tag to compare

Another quick minor release to push out the authorizeRequest http handler.

New features

  • Added a new http handler called authorizeRequest to authorize a request based on a HttpContext -> bool predicate.
  • Added a new http handler called authorizeUser which is an alias for evaluateUserPolicy. The evaluateUserPolicy handler will be removed in the next major release.

3.3.0

28 Oct 08:43
Compare
Choose a tag to compare

Minor release to publish a couple feature requests:

New features

  • Added str as an alias for the encodedText function from the GiraffeViewEngine.
  • Added the HttpContext.GetRequestUrl() extension method to retrieve the entire URL string of the incoming HTTP request.

3.2.0

10 Oct 21:07
Compare
Choose a tag to compare

Improvements

  • Adding the charset parameter in the HTTP Content-Type response header when returning a text response (text/plain, text/html) or a JSON or XML response (application/json, application/xml). By default Giraffe is using UTF8 encoding for all its responses.