Releases: giraffe-fsharp/Giraffe
6.0.0-alpha-1
Upgraded to .NET 6 and F#'s new native task
computation expression.
5.0.0
Stable release of latest 5.0.0 RC with additional XML comment fixes to comply with latest F# compiler services.
5.0.0-rc-6
Updated Ply
from 0.1.*
to 0.3.*
.
5.0.0-rc-5
Replaced TaskBuilder.fs
with Ply
for Giraffe's task
computation expressions. Please see #421 for more information.
This was a change long in the making and has been factored into the 5.0.0 release. Ply is being actively developed by Crowded and has better exception stack traces for task computations and several performance improvements over TaskBuilder.fs.
5.0.0-rc-4
- Fixed bug when a
NestedEndpoint
preceded aMultiEndpoint
inGiraffe.EndpointRouting
(see #452) - Removed the sub-module
GiraffeMiddleware
from theGiraffe.EndpointRouting
module (simply keep using theUseGiraffe
extension method of anIApplicationBuilder
) - Added an overload for
UseGiraffe
to pass in anEndpoint list
:- Before:
app.UseEndpoints(fun e -> e.MapGiraffeEndpoints(endpoints))
- Now:
app.UseGiraffe(endpoints)
- Before:
5.0.0-rc-3
- Added
ReadBodyBufferedFromRequestAsync
extension method to buffer and read a the request body and make subsequent reads possible (see #449) - Changed how the serialization modules are structured:
IJsonSerializer
is nowJson.ISerializer
Utf8JsonSerializer
is nowUtf8Json.Serializer
NewtonsoftJsonSerializer
is nowNewtonsoftJson.Serializer
SystemTextJsonSerializer
is nowSystemTextJson.Serializer
IXmlSerializer
is nowXml.ISerializer
DefaultXmlSerializer
is nowSystemXml.Serializer
- Converted all
HttpContext
extension methods into C# compatible extension methods, meaning that function arguments had to be merged into tuples - Removed the
=>
operator fromGiraffe.EndpointRouting
- Changed the
GET
,POST
,PUT
,HEAD
, etc. functions to accept anEndpoint list
instead of anEndpoint
- Before:
GET => route "/foo" (text "bar")
, After:GET [ route "/foo" (text "bar") ]
- One can now compose routes easier:
GET [ route "/a" (text "A") route "/b" (text "B") route "/c" (text "C") ]
- Before:
- Added
GET_HEAD
to the endpoint routing functions, which will handle aHEAD
request for the sameGET
handler.
5.0.0-rc-2
5.0.0-rc-1
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 asGET
,POST
,PUT
, etc. - Check the Endpoint Routing documentation for more details
- Or check the
EndpointRoutingApp
sample app for how to useGiraffe.EndpointRouting
- Currently supported are:
-
Replaced
Giraffe.GiraffeViewEngine
with the standalone NuGet packageGiraffe.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 usesSystem.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)
5.0.0-alpha-003
- Enhanced Endpoint routing with a metadata list (see PR #437)
5.0.0-alpha-002
- Swapped Markdown docs for XML docs for all functions.
- Improved endpoint routing by deferring the creation of
RequestDelegate
functions. - Added dependency to new
Giraffe.ViewEngine
package and re-introduced thehtmlView
andWriteHtmlViewAsync
functions into Giraffe. - Added support for complex model binding (see #416)