Changes since 25.4.0-alpha4
Breaking changes
- Replace gentyref with plain JDK reflection (#26721)
- Add request handlers that run without a session (#26535)
New features
- Add hierarchical menu entries based on route hierarchy (#24556)
- Publish client.events with the vaadin-request event (#26064)
- Load on-demand chunks without compiling JavaScript (#26813, #26150)
- Declare JsFunction values as bundled JS snippets (#26729, #vaadin/flow25870)
- Add navigation context phase for public route check (#26622, #26501)
- Report string JavaScript in warn and strict csp modes (#26661, #26148)
- Send nonce-based Content-Security-Policy in strict csp mode (#26660, 26149, 26155)
- Add csp mode setting (off, warn, strict) (#26157, #26147)
- Merge packages from multiple
@EnableVaadinannotations (#26482, #25022) - Deprecate
@JsModulewith a runtime URL and skip it from the bundle (#24654) - Redesign default PWA offline page (#26573, #26458)
- Serve
@JavaScriptwith a runtime prefix as a runtime <script> (#24653)
Fixes
- Postpone executions for node detached earlier in same round (#26705, #19954)
- Send no-cache headers with the index.html response (#26806, #vaadin/flow26805)
- Name incompatible executeJs result handler in error (#26750, #22757)
- Ignore trailing slash in route path checks (#26763)
- Match
@Layoutpaths the same way as routes (#26758) - Resolve layout chain from matched route in NavigationContext (#26752)
- Keep navigation trigger when reusing preserved chain (#26594, #26593)
- Decode nested event data types from flat expression keys (#26716, #26715)
- Show reconnecting when a websocket-xhr push is lost (#26309, #26307)
- Quote Content-Disposition file names per RFC 6266 (#26704)
- Create CSP nonce SecureRandom per handler instance (#26712, #vaadin/flow26711)
- Defer session expiration while leaving the page (#26648, #26639)
- Ignore disconnect of stale push resource after reconnect (#26690, #vaadin/flow26689)
- Reset websocket error retries on push reconnect (#26617)
- Update should use flow node version (#26679)
- Accept any component in click-gesture onClick methods (#26650)
- Ignore null granted authorities in role checks (#26531, #20454)
- Align runtime
@JsModuleURL handling and dependency annotation Javadoc (#24207) - Evaluate null principal as anonymous in SpringAccessPathChecker (#26491, #vaadin/flow26490)
- Answer favicon requests without creating a session (#26532)
- Resolve declared JavaScript calls once per definition (#26246)
- Revert "add a playable game to the PWA offline page" (#26557)