Releases: obmarg/cynic
Releases · obmarg/cynic
v3.2.0
New Features
- Added support for introspecting the
specifiedByUrl
field of scalars on
servers supporting GraphQL 2021 cynic-introspection
can now output SDL- Added
CapabilitiesQuery
tocynic-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
v3.1.0
New Features
- Added an
exhaustive
attribute forInlineFragments
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!
andderive(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
Bug Fixes
- Fix
Variable
definition forVec<T>
in#[cynic::schema]
output.
v3.0.1
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
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 theQueryVariablesFields
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
therkyv
library. This makes cynic much more efficient when working with
large schemas. - The
Enum
derive now supports fallback variants - Added
Operation::new
to allowOperation
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 ofregister_schema
.
Removed
- Removed the deprecated
FragmentArguments
derive. - Removed the deprecated
arugment_struct
attribute.
v3.0.0-beta.4
New Features
- The
Enum
derive now supports fallback variants - Added
Operation::new
to allowOperation
to be used in tests.
Removed
- Removed the deprecated
FragmentArguments
derive. - Removed the deprecated
arugment_struct
attribute.
v3.0.0-beta.3
New Features
- Added
from_sdl
method to schema registration.
v3.0.0-beta.2
Bug Fixes
- Schema file should no longer cause clippy warnings if
clippy::pedantic
is on.
v3.0.0-beta.1
Breaking Changes
QueryBuilder
,MutationBuidler
&SubscriptionBuilder
no longer have lifetimes.QueryFragment
no longer has a lifetime.QueryVariables::Fields
must now implement theQueryVariablesFields
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
therkyv
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 ofregister_schema
.