Starting migrating (custom/organization) add-ons to prepare migration of the first application I’m experiencing first problems.
The following add-on setup worked until Jmix version 1.5.3 - but does not in Jmix 2.0.1.
There is a **base** add-on (kind of organization core) providing custom entity datatypes, e.g.:
java.time.Durationjava.time.Periodjava.time.MonthDayjava.time.YearMonthjava.time.ZoneOffset
Other custom add-on are using them implicitly by defining (JPA and DTO) entities. But since Jmix 2.0 the contextLoads() test fail:
org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.jmix.core.impl.MetadataLoader]: Constructor threw exception
    at app//org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:224)
    at app//org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:110)
    at app//org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:323)
    ... 164 more
    Caused by: java.lang.IllegalStateException: Can't find range class 'java.time.ZoneOffset' for property 'ls**mdl_***SystemInfoDTO.zoneOffset'
        Caused by:
            at io.jmix.core.impl.MetaModelLoader$RangeInitTask.execute(MetaModelLoader.java:1075)
            at io.jmix.core.impl.MetaModelLoader.loadModel(MetaModelLoader.java:145)
            at io.jmix.core.impl.MetadataLoader.<init>(MetadataLoader.java:61)
            at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
            at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
            at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
            at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
            at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
            at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:211)
            ... 166 more
I experienced a problem with a similar reading symptom some time ago: https://forum.jmix.io/t/using-custom-datatype-from-another-module-add-on/945/4. Neither me nor Jmix studio changed the module configuration while migrating from Jmix 1.5.3 to 2.0.1.
Trying to find some documentation about changed datatype handling, I noticed the modules API https://docs.jmix.io/jmix/modularity/extension.html#modules-api. I could not solve the issue but helped debugging the loaded modules and datatypes. The custom addons/modules are there, but the new datatypes are missing (22 datatypes defined by jmix core only):

I still need some help to find out why custom datatypes are not loaded.