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.availableLocales
property value. It must be a comma-separated list of locale codes:jmix.core.availableLocales = en
-
In
LoginScreen.java
, replaceLoginScreenAuthenticationSupport
withLoginScreenSupport
, 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.xml
andmain-screen.xml
, change style name prefix fromc-
tojmix-
for all components, for example:<layout stylename="jmix-login-main-layout">
-
In
main-screen.xml
, fix theimage
component:<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.theme
tojmix.ui.theme.name
, for example:jmix.ui.theme.name = hover
-
If you are using injection of
Logger
into 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.