All Versions
45
Latest Version
Avg Release Cycle
59 days
Latest Release
94 days ago

Changelog History
Page 1

  • v5.0.0-rc

    November 22, 2020

    โฌ†๏ธ Upgraded to .NET 5. The 5.x version of Giraffe is targeting net5.0 and dropping support for all other target frameworks. If you cannot upgrade a project to .NET 5 yet then stay on an older version of Giraffe until you can. Giraffe has always been a .NET Core centered project and in the .NET Core world (and now .NET 5 world) there is little to no reason why a project should remain on an old .NET Core version for a long time when upgrade paths are mostly as simple as changing the <TargetFramework> property in an .fsproj file.

    Summary of changes going into 5.0.0-rc-1

    ๐Ÿ‘ Only supported target framework is .NET 5

    โž• Added Giraffe.EndpointRouting namespace with a version of a few routing handlers which integrate with ASP.NET Core's endpoint routing API

    • Currently supported are: route, routef, subRoute and HTTP verb handlers such as GET, POST, PUT, etc.
    • Check the Endpoint Routing documentation for more details

    - Or check the EndpointRoutingApp sample app for how to use Giraffe.EndpointRouting

    ๐Ÿ“ฆ Replaced Giraffe.GiraffeViewEngine with the standalone NuGet package Giraffe.ViewEngine

    ๐Ÿ†• New JsonOnlyNegotiationConfig for setting a content negotiation policy which only supports JSON serialisation (no XML for those who don't need it)

    โž• Added SystemTextJsonSerializer which uses System.Text.Json for JSON serialisation when configured as the desired JSON serializer in Giraffe

    ๐Ÿ‘Œ Improved RegEx http handlers in original (non Endpoint routing) http handlers

    ๐Ÿ“„ Swapped Markdown docs for XML docs for all functions.

    โž• Added support for complex model binding (see #416)

  • v5.0.0-alpha

    May 27, 2020
    • ๐Ÿ‘ 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
  • v4.1.0

    April 13, 2020
    • โœ‚ 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
  • v4.0.1

    October 18, 2019

    ๐Ÿ›  Fixed dependency references for TFM netcoreapp3.0 projects.

  • v4.0.0

    September 29, 2019

    โฌ†๏ธ 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; }
      
  • v3.6.0

    February 10, 2019

    ๐Ÿ› 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)
  • v3.5.1

    January 20, 2019

    ๐Ÿ› Bug fixes

    • ๐Ÿ›  Fixed a bug in Giraffe's model binding to not try to set read only properties anymore.
  • v3.5.0

    December 28, 2018

    ๐Ÿ†• 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.
  • v3.4.0

    October 28, 2018

    ๐Ÿš€ 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.
  • v3.3.0

    October 28, 2018

    ๐Ÿš€ 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.