Vaadin 25 add-on upgrades

Vaadin 25 is just a couple of weeks away, and I’m a bit worried about getting all the relevant add-ons updated in time. Add-on incompatibility also makes it harder to properly test Vaadin 25 itself :grimacing:. So I’m starting this thread for sharing tips and asking for help. Also read the blog post about the topic.

In some cases, updating might be as simple as marking the add-on as compatible in the Directory, while in others it may require more manual work. If you know you won’t have time to work on an update, please don’t hesitate to ask for help. I’d be happy — even honored — to contribute if needed :teddy_bear:

2 Likes

Here is one add-on that no builds against beta7 (CI says, no but I think that is because of CI configuration/Java version). Compering it to its v24 branch might give some ideas what kind of changes can be possible/required: GitHub - parttio/colorful at v25

Note that, making the add-o Aura (the new theme) compatible is optional but great if that can be done. @Tatu2 did that recently for Pivot Table add-on, probably best reference how it can be done ATM: pivot-table-flow/src/main/resources/META-INF/resources/frontend/lumo-pivot.css at v25 · vaadin-component-factory/pivot-table-flow · GitHub

I quickly noticed that many of my own add-ons need a compatible Mopo to even pass the ITs. in.virit/mopo@0.0.6 is cut and currently syncing to central :partying_face:. Built against Vaadin 25.0.0-beta7, but I wouldn’t expect bit DOM changes to components anymore, so it should do fine.

Heard from @Jean-Christophe.1 that the other Playwright helper (dramaqueen) ought to be ready for Vaadin 25 soon as well :muscle: We hope to merge these to at some point.

1 Like

I have some pull requests for Vaadin 25:

My add-on upgrade related article is now live, contains some tips!

Yesteraday updated Sliders add-on, that has functioned as my example for “proper add-on build”. If you have used my super pom in.virit.sb:viritin-addon-project-parent in your add-on (like in Sliders), there is now version 0.0.9 available as Vaadin 25 compatible version.

If you want to create a brand new add-on based on this setup (that supports SB based testing setup, Playwright based E2E setup and has externalized configs for Maven Central first publishing), the easiest way is to use the updated archetype (or same via IDE):

mvn archetype:generate -DinteractiveMode=false -DgroupId=io.github.youraccount -DartifactId=my-great-addon -Dversion=1.0.0-SNAPSHOT -DarchetypeGroupId=in.virit -DarchetypeArtifactId=viritin-vaadin-addon-archetype -DarchetypeVersion=3.0.0

While I honestly think “nobody” should use these in 2025 (but to go with the above instead), I also upgraded the official add-on templates for Vaadin 25 era: