diff options
Diffstat (limited to 'CHANGELOG.md')
| -rw-r--r-- | CHANGELOG.md | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index f42be0a..ae76a2c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,62 @@ The format is based on and this project adheres to [Haskell Package Versioning Policy](https://pvp.haskell.org/). +## [Unreleased] +## Fixed +- Location of a parse error is returned in a singleton array with key + `locations`. +- Parsing comments in the front of definitions. +- Some missing labels were added to the parsers, some labels were fixed to + refer to the AST nodes being parsed. + +## Added +- `AST` reexports `AST.Parser`. +- `AST.Document.Location` is a token location as a line and column pair. +- `Execute` reexports `Execute.Coerce`. +- `Error.Error` is an error representation with a message and source location. +- `Error.Response` represents a result of running a GraphQL query. +- `Type.Schema` exports `Type` which lists all types possible in the schema. +- Parsing subscriptions (the execution always fails yet). +- `Error.ResponseEventStream`, `Type.Out.Resolve`, `Type.Out.Subscribe` and + `Type.Out.SourceEventStream` define subscription resolvers. +- `Error.ResolverException` is an exception that can be thrown by (field value + and event stream) resolvers to signalize an error. Other exceptions will + escape. +- `Test.Hspec.GraphQL` contains some test helpers. +- `Validate` contains the validator and standard rules. + +## Changed +- `Type.Out.Resolver`: Interface fields don't have resolvers, object fields + have value resolvers, root subscription type resolvers need an additional + resolver that creates an event stream. `Resolver` represents these differences + now and pairs a field with the function(s). Resolvers don't have `ExceptT`, + errors are handled with `MonadThrow`/`MonadCatch`. +- All code from `Trans` is moved to `Type.Out` and exported by `Type` and + `Type.Out`. +- `AST.Core` contained only `Arguments` which was moved to `Type.Definition`. + `AST` provides now only functionality related to parsing and encoding, as it + should be. +- `Execute.execute` takes an additional argument, a possible operation name + and returns either a stream or the response. +- `Error` module was changed to work with dedicated types for errors and the + response instead of JSON. +- `graphqlSubs` takes an additional argument, the operation name. The type of + variable names is changed back to JSON since it is a common format and it + saves additional conversions. Custom format still can be used with the + underlying functions (in the `Execute` module). The function returns either a + a stream or the resolved value. +- `graphql` returns either a stream or the resolved value. +- The constraint of the base monad was changed to `MonadCatch` (and it implies + `MonadThrow`). + +## Removed +- `Trans.ActionT` is an unneeded layer of complexity. `Type.Out.Resolver` + represents possible resolver configurations. +- `Type.Out.Resolver`: It . Resolvers are a + part of the fields and are called `Trans.ResolverT`. +- `Execute.executeWithName`. `Execute.execute` takes the operation name and + completely replaces `executeWithName`. + ## [0.8.0.0] - 2020-06-20 ### Fixed - The parser rejects variables when parsing defaultValue (DefaultValue). The @@ -267,6 +323,7 @@ and this project adheres to ### Added - Data types for the GraphQL language. +[Unreleased]: https://github.com/caraus-ecms/graphql/compare/v0.8.0.0...HEAD [0.8.0.0]: https://github.com/caraus-ecms/graphql/compare/v0.7.0.0...v0.8.0.0 [0.7.0.0]: https://github.com/caraus-ecms/graphql/compare/v0.6.1.0...v0.7.0.0 [0.6.1.0]: https://github.com/caraus-ecms/graphql/compare/v0.6.0.0...v0.6.1.0 |
