In this blog we talk about how to make any WaveMaker application Observable by applying OpenTelemetry, Zipkin. While accelerating application development, WaveMaker's generated code allows easy integration with best of the breed tools and applying devops best practices while operating the app in production a cinch.
Mitigating Spring Zero-day Vulnerability CVE-2022-22965
A new zero-day vulnerability was reported in the Spring library on 29th March 2022, affecting the library versions 5.3.0 to 5.3.17, 5.2.0 to 5.2.19, and older versions. The vulnerability impacts Spring MVC applications running on JDK 9+.
Spring has released a new version on 31st March 2022, 5.3.18, which fixes the vulnerability. The specific exploit requires the application to run on Tomcat as a WAR deployment. The blog post added by Spring has more details about the vulnerability.
Upgrading saml to saml2-service-provider
Security Assertion Markup Language (SAML) is an XML-based open standard for exchanging authentication and authorization data between different parties. The SAML exchanges are usually between
- Identity provider (IdP) - producer of assertions, and
- A service provider (sp) - the consumer of assertions.
The identity provider could be any vendor like ADFS, OneLogin, Okta etc. which supports SAML-based Single Sign-On (SSO). The service provider is your WaveMaker application which makes use of Identity Provider to enable single sign-on across all your WaveMaker applications.
WaveMaker application pom.xml
WaveMaker application encloses a pom.xml. It maintains the build resources, including filters, profiles, repositories, plugin management, dependencies, and user customizations.
You would have to edit pom.xml when changing the dependency versions or add custom configurations for immediate fixes when needed. When you keep adding these configurations, it lengthens the generated pom.xml with the details of the application configurations and the Studio configurations that the developers only sometimes need access to. For this reason, the pom structure has been remodeled to inherit from the parent pom, making it easy to read and manage the code.
Archiving WaveMaker 9 Projects
Earlier in this blog, we announced ending support of WaveMaker 9 (WM) Projects. WaveMaker offered support to manage individual versions of your app with our multi-version control system so that you could simultaneously work on both WM 9 and WM 10 projects. One of the key differences between the WM 9 and WM 10 is moving from AngularJS to Angular 11.
Angular laid its plan in January 2018 for the final releases of AngularJS before entering long-term support (LTS) and extended the LTS due to the global pandemic until December 31, 2021. As we reach the end of life of AngularJS, we officially withdrew support of WM 9 projects starting WM 10.12 release planned for February 2, 2022. As a result, the existing WM 9 projects get archived.
URL Change in WaveMaker Android WebView
In WaveMaker 10.10, Cordova-android is upgraded to 10.1.0. With that change, it is observed that third-party cookies are not getting stored on the WebView. Cookies are required for WaveMaker authentication. So, a plugin wm-cordova-plugin-advanced-http was used to make ajax calls instead of browser XHR. Following are the drawbacks of using the plugin.
- All network calls are logged into the console of chrome dev tools instead of the network tab.
- There are gaps between plugin API and XmlHttpRequest. Some of these gaps are addressed in the WaveMaker platform to make it work in WaveMaker without any changes in the existing code.
In WaveMaker 10.11, another method is implemented to solve the cookie problem.
Announcement about Angular 11 Update
WaveMaker generates code for applications based on Angular. As part of the continuous improvement efforts, we upgrade WaveMaker to the next major Angular version, 11, in the release 10.11, scheduled for the second week of January 2022.
Current version | Updating to |
---|---|
Angular 10.2.5 | 11.2.14 |
To learn more, see Angular Version 11 - what's in the release.
Mitigating Log4J 2 Vulnerability CVE 2021 44228
WMO (WaveMaker Online) Users
Updated on 24-Jan-2022
WaveMaker has released 10.11.1 on 24 Jan 2021, updating Log4j2 dependency, which mitigates against the vulnerability CVE-2021-44832. For more information about the release, see WaveMaker 10.11.1.
- Log4j2 upgraded to 2.17.1
Updated on 23-Dec-2021
WMO (WaveMaker Online) has released 10.10.3 on 23 Dec 2021, updating Log4j2 dependency, which mitigates against the vulnerability CVE-2021-45105. For more information about the release, see WaveMaker 10.10.3.
- Log4j2 upgraded to 2.17.0
Updated on 16-Dec-2021
WMO (WaveMaker Online) has released 10.10.2 on 16 Dec 2021, updating Spring and Log4j2 dependencies, which mitigates against vulnerabilities CVE-2021-44228 and CVE-2021-22096. For more information about the release, see WaveMaker 10.10.2.
- Log4j2 upgraded to 2.16.0
- Spring Framework upgraded to 5.3.13
Action items
If you are a WaveMaker Online (WMO) user and have already mitigated risk by adding Log4j2 dependencies to 2.15.0 or 2.16.0 or 2.17.0, you need to undo those changes from the
<dependencies>
section inpom.xml
.Also, there is no need to add the System property or Environment variable in the deployment section if you redeploy with the latest project build.
WME (WaveMaker Enterprise) Users
WaveMaker Enterprise users should continue to follow the risk mitigation provided in this blog.
A zero-day vulnerability is an unintentional software security flaw identified in the application, poses a zero-day threat.
A new zero-day vulnerability was reported in the Log4j2 library on 9th Dec 2021, affecting the library versions >=2.0-beta9 and <=2.14. It has the potential to allow an attacker to execute the code remotely. Log4j has provided the fix by releasing the 2.15.0 version on the same day. Plus, Log4j has released a newer 2.17.0 version, which is available for production now. For more information, see LOG4J changes report.
Ending Support of WaveMaker 9 Projects
The End of Support (EOS) stage marks the official withdrawal of support for WaveMaker 9.x projects.
WaveMaker app development generates Angular code, as Angular marks the official withdrawal of the previous Angular versions, including AngularJS and Angular 1.x. Therefore, WaveMaker will be ending the support of WaveMaker 9.x projects that use AngularJS and Angular 1.x by 31 Jan 2022, as Angular announced. The update is primarily focused on improving performance, security, and bug fixes.
We have covered some essential FAQs to help you understand how you can migrate to the latest version of WaveMaker Studio.
Git Branching Strategy
Project branching allows developers to checkout code from the existing git branch and isolates their work from others. If you are a member of WaveMaker Teams, read further to understand best practices for managing branches in WaveMaker.