cynic-parser 0.4.5

A fast, correct and easy to use GraphQL parser
Documentation
# Changelog

All notable changes to this project will be documented in this file.

The format is roughly based on [Keep a
Changelog](http://keepachangelog.com/en/1.0.0/).

This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## Unreleased - xxxx-xx-xx

## v0.4.5 - 2024-06-19

### New Features

- Add `Iter::with_ids` for iterating over readers and their corresponding `Id`s 
  ([#984]https://github.com/obmarg/cynic/pull/984)

## v0.4.4 - 2024-06-10

### New Features

- impl Ord for parser id types ([#981]https://github.com/obmarg/cynic/pull/981)

## v0.4.3 - 2024-06-04

### Bug Fixes

- `FragmentSpread::fragment` had a missing lifetime
  ([#978]https://github.com/obmarg/cynic/pull/978)

## v0.4.2 - 2024-06-04

### New Features

- Added `FragmentSpread::fragment` function that looks up the named fragment
  ([#976]https://github.com/obmarg/cynic/pull/976)

## v0.4.1 - 2024-05-31

### New Features

- Added `Value::variables_used` to find variables used in a value
  ([#963]https://github.com/obmarg/cynic/pull/963)

## v0.4.0 - 2024-05-2

### Breaking Changes

- Pretty printing has been moved behind a new feature flag `pretty`
- The names of the pretty printing functions have been updated with a `_pretty`
  prefix.

### New Features

- All of the readers in the executable module now impl Display, allowing you
  to use them with `print!` and friends. This is hidden behind the `print`
  feature. ([#962]https://github.com/obmarg/cynic/pull/962)
- All of the `Id` types now impl `Hash`, `PartialEq`, `Eq` & `Debug`
  ([#961]https://github.com/obmarg/cynic/pull/961)
- All of the readers now have an `id` function that allows you to retreive an
  `Id` for that reader. ([#959]https://github.com/obmarg/cynic/pull/959)
- `Iter` now exposes a function `ids` that allows you to retrieve the underlying
  `IdRange` ([#959]https://github.com/obmarg/cynic/pull/959)

### Bug Fixes

- Fixed a lot of bad formatting in the pretty printing of schema documents
  ([#957]https://github.com/obmarg/cynic/pull/957)
- Pretty printing will now add whitespace between fields & arguments that have
  a docstring ([#954]https://github.com/obmarg/cynic/pull/954)

### Changes

- update rust crate logos to 0.14 ([#942]https://github.com/obmarg/cynic/pull/942)

## v0.2.7 - 2024-05-14

### New Features

- Updated most functions to return the named type `Iter` rather than
  `impl ExactSizedIterator` ([#945]https://github.com/obmarg/cynic/pull/945)
- All the readers now `impl Debug`
  ([#923]https://github.com/obmarg/cynic/pull/923)

### Bug Fixes

- Parser now errors on an invalid directive location instead of panicing
  ([#948]https://github.com/obmarg/cynic/pull/948)
- Pretty printing now formats long arguments correctly
  ([#947]https://github.com/obmarg/cynic/pull/947)

## [v0.2.6]https://github.com/obmarg/cynic/compare/cynic-parser-v0.2.5...cynic-parser-v0.2.6 - 2024-04-16

### Features

- implement PartialEq for Type and Value ([#924]https://github.com/obmarg/cynic/pull/924)

## [v0.2.5]https://github.com/obmarg/cynic/compare/cynic-parser-v0.2.4...cynic-parser-v0.2.5 - 2024-04-15

### Fixes

- Directives on schema definitions are now parsed correctly
  ([#921]https://github.com/obmarg/cynic/pull/921)
- Schema extensions without operation definitions are now parsed correctly
  ([#921]https://github.com/obmarg/cynic/pull/921)

## [v0.2.4]https://github.com/obmarg/cynic/compare/cynic-parser-v0.2.3...cynic-parser-v0.2.4 - 2024-04-15

### Fixes

- TypeSystemDocument::definitions() now returns an ExactSizeIterator
  ([#919]https://github.com/obmarg/cynic/pull/919)

## [0.2.3]https://github.com/obmarg/cynic/compare/cynic-parser-v0.2.2...cynic-parser-v0.2.3 - 2024-04-15

### Fixes

- Pretty printing output is now significantly improved, but still not perfect
  ([#916]https://github.com/obmarg/cynic/pull/916)

## v0.2.2 - 2024-04-12

### Fixes

- Pretty printing will now escape strings

## v0.2.1 - 2024-04-04

### Changes

- Some internal changes

## v0.2.0 - 2024-03-25

### Features

- Added executable parsing support
- String escaping is now supported properly.

### Changes

- Probably a ton of other things. I'm not going to list the changes
  exhaustively because of how early this library is - I'd be surprised
  if anyone was using it (if I'm wrong please let me know).

## v0.1.0 - 2024-01-23

- Initial version.
- Supports parsing & printing GraphQL schemas
- Is fast