github vaadin/flow 24.5.0.alpha1
Vaadin Flow 24.5.0.alpha1

latest releases: 24.5.0.alpha4, 24.3.12, 24.4.2...
pre-releaseone month ago

Changes since 24.4.0.beta1

All changes

Breaking changes

  • Rename createWebComponent method
    Commit · Pull request

    Rename the createWebComponent function as the create gives the impression that the function is heavy. ---------

New features

  • Add alternative translate methods to I18NProvider
    Commit · Pull request · Issue

    Adds static I18NProvider#translate methods for alternative way to get translation. Compares to calling getTranslation via VaadinService.getCurrent().getInstantiator().getI18NProvider(). translate methods throws IllegalStateException without active VaadinService.

  • Speedup startup time by excluding jars
    Commit · Pull request · Issue

    Optimize class scanning of VaadinServletContextInitializer by excluding some commonly used jars and add support for vaadin.blocked-jar boolean property in META-INF/VAADIN/package.properties to exclude whole jar content from the class scanner.

  • Filter client routes by authentication and role
    Commit · Pull request

    Add filtering of menu client routes by checking authentication and roles. Do not check for routes in ClientRoutesProvider as the results are generated from the same source data as the data read/generated by MenuRegistry. Part of #19321

  • Add MAU tracking for routing
    Commit · Pull request

    Part of vaadin/platform#6430 add tests revert it test This reverts commit 2998206. ---------

  • API for reloading current route target
    Commit · Pull request

  • Get menu views api
    Commit · Pull request · Issue

    Create MenuRegistry for getting automatic menu views for population.

  • Added HasLabelAsText interface to NativeButtonElement.
    Commit · Pull request

  • Filterable class scanning of JAR
    Commit · Pull request · Issue

    This change improves optimization of class scanning of VaadinServletContextInitializer by reading optional configuration file within a JAR dependency. Configuration file is a regular properties file that can contain vaadin.allowed-packages or vaadin.blocked-packages to exclude/include packages being scanned by VaadinServletContextInitializer. Package exclusion/inclusion effects only classes in the JAR/module where META-INF/VAADIN/package.properties is located at. Notice that this is only affecting the performance of the class scanning of Vaadin specific annotations and types and this feature is not meant to be used for excluding packages from the whole application. E.g. excluding VaadinServiceInitListener in a Spring application is not stopping Spring and Vaadin initializing it anyway, although some time-consuming actions like DevModeServletContextListener would still exclude it for optimization.

Fixes

  • Add missing reflection hints for flow-components
    Commit · Pull request · Issue

    Configures additional reflection hints required by flow-components for native image.

  • Use maven project classpath to detect Hilla presence
    Commit · Pull request

    If the project does not define the frontendHotdeploy property, the Flow maven plugins tries to detecte the correct value by analysing project files and looking for Hilla presence by checking for its classes in classpath. However, when FrontendUtils.isHillaUsed() method is called from the maven mojo it can return a wrong value, since Class.forName check is performed using the plugin classloader that do not contain Hilla artifacts. This change makes the mojo isFrontendHotdeploy() method using the project classpath to check for Hilla presence.

  • Add missing hints to fix native compilation
    Commit · Pull request · Issues 19405, 19405

  • Prevent prepare-frontend to remove Hilla generated files
    Commit · Pull request · Issue

  • Do not warn about all vaadin. sysprops*
    Commit · Pull request

    introduce new featureflag prefix ---------

  • Support route parameters in menu
    Commit · Pull request · Issue

  • Add reflection hints for VaadinRolePrefixHolder
    Commit · Pull request · Issue

  • Avoid blocking thread on ViteWebsocketConnection creation
    Commit · Pull request · Issue

    It may happen that the thread that is createing ViteWebsocketConnection gets blocked when trying to create the internal websocket client, because a message from Vite server may be received and forwarded to the browser websocket before the websocket client creation future is completed, leaving the browser request thread pending indefinitely. This change creates the websocket client asynchronously, but immediately closing the browser connection if the client connection cannote be established.

  • Ignore irrelevant whitespace for ts files
    Commit · Pull request

  • Do not set lastHandledNavigation on refresh
    Commit · Pull request

  • Add explicit dependency to JDK classes in vaadin-dev-server
    Commit · Pull request · Issues 17159, 636

    Adds the Dependencies manifest entry to the vaadin-dev-server artifact to prevent runtime errors raised by FileWatcher when application is deployed in Wildfly.

  • Clear preseved chain cache for inactive UI
    Commit · Pull request

    Prevents potential memory leaks caused by UIs being retained by the preserve on refresh cache when the browser page is closed.

  • Provide specific package-lock.json for hybrid applications
    Commit · Pull request · Issue

    The package-lock.json provided by the pre-compiled dev-bundle contains no Hilla dependencies, slowing down the first frontend build. This change attempts to extract a package-lock.json file specific to the hybrid application from the bundle, possibly falling back on the standard one.

  • Set page title to documentTitleSignal
    Commit · Pull request · Issue

    UIInternals#setTitle(String) sets page title via JavaScript to document.title and optionally window.Vaadin.documentTitleSignal.value where documentTitleSignal is expected but not limited to be Signal type with a value field. This allows Hilla main layout, when used, being kept in sync with the Flow page title even when set via PageTitle annotation or HasDynamicTitle interface.

  • Change type of Menu order to double
    Commit · Pull request · Issue

    Changing Menu#order type double and MenuData#order type to Double to match it with Hilla's ViewConfig type number.

  • Add warnings for unsupported feature flags
    Commit · Pull request · Issue

    There was no indication if you were using non-existent or unsupported feature flags at startup. This change brings log warnings about existence of such feature flags

  • Reload flow after hmr reload in dev mode
    Commit · Pull request · Issue

    Reset and reload flow when a template hrm reload happens.

  • Fix failure when Vite sends many messages in sequence
    Commit · Pull request

    Sending multiple messages at the same time resulted in java.lang.IllegalStateException: The remote endpoint was in state [TEXT_FULL_WRITING] which is an invalid state for called method which originates in calling browserSession.getAsyncRemote().sendText a second time before the complete callback for the first call has been called. Now the getBasicRemote() method is used instead which blocks until the message has been sent.

  • Include system classpath elements when collecting
    Commit · Pull request

  • Prevent exception getting DevModeHandlerManager on application shutdown
    Commit · Pull request · Issue

    During the destruction of the web applicationi context, the DevModeStartupListener's context destroy listener is invoked. This listener attempts to locate the DevModeHandlerManager to halt the Vaadin dev-server. However, this process could trigger an exception if the dependency injection container behind the Lookup mechanism has already been stopped. This commit addresses the issue by capturing a reference to the handler during web context start, eliminating the need for a lookup during destruction, thus preventing potential exceptions.

  • Include filesystem dependencies in gradle plugin class finder
    Commit · Pull request · Issue

    Gradle plugin builds a class finder upon the JAR files obtained through the project dependencies resolved artifacts, that however does not include filesystem dependencies. This change adds filesystem dependencis to the list of project JAR files provided to the class finder.

  • Make property change listener trigger on removeProperty
    Commit · Pull request · Issue

    Removing element property by calling com.vaadin.flow.internal.nodefeature.AbstractPropertyMap#removeProperty does not trigger property change listener because of com.vaadin.flow.internal.nodefeature.ElementPropertyMap#remove method is skipped due to AbstractPropertyMap#removeProperty method calls super: public void removeProperty(String name) { super.remove(name); }

  • Prevent embedded styles to leak main document
    Commit · Pull request · Issues 12704, 19265

    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.

Don't miss a new flow release

NewReleases is sending notifications on new releases.