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.