View Source Upgrading to v1.5
This information is extracted and expanded from the CHANGELOG.
This version includes:
- Schema compilation phases
- SDL based schema definitions
- SDL rendering
- Telemetry based instrumentation
Existing macro-based schemas will work as-is, but make sure to note that the schema pipeline executes at compile time.
breaking-changes
Breaking changes
default-values-evaluated-at-compile-time
Default values evaluated at compile time
Default values are evaluated at compile time. For example default_value: DateTime.utc_now()
will have its time set at compile time. You probably don't want this :)
scalar-output-validation
Scalar output validation
Scalar outputs are now type checked and will raise exceptions if the result tries to send the wrong data type in the result.
variable-types-validation
Variable types validation
Variable types must now align exactly with the argument type. Previously Absinthe allowed variables of different types to be used by accident as long as the data parsed.
field-name-validation
Field name validation
Added a schema phase to check the validity of field names according to GraphQL spec. Remove the Absinthe.Phase.Schema.Validation.NamesMustBeValid
from the schema pipeline if you need to retain the previous behavior.
absinthe-subscription-pubsub
Absinthe.Subscription.PubSub
Added node_name/0
callback to Absinthe.Subscription.PubSub
behaviour. To retain old behaviour, implement this callback to return Kernel.node/0
.
absinthe-traversal
Absinthe.Traversal
Removed the un-used Absinthe.Traversal
module.