Breaking change detection is complicated, but it’s an incredibly valuable tool. In our latest release, we upgraded our version of GraphQL Inspector, which is used by Hive for change detection.
What this means for you is a more complete set of changes get displayed for checks and schema change history, and breaking changes are even more accurate.
Our hope is that this change goes mostly unnoticed because that means it’s working and that the changes are tracked accurately.
The technical set of changes are:
FieldDeprecationRemovedseverity is changing from “dangerous” to “non-breaking”. This is because deprecation does not impact behavior.InputFieldAddedis now “non-breaking” IF a default value is set for the input. Previously only nullability was taken into account. This is because the default value will be provided automatically, so non-nullable inputs still don’t need passed by clients.- A redundant DeprecationAdded and DeprecationRemoved change was removed.
- And
DirectiveUsagechanges are being tracked. E.g.DirectiveUsageEnumRemovedandDirectiveUsageObjectAdded. A similar set of usage events were added for arguments as well.
This upgrade also lays the foundation for the upcoming feature, schema proposals, which is powered by GraphQL Inspector for change capture and rebasing changes on top of schemas.
For more insights on the schema proposals work being done, refer to our Schema Proposal Review update.