* Bump` juniper`, `juniper_codegen`, and `juniper_tests` versions.
* Bump integration crate requirements to include 0.10.0. `juniper_iron` gets a semver breaking version as it has a breaking change but `juniper_iron` does not.
* Move `juniper_rocket` changelog into one file. This aligns with `juniper_iron` and will be easier
to automate in the future.
* Let `juniper_warp` and `juniper_hyper` use `0.9.x` versions of Juniper. They don't rely on anything in 0.10.0 so don't require it.
Fields can now be skipped with the `#[graphql(skip)]` annotation. Note this
doesn't really make sense for GraphQLInputObjects so this isn't supported there.
Fixes https://github.com/graphql-rust/juniper/issues/220.
Performance improvements
* Replace the IndexMap in the serialized object with a plain
`Vec<(String, Value)>` because linear search is faster for few
elements
* Some general tweaks to skip some allocations
Description attribute was available, but not actually used for derive
Object, InputObject and enum and the fields on input object.
Description is now properly set in each of those cases.
Also, tests for all three derives now properly verify the meta
information (name and description) for the derived GraphQLType.
This adds a simple derive for objects that implements GraphQLType for
structs which do not require any manual resolvers.
This could be extended in the future to provide a custom resolver
function via an attribute.
Also adds an integration test.