Changes since 24.0.0.alpha15
Breaking changes
-
Rename enableDevServer
Commit · Pull requestRename enableDevServer to frontendHotdeploy as devServer can at the moment mean too many things. Part of #15743
New features
-
Added a commonly needed helper method to get current route target
Commit · Pull request -
Add support for reusable theme in Express Build mode
Commit · Pull request · IssueServes styles and assets also for the packaged custom theme available from frontend/generated/jar-resources/themes Calculates the hash of the theme.json for the packaged theme and records it to the bundle's stats.json Checks if the hashes from the packaged themes match the corresponding hashes in the stats.json Rebuilds the bundle if the packaged themes are added/updated (hashes don't match).
-
Make express mode default
Commit · Pull requestSet express mode as default mode for development time. Closes #15743
-
Always in-memory update package.json
Commit · Pull request · IssueUpdate package.json contents in memory when checking for bundle build as platform version might have changed for instance.
-
Allow smooth scrolling a component into view
Commit · Pull request -
Add usage tracking for when expressMode
Commit · Pull requestAdd tracking of express mode usage when dev-bundle is checked.
Fixes
-
Always set image alt text the same way
Commit · Pull request · Issue -
Do not bring junit4 into all TestBench projects
Commit · Pull requestUse the same dependency as flow-components
-
Allow Gradle builds to use custom sourcesets
Commit · Pull request · IssueWhen a sourceset other than
main
is used for holding classes using Vaadin components, or for providing a resolution scope for Vaadin dependencies, theprepareVaadinFrontend
task does not correctly extract the correct Node libraries required by those classes, and thebuildVaadinFrontend
task subsequently fails to complete due to Vite requiring those Node dependencies to have been extracted into the project so failing to find all of its front-end dependencies. TheVaadinFlowPluginExtension
is being altered to include asourceSetName
field, that defaults tomain
for backwards compatibility but allows users to specify a custom sourceset to use for the prepare and build tasks. As the use of a custom sourceset generally implies that different Gradle tasks will be executed for operating on those sourcesets, and a different dependency scope generated for the custom sourceset, fields have also been added to the extension that allow users to override the values the plugin uses, whilst the default values follow the Gradle conventions for bothmain
and non-main
sourcesets. -
Forward messages asynchronously in Vite websocket proxy
Commit · Pull request · IssuePrevents deadlocks in Quarkus environments.
-
Use a random port for Spring Boot livereload if the default is taken
Commit · Pull request · Issue -
Fix broken TS code in dev tools
Commit · Pull request -
Remove extra files from the jar-resources folder
Commit · Pull requestWhen you remove an add-on or change Vaadin version, you want the old files to be removed so they do not interfere with the compilation
-
Do not fail component picking if Flow is undefined
Commit · Pull request -
Remove special Idea case for Mac
Commit · Pull requestIf you have multiple versions installed, e.g. community and ultimate, the protocol might open the wrong one
-
Prevent flush changes when synchronizing properties
Commit · Pull request · IssueDOM events related to property synchronization must not flush changes to avoid wrong execution order of events on server side. For example, an 'has-input-value-changed' event may occur before the actual value of a field has been changed and a flush will trigger listeners with an old value.