Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: add info about breaking changes to contributing guide #854

Merged
merged 11 commits into from
Oct 26, 2023
15 changes: 14 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:_
Dule-martins marked this conversation as resolved.
Show resolved Hide resolved
- 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

Expand Down Expand Up @@ -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).
This document was adapted from the [GraphQL Specification Contribution Guide](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md).