-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
These are things which don't strictly break binary compatibility. I'm considering adding some of them in future but want to have a reasonably exhaustive list of changes that fall into this category, and criteria for which ones are included. At that point I may redefine the project to be focussed on "binary semantics", i.e. what an average programmer would expect to happen
Possible candidates in order of likelihood of inclusion:
- Enum values (which are compiled into the consuming assembly)
- Form a set of valid values which is highly likely to cause problems if a value disappears.
- Many people may be surprised by the old value being used.
- Constant field values (are compiled into the consuming assembly)
- Some people may be surprised by the old value being used.
- Sometimes used like enums, i.e. may have a small set of valid values
- Default method parameter values (are compiled into the consuming assembly)
- Some people may be surprised by the old value being used.
- Method body change
- Could obviously completely change the semantics of a method without changing its signature
- People should fully expect to get the new behaviour, that's the whole point of this