Skip to content

Hilla 24.7.0

Choose a tag to compare

@vaadin-bot vaadin-bot released this 18 Mar 10:53
· 156 commits to 24.7 since this release

Website · Getting Started · Documentation

Behavior Altering Changes

  • TypeScript generation in Hilla now uses Spring to discover @BrowserCallable and @Endpoint classes instead using a separate classpath scan. #2616

    Previously, Hilla used its own classpath scanning with a dedicated build configuration. To avoid duplicate classpath specifications—one for Spring and another in the build—and to improve generator reliability, we now use only Spring’s configuration. This also eliminates the extra build tool execution previously required to extract classpath information.

    With this change, only Spring-managed beans are eligible as browser-callable services. While this was already common practice, it’s now explicitly required. If a browser-callable service is defined in a dependency or another package, it must be included in Spring’s component scan to be recognized.

    Note: Support for custom Hilla plugin classpath configuration has been dropped. If your project previously relied on it, update your setup accordingly.

New Features

Browser Callable Services

  • Support for uploading files using MultipartFile parameters in Java and corresponding File arguments in TypeScript. #3121
  • Support for Spring and JSpecify standard @Nullable and @NonNull annotations, the Hilla's own nullability annotations are deprecated. #2612 #3205
  • Gradle plugin adds compiler arguments for Kotlin to support nullability and validation annotations. #2343
  • Hilla no longer requires both @JsonValue and @JsonCreator to be present. #3095
  • Support for mute call option to bypass the builtin progress indicator. #2405
  • Added error message parameter to onError reactive subscription callback. #2062

Full-Stack Signals (Experimental)

  • Providing the client-side default value is now optional. #2746

AutoCrud

  • Grid and crud services respect the Spring max page size limit. #3203
  • Support for removing the new button. #3227

Data Binding

  • Added useGridDataProvider hook for connecting the Grid to a service. #3252
  • Added useComboBoxDataProvider hook for connecting the ComboBox to a service. #3256
  • Improved form validation feedback for non-parsable input in Date components. #2702

Notable Changes Since v24.6.0

Full Changelog: 24.6.0...24.7.0

Supported technologies

Spring Boot Version 3.4 or newer
Desktop browser
  • Chrome (evergreen)
  • Firefox (evergreen)
    • Firefox Extended Support Release (ESR)
  • Safari 15 or newer
  • Edge (Chromium, evergreen)
Mobile browser
  • Chrome (evergreen) for Android (4.4 or newer)
  • Safari for iOS (15 or newer)
Development OS
  • Windows
  • macOS
  • Linux
IDE

Any IDE or editor that works with the language of your choice should work well. Our teams often use Eclipse, IntelliJ, VS Code, Atom, Emacs, and Vim, among others.

Vaadin Designer supports the following IDEs:

  • Eclipse from Photon and upwards
  • JetBrains IntelliJ IDEA from 2017 upwards
Java Version 17 of any JDK or JRE
Maven Version 3.5 or newer
Gradle Version 8.7 or newer
Node.js Version 20 or newer