- Add support for path on
DirectiveArgumentAdded
(#57)
- More selective detection of breaking/dangerous enum value changes (#54)
- Improve schema root operation type changes (#55)
- Fix field argument removed message (#51)
- Fix safe type change comparison (#53)
- Fix directive type change false positive bug (#47)
- Adding non-null arguments with a default value should be non-breaking (#38)
- Remove legacy
graphql
gem API usage and support versions >= 1.13 (#46)
- Fix comparing directives (#36)
- Add support for graphql-ruby 1.10.0+ (#28)
- Starting from 1.0.0 a minimum of graphql-ruby 1.10 is required
- Added a bunch of reasons to breaking changes (#17)
- Relaxed Thor Dependency
- Add
verify
task for CI usage which returns exit codes depending on breaking changes (#24)
- Add
#path
which returns a dot-delimited path to the affected schema member. (#15)
- Return a better message when adding a default value, if this one was nil before.
-
AbstractChange#criticality
now returns a criticality object which has a level (non_breaking, dangerous, breaking) and a reason -
Schema::ComparatorResult maintains a list of
#dangerous_changes
-
New Methods: Change.non_breaking? Change.dangerous?
-
New CLI
schema_comparator
which includesdangerous_changes
- Some changes have been recategorized as dangerous
- Some type changes now return breaking or non-breaking depending on the type kind
- Argument and InputValue type changes are considered non breaking if type goes from Null => Non-Null
Added changes:
EnumValueDeprecated
EnumValueDescriptionChanged
- Fix issue in Enum differ (#9)
- Fix no method breaking issue #8
- Top level Directive definitions are now diffed, but not directives used on definitions (Coming soon)
- Base class for changes added.
breaking
method on change objects has been renamedbreaking?
for style
- Add
#non_breaking_changes
to get a list of non breaking changes from a comparison result. (#4) - CLI now Prints results sorted and grouped by breaking / non-breaking (#3)
- Fix message for
EnumValueRemoved
(#5)