Skip to main content
Version: v11.9.1

WaveMaker 11.8.5 - Release date: 07 October 2024

See what's new in WaveMaker 11.8.5. React Native can now be embedded into Native applications, Skeleton Loader now supports Lottie animations, offering more customization options. You can control the visibility of child components within container widgets. Additionally, the Dialog widget has been redesigned with improved toggle options. In bug fixes, the update addresses issues related to Git project navigation, Data Table events, Theme Updates Dialog, and checkbox selection in nested Data Tables. React Native fixes include displaying steps in the Wizard widget and restricting file uploads to supported formats, enhancing security.


New Feature - React Native

Embedding React Native into Native Applications

Now, React Native can be integrated into Native Applications using CLI commands allowing developers to use the advantages of React Native such as cross-platform development and faster iteration, while maintaining or enhancing an existing native codebase.

With this feature users can benefit from the following advantages.

  • Modernize Existing Apps: Integrate modern, interactive UI components into legacy native applications without a full rewrite.
  • Speed Up Development: Utilize React Native’s rapid development cycle with hot reloading, allowing faster UI iterations.
  • Cost Efficiency: Reduce development time and costs by reusing code across platforms.

To understand more about why to embed React Native and how to implement, see Embed WaveMaker React Native apps into Native Apps

Enhancements

Skeleton Loader Improvements

With the recent improvements, user can apply Skeleton Loader not only by using WaveMaker default configuration, but also using Lottie animation. Lottie animation can be used in the cases where the Page, Prefab, and Partial contain components that do not support WaveMaker default configuration to apply Skeleton Loader.

Other improvements in Skeleton Loader are listed below.

  • Users can now hide or show the child components available inside a container widget by using showskeletonchildren property. When showskeletonchildren property is set to true, Skeleton Loader is applied to the child components and are displayed. When it is set to false, only the parent container widget is displayed like a card component and the child components gets hidden.
  • Page, Prefab, Partials, and Charts can now get the Skeleton Loader applied using the Lottie animation. This can also be used in the cases where the users want custom Skeleton Loader to be displayed for the components. To implement this, user can add a custom JSON animation file as resource using skeletonanimationresource="PATH_TO_JSON_RESOURCE". For furtherconfiguration like animation speed, users can use skeletonanimationspeed="SPEED_REQUIRED".
  • In List widget, users can now provide the number of widgets to be displayed in skeleton mode by using the numberofskeletonitems property. The value of this property is set to 3 by default.
Dialog Enhancements

In addition to our previous improvements, we have further enhanced the appeareance of Dialogs in studio. Below are the changes made in the Data Table widget configuration dialogs and the same is applied in the forms, cards, live filter, live form, and list configuration dialogs.

  • The steps will be now shown in the left side of the screen. Before Upgate:Data Table Configure Dialog Header

After Update: Data Table Configure Dialog Header

  • The Toggle option is now changed as buttons. Before Upgate:Data Table Configure Dialog Toggle

After Update: Data Table Configure Dialog Button

  • The background is now white with the selected option highlighted with blue border. Before Upgate:Data Table Configure Dialog Background

After Update: Data Table Configure Dialog Background

Bug Fixes

Newer Commits are not Displayed

In a Git project, the user was unable to view the newer projects in the Commit History screen as the navigation buttons were disabled. This was observed when the user had navigated to the older commits screen and later wanted to navigate to newer commits screen.

On Before Filter Event is not displayed in Data Table

In Data Table widget, an issue was observed where the On Before Event was not displayed in the events panel even when the Filter Mode in the Advanced Settings dialog is not selected as No Filter.

Theme Updates Dialog without Latest Version

Previously, we displayed the Updates Dialog with the Theme even when there was no latest version with any changes. Now, without any latest version, the theme will not be displayed for updates.

Error is Checkbox Selection in Nested Data Table

An issue was observed when Checkbox was added to the Data Table used within another Data Table. The child Data Table used within the Data Table is a Partial and can be reused in other Data Tables. In such cases, the checkboxes selected in the first child Data Table were automatically selected in other Data Tables.

Unable to Select any Widget

In widgets with a Dataset property in the Properties panel, users were unable to select the widget if the Dataset property was bound to anything other than widgets or variables.

The list of widgets with Dataset property are listed below.

  • Data Table
  • Form
  • List
  • Cards
  • Select
  • Chips
  • Radioset
  • Checkboxset
  • Switch
  • Rating
  • Select Locale
  • Tree
  • Progress Bar
  • Chart widgets
  • Nav
  • Breadcrumb
  • Dropdown Menu
  • Carousel

React Native Fixes

Steps are not displayed in Wizard Widget

In Wizard widget, initially the steps are not displayed in the header when the default step is selected as None. The user was only able to view to view the contents and the steps in the header after navigating to any step. Now, all the steps with numbers will be rendered even if the default step is set as None.

File Upload Restrictions

Earlier, users were able to upload image, audio, video, and files with any extension which can raise security vulnerabilities. To handle this issue further restrictions were applied where only the below listed file formats will be allowed to upload.

Audio and Video: .3gp, .avi, .mp3, .mp4, .mpeg/.mpg, .ogg, .wav, .webm, .wma, and .wmv Image: .bmp, .gif, .jpe / .jpeg / .jpg, .pbm, .png, and .tif / .tiff Files: .csv, .doc, .docx, .ico, .js, .json, .log, .pdf, .rar, .rtf, .txt, .xls, .xlsx. .xml, and .zip

Accordion Pane

In the Accordion widget, each pane has a Title option. Users can either add the Title as a string directly in the Properties panel or localize it by binding it using bind:appLocale.accordion, where accordion is the localization key. Previously, users were unable to open the Accordion pane when the Title was bound to a localization string, but this issue has now been fixed.

Unable to Hide Content in Form Field Test

The content within a Text widget used in a Form field can be hidden to prevent copying and pasting by applying the hide-context-menu class in the Markup section. However, it was observed that users were unable to hide the content using this class. This issue has now been resolved

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
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
Java11
Node18.16.1
Maven3.9.8
npm9.5.1
Ant1.10.11
Android StudioLadybug 2024.2.1
SDK Build Tools 34.0.0
wm-reactnative-cli 1.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
Java11
Node18.16.1
Maven3.9.8
npm9.5.1
Ant1.10.11

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