Release Notes

Alpha Version 2.10.0-a20260205-01

Other Improvements

  • Adding components to the title component of a headline
    Components can now be added directly into the <h2> element using the new method Headline#addToTitle(Component). Components added via this method are preserved when setTitle() is called.

Alpha Version 2.10.0-a20260202-03

Version Updates

The following versions have been updated:

Dependency New version Previous version

Faktor-IPS

26.7.0.a20260119-01 (Release Notes)

26.1.0.release

Vaadin

25.0.4 (Release Notes)

24.9.8

Spring Boot

4.0.1 (Release Notes)

3.5.9

Spring Framework

7.0.2 (Release Notes)

6.2.15

Karibu

2.6.1

2.5.0

JUnit

6.0.2 (Release Notes)

5.14.2

Vaadin TestBench

10.0.0

8.x

Logback

1.5.26

1.5.21

Vaadin 25 Update

The update to Vaadin 25 not only brings an update of the tech stack, but also changes in build configuration and frontend styling.

Below are the most notable changes for linkki applications. For a complete list of Vaadin 25 breaking changes and migration steps, please refer to the Vaadin 25 Upgrade Guide.

Technical compatibilities
  • Spring Boot 4
    Vaadin 25 uses Spring Boot 4 and Spring Framework 7. This is a major version jump from Spring Boot 3.5. Please refer to Spring Boot 4.0 Migration Guide for more information.

  • JakartaEE 11
    Vaadin 25 is compatible with Jakarta EE 11.

  • Node.js
    Frontend builds now require Node.js 24 or later for development.

  • JUnit
    All linkki test libraries now use JUnit 6. Apart from the Java 21 requirement, which is already mandatory since linkki 2.8, there should be no breaking API changes.+ For detailed changes and improvements, see JUnit 6 release notes.
    If you encounter any incompatibilities while using JUnit 5, please don’t hesitate to contact us.

  • Selenium
    Vaadin TestBench now uses Selenium 4.39.0.

Build and dependencies
  • Maven configuration
    The default in new projects is that mvn install builds a production artifact without needing a production profile.

    For development features, com.vaadin/vaadin-dev can be included as a dependency with optional scope. This module includes features that make the development faster such as live-reload. The server also sends more data to the browser to help troubleshoot problems in the server client communication. More details can be found in the Vaadin documentation.

    To adapt to this change in Spring Boot projects, following changes should be made in all pom.xml that use vaadin-maven-plugin:

    • Profile production should be removed.

    • vaadin-maven-plugin should always call the goal build-frontend. Goal prepare-frontend should be removed.

    • Add the following dependency:

      <dependency>
          <groupId>com.vaadin</groupId>
          <artifactId>vaadin-dev</artifactId>
          <optional>true</optional>
      </dependency>
  • Jackson for JSON handling
    Vaadin 25 replaced the deprecated elemental.json library with Jackson for JSON handling. This is an internal change in Vaadin and should not affect linkki applications directly, but may impact custom components using Vaadin’s JSON APIs.

  • Less transitive dependencies
    Some dependencies do not come with Vaadin anymore. If those dependencies are needed, they need to be included explicitly. Some well-known ones include:

    • Guava: Google Core Libraries

    • Apache Commons Compress

Notable Java API Changes
  • Label component deprecation
    com.vaadin.flow.component.html.Label has been deprecated as the naming is confusing, making the component often misused in cases, where a <label> element should not be used.
    To ensure that <label> should really be used, check if the usages is correct according to the specification. If this is the case, use com.vaadin.flow.component.html.NativeLabel instead.
    If the usage does not match the specification, use a different element such as Text or Span instead.

  • Renaming of variant constants
    With the introduction of a new theme, variants that only work with Lumo theme are renamed, e.g. DetailsVariant.FILLED to DetailsVariant.LUMO_FILLED.

Frontend Changes
  • Stylesheets
    The annotation @Theme is deprecated. Instead, themes are loaded by @Stylesheet.
    For the linkki theme and the F10 theme, a new STYLESHEET constant was added to LinkkiTheme and F10ProductTheme that can be used with @Stylsheet to replace @Theme.

  • Shadow DOM injection deactivated by default
    Shadow DOM injection is no longer activated by default. All shadow DOM injections in linkki theme are migrated. For any exiting shadow DOM injections, consider migrating them by using :part selector instead. Vaadin documentation provides common CSS selectors for most components, see e.g. documentation for Grid.
    If shadow DOM injection is still needed, the feature flag themeComponentStyles must be set to activate the feature. Note that the property must be declared in the web application module directly.

  • Aura theme
    Vaadin introduces the new Aura theme that coexists with Lumo. Note that the linkki theme does not work with Aura theme at the moment.

  • DOM changes
    Some web components are reworked in this version, most notably overlays (including dialogs). Methods provided by the linkki TestBench extension such as $(OkCancelDialogElement.class) are adjusted accordingly. Other selectors used in UI tests and CSS styling may need to be adjusted.

Alpha Version 2.10.0-a20260202-02

This version only contains internal version updates as preparation for the update to Vaadin 25.

Alpha Version 2.10.0-a20260202-01

Version Updates

The following versions have been updated:

Dependency New version Previous version

Faktor-IPS

26.7.0.a20260119-01 (Release Notes)

26.1.0.release

Vaadin

24.9.10 (Release Notes)

24.9.8

Spring Boot

3.5.10 (Release Notes)

3.5.9

Other Improvements

  • Remove of linkki internal shadow DOM injections
    All internal shadow DOM injections that are used by linkki theme are removed. Shadow DOM injection will be deactivated by default in Vaadin 25. If shadow DOM injections are used currently, consider removing them and use selectors such as part instead.
    This change should not cause any visual breaks. If you encounter any unexpected styling or UI test problems, please don’t hesitate to contact us.

Alpha Version 2.10.0-a20260116-01

Version Updates

The following versions have been updated:

Dependency New version Previous version

Vaadin

24.9.9 (Release Notes)

24.9.8

Bugfixes

  • linkki-apt validation for all linkki annotations
    linkki-apt can now fully validate usages of all linkki standard annotations.