github vaadin/platform 25.0.0
Vaadin 25.0.0

7 hours ago

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

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
  • Chrome (evergreen).
  • Firefox (evergreen).
    • Firefox Extended Support Release (ESR).
  • Safari 17 or newer (latest minor version in each major series).
  • Edge (Chromium, evergreen).
Mobile browser
  • Chrome (evergreen) for Android (4.4 or newer).
  • Safari 17 for iOS or newer (latest minor version in each major series).
Development OS
  • Windows
  • macOS
  • Linux
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:

  • Eclipse from Photon and upwards

  • JetBrains IntelliJ IDEA from 2017 upwards

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:

  • Apache Tomcat 10.1

  • Open Liberty 23

  • RedHat JBoss EAP 8.1

    • To work with RedHat JBoss EAP 8.0, the following content needs to be added under WEB-INF folder as jboss-deployment-structure.xml
    Workaround for supporting RedHat JBoss EAP 8.0
     <jboss-deployment-structure>
       <deployment>
         <exclude-subsystems>
           <subsystem name="jaxrs" />
         </exclude-subsystems>
       </deployment>
     </jboss-deployment-structure>
  • WildFly 36 +

    • Latest WildFly versions are still using Jackson 2, in order to work with Vaadin 25, the following content needs to be added under WEB-INF folder as jboss-deployment-structure.xml
    Workaround for supporting WildFly 36
     <jboss-deployment-structure>
       <deployment>
         <exclude-subsystems>
           <subsystem name="jaxrs" />
         </exclude-subsystems>
       </deployment>
     </jboss-deployment-structure>
    Workaround for supporting WildFly 37+
     <jboss-deployment-structure>
       <deployment>
         <exclusions>
             <module name="com.fasterxml.jackson.core.jackson-annotations"/>
         </exclusions>
       </deployment>
     </jboss-deployment-structure>
  • Jetty 12

  • Payara Server 6

  • Payara Micro 6

Node.js Version 24
Spring Boot Version 4.0
Quarkus latest LTS (3.27) or newer

Don't miss a new platform release

NewReleases is sending notifications on new releases.