Java Web Application Blog

Vaadin 24 Free Maintenance Ends June 16 — Choose Your Path Forward

Written by Roman Kałkowski | Apr 7, 2026 1:37:45 PM

Vaadin 25.1 is now available and makes for a strong, forward-looking upgrade. It is the first big release in the 25-series that makes it an attractive next step for teams building on the Vaadin platform.

With the June 16, 2026 maintenance deadline for Vaadin 24 approaching, this is a good moment to explore your options and plan ahead. Upgrading to Vaadin 25.1 lets you take advantage of the latest enhancements and stay on a fully supported path.

This post covers what the maintenance transition means in practice, what makes Vaadin 25.1 a compelling upgrade target, and what to do if upgrading right now is not realistic for your team.

What "Maintenance Mode" Means for Your V24 Application

Vaadin maintenance helps you deliver long-lasting, reliable applications by keeping your software up to date with critical fixes and improvements. From security patches and browser compatibility updates to framework and integration enhancements, staying on a maintained version ensures your app remains secure, stable, and dependable over time.

During the free maintenance window (until June 16, 2026), security patches and critical bug fixes are available for the latest Vaadin 24 minor version. If your application is pinned to an older minor version (for example, 24.3 or 24.5), that version is already past its free support window.

After June 16, free maintenance ends. Applications on Vaadin 24 will continue to function normally, but security patches, resolutions for browser compatibility issues, and bug fixes will no longer be provided.

If your team needs more time beyond June, our recommendation is to plan your upgrade now or get Extended Maintenance (available through the Enterprise plan) covers Vaadin 24 — including individual minor versions — with security patches and browser compatibility updates for up to 15 years. More on that in the maintenance policy overview.

What's New in Vaadin 25.1

Here are the key areas worth knowing about.

Simpler Theming and Styling

Theming in Vaadin 25 is less framework configuration and more plain CSS. Themes are now just stylesheets, which means you can dynamically switch between them at runtime. This is useful for light/dark mode, per-user preferences, or multi-tenant branding.

Vaadin 25 also introduces Aura, a new modern theme built on stronger component base styles. The previous theme engine, Lumo, however also remains available. The Material theme has been removed — applications using it need to migrate to Lumo, Aura, or a custom approach built on the new base styles.

Leaner and Faster

A production-bundled Vaadin 25 application has roughly 30% fewer transitive dependencies by default.This is a 22 MB reduction compared to V24. Dev-mode server startup is over 50% faster, and deployment is about 27% quicker. The framework removed several external dependencies and leveraged APIs available in newer Java versions instead.

Simplified Build System

Production builds no longer depend on a dedicated Maven profile. Both Maven and Gradle now produce a production artifact by default, and development builds are used only when running inside an IDE. CI pipelines and buildpacks behave like a standard Java build.

Updated Technology Baseline

This is where the upgrade effort primarily sits for most teams:

Requirement

Vaadin 24

Vaadin 25

Java

17+

21+

Spring Boot

3.x

4

Spring Framework

6

7

Jakarta EE

10

11

Servlet

6.0

6.1

Node.js

20+

24+

Maven

3.5+

3.8+

View full Vaadin’s version comparison table

Vaadin 25 also upgrades from Jackson 2 to Jackson 3, which may affect applications with custom serialization logic. And Hilla is now an opt-in dependency — if your project uses Hilla or React-based views, add hilla-spring-boot-starter alongside vaadin-spring-boot-starter.

If your project is already on Java 21 and can move to Spring Boot 4, the baseline shift is straightforward. If you are locked to Java 17 or Spring Boot 3, assess those dependencies first: they define the scope of your upgrade.

Vaadin 24 vs. Vaadin 25: Choosing the Right Timing

For most teams, Vaadin 25.1 is the recommended upgrade target — it is stable, feature-rich, and the natural adoption point for anyone who was waiting for the platform to mature past the initial 25.0 release. But upgrading is not the only valid path forward.

That said, the right timing depends on your situation:

Upgrade now if your project is on Java 21 and Spring Boot 3.x (or ready to move to Spring Boot 4), you are not using the Material theme, and your third-party dependencies are compatible with the new baselines. We recommend first addressing any deprecation warnings on the latest Vaadin 24, then updating the Vaadin version in pom.xml. Any remaining deprecation warnings after upgrading are not urgent — they will most likely not require immediate attention before Vaadin 26.

Consider Extended Maintenance if you cannot realistically upgrade before June 16, 2026 — Extended Maintenance is not a consolation prize. It is a legitimate path that provides up to 15 years of security patches, browser compatibility updates, and critical bug fixes for your specific V24 version. It keeps your V24 application secure and supported while you plan your upgrade on your own timeline. It covers both V24 major and individual minor versions (24.0 through 24.9), so even teams pinned to an older minor release are fully supported. Extended Maintenance is included in the Enterprise plan and available as a standalone service. Learn more at vaadin.com/maintenance.

Before You Start: A Practical Checklist

Here is a quick checklist to help scope the effort before you commit to a sprint:

  1. Read the upgrade guide. The official V24 → V25 upgrade instructions walk through the specific steps and breaking changes.

  2. Start a test branch. The fastest way to estimate effort is to bump the version and see what breaks. Many teams find the upgrade smoother than expected.

  3. Check your Java version. Vaadin 25 requires Java 21. If you are on Java 17, this is likely your first upgrade step.

  4. Check your Spring Boot version. Vaadin 25 requires Spring Boot 4 / Spring Framework 7. Review your Spring dependencies and any libraries that may be pinned to Spring Boot 3.x.

  5. Review your security configuration. Spring Security 7 introduces breaking changes, and the deprecated VaadinWebSecurity patterns from V24 have been removed. If your application has custom security configuration, review this early. The new patterns are supported in Spring Security 6 and the latest Vaadin 24 versions, so it is recommended to make this change as a separate step even before the main upgrade.

  6. Audit your theme. If you are using the Material theme, plan for a styling migration. If you are on Lumo, the transition is smoother — but review any custom theme configuration for the new stylesheet-based approach.

  7. Review third-party add-ons. Check that any Vaadin add-ons or third-party components you use have published V25-compatible versions. The Vaadin Directory is a good place to verify.

  8. Check your Node.js version. The frontend build now requires Node.js 24+. Note that if a compatible version is not found globally, Vaadin will automatically download and install it for you into your ~/.vaadin/ directory.

  9. Update your test setup. Spring Boot 4 defaults to JUnit 6 (JUnit Platform). If you have JUnit 4 tests using UIUnit4Test or TestBenchTestCase, they will not be detected without adding the JUnit Vintage Engine dependency. Also note that ComponentTester.click() in UI Unit has a new signature — tests using AnchorTester or RouterLinkTester need to change to the navigate() method.

  10. Check Jackson usage. Vaadin handles the Jackson 2 to Jackson 3 migration automatically in most cases. If your application has custom serializers, deserializers, or Jackson annotations, review the Jackson 3 migration guide.

  11. Migrate Elemental JSON usage. If you have custom components that use the Elemental JSON library for browser communication, these need to be changed to use beans, lists, maps, and other standard Java collections instead.

  12. Re-add dev tools explicitly. The vaadin-dev module is no longer included as a transitive dependency. Always include vaadin-dev as an optional dependency so that it is used in development but not included in production builds.


Resources

Need Help Planning Your Upgrade?

If your team wants a second opinion on your path forward — whether you are upgrading to Vaadin 25.1 or evaluating Extended Maintenance — we are happy to help. Book a 30-minute consultation to review your setup and get a realistic assessment of both options.

Vaadin 24 has served the community well, and Vaadin 25.1 builds on that foundation with a cleaner, faster, more standards-aligned platform. You have two equally valid paths:

The June 16 deadline is approaching, but whichever path you choose, the goal is the same: no surprises, no scrambling, just a clear path forward.