From 0e1d020a4e99dc5d02282838a9794219103ab843 Mon Sep 17 00:00:00 2001 From: Tabah Baridule M Date: Thu, 26 Oct 2023 09:39:29 +0100 Subject: [PATCH] docs: add info about breaking changes to contributing guide (#854) Co-authored-by: Sergio Moya <1083296+smoya@users.noreply.github.com>%0ACo-authored-by: Lukasz Gornicki --- CONTRIBUTING.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d096c5f4..8799f4b0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -78,6 +78,19 @@ move forward. The AsyncAPI spec, despite describing technical behavior, is intended to be read by people. Use natural tone and include motivation and examples. +## Breaking Change vs Non Breaking Change + +Specifications are not much different than software. Some changes provided in the spec can cause breaking changes for tools that support it. For example, if one of the properties that was `required` becomes `optional`, it is considered a breaking change because some tools might depend on that property and fail if it is not provided. + +_Non-breaking changes:_ +- Adding a new optional property + +_Breaking changes:_ +- Adding a new required property +- Making a property required +- Making a property optional +- Removing a property +- Changing the type of a property in backward incompatible way ## RFC Contribution Champions @@ -253,4 +266,4 @@ docker run -v $PWD:/workdir ghcr.io/igorshubovych/markdownlint-cli:v0.35.0 "spec ``` ## References -This document was adapted from the [GraphQL Specification Contribution Guide](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md). \ No newline at end of file +This document was adapted from the [GraphQL Specification Contribution Guide](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md).