github vaadin/flow 9.0.0.beta3
Vaadin Flow 9.0.0.beta3

latest releases: 24.4.0.alpha32, 23.3.30, 24.4.0.alpha30...
pre-release2 years ago

Vaadin Flow 9.0.0.beta3

Changes in Flow from 9.0.0.beta2

  • Breaking Changes:

    • Remove StaticFileHandler.isStaticResourceRequest. PR:12263

      This simplifies static file handling so the same logic is not duplicate in two places. It also makes it possible to always query the dev server for files instead of knowing upfront what the dev server can serve. The method is removed instead of retained as there are two ways it could have been used: 1. Called to check if a given request is a static resource request 2. Overridden in a custom StaticFileHandler To keep the method we would need to do the following for the cases: 1. Make isStaticResourceRequest return serveStaticResource() != null 2. Make serveStaticResource() call isStaticResourceRequest() as the first thing We cannot do both so it is safer to remove the method to force code to be updated

  • New Features:

    • Support vite in v14 bootstrap. PR:12259

      Support vite build in the v14 bootstrap to have exported webcomponents working. Closes #12057

    • Compress Vite output by default in production. PR:12308. Ticket:12055

      As Brotli is disabled by default, you need to enable it to use this feature. #4740 will enable Brotli by default once server issues are sorted out

    • Mention vaadin.whitelisted-packages as a possible cause of missing template file. PR:12310

    • Lit templates in Vite dev and prod mode. PR:12204

      Dev mode: load template from file system (looking into frontend, @node_modules/@vaadin/flow-frontend, @node_modules (for paths not starting with ./)).
      Prod mode: copy templates to target/classes/META-INF/VAADIN/config/templates as part of build-frontend task. I.e., template sources are no longer gotten from stats.json.

    • Add vite watchdog. PR:12230. Ticket:12060

      Add watchdog to stop vite when java handler exits or crashes.

  • Fixes:

    • Log dev server output using standard logger. PR:12321. Ticket:12281

      Rename DevServerOutputFinder to the more descriptive DevServerOutputTracker

    • Only transform the main index.html entrypoint. PR:12303

    • Use Vite's mergeConfig to merge values instead of overwriting. PR:12302

    • Ensure that side effects of readBean do not set hasChanges true. PR:12181

      JavaDoc of hasChanges says: "Check whether any of the bound fields' have uncommitted changes since last explicit call to readBean(Object), removeBean(), writeBean(Object)} or writeBeanIfValid(Object)." If readBean has converters, they will be run and field values updated accordingly. Furthermore if fields have value change listeners that will produce further changes in values, this should be considered according to above as part of readBean procedure and thus hasChanges still should return false. Cherry pick from: vaadin/framework#12455

    • Clean Vite production output folder on build. PR:12304

      Without this you get (!) outDir /.../project/target/classes/META-INF/VAADIN/webapp is not inside project root and will not be emptied. Use --emptyOutDir to override.

    • Ensure Flow client container is pre-attached on navigation. PR:12228. Ticket:12080

      The client-side Vaadin Router does not attach components until the onBeforeEnter callback is run. However, when the Flow client initializes a server-side view, it assumes its container and the UI root are connected to the document. This concerns constructor timing as well as AttachEvent listeners. This fixes the issue by pre-attaching the hidden container element created in the Flow.ts (the adapter for the client-side router) to the body.

    • Do not force Vite to use a single chunk. PR:12286

    • Make URLUtil.encodeURI behave like encodeURI in JavaScript and add encodeURIComponent. PR:12291

    • Changed copied server info to format "header: value" to be easier to read. PR:12271

    • Auto-update Node for alternative directory. PR:12270. Ticket:12264

    • Set style property priority using proper API method. PR:12019. Ticket:11981

    • Use encoded path for dev server. PR:12225. Ticket:12221

      Allows project folders with spaces to work

    • Only log RouteNotFoundError if debugging is enabled. PR:12231

    • Hide example feature again. PR:12197

    • Split Vite configuration into a generated part and a customizable part. PR:12208. Ticket:12115

  • ⧉ All changes

Don't miss a new flow release

NewReleases is sending notifications on new releases.