Hilla 24.7.0
Website · Getting Started · Documentation
Behavior Altering Changes
-
TypeScript generation in Hilla now uses Spring to discover
@BrowserCallableand@Endpointclasses instead using a separate classpath scan. #2616Previously, 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
MultipartFileparameters in Java and correspondingFilearguments in TypeScript. #3121 - Support for Spring and JSpecify standard
@Nullableand@NonNullannotations, 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
@JsonValueand@JsonCreatorto be present. #3095 - Support for
mutecall option to bypass the builtin progress indicator. #2405 - Added error message parameter to
onErrorreactive 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
useGridDataProviderhook for connecting the Grid to a service. #3252 - Added
useComboBoxDataProviderhook 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 |
|
| Mobile browser |
|
| Development OS |
|
| 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:
|
| 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 |