Skip to main content
Version: v11.9.4

WaveMaker 11.8.2 - Release date: 26 August 2024

WaveMaker release 11.8.2 is a bug fix release which includes the enhancements in FileUpload widget, API Orchestration, and few bug fixes. This release also includes new CSS classes for Chart widget and other React Native fixes related to the Show property, Currency widget, Ripple effect, and Wizard widget.


Enhancements

FileUpload Widget

Introduced restriction at backend for uploading files to prevent any security vulnerabilities. Earlier, the file upload had validations at widget level in frontend but with this enhancement, user can provide file extensions and MIME types at application level, avoiding unwanted file upload. User can configure the extensions at application level in Allowed File Upload Extensions under General Settings.

Based on Whitelist approach, below is the list of file extensions and MIME types that will be allowed by default at application level.

  • .doc
  • .docx
  • .xls
  • .xlsx
  • .csv
  • .pdf
  • .txt
  • image/* : bmp, gif, jpe, jpg, jpeg, tif, tiff, pbm, png, ico, svg

Allowed File Upload Extensions

  • */* can be used to accept file of any extension and avoid all the restrictions.

User can apply additional filter to only allow the specified file extensions or MIME types in the FileUpload widget. The extensions or MIME types should be available in the list of extensions that is provided at application level.

To allow the file upload with extensions which is not available at application level in the FileUpload widget, user needs to first add the extensions at application level.

Allowed File Upload Extensions in Widget

Impact

For existing applications, earlier the user was able to upload files with any extension or MIME type. Now the file extensions or MIME types provided at application level will be applied by default for file upload.

Passing Files and Data in API Orchestration

Previously, users were unable to pass files and submit form data to the target API when invoking a web service API with a multipart/form-data content type in the API orchestration layer. This resulted in incomplete API calls. The issue has been resolved by adding support for passing files and form data in the API orchestration layer using web service APIs with the multipart/form-data content type.

React Native Enhancement

New CSS Classes in Chart Widget

Previously, users were not able to add title, subtitle, icon, and center label in Chart widgets. With these new CSS style classes in the chart widget, user can customize the title, subtitle, icon, and center label. The classes added to the charts are,

  • Area Chart
    • .app-area-chart-title
    • .app-area-chart-subtitle
    • .app-area-chart-icon
  • Bar Chart
    • .app-bar-chart-title
    • .app-bar-chart-subtitle
    • .app-bar-chart-icon
  • Bubble Chart
    • .app-bubble-chart-title
    • .app-bubble-chart-subtitle
    • .app-bubble-chart-icon
  • Column Chart
    • .app-column-chart-title
    • .app-column-chart-subtitle.
    • .app-column-chart-icon
  • Donut Chart
    • .app-donut-chart-title
    • .app-donut-chart-subtitle
    • .app-donut-chart-icon
    • .app-donut-chart-centerlabel
  • Line Chart
    • .app-line-chart-title
    • .app-line-chart-subtitle
    • .app-line-chart-icon
  • Pie Chart
    • .app-pie-chart-title
    • .app-pie-chart-subtitle
    • .app-pie-chart-icon

Bug Fixes

Textarea Widget

An issue was observed with the Textarea widget when binding the default value from the Property panel. On initial load, the character length is displayed as zero, but the correct character length is shown when the value is entered directly into the text area.

Page Params

When navigating from one page to another that contains page params, user was unable to see the page params in preview. This occured when the menu button in the left nav was clicked where it only displayed the menu items in the left nav but did not display the page params.

Before Fix

Missing Page Params

After Fix

Page Params

Offset Server Side Pagination

Users can specify the offset and limit values in the request header. Previously, the offset value would default to the second page whenever the API was reinvoked. This issue has been resolved by setting the offset value to zero, ensuring to land on the first page.

API Path Parameters in API Orchestration

An issue was observed when invoking a web service API with a content type of application/x-www-form-urlencoded that included Path Parameters in the API orchestration layer. With the provided fix the Path Parameters will be added to the API request preventing API failure.

Custom Request Headers in API Orchestration

In addition to the standard headers required for API invocation, users can set additional custom headers. However, an issue was identified where custom headers were being passed as null when invoking a web service API within the API orchestration layer, leading to failed API requests. This failure occurred when the target API relied on these headers for authentication, content negotiation, or other critical operations.

The issue has been addressed in the API orchestration layer, ensuring that custom request headers are now correctly passed to target APIs with the necessary specific header information.

Localization of Date Format

The Date Pattern under the Display Format in the Property panel was not reflecting the format selected in the i18N localization section. This display issue in the studio has been resolved, ensuring that the date format now correctly matches the one applied in the i18N localization settings.

note

This issue was observed in the Date and Datetime widgets when used within the Form widget.

Date Pattern Display

Default Timezone using Moment

Previously, the default timezone was not set for the Moment library. Now, the default timezone is configured based on the selected locale in the application using the moment.tz.setDefault(selectedLocaleTimeZone) function. This ensures that all date and time operations are properly aligned with the locale settings.

React Native Fixes

Show Property

The Show property is used to show or hide any widget. Earlier, the widget with show property was hidden if the show property value was either zero or false but it was displayed if it was empty string. To fix this issue, an additional condition is added that checks if the show property is bound to an empty string.

Currency Widget

Now, only numeric values are allowed in the Currency widget which earlier allowed both numeric and non-numeric values. Also added validations to the decimalPlaces property where only the provided number of decimal places will be accepted where earlier the user was able to enter more than the provided number of decimal places.

Enable Ripple Effect

After the introduction of Material 3 design, the ripple effect was enabled by default whenever the user tapped on a component. This fix allows the user to enable or disable the ripple effect by setting the enableRipple property as true or false respectively.

The Ripple effect is applicable to the components with the On Tap Touch event. The tappable components are,

  • Anchor
  • Label
  • Carousel
  • Button
  • Icon
  • Picture
  • Progress Bar
  • Progress Circle
  • Search
  • Container
  • Tile
  • Card
  • List
  • Select
  • Switch

Wizard Widget

In the Wizard widget where multiple steps contain different content in each step, a default step can be selected. The content in the default step gets rendered when the wizard loads for the first time.

If the default step is not selected the first step gets displayed by default.

Web Preview Debugger

Observed an issue when user tried to preview an application and added a break point in the source code. This action froze the console screen briefly.

Debugger Console Screen

Column Chart Widget

User was facing an error where the chartWidth property of the undefined data type was not recognised. This was crashing the page with Column Chart widget while previewing the application on emulator.

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.37 -> 5.3.39
Security frameworkSpring Security 5.8.13 -> 5.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 Lang3 3.15.0 -> 3.16.0
Guava 33.2.1-jre -> 33.3.0-jre

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


info

With the release of 11.4, we have ended our support for WaveMaker 10 projects. To know more, see Ending Support to WaveMaker 10 Projects.

Build Environment 11

React Native 11

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

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.