Docs

Feature flags

You can enable preview features with feature flags. Preview features are unstable, and the behavior, API, and/or look and feel of these features might change before and if they become a stable feature.

You can enable previews of the following feature:

hillaPush

Support for push / reactive endpoints.

hillaEngine

Support for multi-module projects and all JVM languages (e.g. Kotlin). See Configuration for details.

Managing feature flags

Feature flags can be managed in different ways:

  • Using Vaadin/Hilla Developer Tools;

  • Editing the feature flags properties file; or

  • Setting Java system properties.

System properties always have the highest priority. Since they aren’t written into the feature flags properties file, they’re valid only for a single execution.

Using Vaadin/Hilla developer tools

  1. Click the Vaadin/Hilla developer tools icon button in your application in bottom right corner of the browser during development.

  2. Open the Experimental Features tab.

  3. Click the toggle buttons to enable or disable features.

  4. Restart the application.

Editing the properties file

  1. Create or edit the src/main/resources/vaadin-featureflags.properties file in your application folder.

  2. Add a line for every feature in the format of com.vaadin.experimental.<FEATURE_NAME>=true. Below is an example:

    vaadin.experimental.hillaPush=true
  3. To disable a feature, remove the corresponding line or set the value to false.

  4. Restart the application.

Setting Java system properties

On the command line, use the IDE launch configuration or tool configuration – such as, Spring Boot Maven plugin – to set a system property for every feature flags to be enabled or disabled. The property name should be in the format vaadin.<FEATURE_NAME>, like so:

-Dvaadin.hillaPush=true

To temporarily disable a feature, use false as property value, like this:

-Dvaadin.hillaPush=false