This release refactors and rearchitects the core objects of the system using diamond inheritance of the interfaces so that you can cast between the defining schema names for the objects and the current project's schema names. All of the methods of the new interfaces rely on the defining schema names, but you can safely cast the returned objects to your current schema names.
The goal of this effort was to make it easier to write custom GUI components that rely on the defining schema names for object interfaces, so that you should be able to just reference the jars that provide those custom GUI components, wire them to your projects GUI factories, and automatically use the customized screen components.
It isn't perfect, but it's the best I could do to address what I saw as a glaring flaw with the code base. Of course, the downside is that you may have to do more typecasting in some of your code. There are always trade-offs when designing an architecture.
Another benefit of the new approach is that it is made very clear that you are using the objects and interfaces from a referenced schema/project, an issue which was concerning me as some people might have taken the approach of ignoring the license requirements of the referenced schemas because the code gets re-manufactured into their project. Now there is a clear delineation between the referenced objects and the current project, preventing anyone from pretending they "didn't know" they had to abide by the licenses of referenced projects.