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

[RFC] Add document detailing Cascade's backwards compatibility commitments post 1.0 #142

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

dburgener
Copy link
Owner

This is just an RFC rough draft at this point as a starting point for discussion.

Comment on lines +2 to +3
Cascade follows semantic versioning (https://semver.org/). This means that all
changes in a major version are considered backwards compatible. An increment
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"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.

Comment on lines +14 to +17
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.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@dburgener
Copy link
Owner Author

Relevant xkcd, which I would like to explicitly link in the next draft: https://xkcd.com/1172/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants