Hot Chocolate v10.0.0 Release Notes

Release Date: 2019-08-14 // almost 5 years ago
  • ➕ Added

    • ➕ Added support to infer if a field or enum value is deprecated. #826
    • ➕ Added filter types. #861
    • ➕ Added UTF-8 request parser. #869
    • ➕ Added new syntax visitor API.
    • ➕ Added Redis subscription provider #902
    • ➕ Added support for batching over HTTP #933
    • ➕ Added support for persisted queries and added a middleware to enable the active persisted query flow. #858
    • Provide access to variables through IResolverContext. #958
    • ➕ Added ability to control when the schem stitching will pull in the remote schemas. #964
    • ➕ Added support to register class DataLoader with the standard dependency injection. #966
    • ➕ Added support for ObsoleteAttribute. Fields & enum values that are annotated with ObsoleteAttribute become deprecated.
    • ➕ Add Redis Provider for Subscriptions #902
    • ➕ Added not authenticated error code.
    • ➕ Added TryAddProperty, TryAddExtension and TryAddVariable to query request builder
    • ➕ Added support for persisted queries with providers for the file system and Redis. #858
    • ➕ Added support for middleware on introspection fields. #962
    • ➕ Added default binding behavior option to schema options. #963
    • ➕ Added support for directives on enum values with schema first #815
    • ➕ Added DataLoader Dependency Injection Support. #966
    • ➕ Added AddDocumentFromFile to SchemaBuilder. #974
    • ➕ Added error filter ServiceCollection extensions #973
    • ➕ Added schema validation rule that ensures that interfaces are implemented. #979

    🔄 Changed

    • Subscription now uses pipeline API to abstract sockets. #807
    • 👌 Improved parser performance. #806
    • Roles collection on authorization directive is now interpreted as OR.
    • 👍 The type conversion API is now better integreated with dependency injection.
    • The server is now more modularized and the various server middlewares can be added separably.
    • context.Parent() converts now the result if the source object is not of the type of T
    • ⚡️ Update GraphQL-Voyager to 1.0.0-rc.27 #972

    🛠 Fixed

    • The parent method on the resolver context now uses the converters if the source object type does not align with the requested type.
    • 🗄 Aligned the deprecation handling with the GraphQL spec. #876
    • 🛠 Fixed the StateAttribute for resolvers. #887
    • Order of types in a serialized schema is now consistent. #891
    • 📚 Respect UseXmlDocumentation with Schema.Create #897
    • Variables now work in lists and input objects #896
    • 🛠 Fixed url scalar now correctly detects url strings.
    • 👌 Support directives declared stitched schemas #936
    • 🛠 Fixed issues with filters and variables. #960
    • 🛠 Fixed issues stitching lists. #946
    • 🛠 Fixed source link support. #943
    • 🛠 Fixed dead-lock issues with the DataLoader #942
    • 🛠 Fixed UrlType IsInstanceOfType method to correctly return true for a Url StringValueNode.
    • 🛠 Fixed Date and DateTime handling in the stitching layer.
    • 🛠 Fixed subscriptions with InputObject arguments #975
    • 🛠 Fixed Playground, GraphiQL and Voyager path logic in middleware options object. #984
    • 🚚 Exceptions are now correctly removed from the remote error data structure so that no exception information leaks.
    • 🛠 Fixed IResolverContext.CollectFields issue where the provided selection set was not passed to the underlying field collection algoritm. #994
    • 🛠 Fixed variable coercion so that we are now throwing GraphQL errors if the wrong type is passed. #991
    • 🛠 Fixed type rename issue in the stitching layer when types where nun-null types. #998