Have you ever wondered how we define a breaking change? The document titled ‘breaking changes in a managed world’, available from the BCL Website formalizes the definitions worth discussion around breaking changes. Importantly, because nothing in this space is ever black or white, one of the key terms used in the document is ‘acceptable change’. When reviewing breaking changes, the .NET team addresses all contentious issues on their merit. So even if an item is listed as ‘breaking’ or ‘not breaking’, a specific instance of an issue may or may not be allowed, based on investigation of the specific effects.
The intent of this document is to help formalize the definitions in the space, and help people understand the scope of changes which can affect their application. Code examples for changes are included with the download.
Note all: I do appreciate any feedback you have on this: what’s missing, whether it’s useful, etc. I intend for this to be aliving document, so I will be making updates. Ping me directly at email@example.com with any feedback.