github vaadin/flow 2.1.0
Vaadin Flow 2.1.0 for Vaadin 14.1

latest releases: 23.3.31, 24.3.11, 23.5.1...
4 years ago

Vaadin Flow 2.1 is a feature release of the Java Framework in Vaadin 14.1 that includes a number of new features and enhancements. Vaadin 14.1 is a long-term support (LTS) release and it replaces the previous version 14.0.

2.1 Feature Highlights

Improved start-up and build time in development mode by improving the performance for scanning frontend resources (#6480, #6482)

  • In development mode, all discovered frontend resources are included in the bundle, instead of including only what is actually used by in the application. This way complex and slow scanning can be skipped when they don't actually bring any value but can take a long time.
  • The production build (the build-frontend Maven target) still creates a bundle that includes only the frontend resources that are used in the application.
  • The production build now also creates a "fallback-chunk": if the browser requests a resource that is missing from the optimized bundle, an additional fallback bundle is loaded to not break the UI for the users.
  • You don't need to do anything to benefit from this new behavior.
  • There is no longer a need to do black/white listing of classes in Spring Boot projects, as was recommended in 14.0 to optimize the time for the frontend build when the application contained very large external libraries.
  • The difference is the most significant in big projects. Further improvements for speeding up the recurring startup and build times are WIP for 2.2.

Generic Drag and Drop support (#3978)

  • Components can be made draggable and drop targets.
  • Focused on DnD operations inside the same UI, please comment on issues so we know what other use cases are important.
  • Documentation
  • Note, while this feature was part of the Flow 2.0 release, now it has been officially included in Vaadin 14.1 and the flow-dnd artifact doesn't need to be added separately to a project.

Small Enhancements

  • API to provide deep-refresh for HierarchicalDataProvider items (#6202)
  • @PreserveOnRefresh works for Embedded Flow Components (#6390)
  • Embedded Flow Components are not based on Polymer (#5800)
  • Java Component API for <pre> element (#5010)
  • Add two new setRoute() variants to RouterLink (#6540)
  • Added StringToUuidConverter (#4400)

Upgrading from 2.0 (Vaadin 14.0)

Update your vaadin or vaadin-core dependency to the latest 14.1.x version and recompile the code. Release candidate 14.1.0.rc1 will be released on the 25th of November and final release on the 5th of December (2019). Please note that the release candidate version will be available in the Vaadin prereleases Maven repository, not Maven central.

Deprecations from 2.0

  • The optional loadMode parameter in @JsModule annotation has been deprecated as it has no effect on how the module will be loaded, but instead, it depends on whether it is a local or external resource
  • The addJsModule(String, LoadMode) in Page has been deprecated due to the same reason, LoadMode parameter has no effect and addJsModule(String) should be used instead
  • The isSuccesful method in DragEndEvent has been deprecated in favor of isSuccessful

Dependency Updates in 2.1

  • org.jsoup.jsoup has been updated to 1.12.1 (was 1.11.3)
  • net.bytebuddy.byte-buddy has been updated to 1.10.1 (was 1.9.13)

Incompatible Changes in 2.1

There are some binary-incompatible changes in 2.1, so you need to recompile your code.
There are no breaking changes in the public API for application or component developers, but the following internal API has changed. You should not care about this, unless you have forked the project and are maintaining your own version or have a plugin that is using some internal parts of Flow.

  • WebComponentUI::connectWebComponent has been removed and replaced with a private method as this is not a method anyone should be calling
  • NodeTasks.$Builder method collectVisitedClasses has been removed
  • NodeUpdater's protected constructor has changed
  • FrontendDependencies constant LUMO has been removed
  • DevModeInitializertop method getJarFilesFromClassloader has been removed
  • DevModeInitializer$VisitedClasses has been removed

Change log for 2.1.0

Changes between latest 2.0 (2.0.18) and 2.1
Changes since 2.1.0.rc1

Don't miss a new flow release

NewReleases is sending notifications on new releases.