Skip to content

3.0.0

Latest

Choose a tag to compare

@xperiandri xperiandri released this 01 Dec 01:28
· 4 commits to dev since this release
  • Breaking Change Migrated to .NET 8 and F# 9.0 with FSharp.Core 9.0.x
  • Breaking Change Updated scalar CoerceOutput signature to objnull -> 'Primitive option
  • Breaking Change Moved GraphQL error extensions to the standard extensions field according to the specification
  • Breaking Change Renamed ObjectListFilter type definition to ObjectListFilterType
  • Breaking Change Removed ObjectListFilter.NoFilter case
  • Breaking Change Reworked Relay types to enable async fetching and switched to ValueOption
  • Breaking Change Giraffe web framework integration moved to a separate package
  • New Package FSharp.Data.GraphQL.Server.Giraffe for Giraffe web framework integration
  • New Package FSharp.Data.GraphQL.Server.Oxpecker for Oxpecker web framework integration
  • Removed unused Suave NuGet package
  • Added Oxpecker web framework support
  • Added per-field authorization sample using ASP.NET authorization policies
  • Added file upload support via GraphQL Multipart Request Spec with FileData type
  • Added OfTypes filter case for ObjectListFilter to filter union cases by type
  • Added ObjectListFilter value parsing from variables in addition to a supported inline value
  • Added ObjectListFilter value parsing from an inline object with variables
  • Added ObjectListFilter additional operators (In, Contains, StartsWith, EndsWith)
  • Added StructNullable to support ValueOption fields in input objects
  • Added case-insensitive input object fields and constructor parameters matching
  • Added ability to recognize if an input field is null or not present at all
  • Added ability to add errors to resolved fields
  • Added FieldDef<'Val, 'Res> type to support resolver-changing middlewares
  • Added GraphQL extensions support via GQLMessageException
  • Added more overloads to AddGraphQLOptions including additional converters
  • Added support for optional properties usage in non-Enumerable LINQ queries
  • Fixed ID type deserialization
  • Fixed ObjectListFilter Contains and In operators implementation for collections
  • Fixed generation of discriminator comparing expressions to be translatable to database queries
  • Fixed IInputExecutionContext resolution
  • Fixed graphql-transport-ws WebSocket implementation
  • Fixed ability to override GraphQLRequestHandler<'Root>
  • Fixed input object CLR property type validation against GraphQL scalar definitions
  • Migrated all solutions to SLNX format
  • Various performance optimizations and bug fixes