Changes since 24.9.12
Fixes
-
Use raw request URI for baseHref calculation to support encoded slashes (#23569) (#23572)
Commit · Pull request · IssueThe previous fix for encoded slashes (%2F) in wildcard route parameters (commit b0c121b) set urlPathHelper.setUrlDecode(false) in ForwardingRequestWrapper, which made getPathInfo() return percent-encoded paths for all requests. This broke static resource serving for files with spaces in their names and potentially affected other getPathInfo() consumers like DAUUtils. Instead of disabling URL decoding globally, fix the actual site where the raw path matters: BootstrapHandlerHelper.getServiceUrl(). This method uses getCancelingRelativePath() to count path segments for the baseHref, which must use the raw URI so that %2F is not mistaken for a real path separator. The fix computes the raw path info by stripping the context path and servlet path from the request URI, preserving the original encoding. This allows reverting setUrlDecode(false) so that getPathInfo() returns properly decoded paths for all consumers.
-
Restore backwards-compatible 2-parameter constructors for BlurEvent and FocusEvent (#23500)
Commit · Pull requestThe 3-parameter constructors with @eventdata broke backwards compatibility for code that directly instantiates these events. Re-add the original (Component, boolean) constructors alongside the @eventdata variants, matching the pattern used by ClickEvent, KeyDownEvent, etc.
-
Handle BaseJsonNode type in WebComponentGenerator JS type mapping (#23489)
Commit · Pull request · IssueUse BaseJsonNode.class.isAssignableFrom() in getJSTypeName() to match the approach already used in getDefaultJsValue(), so that properties added via addProperty with a Jackson ObjectNode default value are correctly mapped to the "Object" JS type.
-
Prevent NPE in ShortcutRegistration when lifecycleOwner is null (#23465)
Commit · Pull request · IssueAdd null guard in fireShortcutEvent() to handle the case where a KeyDown event fires after the shortcut's lifecycle owner has been detached and remove() has set lifecycleOwner to null.
-
Set required Java and Maven versions in flow-maven-plugin (#23435)
Commit · Pull requestPrevents potential issues with Maven versions >= 3.9.12 if a Java version newer than the supported one is used to package the Maven plugin.