Changes since 23.1.0.beta2
Breaking changes
-
Always load static files from context root (#13795)
Commit · Pull request · IssueStatic resources are always served from
/VAADIN
in the context path. If you're not using Spring and use a non-root mapping for your servlet (not a/*
), then you need to separately map a Vaadin servlet to/VAADIN/*
like shown below:@WebServlet(asyncSupported = true, urlPatterns = { "/admin/*", "/VAADIN/*" }) public class ViewTestServlet extends VaadinServlet { }
For multiple servlet mappings, this makes the application load a static files only once from
/VAADIN
and not from both/myapp/VAADIN
and/admin/VAADIN
.
New features
-
Support listening to browser unsubscribe in endpoint methods (#13731)
Commit · Pull requestAdds support for EndpointSubscription as an endpoint return value An endpoint subscription is the same as a Flux but in addition supports an unsubscribe event handler, triggered when the client closes the subscription (not when the flux completes or errors)
Fixes
-
Upgrade lit from 2.2.1 to 2.2.3 (#13848)
Commit · Pull requestUpgrades the dependency in flow-client which was missing from the last commit
-
Pass url mapping to Atmosphere (#13845)
Commit · Pull request · Issue -
Update Page Title after processing AfterNavigation listeners (#13825)
Commit · Pull request · IssueThe page title is updated after
afterNavigation
invocation and properly updated the title. -
Workaround Spring Boot UnsupportedOperationException for error page requests (#13808)
Commit · Pull request -
Properly clean up when a flux immediately errors or completes (#13730)
Commit · Pull request -
Use /HILLA/push as the Hilla push endpoint (#13809)
Commit · Pull requestThis avoids conflict with the VaadinServlet when it is bound to /VAADIN/* Related to vaadin/hilla#424
-
Clean up flux subscription on browser disconnect (#13729)
Commit · Pull request -
Avoid potential slow Set#removeAll call in HierarchicalCommunicator (#13746)
Commit · Pull request · Issue -
Improve message sender / handler robustness in resync scenarios (#13733)
Commit · Pull request · IssueProcess re-sync messages via normal message queue and use semaphore to protect re-sync process (i.e. do not allow other messages while performing re-sync). This PR is adopted from similar fixes for Vaadin 8. vaadin/framework#11791 vaadin/framework#12043 vaadin/framework#12178 This also changes the method
forceMessageHandling
in a way that the desire to resynchronise is registered before callingendRequest
. If this is not done,endRequest
may end up sending out a request itself and that then causes the re-sync request to fail because a request is already in flight. This ends up throwing an IllegalStateException at com/vaadin/client/communication/RequestResponseTracker.java. -
Always get url mapping using helpers when using Spring Boot (#13791)
Commit · Pull request · IssueThe properties in application.properties use a relaxed mapping strategy in Spring Boot so all variants of "url-mapping","urlmapping","urlMapping" are mapped to the same value in VaadinConfigurationProperties.
-
Devmode popup will show Hilla instead of Vaadin in Hilla applications (#13725)
Commit · Pull request