Releases: vaadin/flow
Flow 1.0 Beta4
Vaadin Flow 1.0.0.beta4 is a prerelease version for evaluating the enhancements mentioned below. With subsequent beta releases we may change things based on your feedback, and that may lead to API breaking changes.
Vaadin Flow 1.0.0.beta4
Flow is a new Java web framework for creating UIs using Java or HTML. Flow handles everything related to communication between and client and server and makes it possible to create UIs using the desired abstraction level you choose. It has all the capabilities you need to build a modern web app: from high level APIs for structuring your applications and binding data to it, into taking full control over the DOM and communication with HTML templates.
Flow is a part of the Vaadin platform. For information and helpful resources like documentation and examples on Vaadin Flow, please visit the Flow page vaadin.com/flow.
Breaking changes introduced in the newest Prerelease
- #3678 Remove confusing leftovers from the experiment with fluent component APIs (ComponentSupplier was removed)
Bug Fixes since Previous Prerelease
-
#3701 Don’t add
scroll=auto
to body -
#3732 Exception after application startup with beta3
-
#3647 Prevention of reentrant renavigation is broken in multiple related ways
-
#3707 Add isFromClient to SelectionEvent
-
#3404 SelectionEvent has no source
-
#3265 Error message about missing element for id mapping should mention the name of the template
-
#3676 If no custom I18NProvider is configured the log is polluted by INFO messages.
Documentation fixes
- #3671 Explicitly document that multiple children can be assigned to the same slot
See complete list of changes since previous beta version
Supported Technologies
See the Vaadin platform release notes for browser, server and Java support level.
Known Limitations
- Websockets as the push channel is not working for Spring Boot #3251
- Template-in-Template feature has some limitations
- There is no CDI support #456
- There is no Portal/OSGi support #455
Flow 1.0 Feature Highlights
Using Components to build UIs with only Java
With Flow you to can compose UIs using only Java on the server side. You can use existing components or create your own by creating the DOM from the server side. See the relevant documentation:
Integrating Web Components
Flow allows you to integrate web components and consume them from server side Java. See the web components documentation for more information.
Router
Router is a core concept in Flow, enabling navigation for your website or web app. It is based on HTML5 History API, and makes it possible to for the user to navigate pages back and forward, and keep the page state intact. See the router documentation for more information.
Binding Data to Components
Flow allows you to easily bind your business data to the UI components. You can bind the forms to the business objects by using the Binder
, see documentation for more information. For showing a list of data (eg. a database table) on the UI, you can use the DataProvider
. See documentation for more information.
Creating UIs Declaratively with Polymer Templates
With Flow you can take full control of building the DOM and the communication by using HTML templates. We recommend using Polymer templates as they bring lots of helpful capabilities on top of the native HTML. See documentation for more information.
Theming Applications
Flow has support for customizing the look and feel of your applications with css, html custom styles or by customizing the ready made Themes provided for Vaadin Components. See the documentation for more information.
Spring Integration
Flow comes with a Spring integration, and you can use it with Spring 5 or Spring Boot 2. Please see the documentation for more information.
Getting Started
For getting started with Vaadin Flow, please see vaadin.com/start where there are three types of examples available:
- Bakery App Starter for Flow and Spring - a full stack example application with Flow and Spring Boot with heavy focus on great UX
- Beverage Buddy App Starter for Flow - a small example app that highlights the basic features of Flow
- Project Base for Flow and Project Base for Flow and Spring
- A base for your project with some placeholder files available and dependencies available
All the starters bring the Flow dependency via the Vaadin platform, which is the recommended way for using Flow.
- A base for your project with some placeholder files available and dependencies available
From Flow getting started documentation you can find a step-by-step tutorial.
Flow 1.0 Beta3
Vaadin Flow 1.0.0.beta3 is a prerelease version for evaluating the enhancements mentioned below. With subsequent beta releases we may change things based on your feedback, and that may lead to API breaking changes.
Vaadin Flow 1.0.0.beta3
Flow is a new Java web framework for creating UIs using Java or HTML. Flow handles everything related to communication between and client and server and makes it possible to create UIs using the desired abstraction level you choose. It has all the capabilities you need to build a modern web app: from high level APIs for structuring your applications and binding data to it, into taking full control over the DOM and communication with HTML templates.
Flow is a part of the Vaadin platform. For information and helpful resources like documentation and examples on Vaadin Flow, please visit the Flow page vaadin.com/flow.
Bug Fixes since Previous Prerelease
- #3677 Loading frontend dependencies with different loading strategies causes an exception
- #3640 Can't find resources via servlet context when those use
frontend://
protocol - #2820 Remove broken Shady DOM forcing feature
This release also includes major improvements to IE11 performance, mainly related to the Grid component. The improvements are included as part of the beta6 release of the vaadin-grid
webcomponent. See the component release notes for details.
See complete list of changes since previous beta version
Supported Technologies
See the Vaadin platform release notes for browser, server and Java support level.
Known Limitations
- Websockets as the push channel is not working for Spring Boot #3251
- Template-in-Template feature has some limitations
- There is no CDI support #456
- There is no Portal/OSGi support #455
Flow 1.0 Feature Highlights
Using Components to build UIs with only Java
With Flow you to can compose UIs using only Java on the server side. You can use existing components or create your own by creating the DOM from the server side. See the relevant documentation:
Integrating Web Components
Flow allows you to integrate web components and consume them from server side Java. See the web components documentation for more information.
Router
Router is a core concept in Flow, enabling navigation for your website or web app. It is based on HTML5 History API, and makes it possible to for the user to navigate pages back and forward, and keep the page state intact. See the router documentation for more information.
Binding Data to Components
Flow allows you to easily bind your business data to the UI components. You can bind the forms to the business objects by using the Binder
, see documentation for more information. For showing a list of data (eg. a database table) on the UI, you can use the DataProvider
. See documentation for more information.
Creating UIs Declaratively with Polymer Templates
With Flow you can take full control of building the DOM and the communication by using HTML templates. We recommend using Polymer templates as they bring lots of helpful capabilities on top of the native HTML. See documentation for more information.
Theming Applications
Flow has support for customizing the look and feel of your applications with css, html custom styles or by customizing the ready made Themes provided for Vaadin Components. See the documentation for more information.
Spring Integration
Flow comes with a Spring integration, and you can use it with Spring 5 or Spring Boot 2. Please see the documentation for more information.
Getting Started
For getting started with Vaadin Flow, please see vaadin.com/start where there are three types of examples available:
- Bakery App Starter for Flow and Spring - a full stack example application with Flow and Spring Boot with heavy focus on great UX
- Beverage Buddy App Starter for Flow - a small example app that highlights the basic features of Flow
- Project Base for Flow and Project Base for Flow and Spring
- A base for your project with some placeholder files available and dependencies available
All the starters bring the Flow dependency via the Vaadin platform, which is the recommended way for using Flow.
- A base for your project with some placeholder files available and dependencies available
From Flow getting started documentation you can find a step-by-step tutorial.
Flow 1.0 Beta2
Vaadin Flow 1.0.0.beta2 is a prerelease version for evaluating the enhancements mentioned below. With subsequent beta releases we may change things based on your feedback, and that may lead to API breaking changes.
Vaadin Flow 1.0.0.beta2
Flow is a new Java web framework for creating UIs using Java or HTML. Flow handles everything related to communication between and client and server and makes it possible to create UIs using the desired abstraction level you choose. It has all the capabilities you need to build a modern web app: from high level APIs for structuring your applications and binding data to it, into taking full control over the DOM and communication with HTML templates.
Flow is a part of the Vaadin platform. For information and helpful resources like documentation and examples on Vaadin Flow, please visit the Flow page vaadin.com/flow.
Bug Fixes since Previous Prerelease
- #3605 afterNavigation on the view is fired twice if there is a layout
See complete list of changes since previous beta version
Supported Technologies
See the Vaadin platform release notes for browser, server and Java support level.
Known Limitations
- There are known performance issues for rendering on Internet Explorer 11 when using the Grid component with multiple columns. After using more than five columns, the application is not usable anymore. This is due to be fixed in a later beta.
- Websockets as the push channel is not working for Spring Boot #3251
- Template-in-Template feature has some limitations
- There is no CDI support #456
- There is no Portal/OSGi support #455
Flow 1.0 Feature Highlights
Using Components to build UIs with only Java
With Flow you to can compose UIs using only Java on the server side. You can use existing components or create your own by creating the DOM from the server side. See the relevant documentation:
Integrating Web Components
Flow allows you to integrate web components and consume them from server side Java. See the web components documentation for more information.
Router
Router is a core concept in Flow, enabling navigation for your website or web app. It is based on HTML5 History API, and makes it possible to for the user to navigate pages back and forward, and keep the page state intact. See the router documentation for more information.
Binding Data to Components
Flow allows you to easily bind your business data to the UI components. You can bind the forms to the business objects by using the Binder
, see documentation for more information. For showing a list of data (eg. a database table) on the UI, you can use the DataProvider
. See documentation for more information.
Creating UIs Declaratively with Polymer Templates
With Flow you can take full control of building the DOM and the communication by using HTML templates. We recommend using Polymer templates as they bring lots of helpful capabilities on top of the native HTML. See documentation for more information.
Theming Applications
Flow has support for customizing the look and feel of your applications with css, html custom styles or by customizing the ready made Themes provided for Vaadin Components. See the documentation for more information.
Spring Integration
Flow comes with a Spring integration, and you can use it with Spring 5 or Spring Boot 2. Please see the documentation for more information.
Getting Started
For getting started with Vaadin Flow, please see vaadin.com/start where there are three types of examples available:
- Bakery App Starter for Flow and Spring - a full stack example application with Flow and Spring Boot with heavy focus on great UX
- Beverage Buddy App Starter for Flow - a small example app that highlights the basic features of Flow
- Project Base for Flow and Project Base for Flow and Spring
- A base for your project with some placeholder files available and dependencies available
All the starters bring the Flow dependency via the Vaadin platform, which is the recommended way for using Flow.
- A base for your project with some placeholder files available and dependencies available
From Flow getting started documentation you can find a step-by-step tutorial.
Flow 1.0 Beta 1
Vaadin Flow 1.0.0.beta1 is a pre-release version for evaluating the enhancements mentioned below. With subsequent beta releases we may change things based on your feedback, and that may lead to API breaking changes.
Vaadin Flow 1.0.0.beta1
For information and helpful resources like documentation and examples on Vaadin Flow, please visit the Flow page in vaadin.com/flow.
Bug Fixes since previous prerelease
- #3614 BeforeEnter is called for wrong view if views have common parent layout
Alpha23: Easier Configuration of Push and Migration Guide
Bug Fixes
- #3577 Theme resolving doesn't work in dev mode when having a servlet path.
- #3612 Asynchronous work on generated property change listeners
Enhancements
Breaking Changes
- #3610
UI::navigateTo
method has been renamed toUI::navigate
- #3617 Add context object to
beforeClientResponse
calls - #3621 Making
ContinueNavigationAction
class to be an inner class
Documentation Updates
- About
Server Push
- Migration Guide from Vaadin 8 to Vaadin 10
All Changes
Alpha 22: Bugfixes
Bug Fixes
- #3587 Bakery storefront view can't be shown in production mode
- #3574 Theme defined in RouterLayout doesn't work in production mode
- #3573 PolymerTemplate parsing is not thread safe in production mode
- #3562 vaadin-flow-bundle-manifest.json is not found when its context path has double slash
- #3513 Element methods do not work in some cases inside vaadin-dialog
Enhancements
Alpha 21: Renderer API updates
Breaking Changes
-
#3003 Renderer API refactor:
-
Now all the renderers (Template, Basic and ComponentRenderers) are part of the
flow-data
package (moved fromflow-server
). Existing code needs to update the imported package for the renderers tocom.vaadin.flow.data.renderer.*
. -
ComponentTemplateRenderer
was renamed toComponentRenderer
. The usage remains the same. -
The API to set renderers to all components was standardized -
setRenderer
is now the name of the method to be used in all components (see individual component releases for more details).
-
Enhancements
- #3505 Allow property being undefined from the server side except interim subrops
Bug Fixes
-
#3519
Router.getUrl()
now behaves more consistently and fails if lacks parameters -
#3439 Component error messages are treated a bit differently now: hidden instead of being removed
-
#3545 flow-maven-plugin treats non-jar files in classpath normally and omits them
-
#3540 flow-maven-plugin is able to remove directories outside the project output directory
-
#3185 if Router fails to parse a route param, the 404 error is returned now
Alpha20: Component API overhaul in preparation for the beta
This release contains several improvements in preparation for the upcoming beta release.
Breaking Changes
- Related to #3423 :
GeneratedPaper*
components are no longer provided by the platform. They were used in the past as a way of testing the code generator and to provide features yet not present on Vaadin Components.- All
GeneratedVaadin*
components are now abstract and provide onlyprotected
methods. The generated classes are not meant to be used directly - they are just a bridge between the client-side webcomponent and the server implementation. Specific relevant details are listed in each component repository. - Most components have had their public API changed or improved due to the changes in the Generated classes. Now only methods meant to be public are actually visible to the end developer.
Enhancements
- Bumped the version of all webjars used by Flow, to match the beta releases of the Vaadin elements #3516
@AllowClientUpdates
now can be used without parameters, which impliesClientUpdateMode.ALLOW
#3497
Bug Fixes
Alpha19: Flow with New Webjars, Enhancement and Internal Improvements
Breaking Changes
- Change reverse getters/setters to straight getters/setters for
flow components
#2329 - Rename
flow-maven-plugin
production goal #3360
Enhancements
- Enable helper-method for handling null-values, when setting CSS-properties for components #2429 (Thanks external contributor @heruan )
- Enable HTML/JS/CSS dependencies loading for Composite contents #2454
- Allow to adjust value change mode for components #3229
- Enable bootstrap annotations to be set on a abstract superclass. #3384
- Fix memory leak issue in StateTree::beforeClientResponse #3486
Internal Improvements
- Enable to specify I18N Provider via the Spring mechanism #2928
- Flow Maven Plugin
Documentation Updates
Bugs Fix
- Regression: Combobox setValue not working when combobox not displayed #2930
- Parent layout theme not inherited by HasErrorParameter #3333
- Regression:
hidden
attribute is set to false when server instantiates the component #3334 - Deploying an app on Tomcat 7.0.39 fails with "Skipping automatic servlet registration because there are no navigation targets annotated with @route" #3359
Alpha18: Theming Support and Bug Fixes
New Features
- Component Theme support with
@Theme(Lumo.class)
annotation #3197
Enhancements
- Enable bundling by default for
flow-maven-plugin
#3317 - Refactor the documentation structure based on feedback #1698
- Improve Spring documentation based on DX feedback #3179
Documentation Updates
Bugs Fix
- Binder can't update a field whose status is invalid #2460
- Subproperties in template models do not get updated on the server #3117
- Cannot bind elements by @id when template extend Polymer.mixinBehavior #3277
- Java.util.ConcurrentModificationException: null when testing with ~10 concurrent users #3293
- Client engine is not protected from several property change events when only one property is modified #3312
Internal Improvement
- Flow Maven plugin has been integrated to Flow repository
- Move production build tutorials from vaadin/flow-maven-plugin repo to flow/documentation #3289
- Make people notice the missing @theme #3338