We currently allow returning string|NULL from methods such as getSchemaDefinition and getExtensionDefinition. However, that does not allow providing location information which is very useful in debugging.
To ensure SDL can always be traced back to its origins we should force plugins to return a Source instance. The only required value for Source is the actual string, but it's very easy to provide a name such as "Automatically Generated by {plugin ID}".
Since this is a change of return type for something that's implemented in user land it's a breaking change and can only be done in 5.x.
We currently allow returning
string|NULLfrom methods such asgetSchemaDefinitionandgetExtensionDefinition. However, that does not allow providing location information which is very useful in debugging.To ensure SDL can always be traced back to its origins we should force plugins to return a
Sourceinstance. The only required value forSourceis the actual string, but it's very easy to provide a name such as "Automatically Generated by {plugin ID}".Since this is a change of return type for something that's implemented in user land it's a breaking change and can only be done in 5.x.