# Changelog ## 0.14.1 - 16.08.2020 ## 0.14.0 - 15.08.2020 ### new features - query validation supports interfaces - exposed: `Data.Morpheus.Types.SelectionTree` - configurable api: `Data.Morpheus.Core` exports - `Config` - `defaultConfig` - `debugConfig` - for better debuging, internal errors messages will display resolving state: - `current TypeName` - `current Selection` - `OperationDefinition` - `SchemaDefinition` - rendering graphql "AST". e.g `render ( slection :: Selection VALID)` will render ```graphql { user(arg1: 1) { name } } ``` - quasiqouter `[dsl| |]` generates `Schema VALID`. - parser supports custom directive definition. e.g ```graphql directive @MyDirective on FIELD_DEFINITION | OBJECT ``` - directive Validation for Document (TypeSystem). - supports of block string values. e.g: ```graphql query { createDeity( name: """ powerqwe bla \n sd blu \\ dete """ ) { name } } ``` - support of `schema`. issue #412 ```graphql schema { query: MyQuery } ``` ### Breaking Changes - `Context' renamed to`ResolverContext' - removed : `EventCon` from `Data.Morpheus.Core` - internal refactoring: changed AST. Schema AST Types now need parameter `stage = RAW | CONST | VALID`. - `Schema VALID` - `TypeDefinition VALID` - `FieldDefinition IN VALID` - ... - runApi requires argument config ```hs runApi :: Schema s -> RootResModel event m -> Config -> GQLRequest -> ResponseStream event m (Value VALID) ``` ## 0.13.0 - 22.06.2020 ### new features - exposed: `Data.Morpheus.Types.GQLScalar` - exposed: `Data.Morpheus.Types.ID` - finished interface validation - supports default values ## minor changes - internal refactoring - added dependency `mtl` - validates strings as enum from JSON value ## 0.12.0 - 21.05.2020 ## New features - parser supports implemnets interfaces seperated with empty spaces ```gql type T implements A , B C & D { ``` - introspection can render interfaces