Skip to Content
Technical Articles
Author's profile photo Merlin Beutlberger

Upgrade Your Tools for Modern ECMAScript in UI5

Beginning with OpenUI5 and SAPUI5 1.116 (planned for July 2023), UI5 framework libraries will start using modern ECMAScript syntax in their code and define Specification Version 3.0 in their UI5 Tooling configuration.

If you use UI5 Tooling in your projects, this means you will have to upgrade to UI5 Tooling Version 3.

In addition, you have to make sure that your project’s development infrastructure fully supports this change.


Check your project’s package.json file. If it contains an entry for the “@ui5/cli” module, you might need to upgrade this dependency to the latest version.

For this, use the following command. Also refer to our migration guide.

npm install --save-dev @ui5/cli@latest

Also make sure your development infrastructure is ready for handling ECMAScript 2022 code. This includes any testing frameworks, custom build scripts or UI5 Tooling extensions you may use.


The reason for changing the specification version of all UI5 framework libraries is rooted in our efforts to allow the usage of modern ECMAScript syntax in the framework. In the past, only JavaScript ES5 syntax was used.

Starting with Version 1.116, OpenUI5 and SAPUI5 libraries will make use of modern ECMAScript language features up to and including ECMAScript 2022. UI5 Tooling only introduced support for this syntax in Version 3.

Therefore, we need to enforce the use of the latest UI5 Tooling version by all consumers before we can safely start using the new syntax in the UI5 framework. We can do this by increasing the specification version.

This will cause older versions of UI5 Tooling to abort processing framework libraries, showing an error message stating that the specification version is not supported and suggesting an upgrade of UI5 Tooling.

Maintenance Releases

Current maintenance releases, such as 1.108, are not affected by this change. While we strongly recommend upgrading any UI5 Tooling dependencies to benefit from bug fixes and improvements, UI5 Tooling v2 will continue to work with current maintenance releases.


If you have any questions or feedback, reach out to us in the comments below, the OpenUI5 Slack channel, or by raising an issue on GitHub.

Disclaimer: Regarding the forward-looking statements, see

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Marco Beier
      Marco Beier

      Awesome news, maybe not for everyone, but in general I really like the reason for this breaking change. Looking forward to it. 🙂

      Keep pushing it forward!

      Author's profile photo Werner Dähn
      Werner Dähn

      Are there any changes to be done in controllers and custom controls when no UI Tooling is used but just plain HTML and JS files?


      And since we are on the topic, two more questions:

      1. Any plan to switch to the syntax where you import modules instead of use define?
      2. Any plans to get rid of the jquery library in UI5?
      Author's profile photo Matthias Osswald
      Matthias Osswald

      Are there any changes to be done in controllers and custom controls when no UI Tooling is used but just plain HTML and JS files?

      No, there are no changes required for application / library code at all.
      This is only about the tools that are used for example to parse the JavaScript code.

      Author's profile photo Andreas Ecker
      Andreas Ecker

      Hi Werner, regarding your two add'tl questions:

      1. For the time being, sap.ui.define() is to be used instead of import, see
      2. Getting rid of jQuery is indeed a long-term goal, as we keep reducing dependencies and with each iteration replace existing functionality by equivalent/native capabilities. Btw, this is also true for smaller third-party dependencies, so this is an ongoing journey.