Simplify the AST handling
The change which breaks compatibility with v1.x in this release is an update to the peg::ast
definition and parsing functions. It's much simpler now, with less std::unique_ptr
juggling and pointer dereferencing.
Other than that, this release should be identical to v1.2.0. It brings the following changes from v1.1.0:
- GraphQL parse errors should be much easier to read now.
- Exceptions in a single field should no longer fail the entire request, instead it'll accumulate multiple errors and return them along with whatever partial results it was able to retrieve in the data member.
- Refactored the operation definition visitors to share more code and expose a public method
findOperationDefinition
to figure out the operation type.