Upgrading · Docs · Get Started
New and Noteworthy
Supported versions
- Java version 21+ (up from 17+)
- Spring Boot 4 (up from 3)
- JakartaEE 11 (up from 10)
- Node 24 (up from 20)
- pnpm 11 (up from 7)
- React 19 (up from 18)
- JUnit 6 (up from 5)
Vaadin Eclipse plugin
In addition to IntelliJ and VS Code, there is now a plug-in for Eclipse
Simplified production builds
The default in new projects is that mvn install builds a production artifact without needing a production profile. Projects must have an optional dependency on com.vaadin/vaadin-dev. Optional dependencies are automatically left out of the production artifact.
This works out of the box for Maven + Gradle with Spring Boot or Quarkus. For other project types, you might still need a development and/or production profile.
New Aura theme, no material theme
There is a new Aura theme with a fresh, modern look. The Lumo theme remains as another theme option.
Components have new base styles to make it easier to create a completely custom theme.
Theme and styling changes
It is recommended that you write CSS as static files and use @StyleSheet to load them instead of using @Theme and frontend/themes. You can use @ColorScheme to define dark mode.
With themes as static CSS files, they can be unloaded and you can switch themes at runtime.
You can keep using @CssImport which places the CSS files inside the frontend bundle but that requires a bundle build and CSS cannot be unloaded.
Tailwind CSS support (experimental)
You can use Tailwind classes in your CSS and in your views once you enable to feature flag.
Components use Lit
All web components have been migrated from Polymer to Lit
Component updates
- Cluster support in Map component
- Markdown (& HTML) support in Tooltips
- TreeGrid flat hierarchy format support
High-level component communication
When building your own components or add-ons, you can now use beans, lists, maps and other collections instead of the Elemental JSON API, which was removed.
Fewer dependencies
Many Java and Node dependencies have been removed in favor of using built-in APIs,
for example guava, commons-(codec|compress|fileupload2|io|lang3), ph-css, swagger, gwt-elemental
Both the production JAR/WAR and the frontend bundle are smaller thanks to this.
Projects relying on these as transitive dependencies need to add them explicitly.
Offline license format change
The format of the offline license has slightly changed and you need to download a new license from vaadin.com
We have added two Maven goals: mvn vaadin:download-license which downloads your online license and mvn vaadin:download-offline-license which helps you obtain an offline license.
Signals (Experimental)
Convenience methods for Element have been added along with a new ReferenceSignal type. High level API is still in progress.
Hilla
Hilla features are bound to be integrated into Flow. In this version, Hilla has only been changed to be an opt-in dependency. Add com.vaadin/hilla-spring-boot-starter to keep using Hilla.
Miscellaneous changes
Uploads are now sent as raw data instead of multipart request, removing the need to configure size limits in many cases and providing a better user experience.
Browser details such as viewport size, timezone are available when initializing the view.
When automatically installing Node, the full Node distribution is installed in a Node version specific folder instead of overwriting an old installation.
Changelogs
- Flow (25.0.0) and Hilla (25.0.0)
- Design System
- TestBench (10.0.0)
- Feature Pack(25.0.0)
- Modernization Toolkit (Documentation)
- Feature Pack (Documentation)
- Dragonfly (Documentation)
- Modernization Toolkit Analyzer (Analyzer for Eclipse, Analyzer for Maven)
- Multiplatform Runtime (MPR) (8.0.0)
- Router (2.0.1)
- Vaadin Kits
Official add-ons and plugins:
- Spring add-on (25.0.0)
- CDI add-on (16.0.0)
- Maven plugin (25.0.0)
- Gradle plugin (25.0.0)
- Quarkus plugin (3.0.0)
Upgrading guides
Support
Vaadin 25 is the latest stable version, with extended support options available (release model).
Vaadin also provides commercial support and warranty.
Supported technologies
| Desktop browser |
|
|---|---|
| Mobile browser |
|
| Development OS |
|
| IDE |
Any IDE or editor that works with the language of your choice should work well. Our teams often use IntelliJ, Eclipse, VS Code among others. Vaadin IDE plugins (IntelliJ and VS Code) support the IDE versions released during the last 12 months Vaadin Designer supports the following IDEs:
|
| Java | Version 21 of any JDK or JRE |
| Maven | Version 3.8 or newer |
| Gradle | Version 8.14 or newer |
| Application server |
Vaadin Flow requires Java Servlet API 6 and Java 21 or newer. It is tested on:
|
| Node.js | Version 24 |
| Spring Boot | Version 4.0 |
| Quarkus | latest LTS (3.27) or newer |