Vaadin Flow Versions Save

Vaadin Flow is a Java framework binding Vaadin web components to Java. This is part of Vaadin 10+.

24.4.0.alpha32

1 week ago

Changes since 24.4.0.alpha31

All changes

New features

Fixes

  • Generate flow imports in the same folder Commit · Pull request

  • Fix URL rewrite for nested CSS Commit · Pull request · Issue

    In addition, CssBundler now tries to guess if a theme relative path that do not match a physical file might be a reference to a theme asset, and in this case it replaces the URL with one resolvable by StaticFileHandler. Refs #19094

  • Delete only unnecessary generated files Commit · Pull request

    Prevents built tool plugins to to delete all frontend genreated files as first step in the prepare-frontend task, moving the login in BuildFrontendUtil and changing it to only delete files that are no longer created by node tasks. Part of #18907

23.3.30

1 week ago

Changes since 23.3.29

All changes

Fixes

  • Prevent embedded styles to leak main document (#19242) Commit · Pull request · Issue

    When using an exported a themed Flow web-component, Lumo style may leak the embedding document, causing invalid CSS rules to be applied. This change prevents applying Lumo global imports when the theme is applied to a web-component.

  • Upgrade license-checker to 1.12.8 (#18739) Commit · Pull request

24.4.0.alpha30

2 weeks ago

Changes since 24.4.0.alpha29

All changes

Fixes

  • Use less strict regexp for export validation Commit · Pull request · Issue

  • Set correct debug status blip color Commit · Pull request

  • Correct sample in file Commit · Pull request · Issue

    Make the sample code return the correct type of RouteObject[] instead of only RouteObject

  • Support OpenLiberty and Wildfly URL when listing translation files Commit · Pull request · Issue

    OpenLiberty provides URL with a 'wsjar' protocol; Wildfly offers JBoss VFS URLs.

24.4.0.alpha31

2 weeks ago

Changes since 24.4.0.alpha30

All changes

New features

  • Add API for automatic main menu Commit · Pull request · Issue

    Adds API to get and control only accessible routes for automatically build routes based on Menu annotated routes. This change is targeting primarily client side menu build with Hilla. Adds RouteRegistry#getRegisteredAccessibleMenuRoutes to get a list of accessible RouteData objects. Method takes in a collection of access control objects which are implementing BeforeEnterListener. Supports NavigationAccessControl and ViewAccessChecker. Adds MenuAccessControl interface to control getRegisteredAccessibleMenuRoutes return value. This change adds first part of control by adding API to enable, disable or automate populating client side main menu with the server side routes. Interface has space for future for more advanced control. Default MenuAccessControl implementation can be customized by implementing it as a Spring bean, or by providing the implementation class via 'menu.access.control' property.

Fixes

  • Prevent embedded styles to leak main document Commit · Pull request · Issue

    When using an exported a themed Flow web-component, Lumo style may leak the embedding document, causing invalid CSS rules to be applied. This change prevents applying Lumo global imports when the theme is applied to a web-component.

  • Allow css properties in react components (#19077) Commit · Pull request · Issue

  • Only minify in production Commit · Pull request · Issue

    Only minify in production mode. For development and devBundle builds do not minify sources.

24.3.9

2 weeks ago

Changes since 24.3.8

All changes

Fixes

  • Set correct debug status blip color Commit · Pull request

  • Support OpenLiberty and Wildfly URL when listing translation files (#19167) Commit · Pull request · Issue

    OpenLiberty provides URL with a 'wsjar' protocol; Wildfly offers JBoss VFS URLs.

  • Show java livereload status with shared ws Commit · Pull request

  • Unwrap router target class in getRouteTarget (#19151) Commit · Pull request · Issue

    AbstractNavigationStateRenderer.getRouteTarget filters the active router targets chain comparing collection items class with the route target type. The filter may fail if routes instances are proxy objects created by frameworks like spring, since the class will not match the required one. This cahnge ensures that synthetic and proxy classes are discarded, allowing for more accurate comparison when filtering objects based on their real application class.

  • Upgrade vulnerable dependency (#19149) Commit · Pull request

  • I18n default translation from thread (#19136) Commit · Pull request · Issue

    when executing from thread.

  • Postpone creation of WebIconsRequestMatcher (#19102) Commit · Pull request · Issue

    During a hot reload, there may be requests incoming before VaadinService completes its intialization. In this situation a NPE is thrown when trying to create WebIconsRequestMatcher. This change postpones the instantiation until VaadinService is available.

  • Detect Flow PUSH requests as internal framework requests (#19085) Commit · Pull request · Issue

    HandlerHelper is currently not considering Flow PUSH requests (/VAADIN/push) as internal, preventing VaadinWebSecurity to ignore CSRF checks. The issues happen only for ping requests; the connection request is not affected because it is a GET request.

  • Do not deactivate expanded item keys (#19006) (#19047) Commit · Pull request

  • Reorder unhandled imports in CSS bundler (#19021) Commit · Pull request

    Currently, CssBundler just replaces @imports with inlined file contents and returns the result. That can be problematic if an unprocessed import, for example to an external URL, comes after an inlined import. Now the unprocessed import comes after a regular CSS rule, which is invalid and ignored by the browser.

  • Restore hasBeenAttached on resync (#19023) (#19068) Commit · Pull request · Issue

24.4.0.alpha29

3 weeks ago

Changes since 24.4.0.alpha28

All changes

New features

  • Add Menu annotation Commit · Pull request · Issue

    Menu annotation has information like title, order and icon for automatically populated menu. Matches with ViewConfig menu API in Hilla.

Fixes

24.4.0.alpha28

3 weeks ago

Changes since 24.4.0.alpha27

All changes

New features

  • Throttle page resize events Commit · Pull request

    Not built with complex JS hacks anymore, but with normal event listening system.

  • Allow receiving specified dom events for inert elements Commit · Pull request

    Closes #18940

Fixes

  • Handle exception from BrowserLiveReloadAccessor Commit · Pull request · Issue

    Updates PushHandler to catch and log debug message of IllegalStateException from BrowserLiveReloadAccessor when it's thrown from already closed Spring context.

  • Unwrap router target class in getRouteTarget Commit · Pull request · Issue

    AbstractNavigationStateRenderer.getRouteTarget filters the active router targets chain comparing collection items class with the route target type. The filter may fail if routes instances are proxy objects created by frameworks like spring, since the class will not match the required one. This cahnge ensures that synthetic and proxy classes are discarded, allowing for more accurate comparison when filtering objects based on their real application class.

  • Filter hilla and copilot packages better Commit · Pull request · Issue

    Filter "com/vaadin/hilla" and "com/vaadin/copilot" packages by default from the class scanner in VaadinServletContextInitializer and include only what is really needed: com.vaadin.copilot.startup and com.vaadin.hilla.startup. This speeds up mostly reload time and also startup time a bit.

  • Upgrade vulnerable dependency Commit · Pull request

  • I18n default translation from thread Commit · Pull request · Issue

    when executing from thread.

24.4.0.alpha27

4 weeks ago

Changes since 24.4.0.alpha26

All changes

New features

  • Use a new RouterBuilder API for routes.tsx Commit · Pull request · Issues 2238, 18988

    Removes the buildRoutes method and replaces it with a new RouterBuilder API that automatically injects server side routes where needed and adds the auth level.

Fixes

  • Postpone creation of WebIconsRequestMatcher Commit · Pull request · Issue

    During a hot reload, there may be requests incoming before VaadinService completes its intialization. In this situation a NPE is thrown when trying to create WebIconsRequestMatcher. This change postpones the instantiation until VaadinService is available.

  • Detect Flow PUSH requests as internal framework requests Commit · Pull request · Issue

    HandlerHelper is currently not considering Flow PUSH requests (/VAADIN/push) as internal, preventing VaadinWebSecurity to ignore CSRF checks. The issues happen only for ping requests; the connection request is not affected because it is a GET request.

  • Query in path Commit · Pull request

    parameters into the route breaking route resolution when navigating thrhough link. part of #19080

  • Normalize and replace line separator in node task lock file Commit · Pull request · Issue

    Normalizes and replaces line separators potentially present in the process command line before writing the lock file, so that it will contain only two lines. Same normalization is applied when getting the command line for the process identified by the pid in the lock file before comparing it with the value stored in the lock file.

  • Return empty list Commit · Pull request · Issue

    Return an empty list if no listeners for type exist.

24.4.0.alpha26

1 month ago

Changes since 24.4.0.alpha25

All changes

New features

Fixes

  • Do not deactivate expanded item keys (#19006) Commit · Pull request

  • Show available client routes Commit · Pull request · Issue

    Adds client views in the list of available routes when viewing "Route not found" page in development mode. Adds ClientRoutesProvider interface to get available client routes. Client routes means mainly Hilla views, but not limited to.

  • Reorder unhandled imports in CSS bundler Commit · Pull request

    Currently, CssBundler just replaces Atimports with inlined file contents and returns the result. That can be problematic if an unprocessed import, for example to an external URL, comes after an inlined import. Now the unprocessed import comes after a regular CSS rule, which is invalid and ignored by the browser.

  • Restore hasBeenAttached on resync (#19023) Commit · Pull request · Issue

  • More robust Server route check Commit · Pull request

    Make server route validation not use path but element instead.

  • Path separator in vfs Commit · Pull request · Issue

    character according to string instead of OS. for file path.

23.5.0.alpha2

1 month ago

Changes since 23.5.0.alpha1

All changes

Fixes