diff options
Diffstat (limited to 'CHANGELOG.md')
| -rw-r--r-- | CHANGELOG.md | 59 |
1 files changed, 57 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index af211ba..03b0831 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,62 @@ -# Change Log +# Changelog All notable changes to this project will be documented in this file. +The format is based on +[Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to +[Haskell Package Versioning Policy](https://pvp.haskell.org/). + +## [Unreleased] + +## [0.7.0.0] - 2020-05-11 +### Fixed +- Result of null encoding +- Block strings encoding +- Result of tab and newline encoding + +### Added +- AST for the GraphQL schema. +- Type system definition parser. +- `Trans.argument`. +- Schema extension parser. +- Contributing guidelines. +- `Schema.resolversToMap` (intended for to be used internally). + +### Changed +- Rename `AST.Definition` into `AST.Document.ExecutableDefinition`. + `AST.Document.TypeSystemDefinition` and `AST.Document.TypeSystemExtension` + can also be definitions. +- Move all AST data to `AST.Document` and reexport them. +- Rename `AST.OperationSelectionSet` to `AST.Document.SelectionSet`. +- Make `Schema.Subs` a `Data.HashMap.Strict` (was a function + `key -> Maybe value` before). +- Make `AST.Lexer.at` a text (symbol) parser. It was a char before and is + `symbol "@"` now. +- Replace `MonadIO` with a plain `Monad`. Since the tests don't use IO, + set the inner monad to `Identity`. +- `NonEmpty (Resolver m)` is now `HashMap Text (NonEmpty (Resolver m))`. Root + operation type can be any type, therefore a hashmap is needed. Since types + cannot be empty, we save the list of resolvers in the type as a non-empty + list. Currently only "Query" and "Mutation" are supported as types. For more + schema support is required. The executor checks now if the type in the query + matches the type of the provided root resolvers. + +### Removed +- `AST.Field`, `AST.InlineFragment` and `AST.FragmentSpread`. + These types are only used in `AST.Selection` and `AST.Selection` contains now + 3 corresponding data constructors, `Field`, `InlineFragment` and + `FragmentSpread`, instead of separate types. It simplifies pattern matching + and doesn't make the code less typesafe. +- `Schema.scalarA`. +- `Schema.wrappedScalarA`. +- `Schema.wrappedObjectA`. +- `Schema.objectA`. +- `AST.Argument`. Replaced with `AST.Arguments` which holds all arguments as a + key/value map. + ## [0.6.1.0] - 2019-12-23 ### Fixed -- Parsing multiple string arguments, such as +- Parsing multiple string arguments, such as `login(username: "username", password: "password")` would fail on the comma due to strings not having a space consumer. - Fragment spread is evaluated based on the `__typename` resolver. If the @@ -162,6 +215,8 @@ All notable changes to this project will be documented in this file. ### Added - Data types for the GraphQL language. +[Unreleased]: https://github.com/caraus-ecms/graphql/compare/v0.6.1.0...HEAD +[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 [0.6.0.0]: https://github.com/caraus-ecms/graphql/compare/v0.5.1.0...v0.6.0.0 [0.5.1.0]: https://github.com/caraus-ecms/graphql/compare/v0.5.0.1...v0.5.1.0 |
