I've been attempting to upgrade from 2.0 to 2.1 and am running into quite a few problems, mostly they are working out with small changes. One seemingly strange and dangerous change though is the new way constructors are handled.
It seems a constructor can now return a value instead of just finish instantiating the object that is being constructed. Just wondering what the best way would be to handle extending and overriding classes now?
I.E. used to do this.
Now, since the parent constructor may return a value that is not "this" we have to do something like this I think.
config = this.doSomePreProcessing();
var newThis = this.callParent(arguments) || this;
I don't actually think this will work in the end though since newThis could be a completely different thing, and wouldn't contain any of the extension properties. Touch Grid actually uses this "feature" to return a List implementation instead of a dataview implementation so our extension class isn't used.
Anyway, thought this should be documented somewhere, and I couldn't find it.