[RFC] Add document detailing Cascade's backwards compatibility commitments post 1.0#142
[RFC] Add document detailing Cascade's backwards compatibility commitments post 1.0#142
Conversation
| Cascade follows semantic versioning (https://semver.org/). This means that all | ||
| changes in a major version are considered backwards compatible. An increment |
There was a problem hiding this comment.
"This means that all changes in a major version are considered backwards compatible." -> "This means that all changes in a major version are compatible with each other" may be a bit clearer. Though I am not fully sold on my suggested change.
| 3. Any Cascade policy that previously compiled correctly, produced valid CIL | ||
| that compiled correctly, and was in line with the behavior specified in the | ||
| Cascade documentation, unless a warning was displayed on that policy for the | ||
| entirety of the major version. |
There was a problem hiding this comment.
It may be worthwhile to explicitly point out consistency for the produced CIL. When we were talking about the implicit "this" stuff we brought up a potential issue that we may get into a situation where a given policy module does not change but something in an interface it calls does. The module still compiles and produces valid CIL but not the originally intended CIL. In that example it was a change in the policy itself but if we do something that would produce similar results in the compiler itself that would also be a breaking change.
There was a problem hiding this comment.
Some of the below points partially contradict what I have here. I'm going to leave the comment because I do want to talk a bit about this.
|
Relevant xkcd, which I would like to explicitly link in the next draft: https://xkcd.com/1172/ |
This is just an RFC rough draft at this point as a starting point for discussion.