What’s New
Jmix 1.0 is the first stable release.
Below you can find the complete change log since the preview release 0.9, as well as the instructions on how to upgrade your project from 0.9 to 1.0.
Upgrading from Jmix 0.9
-
Update Gradle used in your project to 7.0. Open terminal in the project directory and run:
./gradlew wrapper --gradle-version=7.0.2 -
In
build.gradle, change Jmix Gradle plugin and BOM versions:plugins { id 'io.jmix' version '1.0.2' id 'java' } // ... jmix { bomVersion = '1.0.1' }Click Load Gradle Changes in the small popup at the top right side of the editor window, or click Gradle → Re-import Gradle Project in the Jmix tool window.
-
In
application.properties, changejmix.core.availableLocalesproperty value. It must be a comma-separated list of locale codes:jmix.core.availableLocales = en -
In
LoginScreen.java, replaceLoginScreenAuthenticationSupportwithLoginScreenSupport, fixinitLocalesField()andlogin()methods:import io.jmix.securityui.authentication.LoginScreenSupport; // ... public class LoginScreen extends Screen { // ... @Autowired private LoginScreenSupport loginScreenSupport; @Autowired private MessageTools messageTools; @Autowired private JmixApp app; // ... private void initLocalesField() { localesField.setOptionsMap(messageTools.getAvailableLocalesMap()); localesField.setValue(app.getLocale()); } private void login() { // ... loginScreenSupport.authenticate(/**/); // ... -
In
login-screen.xmlandmain-screen.xml, change style name prefix fromc-tojmix-for all components, for example:<layout stylename="jmix-login-main-layout"> -
In
main-screen.xml, fix theimagecomponent:<image id="logoImage" stylename="app-icon" scaleMode="SCALE_DOWN"> <resource> <theme path="branding/app-icon-menu.svg"/> </resource> </image> -
If you are using a custom theme, change the property name from
jmix.ui.themetojmix.ui.theme.name, for example:jmix.ui.theme.name = hover -
If you are using injection of
Loggerinto your screen controllers, rewrite it as follows:private static final Logger log = LoggerFactory.getLogger(MyScreenController.class); -
If you are using custom configuration of a
DataLoadCoordinator, rewrite it as described in issue #463. -
If you are using formatters in UI components, rewrite them as described in issue #452.
If you have any trouble in the process, try to clean up IntelliJ caches: click File → Invalidate Caches…, select all checkboxes and click Invalidate and Restart.