Skip to content

Releases: obmarg/cynic

v3.2.0

25 Jun 21:14
Compare
Choose a tag to compare

New Features

  • Added support for introspecting the specifiedByUrl field of scalars on
    servers supporting GraphQL 2021
  • cynic-introspection can now output SDL
  • Added CapabilitiesQuery to cynic-introspection, which can detect
    which version of the GraphQL specification a server supports.
  • QueryFragment now allows users to specify features for parts of the query,
    allowing the same query to be used on servers with differing capabilities.
  • Added cynic-cli, a CLI for cynic that can introspect remote servers.

v3.1.1

22 Jun 12:08
Compare
Choose a tag to compare

Bug Fixes

  • Fixed an issue where InlineFragments fallbacks would fail to decode if the
    data contained anything other than just the __typename.
  • Inline fragment variants containing smart pointers should now decode
    correctly.

v3.1.0

11 Jun 21:08
Compare
Choose a tag to compare

New Features

  • Added an exhaustive attribute for InlineFragments on union types. If
    present this attribute will cause compile errors if the enum is missing a
    variant for any union member.

Bug Fixes

  • The generator no longer outputs a broken #[cynic::schema] module.
  • impl_scalar! and derive(Scalar) can now be used on built in scalars.
  • GitHub schema registration is now slightly faster
  • Fixed a bug where suggestions in errors were non-deterministic.
  • Fixed the names of some features in docs.rs output.
  • Added MSRV to Cargo.toml

v3.0.2

07 Jun 14:53
Compare
Choose a tag to compare

Bug Fixes

  • Fix Variable definition for Vec<T> in #[cynic::schema] output.

v3.0.1

06 Jun 16:42
Compare
Choose a tag to compare

Bug Fixes

  • Fixed some more corner cases in string literal escaping
  • Schema registration no longer parses schemas twice when rkyv is enabled.
  • Fixed input type validation to better support skipping Option wrapping

v3.0.0

04 Jun 18:01
Compare
Choose a tag to compare

See the upgrade guide in the book for help upgrading.

New Features

Breaking Changes

  • QueryBuilder, MutationBuidler & SubscriptionBuilder no longer have lifetimes.
  • QueryFragment no longer has a lifetime.
  • QueryVariables::Fields must now implement the QueryVariablesFields trait.
  • The workings of derive(QueryVariables) has been changed quite
    significantly, but shouldn't affect anyone who is using the macro.
  • The various cynic derives now expect the crate to be in scope under the name
    cynic. This hopefully shouldn't affect most users but may do so if you
    were doing something unusual.

New Features

  • Added cynic-introspection for running an introspection query against a
    remote server.
  • Added cynic-introspection::Schema which converts the introspection output
    into a friendlier format for working with.
  • The derive macros now support structs that are generic on lifetimes and types.
  • The derive macros now fields that are references.
  • The derive macros now support fields that are references.
  • Added cynic_codegen::register_schema, a mechanism for pre-registering schemas
    with cynic.
  • Added a schema attribute macro to declare the schema module for
    pre-registered schemas.
  • Added the rkyv feature flag which optimises the pre-registered schemas with
    the rkyv library. This makes cynic much more efficient when working with
    large schemas.
  • The Enum derive now supports fallback variants
  • Added Operation::new to allow Operation to be used in tests.

Changes

  • Cynic now uses operationName when one is provided by the top-level QueryFragment
  • QueryFragments now provide the name of the struct to use as operationName

Bug Fixes

  • Fixed an issue deserializing recursive fields that hit their recurse depth.
  • Response deserialization will no longer work on random blobs of JSON that
    aren't in GraphQLResponse format.

Deprecations

  • cynic_codegen::output_schema_module is now deprecated in favour of register_schema.

Removed

  • Removed the deprecated FragmentArguments derive.
  • Removed the deprecated arugment_struct attribute.

v3.0.0-beta.4

04 Jun 16:56
Compare
Choose a tag to compare
v3.0.0-beta.4 Pre-release
Pre-release

New Features

  • The Enum derive now supports fallback variants
  • Added Operation::new to allow Operation to be used in tests.

Removed

  • Removed the deprecated FragmentArguments derive.
  • Removed the deprecated arugment_struct attribute.

v3.0.0-beta.3

13 May 23:17
Compare
Choose a tag to compare
v3.0.0-beta.3 Pre-release
Pre-release

New Features

  • Added from_sdl method to schema registration.

v3.0.0-beta.2

13 May 20:15
Compare
Choose a tag to compare
v3.0.0-beta.2 Pre-release
Pre-release

Bug Fixes

  • Schema file should no longer cause clippy warnings if clippy::pedantic is on.

v3.0.0-beta.1

13 May 19:30
4815568
Compare
Choose a tag to compare
v3.0.0-beta.1 Pre-release
Pre-release

Breaking Changes

  • QueryBuilder, MutationBuidler & SubscriptionBuilder no longer have lifetimes.
  • QueryFragment no longer has a lifetime.
  • QueryVariables::Fields must now implement the QueryVariablesFields trait.
  • The workings of derive(QueryVariables) has been changed quite
    significantly, but shouldn't affect anyone who is using the macro.
  • The various cynic derives now expect the crate to be in scope under the name
    cynic. This hopefully shouldn't affect most users but may do so if you
    were doing something unusual.

New Features

  • Added cynic-introspection for running an introspection query against a
    remote server.
  • Added cynic-introspection::Schema which converts the introspection output
    into a friendlier format for working with.
  • The derive macros now support structs that are generic on lifetimes and types.
  • The derive macros now support fields that are references.
  • Added cynic_codegen::register_schema, a mechanism for pre-registering schemas
    with cynic.
  • Added a schema attribute macro to declare the schema module for
    pre-registered schemas.
  • Added the rkyv feature flag which optimises the pre-registered schemas with
    the rkyv library. This makes cynic much more efficient when working with
    large schemas.

Changes

  • Cynic now uses operationName when one is provided by the top-level QueryFragment
  • QueryFragments now provide the name of the struct to use as operationName

Bug Fixes

  • Fixed an issue deserializing recursive fields that hit their recurse depth.
  • Response deserialization will no longer work on random blobs of JSON that
    aren't in GraphQLResponse format.

Deprecations

  • cynic_codegen::output_schema_module is now deprecated in favour of register_schema.