Skip to main content
Version: v11.8.4

WaveMaker 11.8.4 - Release date: 23 September 2024

note

WaveMaker 11.8.4 is scheduled to release on September 23rd.

WaveMaker 11.8.4 would be here with enhancements in Dialogs User Interface(UI), and individual Form field reset properties along with some major bug fixes related to Datatable, Prefab Configuration and so on. This would also include React Native bug fixes related to Donut chart center label, hiding and showing the widgets, starting and stopping animations, File upload restrictions, and so on.


Enhancements

Dialog UI Enhancements in Studio

We have improved the appeareance and feel of Dialogs in studio. The significant changes made in the dialogs are listed below.

  • Now, Dialogs have rounded corners.
    Before Upgate:Variable Dialog Before Update

After Update: Variable Dialog After Update

  • Headers background color is changed to white.
    Before Upgate:Header Background Before Changes

After Update: Header Background After Changes

  • Tabs design is updated where the selected tab background is white and is shown like a button.
    Before Upgate:Tab Before Changes

After Update: Tab After Changes

  • Content inside the Tab is now separated with a border instead of box structure.
    Before Upgate:Tab Sections Before Changes

After Update: Tab Sections After Changes

  • Buttons style is changed where the primary is still shown with blue background, the secondary is shown in white background with blue border and the tertiary button has only white background.
    Before Upgate:Button Style Before Changes

After Update: Button Style After Changes

These changes along with some additional changes are applicable for all the dialogs.

Resetting Individual Form Field

Previously, users were able to reset all the fields in the Form with the reset button. Now, the users can also reset the invidual fields in the Form without having to disturb the other fields.

For example, the below code can be used in the Script to create a button to reset only the CheckNumber field in the Form.

Page.Widgets.SearchForm.formWidgets['CheckNumber'].reset();

Resetting Individual Form Field

Bug Fixes

Commit History is not Displayed

An issue was observed where the user was unable to view the commit history when more than 11 commits were made in any project. Now, user can click on button named Older to view the previous commits.

Datatable Grouping Issue

In Datatable, an issue was observed where the columns were misaligned when the columns were grouped and column names were bound to any Locale message.

Tooltip is not visible for Target Property

In Variable bind dialog, the Tooltip was not displayed for the Target property. This was fixed by checking the title property in the HTML code which is responsible for the Tooltip message display.

Bind Dialog in Prefab Configuration is Empty

An issue was observed when a user tried to create a UI property in a Prefab project. The Bind dialog was displayed empty when the bind icon was clicked in the Default Value field while creating a UI property in Prefab Configuration.

Before Fix: Prefab Configuration Bind Dialog Before Fix

After Fix: Prefab Configuration Bind Dialog After Fix

Conditional Class was not Applied

In Datatable, the Conditional classes were not applied to the first row when Summary Row function was enabled.

Search Functionality issue during Prefab Import

Users were unable to select any Prefabs listed under the Prefabs section, as it automatically selected the last Prefab in the list. This issue was observed and fixed in the Artifacts section when using any imported Prefab.

React Native Fixes

Changing Donut Chart Center Label Programtically

Earlier, in Donut Chart, users were unable to update the Center Label colour dynamically. Center Label is used to describe either the values in each slice of the Donut chart or the title of the Chart. Now, the users can style the center label dynamically using the CSS variable on .app-donut-chart-centerlabel CSS class in Style tab and setting up a Theme variable in Script tab.

Css Variable in Style: CSS Variable in Style Tab

Theme Variable in Script: Theme Variable in Script Tab

Display Value Property in Number type Form Field

The value given in the Number widget is by default taken as Data value, which can be masked using Display value. Now, users can use displayValue property to add a Display value in the Form field of number type.

Display Value in Form Number Field

Unable to Hide or Show Widgets

It was observed that user was unable to change the show property value in the script.Users can now use the show property in Script tab to hide or show a specific widget

Unable to Logout of application with OpenID Authentication

Previously, the user was unable to logout of the application when OpenID is applied as the aunthenticator and the CSRF was enabled in the security settings. The user was able to logout only when the CSRF was disabled. This issue was abserved because of the missing CSRF token in the logout API call.

orderBy Property is not working

In List widget, orderBy property is used to show the items in ascending or descending order. Previously, user was unable to sort the items using orderBy property which was now fixed.

Start and Stop Animation

To provide users the control to start and stop the animation in Carousel widget, two new methods have been added.

Use the below code in Script to create a button to start the animation.

Page.onStartButtonTap() {
Page.Widgets.carousel.startAnimation()
}

Use the below code in Script to create a button to stop the animation that is already in start state.

Page.onStopButtonTap() {
Page.Widgets.carousel.stopAnimation()
}
File Upload Restrictions

Earlier, users were able to upload files with any extension which can raise security vulnerabilities. To handle this issue, Allowed File Extensions option has been added in Properties panel to restrict the file extensions that are to be uploaded.

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 Framework5.3.39
Security frameworkSpring Security5.8.14
Java JSON utilitiesGson2.11.0
DB Persistence libraryHibernate5.6.15.Final
Sample databaseHSQL2.7.3
JSON libraryJackson2.17.2
Logging frameworkSLF4j1.7.36
Logging ImplementationLog4j22.18.0
Http client libraryHttpComponents - httpclient4.5.14
Servlet Framework4.0.4
Database Connection PoolingHikariCP5.1.0
Commons Lang33.17.0
Guava33.3.0-jre
Postgresql Driver42.7.4

Runtime Environment

DescriptionVersion
JDK11
WebSphere Liberty19.0.0.1+
JBoss Wildfly15+
Tomcat9.0.87
Cordova (mobile apps)
Android
iOS
12.0.0
13.0.0
7.1.0
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 11

React Native 11

Environment Setup

DescriptionVersion
Java 11 -> 17
Node18.16.1
Maven3.9.8
npm9.5.1
Ant1.10.11
Android Studio Ladybug 2024.2.1
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
Expo 49.0.7 -> 50.0.17
React Native 0.72.4 -> 0.73.6

Angular Web and Mobile 11

DescriptionVersion
Java11
Node18.16.1
Maven3.9.8
npm9.5.1
Ant1.10.11

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