I have understand from previous threads that these libraries occasionally introduce breaking changes. I am curious if there is a way to participate such that we can provide feedback before such changes are introduced. For example, in Change
Set 61083, all of the list properties of the mutable model were changed such that they could be null if there list contents would otherwise be empty. However, this means that code using these properties must go from:
if (type.Fields != null && type.Fields.XYZ)
if (type.Fields == null) type.Fields = new List<IFieldDefinition>();
This is a significant addition of code in the calling libraries, and also is a breaking change that requires a manual review all all code using the mutable model since every reference to a list property must be evaluated since it will not cause a compilation
error. It seems that a safer way to achieve the performance increase without messing up the programming model and breaking code would have been to make the property getter lazy-initialize the list if it is null.