hasura / hasura/graphql-engine

Undocumented Breaking Change: support for `null` elements of `_and`/`_or` array dropped

Open
#9,324 1 comment 0 reactions 0 assignees View on GitHub
k/enhancement t/native-dbs
Dominant language
TypeScript
Stars
32.1k
Forks
3k
PR merge metrics
PR metrics pending

Description

### Is your proposal related to a problem?

While the "Breaking Changes" section of the [v2.0.0 release notes](https://github.com/hasura/graphql-engine/releases/tag/v2.0.0) covers changes in the semantics of explicit `null` from v1 to v2, it does _not_ document changes in the semantics of explicit `null` when passed as an element to `_and`, and `_or`. Furthermore, `HASURA_GRAPHQL_V1_BOOLEAN_NULL_COLLAPSE` does not preserve the legacy behavior in this case (and I don't necessarily have strong opinions about whether or not it _should_).

Here's the behavior we see in v1.3.4

image

Here's the v2.12.1 behavior:
(Again, I don't have a moment to isolate the version range further, but I may come back here and update this issue if I have time!)
image

I have tested this outside GraphiQL as well, and see the same behavior when accessing Hasura directly, so I know this isn't a GraphQL client issue.

### Describe the solution you'd like

Document this in the [v2.0.0 release notes](https://github.com/hasura/graphql-engine/releases/tag/v2.0.0) as a breaking change, and/or in the v1 to v2 migration guide.

### Describe alternatives you've considered

- Patch the behavior to support `null` elements again
- Make `HASURA_GRAPHQL_V1_BOOLEAN_NULL_COLLAPSE` restore support for `null` elements in `_or` and `_and` arrays

Contributor guide

Open the contributing guide

Research direction

Start with the linked v2.0.0 release notes and the v1-to-v2 migration guide, then compare the reported v1.3.4 and v2.12.1 behavior for null elements in _and and _or arrays. Done means the behavior change and the effect of HASURA_GRAPHQL_V1_BOOLEAN_NULL_COLLAPSE are documented as a breaking change in one of those locations.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.