github vaadin/platform 14.2.0.alpha4
Vaadin 14.2.0.alpha4

latest releases: 24.4.0.beta2, 14.11.10, 24.3.11...
pre-release4 years ago

Vaadin 14.2.0.alpha4

Vaadin consists of a set of web components, a Java web framework, configurable themes, tools and a set of app templates.

With every major release, we will change and improve things based on your feedback. This may lead to breaking changes, which will be listed for each part of the platform in the breaking changes section.

Visit vaadin.com to get started.

Support

Vaadin 14 is an LTS (long term support) version, which will be supported for 5 years after the GA (general availability) release. More details of our release model are available on our roadmap page.

Vaadin also provides commercial support and warranty.

New and Noteworthy

Here are the highlighted new and improved features in Vaadin 14. To see the full list of bug fixes and improvements, check Included Projects and Change Log.

npm support

Using Bower for frontend dependencies is currently discouraged (by the author), and npm has become the defacto standard. In Vaadin 14 npm is used as the front-end package manager. Bower (compatibility mode) and WebJars are still fully supported in Vaadin 14. Using npm is the recommended mode in Vaadin 14.

Framework

  • Support for npm and ES6 modules
  • Support for Polymer 3 templates
  • 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
  • Embedding Flow application is now possible by exporting it as a web component.
  • 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)
  • It is possible to obtain details like screen width & height and time zone on the server-side using Page.retrieveExtendedClientDetails( ExtendedClientDetailsReceiver receiver)
  • Simplified styling of application and component with @CssImport

Components

  • Grid rows drag and drop
  • Grid columns auto-width
  • Customise value representation for Grid Pro
  • Menubar component added
  • App Layout with drawer
  • Clear button visibility APIs
  • Dropdown select value change without opening
  • New theme variants for Notification

Changes since 14.2.0.alpha3

Vaadin Flow

Prerelease for Vaadin 14.2

Vaadin Flow 2.2.0.alpha13 is a prerelease of the Java Framework targeted to Vaadin 14.2 that includes a number of new features and enhancements. To try it out, use the latest 14.2 prerelease available from the Vaadin prereleases Maven repository.

Significant Changes Since 2.2.0.alpha12

  • Improve server start-up time in development mode by skipping ES5 transpilation for webpack by default
    • Can be re-enabled for e.g. testing with IE11 by using the devmode.transpilation=true parameter
    • Production build (build-frontend) not affected
  • Shorcuts now support multiple components to listen on
  • Pin frontend dependencies for pnpm when platform is used with the readPackage hook
  • Allow setting custom template parser in npm-mode

2.2 Feature Highlights

Better frontend dependency management by using pnpm AKA performant npm

  • Packages are by default cached locally and linked instead of downloaded for every project
    -> Faster recurring builds in comparison to npm (benchmarks)
  • Only one package.json file used, reducing complexity (previously another file was in /target)
    -> More reliable build when updating Vaadin version
  • No migration needed, see differences here for more information about what has changed
  • For running pnpm on a CI server, please see details here

Portlet 3.0 support for Pluto portal

Experimental: Fire routing life-cycle BeforeEnterEvent from parent -> child order

This feature may be changed in an upcoming prerelease.
This change effects the ordering of routing events and the timeline when routing components are created.
After this change, routing events are fired in the following order:

  1. Global routing handlers are invoked
  2. setParameter is invoked for top most navigation layer (main layout)
  3. BeforeEnterHandler handler is invoked for the top most navigation layer (main layout), if implemented
  4. Next level component instances are created, and steps 2-3 triggered for that layer

Before this change, all routing components were created eagerly, and events were fired from child->parent order with first setParameter invoked, then global handlers and last BeforeEnterHandlers.
This change fixes a design flaw and prevents developers from accidentally compromising application security, when routing components are not created if the end user does not have access to them.
In case this change would break your existing Vaadin 10+ project, please open an issue.

Minor improvements in 2.2

  • Shorcuts now support multiple components to listen on (alpha13)
  • Improve server start-up time in development mode by skipping ES5 transpilation for webpack by default (alpha13)
  • Allow setting custom template parser in npm-mode (alpha13)
  • It is easier to create forms with "save-as-draft" type of functionality by using Binder::writeBeanAsDraf(BEAN) (forward ported from vaadin/framework#11833) (alpha12)
  • Form bindings can now be triggered between required and non-required state with setRequiredEnabled(boolean) (partly fixes #5030) (forward ported from vaadin/framework#11834) (alpha12)
  • HasOrderedComponents now provides access to the child components with Stream<Component> getChildren() without casting it to Component (alpha12)
  • VaadinContext accepts attributes for storing based on super types with setAttribute(Class<T>, T) (alpha12)
  • In development mode, webpack bundles are not compressed(alpha12)
  • Introduction of VaadinConfig and HandlerHelper for non-servlet environments (replacing ServletConfig & ServletHelper) (alpha7)
  • Added Page.open(String url, String windowName) (alpha7)
  • Added isIpad() and isIOS() to ExtendedClientDetails to replace non-working WebBrowser versions (both broken for iPads with iOS 13) (alpha7)
  • Optimized application server memory usage by reducing stats.json file size
    -> This drops the production stats size for megabundle by default from 40mb to 1.9mb or in Bakery App Starter from 42mb to 686kb (alpha4)

Known Issues and Limitations in 2.2

  • pnpm is not able to resolve dependencies to git commits with the "short" hash format. See details and workaround from.

Deprecations since 2.1

  • com.vaadin.flow.component.ShortcutRegistration::getOwner is deprecated in favor of getOwners which returns all possible owners
  • com.vaadin.flow.router.BeforeEvent::getRouteTargetType is deprecated in favor of getRerouteTargetType
  • com.vaadin.flow.server.FallibleCommand is deprecated in favor of com.vaadin.flow.server.frontend.FallibleCommand
  • com.vaadin.flow.server.ServletHelper is deprecated in favor of com.vaadin.flow.server.HandlerHelper
  • com.vaadin.flow.server.startup.ApplicationRouteRegistry::getInstance(javax.servlet.ServletContext) is deprecated in favor of getInstance(com.vaadin.flow.server.VaadinContext)

Dependency Updates in 2.2

  • Following webpack dependencies have been updated:
    • webpack-cli 3.3.0 -> 3.3.10
    • webpack-dev-server 3.3.0 -> 3.9.0
    • webpack-babel-multi-target-plugin 2.1.0 -> 2.3.3
    • copy-webpack-plugin 5.0.3 -> 5.1.0

All Changes since previous 2.2 prerelease

See complete list of changes in 2.2.0.alpha13

Vaadin Spring Addon

Prerelease for Vaadin 14.2

This is a prerelease version for Vaadin Spring add-on, built on Flow 2.2.0.alpha13, targeted for Vaadin 14.2.

Changes since previous release

  • Add parameter devmode.transpile to enable ES5 transpilation in development mode (off by default)
  • Update repositories to force use https
  • Add a new constant for the test

Vaadin Checkbox

Java: 2.0.3

Changes Since 2.0.2

  • Updated web component to 2.2.12
  • Fixed the incorrect console warning

Compatibility

This release for vaadin-checkbox-flow

  • is built on <vaadin-checkbox> Web Component version 2.2.12
  • tested with Vaadin Flow version 2.0.19

WebComponent: 2.2.12

Fixes

  • Prevent incorrect console warning when using value property

Changes Since v2.2.11:

-fix: prevent incorrect console warning

Vaadin Date Picker

Java: 2.0.6

2.0.6

This is a maintenance release of the Java integration for <vaadin-date-picker> Web Component (github), to be used from the server side Java with Vaadin Flow.

Changes since 2.0.5

  • Updated demos

WebComponent: 4.0.6

v4.0.6

Live Demo →
API Documentation →

Changes Since v4.0.5:

  • docs: improve localization demo [skip ci]

  • Improve date picker demos second part

  • docs: fix using Sugar locale in demos

  • docs: restore sugar locale for demos

  • Improve Vaadin Date Picker demos

Vaadin Select

Java: 2.0.3

Changes since 2.0.2

  • Fix for ItemRenderer when ItemLabelGenerator is used
  • Use removeChild instead of remove for IE11

WebComponent: 2.1.7

Fixes

  • Lumo align-center and align-right variants now apply to overlay

Changes Since v2.1.6:

  • docs: update align demo, cleanup modules [skip ci]

  • fix: apply align theme variants to overlay

  • docs: improve styling demos [skip ci]

Vaadin Grid

Java: 4.1.1

Fixes since 4.1.0

  • Improved error handling in connector
  • Fix serialization of TreeGrid with HierarchyColumn
  • Fix running tests locally
  • Fix being able to switch from multi selection mode to other modes
  • Remove usage of DndUtil which is in Flow internal

WebComponent: 5.5.0

New Features

  • Added column-resize event fired on column resize end

  • Exposed scrollToIndex() method as a public API

Changes Since v5.4.11:

  • Fix ios detection for iOS 13 iPad

  • Remove will-change from frozen columns on iOS

  • feat: scroll to index

  • test: make tests more reliable with listenOnce

  • fix(scrolling): implementation of WheelEvent deltaMode

  • fix: Fix physical child column reordering

  • Fire 'column-resize' event on column drag resize end

Vaadin Radio Button

Java: 2.0.2

Changes since 2.0.1

WebComponent: 1.2.4

Changes Since v1.2.3:

  • fix: ensure change event on mouseup is fired

  • Update radio-button-theme-variants-demos.html

  • Update radio-button-basic-demos.html

  • docs: improve radio button demos [skip ci]

  • Move change event declaration inside the correct block

Vaadin Custom Field

Java: 3.0.4

Compatibility

This release for vaadin-custom-field-flow

  • is built on<vaadin-custom-field> Web Component version 1.0.11
  • tested with Vaadin Flow version 2.1.3

WebComponent: 1.0.11

Changes Since v1.0.10:

  • fix: add small theme variant

  • fix: label styles for disabled and readonly states

    Make label styles consistent with vaadin-text-field when using the attribute disabled or readonly on the custom field. This only adds the styles for custom field label. The attributes are not automatically synchronized between custom field and any child components.

Included Projects and Change Log

Vaadin includes the following projects. Release notes with detailed change logs for each project are linked below.

Projects marked as (Pro) are available for users with Pro or Prime subscriptions. Everything else is free and open source.

Components

Themes

  • Vaadin Lumo theme (v1.5.0)
  • Vaadin Material theme (v1.2.3).

Java Web Framework

Tools

Getting Started with Vaadin 14

App starters

The best way to get started with Vaadin 14 is to go to https://vaadin.com/start and pick an app template for the technology stack you’re interested in.

Manually changing Vaadin version for Java projects

Add the following contents to your project pom.xml.

<dependencyManagement>
    ...
    <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-bom</artifactId>
        <version>14.2.0.alpha4</version>
        <type>pom</type>
        <scope>import</scope>
    </dependency>
    ...
</dependencyManagement>
<repositories>
    <repository>
        <id>vaadin-prerelease</id>
        <url>https://maven.vaadin.com/vaadin-prereleases</url>
    </repository>
</repositories>
<pluginRepositories>
    <pluginRepository>
        <id>vaadin-prerelease</id>
        <url>https://maven.vaadin.com/vaadin-prereleases</url>
    </pluginRepository>
</pluginRepositories>

Known Issues and Limitations

This is the prerelease version of Vaadin 14.x for evaluating a number of new features and bug fixes. The API in this prerelease version is not considered final and may change based on user feedback.

OSGi support

  • OSGi with npm does not work in V14.0.0-V14.1.0. We are working on a fix for V14.x.
  • OSGi with Bower has problems with V14.0.0-V14.1.0

Flow

  • The Template-in-Template feature has some limitations
  • There are some issues in using Web Sockets as the Push channel in certain OSGi environments, but long polling works.

Components

  • The dark theme preset does not work in IE11 when applied to the <html> element.

Migrating from Vaadin 8

See the migration guide

Migrating from Vaadin 10-13

See the migration guide

Reporting Issues

We appreciate if you try to find the most relevant repository to report the issue in. If it is not obvious which project to add issues to, you are always welcome to report any issue at https://github.com/vaadin/platform/issues.

A few rules of thumb will help you and us in finding the correct repository for the issue:

  1. If you encounter an issue when using the HTML/JS API of a component or the component renders incorrectly, the problem is likely in the web component. The web component repositories are named like https://github.com/vaadin/vaadin-button
  2. If you encounter an issue when using the Java API of a component, the problem is likely in the Flow integration of the web component. The Flow component integration repositories are named like https://github.com/vaadin/vaadin-button-flow
  3. If you encounter an issue with Flow which does not seem to be related to a specific component, the problem is likely in Flow itself. The Flow repository is https://github.com/vaadin/flow
  4. If you encounter an issue with Designer, the repository is https://github.com/vaadin/designer
  5. If you encounter an issue with TestBench, the repository is https://github.com/vaadin/testbench

Don't miss a new platform release

NewReleases is sending notifications on new releases.