aboutsummaryrefslogtreecommitdiff
path: root/CHANGELOG.md
diff options
context:
space:
mode:
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md57
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