github vaadin/flow 2.0.0.rc2
Vaadin Flow 2.0.0.rc2 - the one that actually works

latest releases: 24.4.0.beta3, 24.4.0.beta2, 24.3.10...
pre-release4 years ago

This is a release candidate version of Flow 2.0 targeted for Vaadin 14.0.0.beta2.

Fixes since 2.0 RC1 / 14 beta1

  • Updating project from 13 -> 14 - it should just work (automatic bowerMode detection)
  • Running .war in development mode
  • NpmPackage dependency to allow using ^ for resolving a compatible version instead of 🔥
  • Broken component connectors (eg. Grid)
  • Broken Spring add-on for mvn clean spring-boot:run
  • Broken theming for components on navigation
  • Invalid URL for Cross-site embedding
  • Wrong import used for 3rd party web components

See complete list of changes since RC1.

Known Issues in 2.0 RC 2 to be fixed before 2.0 Final

  • npm mode does not work with a servlet mapped to non-root URI #5740
  • @Theme is not applied for raw template .js imports (Designer) that are not @Id-mapped in the Java class #5672
  • OSGi in npm & development mode fails #5671
  • Strong caching for npm based production files #5456
  • Material and custom theme's are broken if Lumo theme is on classpath #5715
    • workaround by excluding Lumo dependency
  • Instructions and automatic tooling to help migrating a between bowerMode and npm mode is WIP (see feature highlights for more information)

See complete list of known issues in 14

Flow 2.0 feature highlights:

  • The possibility to use Polymer 3, npm and JavaScript Modules instead of Polymer 2, Bower and HTML Imports. #4561
    • For demo, see starters like https://github.com/vaadin/beverage-starter-flow
    • Existing V10-V13 (Flow 1.x) will work as is on 14 (Flow 2.0), but can opt-in to migrate from Webjars/Bower & Polymer 2 & Html-imports to npm & Polymer 3& ES6 modules later on using the migration tool #5037
  • Embedding Flow applications is now possible by exporting it as a web component
  • Adding @PreserveOnRefresh on a router layout or route will preserve the user edited component state when the user refreshes the page by reusing the component instances #3522
  • It is possible to obtain details like screen width & height and time zone on the server side using Page.retrieveExtendedClientDetails( ExtendedClientDetailsReceiver receiver) #4665
  • When executing JavaScript from the server side Java, it is possible to get the return value of the execution to the server side using Page.executeJs(String expression, Serializable... parameters) #5285

The documentation for Flow 2.0 and the updated starters will be available later on https://vaadin.com.

Other notable things in Flow 2.0

  • Generic Drag and Drop support for Flow #3978 is available as a separate artifact, which is not available in Vaadin 14.0, but can be added to any V14 project as an add-on. This is due to Firefox lacking DnD support inside Shadow DOM until Firefox 68 ships in July 2019 #5606. The feature will be later on included in to Vaadin 14 in a minor release once it works on all supported browsers. For now, you can use it by adding the following dependency to your V14 project:
      <dependency>
          <groupId>com.vaadin</groupId>
          <artifactId>flow-dnd</artifactId>
          <version>2.0.0.rc2</version>
      </dependency>
    

Using Flow 2.0

Existing Flow 1.x / Vaadin 10 -13 projects updating to 2.0 / Vaadin 14 will not need to install node, but can keep on running on bowerMode.
New Flow 2.0 projects require that in addition to Java 8 and Maven you have node.js + npm installed. It can be installed either globally on your system or locally on the project, follow the instructions.

Easiest way to obtain Flow 2.0 is by using some of the Vaadin 14 starters, available soon from https://vaadin.com/start. Flow 2.0 will be included in the vaadin or vaadin-core Maven dependencies starting from version 14, available from the Vaadin prereleases repository.

Don't miss a new flow release

NewReleases is sending notifications on new releases.