View Source Changelog

1.7.7

  • POTENTIALLY BREAKING Bug Fix: Validate variable usage in nested input arguments.This could break incoming documents previously considered valid. Skip the Absinthe.Phase.Document.Arguments.VariableTypesMatch phase to avoid this check. See Absinthe.Pipeline on adjusting the document pipeline.
  • #1321 resolves telemetry issues
  • Various minor dependency versioning tweaks
  • Handle Elixir 1.17 warnings

1.7.6

1.7.5

  • Feature: Support Dataloader 2.0

1.7.4

1.7.3

1.7.2

1.7.1

1.7.0

1.6.7 (Retired)

Originally included the items from 1.7.0, but the spec validation fix was considered too impactful for a patch release.

1.6.6

1.6.5

1.6.4

1.6.3

1.6.2

1.6.1

1.6.0

1.5.5

1.5.4

1.5.3

  • Bug Fix: Handle null propagation with non_null(list_of(non_null(type))) properly
  • Bug Fix: Fix double escaping issue with string literal arguments.

1.5.2

  • Bug Fix: Fix issue with persistent term backend.

1.5.1

  • Bug Fix: Enable hydrating resolve_type on unions. #938
  • Bug Fix: #922

v1.5.0 (Rc)

  • Breaking Bug Fix: Variable types must align exactly with the argument type. Previously Absinthe allowed variables of different types to be used by accident as long as the data parsed.
  • Feature (Experimental): :persistent_term based schema backend
  • Breaking Change: telemetry event keys changed since the beta release.

v1.5.0 (Beta)

  • Feature: SDL directives, other improvements
  • Feature: Output rendered SDL for a schema
  • Feature: Substantially lower subscription memory usage.
  • Documentation: Testing guide, numerous fixes and updates
  • Breaking Change: Scalar outputs are now type checked and will raise exceptions if the result tries to send the wrong data type in the result.
  • Breaking Change: telemetry event names changed from the alpha to match an emerging naming convention for tracing.
  • Breaking Change: Added phase to check validity of field names according to GraphQL spec. Might break existing schema's. Remove the Absinthe.Phase.Schema.Validation.NamesMustBeValid from the schema pipeline if you want to ignore this.
  • Breaking Change: To match the GraphQL spec, we no longer add a non-null error when a resolver on a non-null field explicitly returns its own error.
  • Breaking Change: Removed Absinthe.Traversal module

v1.5.0 (Alpha)

Alpha 0 note: 1.5.0 alpha is safe to use on existing schemas. However, there are no schema validations at the moment, so when writing new ones you may get undefined behaviour if you write an invalid schema.

  • COLUMN NUMBERS! The Absinthe Lexer has been rewritten using nimble_parsec and now Absinthe includes column information.
  • Complete rewrite of schema internals. This fixes a number of long standing bugs, and provides a variety of new features
  • Feature: SDL support
  • Feature: Schema decorators
  • Feature: Customizable subscription de-duplification. See: https://github.com/absinthe-graphql/absinthe/blob/main/guides/subscriptions.md#de-duplicating-updates
  • Feature: Built-in telemetry instrumentation (https://github.com/beam-telemetry/telemetry)
  • Breaking Change: default_value: DateTime.utc_now() will have its time set at compile time. IE: DON'T DO THIS. It only worked by accident before anyway, and now it no longer works, which is correct.
  • Breaking change: added node_name/0 callback to Absinthe.Subscription.PubSub behaviour. To retain old behaviour, implement this callback to return Kernel.node/0.

v1.4

For changes pre-v1.5 see the v1.4 branch.