juniper/changelog/0.10.0.md
Christian Legnitto 9c1ce1fb7a
0.10.0 release (#236)
* 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.
2018-09-13 09:13:31 -07:00

2.7 KiB

[0.10.0] 2018-09-13

Changes

  • Changed serialization of NaiveDate when using the optional chronos support.

    Note: while this is not a Rust breaking change, if you relied on the serialization format (perhaps by storing serialized data in a database or making asumptions in your client code written in another language) it could be a breaking change for your application.

    #151

  • The GraphQLObject, GraphQLInputObject, and GraphQLEnum custom derives will reject invalid names at compile time.

    #170

  • Large integers (> signed 32bit) are now deserialized as floats. Previously, they produced the "integer out of range" error. For languages that do not have distinction between integer and floating point types (including javascript), this means large floating point values which do not have fractional part could not be decoded (because they are represented without a decimal part .0).

    #179

  • The GraphQLObject, GraphQLInputObject, and GraphQLEnum custom derives now parse doc strings and use them as descriptions. This behavior can be overridden by using an explicit GraphQL description annotation such as #[graphql(description = "my description")].

    #194

  • Introduced IntoFieldError trait to allow custom error handling i.e. custom result type. The error type must implement this trait resolving the errors into FieldError.

    #40

  • GraphQLType and ToInputValue are now implemented for Arc

    #212

  • Error responses no longer have a data field, instead, error details are stored in the extensions field

    Note: while this is a breaking change, it is a necessary one to better align with the latest GraphQL June 2018 specification, which defines the reserved extensions field for error details.

    #219

  • The GraphQLObject and GraphQLInputObject custom derives now support lifetime annotations.

    #225

  • When using the GraphQLObject custom derive, fields now be omitted by annotating the field with #[graphql(skip)].

    #220

  • Due to newer dependencies, the oldest Rust version supported is now 1.22.0

    #231