Changes since 24.0.0.alpha6
Breaking changes
-
Upgrade to Spring Boot 3 RC2
Commit · Pull requestAs Spring Boot now uses Tomcat 10.1, we cannot mix Jetty 11 (servlet 5) and Tomcat 10.1 (servlet 6) in the same test modules so they are all run with Jetty 11 for now.
-
Require Node 18 (npm 8.6)
Commit · Pull requestNode 18 is the latest LTS version and what everbody should at least have going forward
-
Enable auto update of installed Node by default
Commit · Pull requestThis makes Flow keep its installed Node version up to date. Manually installed node versions are not affected
-
Extract addon files to frontend/generated/jar-resources instead of a fake npm package
Commit · Pull request · IssueNo longer creates target/flow-frontend so any tool or script relying on that needs to be updated
New features
-
Add polymer2lit converter
Commit · Pull request · IssueIntroduces a
mvn vaadin:convert-polymer
Maven command that converts Polymer-based source files into Lit. The following arguments are supported:
-Dvaadin.useLit1
forces the converter to use lit-element rather than lit imports.
-Dvaadin.disableOptionalChaining
disables the usage of the optional chaining operator which can be helpful for projects still based on Webpack.
-Dvaadin.path=/path/to/directory/or/file
allows specifying the path to a file or directory that needs to be converted. By default, the converter scans all **/.js and **/.java files in the project.
Note: When testing this command in the Flow repo, run the commandmvn flow:convert-polymer
instead. -
Add Gradle support for polymer2lit
Commit · Pull requestAdds a
./gradlew vaadinConvertPolymer
Gradle task that converts Polymer-based sources to Lit. The following parameters are supported:
-Dvaadin.useLit1
forces the converter to use lit-element rather than lit imports.
-Dvaadin.disableOptionalChaining
disables the usage of the optional chaining operator which can be helpful for projects still based on Webpack.
-Dvaadin.path=/path/to/directory/or/file
allows specifying the path to a file or directory that needs to be converted. By default, the converter scans all **/.js and **/.java files in the project. -
Basics for Spring native support
Commit · Pull requestThis is the foundation to make Spring native work. It does not cover dynamic use like
Route
classes.
Fixes
-
Add a default value to expressions when optional chaining is enabled
Commit · Pull requestThe PR makes the converter add a default value to expressions that are built with the optional chaining operator. Before, the converter used to add a default value only in the case optional chaining was disabled. A follow-up to #14972
-
Prevent adding an extra dot to expressions consisting of one non-null variable
Commit · Pull requestThis PR prevents adding an extra dot to expressions that consist of only one variable that is assumed to never be null. This could occur before when running the converter with the enabled optional chaining operator. A follow-up to #14972
-
Skip IBMRestServlet when checking for VaadinServlet
Commit · Pull request · Issue -
Do not log null if servlet deployer is disabled
Commit · Pull request · Issue -
Interpret a directory import as an import for index.js in the directory
Commit · Pull request · IssueThis is only used by the theme import rewriter which traverses all imports. It does not actually affect which files are imported