Skip to content

Commit bfa7d02

Browse files
committed
improve changelog documentation for irep_node changes
1 parent f6e5c0e commit bfa7d02

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,18 @@
1313
### Breaking changes
1414

1515
- _Only_ UTF-8-encoded strings will be returned by `String` fields. Strings with other encodings (or objects whose `#to_s` method returns a string with a different encoding) will return `nil` instead of that string. #517
16+
- Substantial changes to the internal query representation (#512, #536). Query analyzers may notice some changes:
17+
- Nodes skipped by directives are not visited
18+
- Nodes are always on object types, so `Node#owner_type` always returns an object type. (Interfaces and Unions are replaced with concrete object types which are valid in the current scope.)
19+
20+
See [changes to `Analysis::QueryComplexity`](https://github.com/rmosolgo/graphql-ruby/compare/v1.4.5...v1.5.0#diff-8ff2cdf0fec46dfaab02363664d0d201) for an example migration. Here are some other specific changes:
21+
22+
- Nodes are tracked on object types only, not interface or union types
23+
- Deprecated, buggy `Node#children` and `Node#path` were removed
24+
- Buggy `#included` was removed
25+
- Nodes excluded by directives are entirely absent from the rewritten tree
26+
- Internal `InternalRepresentation::Selection` was removed (no longer needed)
27+
- `Node#spreads` was replaced by `Node#ast_spreads` which returns a Set
1628

1729
### New features
1830

@@ -31,6 +43,7 @@
3143
- Remove overhead from `ensure_defined` #483
3244
- Benchmark & Profile tasks for gem maintenance #520, #579
3345
- Fetch `has_next_page` while fetching items in `RelationConnection` #556
46+
- Merge selections on concrete object types ahead of time #512
3447
- Support runnable schemas with `Schema.from_definition` #567, #584
3548

3649
### Bug fixes

0 commit comments

Comments
 (0)