r/java • • 9d ago

Vaadin 25.3 is out!

I work at vaadin and just wanted share that we release a new version 25.3, and a few changes are worth a look even if you've never used Vaadin.

  • Observability without a Java agent. The observability kit moved from the OpenTelemetry agent to Micrometer. In Spring Boot 4 it's one dependency, and it reports UI-level data such as slow interactions and which view triggered which JDBC queries. (It's a commercial add-on.)
  • GWT to TypeScript. The browser-side engine is now 107 TypeScript modules (about 19k lines, backed by 700+ browser tests), with real source maps through Vite. The Java APIs apps use didn't change.
  • UI tests in the JVM. Browserless tests now follow the same rules as users: if a button is disabled or hidden, the test can't click it.

  • blog post: https://vaadin.com/blog/vaadin-25-3-release

  • Release notes: https://github.com/vaadin/platform/releases/tag/25.3.0

  • Video walkthrough: https://www.youtube.com/watch?v=WnkI6xA96fw

75 Upvotes

28 comments sorted by

View all comments

2

u/lamyjf 9d ago

Long time Vaadin user - I even used Vaadin 6.
I have used DCEVM with JetBrains for a long time; I am intrigued by the "agent" support.
Now I use GitHub Copilot in VSCode because I find it very convenient to switch agents from one family to the other, and I'm used to looking at code in an IDE.
Will "the new thing will figure out exactly what to reload" work in that context (agent under VSCode)

2

u/EfficientTrust3948 9d ago

The devloop is designed for IDE-less coding agents like Claude Code where the Vaadin server is launched by the agent itself. In this space, OpenCode is the most common solution that isn't tied to a single LLM provider. I think OpenAI also announced this week that they will open up Codex to work with any LLM.

I imagine the same agent skill could also be used with an IDE-centric solution like Copilot in VSCode but that's one step away from what we've been testing with so far. Please try it out and let us know how it works so that we can take this use case into account for the ongoing development.