Blog

What’s coming in Vaadin 25?

By  
Rolf Smeds
Rolf Smeds
·
On Apr 4, 2025 6:41:03 PM
·
In Product

The next major version of the Vaadin platform is scheduled to ship in December 2025. That may sound like a long time, but it’s really just a blip in framework years, and an early beta is coming already in September. Here’s a glimpse of some of the great new features planned for V25.

psst...We also just released Vaadin 24.7 – Check out what's new!

New default theme and simplified styling

The most visible new feature in Vaadin 25 is a new default theme called Aura, inspired by current visual design trends in the web application space. The Starpass demo app gives you an approximate sneak peek of what it will look like.

Starpass demo

New base styles in Vaadin UI components and some simplifications of the theming system will also make it easier to build completely custom themes from scratch if neither Aura nor Lumo are close to the look and feel you desire.

But don’t worry, the Lumo theme isn’t going anywhere – both new and existing applications can continue using it.

Official support for the popular Tailwind CSS framework is also in the works.

Native HTML overlays

Vaadin components incorporating overlays, such as Dialog, Combo Box, and Popover, get a significant accessibility boost by utilizing the native HTML popover API, making them friendlier to keyboard navigation and assistive technologies.

native HTML overlays

This change also makes it possible to move content between overlays and non-overlay parts of the UI responsively, e.g., in response to changes in viewport size.

Tree Grid flattened data binding

The Tree Grid component is currently hampered by various issues related to, amongst other things, performance, scrolling, and client-side state management. One of the key causes for these issues is the way hierarchical data is loaded and represented by the HierarchicalDataProvider.

Tree column

A new DataProvider type that loads flattened, multi-level subtrees of items in a single query will solve many of these issues and make populating the Tree Grid easier in many cases.

Simplified localization of UI components

The internationalization mechanism for built-in strings in Vaadin components is currently based on i18n objects whose properties need to be explicitly updated based on the current locale. This is awkward and error-prone, and it makes it difficult to implement locale updates without losing the UI state.

In V25, Vaadin components will be able to utilize the i18n mechanisms in Flow and Hilla to automatically fetch locale-specific strings from resource bundles (or wherever they are stored) whenever the UI’s locale is updated – without requiring a single line of code to make it happen.

Lit-based components

Vaadin components will finally switch from the old Polymer library, which has been in maintenance mode for several years, to the newer Lit library. This will improve client-side performance and reduce the frontend bundle size of Vaadin applications.

Support for Spring Framework 7, Spring Boot 4, and React 19

V25 brings support for these new versions and all the great new features in them. We expect new 3rd party libraries in the Spring and React ecosystems to soon start requiring the new versions. Updating our own baseline makes it possible to start using such new libraries right away.

Spring, react, springboot logos

More features planned for later minor versions of V25

The features mentioned above are all currently planned to ship in the initial 25.0 release, but naturally, we’re not stopping there. Features planned for later minor versions include:

  • Use signals for reactive UI state management in Flow. This would help simplify UI logic in most cases by separating the logic that updates the state from the logic that determines what the UI should look like for any given state. This is particularly useful when multiple components need to be updated in reaction to a single state change or when a single component configuration depends on multiple separately updated pieces of state.
  • Update framework functionality in both Flow and Hilla that is related to the UI state, e.g., routing parameters, form binding state, and lazy loading, which is to be based on signals. As an example, there could be a signal instance representing a route parameter so that a change to the signal automatically updates that part of the URL, and a change to the URL automatically updates the signal and, through that, also what is rendered in the view.
  • Various new UI components and features, such as Switch, Badge, and Grid Layout components, further Form Layout improvements, Grid column visibility selector, and pagination.

More details on upcoming features can be found in the Vaadin Roadmap board.

Final quarterly release for Vaadin 24 in September

The last quarterly minor version of Vaadin 24 is planned to ship in the third quarter of 2025, after which all new feature development will focus exclusively on V25. Beyond that, we will do minor releases for Vaadin 24 on demand rather than with a fixed schedule.

While backporting of features to older versions is still provided as part of our Sponsored Development service, this option will not be possible for all V25 features.

V25 Pilot with upgrading support

As mentioned above, an early beta version of Vaadin 25 will be released in September 2025.

Interested in getting to Vaadin 25 early? Free V24-to-V25 upgrading support will be offered to organizations and add-on authors as part of a limited pilot program that we will announce shortly. Stay tuned for another blog post with more details about this!

In the meantime, learn about all the new features and components introduced in Vaadin 24.7.

Rolf Smeds
Rolf Smeds
Rolf is the Product Owner for Vaadin Design System
Other posts by Rolf Smeds