2.7 KiB
2.7 KiB
juniper_codegen
changelog
All user visible changes to juniper_codegen
crate will be documented in this file. This project uses Semantic Versioning 2.0.0.
master
BC Breaks
#[graphql_object]
and#[graphql_subscription]
expansions now preserve definedimpl
blocks "as is" and reuse defined methods in opaque way. (#971)- Renamed
rename = "<policy>"
attribute argument torename_all = "<policy>"
(followingserde
style). (#971) - Redesigned
#[graphql_interface]
macro: (#1009)- Removed support for
dyn
attribute argument (interface values as trait objects). - Removed support for
downcast
attribute argument (custom resolution into implementer types). - Removed support for
async
trait methods (not required anymore). - Removed necessity of writing
impl Trait for Type
blocks (interfaces are implemented just by matching their fields now). - Forbade default implementations of non-ignored trait methods.
- Supported coercion of additional
null
able arguments and return sub-typing on implementer. - Supported
rename_all = "<policy>"
attribute argument influencing all its fields and their arguments. (#971)
- Removed support for
- Split
#[derive(GraphQLScalarValue)]
macro into: - Redesigned
#[graphql_scalar]
macro: (#1014)- Changed
from_input_value()
return type fromOption
toResult
. (#987) - Mirrored new
#[derive(GraphQLScalar)]
macro. - Supported usage on type aliases in case
#[derive(GraphQLScalar)]
isn't applicable because of orphan rules.
- Changed
Added
#[derive(GraphQLInterface)]
macro allowing using structs as GraphQL interfaces. (#1026)