Changes since 24.2.0.alpha3
New features
-
Incremental Gradle builds for vaadinPrepareFrontendTask
Commit · Pull request · IssueDefines the inputs and outputs for
vaadinPrepareFrontendTask
of Vaadin Gradle plugin making it possible to skip the task (to safe build time) if inputs and outputs are not changed, e.g. if project configuration not changed and no clean-up made, givingUP-TO-DATE
result, according to incremental builds feature.
Inputs are:- path to Node.js executable
- path to npm/pnpm executable
- configuration parameters, defined in
VaadinFlowPluginExtension
Outputs are:
- package.json,
- vite.config.js and other files generated by Vaadin in the root of the project and in the frontend folder frontend folder, including generated folder.
Can be turned off with:
vaadin { alwaysExecutePrepareFrontend = true }
-
Support for vaadin-custom-field, vaadin-upload
Commit · Pull request -
Theme editor grid and treegrid support, fixed issue with javaparser and unsupported Records
Commit · Pull request -
Allow modifying QueryParameters
Commit · Pull request · Issue -
Fail fast when plugin is used with an unsupported version of Gradle
Commit · Pull requestChecks the gradle version when applying the plugin and fails fast if it is unsupported. Closes #16149
Fixes
-
Disable Java live reload if theme editor is opened
Commit · Pull request · IssueEnabled Java live reload closes theme editor which in turn leads to loosing user context.
-
Fail when adding null component event listener
Commit · Pull requestCurrently, it is possible to add component event listeners pointing to a null reference. At runtime an NPE is thrown, but for an internal wrapper class, making difficult to spot where the null reference comes from. This change will throw immediately if null is given as a component event listener.
-
Fix unsafe path check for URL decoded path
Commit · Pull request · IssueIf a path is already URL decoded but contains a percent char, the unsafe path check fails when it tries to decode it again. The thrown IllegalArgumentException can be safely ignored, as it means that the input path is already decoded and can be checked as is.
-
Fixed issue with using child selector, accordion metadata updates
Commit · Pull request -
Update jandex-maven-plugin for JDK 21
Commit · Pull request -
Do not register requests while flush in progress
Commit · Pull requestThis change replaces the flush request canceling approach using a "flush in progress" flag. While a registered flush is triggered, until it ends, no other flush requests will be registered. With this change, any edge cases regarding registering multiple flush requests during the same round-trip should be dealt properly.
-
Pre-compile visitable classes regex pattern
Commit · Pull requestPre compiles the regex pattern to improve build frontend performance during the bytecode scan and collection of reachable classes. Also adds some package exclusions for well knonw libraries that should not be visited. Part of #17234
-
Fix regression when sync id check is disabled
Commit · Pull requestWhen syncId check is disabled, long-polling push cache filter always cached all messages. This change fixes the regression, by preventing message cache when syncId check is disabled.
-
Unregister shortcut beforeClientResponse callback on component detach
Commit · Pull request · IssueIf a component that is a shortcut lifecycle owner is attached and detached in the same roundtrip its beforeClientResponse callback is not unregistered causing also potential serialization issues. This change unregisters the callback on component detach, and it turns the callback into an anonymous class to prevent deserialization issues due to self references.
-
Prevent deadlock when push is requested during disconnect
Commit · Pull requestPrevents a deadlock that may happen when a servlet container holds a lock on HTTP session access and a push disconnection happens concurrently with a push operation requested when VaadinSession is unlocked after session destroyed listeners are invoked. References #16293
-
Prevent NPE in ShortcutRegistration.toString
Commit · Pull request -
Do not include dev dependencies when locking versions using package.json
Commit · Pull request · Issue