All Versions
48
Latest Version
Avg Release Cycle
59 days
Latest Release
-

Changelog History
Page 1

  • v6.0.0 Changes

    • Same as 6.0.0-alpha-2
  • v6.0.0-alpha Changes

    • โž• Added setContentType handler
    • ๐Ÿ”ง Made the RecyclableMemoryStreamManager configurable through DI
    • ๐Ÿ‘Œ Improved Xml.Serializer to also make use of the RecyclableMemoryStreamManager
  • v5.0.0 Changes

    ๐Ÿš€ Stable release of latest 5.0.0 RC with additional XML comment fixes to comply with latest F# compiler services.

  • v5.0.0-rc Changes

    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 Changes

    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 Changes

    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 Changes

    October 18, 2019

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

  • v4.0.0 Changes

    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 Changes

    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 Changes

    January 20, 2019

    ๐Ÿ› Bug fixes

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