Hot Chocolate v12.0.0 Release Notes

  • Hot Chocolate

    ๐Ÿ›  ###### Fixes

    • Custom type inspectors can now again add custom ignores. #3399
    • ๐Ÿ›  Fixed issue where descriptor attributes on resolvers were ignored. (#3892)
    • ๐Ÿ›  Fixed that the socket interceptor OnCloseAsync method was not invoked. (#3951)
    • ๐Ÿ›  Fixed MongoDB totalCount handling (#3880).
    • ๐Ÿ›  Fixed handling of enums that contain underscore. (#4056)
    • ๐Ÿ›  Fixed ignoring fields with ObjectTypeExtensions.Ignore. (#4034)
    • ๐Ÿ›  Fixed issue with socket session interceptor dependency injection. (#4055)
    • ๐Ÿ›  Fixed issue to allow ignoring enum values. (#4020)
    • ๐Ÿ›  Fixed override of resolver pipeline in operation optimizers. (#4128)
    • ๐Ÿ›  Fixed enum default values. (#4129)
    • ๐Ÿ›  Fixed initialization of default values. (#4156)
    • ๐Ÿ›  Fixed the variable coercion when variable values are omitted. #4103
    • ๐Ÿ›  Fixed spatial MultiLine, MultiPolygon, MultiPoint parsing
    • โž• Added various catches to prevent unobserved task exceptions on Subscriptions. #4052
    • ๐Ÿ‘ Allow upcast when extending types and injecting the parent (#4159)

    โœจ Enhancements

    • ๐Ÿ‘ Allow Resolver Inlining (#3700)
    • Introduced Query Plans (#3674)
    • Introduced Serial Resolvers (#3674, #3837, #3882)
    • Neo4J Data Integration (#2849)
    • ๐Ÿ‘ Allow control over type attribute inheritance (#3886).
    • โž• Added support for abstract projections. (#3650)
    • Introduced non-cachable document validation rules. (#3884)
    • โž• Added type converter for relay global ID to HotChocolate.Data. (#3917)
    • ๐Ÿ”ง Introduced new low-level type configuration API for dynamic schemas.
    • โž• Added better descriptions to cursor paging fields and arguments. (#4000)
    • โž• Added better descriptions to node fields and arguments. (#4000)
    • Introduced nodes field. (#4000)
    • Introduced field middleware order validation for HotChocolate.Data and paging middleware (#4012).
    • Introduced AggregateError to allow rewriting a single error into multiple errors. (#4014)
    • โœจ Enhanced error handling for variables to better pinpoint the actual error. (#4037)
    • โž• Added RequestContext pooling. (#4141)
    • Reworked schema-first APIs to align with code-first APIs.
    • โž• Added support for HotChocolate.Data and paging attributes to schema-first.
    • โž• Added more ResolveWith overloads. (#4136).
    • โž• Added queryable extension methods for HotChocolate.Data. (#4156)
    • โž• Added the ability to compile resolver argument injections for the resolver compiler.
    • โž• Added a new runtime-type validation to debug errors better when types are leaked by accident into the type initialization.
    • Opened up MongoDB API for external use. (#4119)
    • โž• Added ObjectID scalar type for MongoDB.
    • โž• Added more endpoint configuration methods to more fine-grained configure into what transport spec the server supports.
    • โž• Added support for named type references.
    • โž• Added support for type modules.
    • โž• Added support for injecting types in type interceptor.
    • โž• Added more options to build types that depend on not yet existing types for extensions like HotChocolate.Data and HotChocolate.Stitching.
    • ๐Ÿ‘Œ Improved schema initialization.
    • Introduced option to require paging boundaries #4074
    • โž• Add more capabilities to control how the connection name is created #4081
    • โž• Added support for attributes to schema-first #4102
    • โž• Added the ability to control the XML documentation file name when inferring documentation from the runtime types. (#4149)
    • โž• Added a unified cache to DataLoader.

    Changed

    • 0๏ธโƒฃ Reworked scalar defaults for URL and UUID. (#3822)
    • Reworked dependency injection of Hot Chocolate extensions to automatically inject application dependencies. (#3833)
    • ๐Ÿ—„ Deprecated Schema.Create. (#3885)
    • ๐Ÿ—„ Deprecated ObjectFieldDescriptor.Resolver() overloads.
    • ๐Ÿ”ง Split theEnableRelaySupport configuration method into two separate APIs that allow to opt-into specific relay schema features. (#3972)
    • ๐Ÿšš Moved DataLoader code out of HotChocolate.Types into GreenDonut. (#4015)
    • โšก๏ธ Optimized subscription message receive handler. (#4143)
    • ๐Ÿ‘Œ Improved execution of batches during processing.
    • ๐Ÿ‘Œ Improved async work processing (#4006)

    Strawberry Shake

    ๐Ÿ›  Fixed

    • Made GUID serialization more robust. (#3843)
    • ๐Ÿ›  Fix UrlSerializer for absolute URLs #3875

    Banana Cake Pop

    โœจ Enhancements

    • โž• Added the capability to filter types in the schema reference.
    • โž• Added IntelliSense for variables.
    • We now add https as a scheme when you type the url without schema in the endpoint field.
    • โšก๏ธ Optimized component code splitting for better load times
    • ๐Ÿ›  Fixed shortcut label texts for Windows and Linux