-
Notifications
You must be signed in to change notification settings - Fork 5.9k
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
Add descriptions of source compatible and binary compatible changes #7803
Conversation
Changing "public struct" to "public readonly struct" is binary compatible.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a really valuable topic, @BillWagner. (I've never thought about compatibility across compiler versions, only framework versions.) I've left a number of questions, comments, and suggestions.
Thanks @rpetrusha and @pkulikov I've udpated with changes that address all the comments. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@BillWagner Thank you for addressing comments. I like a new version. Found a couple of nits to consider/fix.
4d2b970
to
c33c61e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a really good article, @BillWagner. I've left a few more suggested changes, but you can merge when you're ready.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM modulo typo. Thanks!
Fixes #3717
Changes in this PR:
Add article that defines source breaking change and binary breaking change when using new language features in a library. This is ready for a thorough review to make sure I've expressed the concepts in the above issue correctly, and in a manner that is useful.
Add note about compatibility on some feature descriptions in what's new articles. This is the second pass of the review, if the concepts are described correctly. I took the following strategy:
The discussion on the issue referenced has examples and details that will be helpful for reviewers.
/cc @jcouv @jaredpar @JonSkeet (who wrote the comment for the original issue)
internal review link - new article
update - what's new in 6
update - what's new in 7
update - what's new in 7.2
update - what's new in 7.3
What's new in 7.1 was not updated.