hasura / hasura/graphql-engine
Undocumented Breaking Change: support for `null` elements of `_and`/`_or` array dropped
- 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

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!)

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
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