platform
platform copied to clipboard
AC: Jakarta EE 10 / Servlet 6.0 compatibility
Description
Make Vaadin products be compatible with Jakarta EE 10 / Servlet 6.0 specifications, where javax.* packages were renamed to jakarta.* to allow using it with modern frameworks and servlet containers based on these specifications.
See also recent Vaadin's blog post describing the motivation and context.
Jakarta EE 10 / Servlet 6 is a baseline for Vaadin 24. Servlet 5.0 / Jakarta EE 9 are an intermediate step in the Jakarta evolution, and many frameworks and app servers (Spring, Quarkus and others) jump directly to the Jakarta EE 10.
Use cases
As a developer I want to use latest versions of modern frameworks (e.g. Spring Framework / Spring Boot, Quarkus), app servers/servlet containers (e.g. Jetty, TomEE, Wildfly) So that I can use new features of these products.
Acceptance criteria
- [ ] Vaadin is compatible Jakarta EE 10 / Servlet 6.0 and JDK 17, including:
- [x] Flow framework
- [x] Flow components
- [ ] Flow add-ons/plugins:
- [x] Content and Dependency Injection
- [x] Multiplatform-Runtime with Vaadin 8
- [ ] Multiplatform-Runtime with Vaadin 7
- [x] ~OSGi~ (no Felix Jetty compatible version yet)
- [x] Quarkus
- [x] Flow Gradle plugin
- [x] TestBench (UI unit testing part uses
javax.servlet) - [x] Hilla framework
- [x] Collaboration Kit
- [ ] Kits (SSO, Cloud, O11y, Swing)
- [ ] Vaadin add-ons in Vaadin Directory (most rated/used, TBD)
- [x] Vaadin is compatible with Spring Framework 6 / Spring Boot 3
- [ ] Vaadin is compatible with the following application servers / servlet containers:
- [x] Jetty 11
- [x] Apache Tomcat 10 and TomEE 9
- [x] OpenLiberty 20
- [x] WildFly 26
- [ ] Payara 6
- [x] Vaadin add-ons/integrations mentioned above pass the validation, including integration tests, and the corresponding starter projects work as expected.
- [x] Migration guide from v23 to v24
- [ ] Update docs to V24 specifics.
- [x] Platform pre-release is available and includes Spring GA versions.
General criteria
- [ ] APIs reviewed
- [ ] Design
- [ ] Performance
- [ ] UX/DX tests in Alpha
- [ ] Documentation:
- [ ] How to test?
- [ ] Limitations:
- Vaadin Portlet is out of scope, because Portlet 3.0 spec is not compatible with Servlet 5.0.