Skip to main content
Version: v11.9.4

WaveMaker 11.9.0 - Release date: 21 October 2024

WaveMaker release 11.9.0 is here with major upgrades that includes, migration to Java 17, Javax to Jakarta namespace, Servlet, Spring & 3rd Party Dependencies Upgrade, Zoom level, and option to switch Java versions. You can also find significant enhancements in FileUpload widget. This release also addresses many bugs in both Web and React Native to make the development smoother and better.


Upgrades

Upgrade to Java 17 or Java 21

With the deprecation of Java 11 Long Term Support (LTS), introducing support for compilation on Java 17 or Java 21 based on requirement. Previously with 11.7.4, applications could run on either Java 17 or Java 21 but could be compiled only on Java 11. This upgrade would allow users to compile the applications on 17 or 21. Refer to Java Upgrade: 17 or 21.

Javax to Jakarta Namespace

The transition from the Javax to Jakarta namespace is a major change in the Java ecosystem, affecting not only Java EE servers but also libraries like Spring and Hibernate. This shift requires all libraries in the Javax namespace to be renamed to Jakarta, requiring applications and dependencies to update accordingly.

Impact

Currently, WaveMaker apps rely on Servlet 4, which uses the Javax namespace. Starting with WaveMaker's 11.9 release, these apps will be upgraded to Servlet 6 (Jakarta EE), making the switch from Javax to Jakarta. This change requires both applications and their dependencies to migrate. To understand more, see From javax to jakarta namespace.

Servlet, Spring & 3rd Party Dependencies Upgrade

Along with the Java Servlet upgrade from 4.x to 6.x, we are upgrading our Spring framework from 5.x to 6.1.13 as Spring 5 has reached its end of life. With latest updates, Spring 6 is redesigned to support Jakarta EE.

Additionally the third party libraries dependent on Javax might break and may need upgrade. To know more details about this upgrade, see Upgrading to Spring 6.

Database Designer Upgrade

While importing a database, user can view the database table details like Primary, Foreign, and Unique identifier key information along with its connections with other database tables, in the Design tab. With this release, user can find some major enhancements listed below in the Design section.

  • Now the user can select the database table to view the details instead of displaying the complete database structure.

DB Designer Single Table

  • User can click the Connector icon to view all the incoming and outgoing connection details with other database tables.

DB Designer Table Connector

  • The database tables in the Design tab are available in read only mode.

  • The number of Primary, Foreign, Unique identifier keys, and columns are displayed on top of each table.

DB Designer Keys Details

These enhancements would make database search easy and clear with only the necessary information displayed on the screen.

Zoom Level Setting

Currently, Users can choose between two layouts of the canvas to view any application, Fit to screen and Laptop with MDPI Screen.

Fit to Screen: This option sets the entire application screen fits within the available display area without requiring any scrolling or resizing. It automatically adjusts the content to match the screen's resolution or aspect ratio for optimal visibility.

Laptop with MDPI Screen: This layout displays the application screen at MDPI resolution, which may be higher than user's current screen resolution, providing a more realistic view of the actual app resolution.

With the current feature, it was observed that the screen content were displayed diferently in canvas and preview modes, compromising the What You See Is What You Get (WYSIWYG) principle.

Canvas:

Zoom Settings Canvas Before

Preview:

Zoom Settings Preview Before

In this release, Zoom level is introduced that replaces these layout options. User can now set the Zoom level and maintain the same visibility in canvas and preview modes. By default the Zoom level is set to 85%. The maximum zoom-in and zoom-out levels are 120% and 50% respectively. To know more, see Zoom Level Setting.

Canvas:

Zoom Settings Canvas After

Preview:

Zoom Settings Preview After

Switching Java Version in Applications and Prefabs

Introduced a new field named Java Version in the General setting screen. User can now switch the Java versions between 17 and 21 based on the requirement. This allows to choose the Java version for the development.

Switching Java Version

note

With the transition from the javax to jakarta namespace and major library upgrades, including Servlet and Spring, we encountered several compatibility challenges during the upgrade process. While our application migrator automatically updates existing applications to the latest stack, some backward compatibility issues may arise depending on the specific functionality of your application.

To support this transition, we are here with a detailed blog post, Seamless Migration: Upgrading to Java 17 and Spring 6, explaining the migration process and highlighting any manual changes that might be required after the release. We encourage you to review the post for a smoother upgrade experience.

Enhancements

FileUpload Widget Enhancements

Introduced two new events in the FileUpload widget, On Delete and On Before Delete. These events provide greater control over the file deletion process, allowing for customization and confirmation prompts.

  • On Before Delete: It triggers upon clicking the delete icon. This event allows to provide custom validation or checks before confirming.
  • On Delete: It triggers when the user confirms the cancelation.
WebSocket Integration

With this release, WebSocket integration has been re-introduced with enhanced UI. To understand how to import and integrate, see Working with WebSockets.

Bug Fixes

Row Selection in Data Table

In a Data Table, when the Multiselect or Radio Column property is enabled in the Advanced Settings dialog, clicking anywhere on a row selects the row and its associated checkbox. To provide more control, a new property is added in the Advanced Settings dialog called Row Selectable.

With this property enabled, rows and their associated checkboxes can only be selected when the checkbox itself is clicked. Additionally, the checkbox can also be selected when the Edit option under the actions column is clicked.

Nested Popover Issue

In case of Popover widget used inside another Popover widget, the outer Popover was getting automatically closed upon clicking anywhere within the inner Popover. This was observed when Auto Close property was selected as Outside Click. Fixed the issue where the outer Popover would close only upon clicking anywhere outside.

Retrieving Destination Page

Users can now retrieve the destination page value in the currently used page and directly navigate to the desired page. This is achieved by providing the destination page value as parameter to the OnBeforePageLeave event in the current page.

Binding option in Search and Caption Widgets

Previously, users were unable to customize the values in Datafield and Caption field in Search and Caption widgets respectively. With this fix, users can set the Locale message by binding the value to the fields.

Fixes in Chips and Data Table Widget

Added customisation in the Chips widget by allowing the users to add the message in the Data Complete Message field. Also added toaster messages in below listed dialogs in the Data Table widget.

  • Delete Confirm Dialog
  • Edit Confirm Dialog
  • Add/Update Confirm Dialog

React Native Fixes

Issue with Required Form Field

In Form widget, the required form field was not highlighted with red border and no validation messages were displayed upon submitting the required fields as empty.

Selected item in List is not Displayed

Earlier, users were unable to select any item in the list upon clicking the button. This button was used within the list. This issue was fixed and now the list item is selected upon clicking the button associated to that item.

Auto Login Issue When User Logs Out

An issue was addressed where the users were getting redirected to the Main Page instead of the Login page when users tried to log out. This issue was observed when any identity provider was used to login to the application.

Technology Stack


UI Frameworks

DescriptionJS LibraryVersion
JS Bindingjquery3.7.1
jquery-ui*1.13.3
MVC FrameworkAngular17.3.11
ngx-bootstrap9.0.0
Stylesbootstrap3.3.7
Chartingd37.8.5
nvd31.8.11
Built-in functionslodash-es4.17.21
Device support, gestureshammerjs2.0.8

Optimized jQuery-UI library excluding unwanted components like accordion, datepicker, dialog, progressbar, spinner, tabs, and all jQuery-UI Effects.

Backend Frameworks

DescriptionJava LibraryVersion
Spring Framework 5.3.39 -> 6.1.13
Security frameworkSpring Security 5.8.14 -> 6.3.3
Java JSON utilitiesGson2.11.0
DB Persistence libraryHibernate(Jakarta)5.6.15.Final
Sample databaseHSQL2.7.3
JSON libraryJackson 2.17.2 -> 2.18.0
Logging frameworkSLF4j 1.7.36 -> 2.0.16
Logging ImplementationLog4j2 2.18.0 -> 2.24.1
Http client libraryHttpComponents - httpclient 4.5.14 -> 5.4
Servlet Framework 4.0.4 -> 6.0.0
Database Connection PoolingHikariCP 6.0.0
Commons Lang33.17.0
Guava 33.3.1-jre
Postgresql Driver42.7.4
Spring Data 2021.2.18 -> 2024.0.4
Hibernate Validator 6.2.5.Final -> 8.0.1.Final

Runtime Environment

DescriptionVersion
JDK 11 -> 17/21
WebSphere Liberty 19.0.0.1+ -> 23.0.0.9+
JBoss Wildfly 15+ -> 27+
Tomcat 9.0.93 -> 10.1.31
Cordova (mobile apps)
Android
iOS
12.0.0
13.0.0
17.5
note
  • Cordova-iOS supports from iOS 16.
  • Cordova-Android supports from iOS Android 24 (Nougat).

This is the default Tomcat runtime support. Apps can be deployed to any standard Java Web Server running on JDK 11. For more information, see here.

Build Environment for Studio


Build Environment

React Native

Environment Setup

DescriptionVersion
Java 11 -> 17/21
Node18.16.1
Maven 3.9.8 -> 3.9.9
npm9.5.1
Ant1.10.11
Android StudioLadybug 2024.2.1
SDK Build Tools34.0.0
wm-reactnative-cli1.8.5
Android Gradle Plugin (AGP)8.3 - 8.7
note

It is required to use Android Studio version be Iguana | 2023.2.1 or above and Android Gradle Plugin(AGP) version be 8.3 and above. The recommended versions for Android Studio is Ladybug | 2024.2.1 and AGP is 8.3.

Please ensure that your Android Studio has a compatible version of the AGP. Additionally, verify the compatibility of the AGP with the SDK build tools version, JDK, and Gradle version.

SDK Update

DescriptionVersion
Expo50.0.17
React Native0.73.6

Angular Web and React Native Mobile

DescriptionVersion
Java 11 -> 17/21
Node18.16.1
Maven 3.9.8 -> 3.9.9
npm9.5.1
Ant1.10.11

For more information about building projects with Maven, see here.