Releases: vaadin/hilla
Hilla 24.5.0
Website · Getting Started · Documentation
New and Noteworthy Since Hilla 24.4
TypeScript Generation Enhancements
Support for using generic types was added to the Hilla browser callable endpoints generator. Better code structure and easy data definition reuse between entities is now possible by extracting generic base classes, which are now preserved as generic also in the generated TypeScript code.
At the same time, Hilla generator has received support for Jackson's @JsonValue
& @JsonCreator
Java annotations. This enables using domain primitives in Java and other customisations of JSON representation for Java classes.
Using JsonNode
type and its subclasses in browser callable endpoints was enabled, which allows sending and receiving raw JSON data with Hilla browser callable endpoints.
Hilla generator now supports ZonedDateTime
and OffsetDateTime
commonly used Java date and time types.
Using Arrays in React Forms
Creating repeated form parts for array data types, for example, with the user-provided number of items, was simplified with the new useFormArrayPart
hook to the Hilla React form library.
Flow Layout Support
The integration between Hilla and Flow as parts of a single Vaadin Unified Platform application was improved with added support for layout parents defined with Flow to the Hilla file-system router. This further simplifies creating hybrid applications using both Flow and Hilla.
Experimental Full-Stack Signals
The limited support for browser callable services that return a signal shared between the client and the server was added to Hilla. This enables sharing data with live updates and real-time collaboration with a simple API. Only Number
and arbitrary JSON value data types are supported. Note that this feature is experimental and not yet ready for production use.
Notable Changes Since v24.4.10
- feat(generator): support
@JsonCreator
and@JsonValue
annotations by @cromoteca in #2381 - fix: support classes that extend or implement an Iterable by @cromoteca in #2397
- feat: use Flow menu item collection by @caalador in #2425
- fix: support Maven system scope for dependencies by @cromoteca in #2328
- feat(parser): map
JsonNode
toObject
by @cromoteca in #2398 - refactor: disallow parametrized items in auto menu by @Lodin in #2392
- feat: use flow client route collection and filtering by @caalador in #2449
- feat(binder): implement
useFormArrayPart
by @cromoteca in #2505 - feat: add support for JsonNode subclasses by @cromoteca in #2537
- fix: Do not log debug info unless asked to by @Artur- in #2549
- feat: implement Flow hotswap API by @mcollovati in #2590
- feat(models): implement Object Models proposal by @Lodin in #2535
- refactor(lit-form): deprecate AbstractModel methods that require BinderNode by @Lodin in #2522
- feat: add NumberSignal basic support by @taefi in #2502
- feat: allow setting signal's value before server confirmation by @taefi in #2633
- test: add NumberSignal IT by @taefi in #2632
- feat: add generator plugin for endpoints returning signals by @taefi in #2639
- fix: enable security for SignalsHandler by @taefi in #2651
- feat: add support for Daily Active User feature by @mcollovati in #2649
- refactor(react-signals): simplify the implementation by @Lodin in #2657
- feat: add automatic subscribe/unsubscribe to signals by @taefi in #2663
- feat: Flow main layout by @caalador in #2662
- feat(react-i18n): support chunked translations loading by @platosha in #2683
- feat: add generic single valued signal (ValueSignal) by @taefi in #2672
- feat: add increment and add operations to NumberSignal by @taefi in #2694
- fix(TypeScript): npm peer dependency install conflicts in user applications by @platosha in #2699
- feat!(generator): add support for generics by @cromoteca in #2615
- fix: remove warning on entities with no properties by @cromoteca in #2711
- fix: send updates only when not rendering by @krissvaa in #2707
- fix: do not update while rendering by @krissvaa in #2713
- fix: adjust increment api and remove add from NumberSignal by @taefi in #2704
- fix: Nested child with flowLayout and autolayout withFallback by @caalador in #2706
- feat: enable signal returning methods to have params by @taefi in #2714
- fix: Do not wrap with layout for empty array by @caalador in #2733
- feat: automatic flowLayout if match exists by @caalador in #2725
- feat(signals): require a default value for non-nullable signals by @cromoteca in #2732
- fix: undefined representation as empty in string components by @krissvaa in #2727
- fix: do not submit autoform on key-down if pressed in textarea by @krissvaa in #2741
- feat(push): add callback on subscription lost event by @cromoteca in #2737
- feat: Do not force full reload when changing routes by @Artur- in #2751
- fix: fix layout matching by @caalador in #2745
- feat(signals): resubscribe automatically after reconnection by @cromoteca in #2768
- fix: checkbox group undefined field strategy by @krissvaa in #2748
- fix(parser): get type arguments as referred types by @cromoteca in #2777
- fix: if config doesn't exist, add minimal one with flowLayout by @tepi in #2793
- fix(IT): update router typings by @Lodin in #2802
- fix: check full-stack signals feature-flag in client-side by @taefi in #2798
- fix: generator use only public getters and setters by @krissvaa in #2783
- feat: add support for java.time offset and zoned date-time by @krissvaa in #2785
- fix: localdatetime fills in AutoCrud and allow other java time classes to be used automatically by @krissvaa in #2771
- fix: regenerate file-router files when layouts changes (#2796) (CP: 24.5) by @vaadin-bot in #2832
- fix: Check main layout presence separately by @mshabarov in #2831
New Contributors
Full Changelog: 24.4.10...24.5.0
Hilla 24.5.0.rc2
Website · Getting Started · Documentation
This is a pre-release for the next minor version of Hilla. We appreciate it if you give it a try and report any issues you notice.
Versions
- Hilla Maven Plugin
- Hilla Gradle Plugin
- Hilla Spring Boot Starter
- Vaadin Design System / Web Components (24.5.0-rc2)
- Vaadin Design System / React Components (24.5.0-rc2)
What's Changed
- [Snyk] Upgrade io.github.classgraph:classgraph from 4.8.175 to 4.8.176 by @taefi in #2813
- feat: add support for java.time offset and zoned date-time by @krissvaa in #2785
- fix: localdatetime fills in AutoCrud and allow other java time classes to be used automatically by @krissvaa in #2771
- chore: follow the 24.5 branch (24.5) by @platosha in #2821
- chore: remove redundant package names by @platosha in #2817
Full Changelog: 24.5.0.rc1...24.5.0.rc2
Hilla 24.5.0.rc1
Website · Getting Started · Documentation
This is a pre-release for the next minor version of Hilla. We appreciate it if you give it a try and report any issues you notice.
Versions
- Hilla Maven Plugin
- Hilla Gradle Plugin
- Hilla Spring Boot Starter
- Vaadin Design System / Web Components (24.5.0-rc2)
- Vaadin Design System / React Components (24.5.0-rc2)
What's Changed
Full Changelog: 24.5.0.beta6...24.5.0.rc1
Hilla 24.5.0.beta6
Website · Getting Started · Documentation
This is a pre-release for the next minor version of Hilla. We appreciate it if you give it a try and report any issues you notice.
Versions
- Hilla Maven Plugin
- Hilla Gradle Plugin
- Hilla Spring Boot Starter
- Vaadin Design System / Web Components (24.5.0-rc2)
- Vaadin Design System / React Components (24.5.0-rc2)
What's Changed
- fix: if config doesn't exist, add minimal one with flowLayout by @tepi in #2793
- chore: update imports to MenuRegistry by @tltv in #2794
- fix(IT): update router typings by @Lodin in #2802
- chore: add missing IT modules to profiles by @ZheSun88 in #2803
- fix: check full-stack signals feature-flag in client-side by @taefi in #2798
- test: Do not use a .ts extension for snapshot by @Artur- in #2797
New Contributors
Full Changelog: 24.5.0.beta5...24.5.0.beta6
Hilla 24.5.0.beta5
Website · Getting Started · Documentation
This is a pre-release for the next minor version of Hilla. We appreciate it if you give it a try and report any issues you notice.
Versions
- Hilla Maven Plugin
- Hilla Gradle Plugin
- Hilla Spring Boot Starter
- Vaadin Design System / Web Components (24.5.0-rc1)
- Vaadin Design System / React Components (24.5.0-rc1)
What's Changed
- fix: checkbox group undefined field strategy by @krissvaa in #2748
- fix: remove onDisconnect callback from flux subscription by @krissvaa in #2766
- fix(parser): get type arguments as referred types by @cromoteca in #2777
Full Changelog: 24.5.0.beta4...24.5.0.beta5
Hilla 24.4.9
Website · Getting Started · Documentation
Versions
- Hilla Maven Plugin
- Hilla Gradle Plugin
- Hilla Spring Boot Starter
- Vaadin Design System / Web Components (24.4.10)
- Vaadin Design System / React Components (24.4.10)
What's Changed
- test: avoid top level await (#2734) (CP: 24.4) by @vaadin-bot in #2735
Full Changelog: 24.4.8...24.4.9
24.5.0.beta4
Website · Getting Started · Documentation
This is a pre-release for the next minor version of Hilla. We appreciate it if you give it a try and report any issues you notice.
Versions
- Hilla Maven Plugin
- Hilla Gradle Plugin
- Hilla Spring Boot Starter
- Vaadin Design System / Web Components (24.5.0-rc1)
- Vaadin Design System / React Components (24.5.0-rc1)
What's Changed
- chore: update package[-lock].json (main) by @vaadin-bot in #2764
- Use actual API names in the JSDoc by @Legioth in #2761
- fix: fix layout matching by @caalador in #2745
- feat(signals): resubscribe automatically after reconnection by @cromoteca in #2768
- refactor: notify clients with acceptance/rejection of events instead of snapshots by @taefi in #2772
- refactor: extract Signal abstraction out of ValueSignal by @taefi in #2773
- chore: upgrade to TB 9.3.5 by @ZheSun88 in #2776
- chore: update package[-lock].json (main) by @vaadin-bot in #2779
New Contributors
Full Changelog: 24.5.0.beta3...24.5.0.beta4
Hilla 24.5.0.beta3
Website · Getting Started · Documentation
This is a pre-release for the next minor version of Hilla. We appreciate it if you give it a try and report any issues you notice.
Versions
- Hilla Maven Plugin
- Hilla Gradle Plugin
- Hilla Spring Boot Starter
- Vaadin Design System / Web Components (24.5.0-beta1)
- Vaadin Design System / React Components (24.5.0-beta1)
What's Changed
Full Changelog: 24.5.0.beta2...24.5.0.beta3
Hilla 24.5.0.beta2
Website · Getting Started · Documentation
This is a pre-release for the next minor version of Hilla. We appreciate it if you give it a try and report any issues you notice.
Versions
- Hilla Maven Plugin
- Hilla Gradle Plugin
- Hilla Spring Boot Starter
- Vaadin Design System / Web Components (24.5.0-beta1)
- Vaadin Design System / React Components (24.5.0-beta1)
What's Changed
- feat(signals): require a default value for non-nullable signals by @cromoteca in #2732
- fix: undefined representation as empty in string components by @krissvaa in #2727
- fix: do not submit autoform on key-down if pressed in textarea by @krissvaa in #2741
- chore: update spring-boot to 3.3.4 by @vaadin-bot in #2561
- feat(push): add callback on subscription lost event by @cromoteca in #2737
- chore: keep vite version in sync with flow 24.5 by @ZheSun88 in #2744
- refactor: Extract code that creates window.Vaadin.views json by @Artur- in #2755
- refactor: Make createMenuItems be based on a signal by @Artur- in #2753
- feat: Do not force full reload when changing routes by @Artur- in #2751
Full Changelog: 24.5.0.beta1...24.5.0.beta2
24.5.0.beta1
Website · Getting Started · Documentation
This is a pre-release for the next minor version of Hilla. We appreciate it if you give it a try and report any issues you notice.
New and Noteworthy Since Hilla 24.4
TypeScript Generation Enhancements
Support for using genertic types was added to the Hilla browser callable endpoints generator. Better code structure and easy data definition reuse between entities is now possible by extracting generic base classes, which are now preserved as generic also in the generated TypeScript code.
At the same time, Hilla generator has received support for Jackson's @JsonValue
/ @JsonCreator
Java annotations . This enables using domain primitives in Java and other customisations of JSON representation for Java classes.
Using JsonNode
type and its subclasses in browser callable endpoints was enabled, which allows sending and receiving raw JSON data with Hilla browser callable endpoints.
Using Arrays in React Forms
Creating repeated form parts for array data types, for example, with the user-provided number of items, was simplified with the new useFormArrayPart
hook to the Hilla React form library.
Flow Layout Support
The integration between Hilla and Flow as parts of a single Vaadin Unified Platform application was improved with added support for layout parents defined with Flow to the Hilla file-system router. This further simplifies creating hybrid applications using both Flow and Hilla.
Experimental Full-Stack Signals
The limited support for browser callable services that return a signal shared between the client and the server was added to Hilla. This enables sharing data with live updates and real-time collaboration with a simple API. Only Number
and arbitrary JSON value data types are supported. Note that this feature is experimental and not yet ready for production use.
Versions
- Hilla Maven Plugin
- Hilla Gradle Plugin
- Hilla Spring Boot Starter
- Vaadin Design System / Web Components (24.5.0-beta1)
- Vaadin Design System / React Components (24.5.0-beta1)
Notable Changes Since v24.4.8
- feat(generator): support
@JsonCreator
and@JsonValue
annotations by @cromoteca in #2381 - fix(file-router): improve the speed of the HMR injection by @Lodin in #2411
- fix: ignore absence of file-routes.json at startup in dev mode by @taefi in #2423
- fix: support classes that extend or implement an Iterable by @cromoteca in #2397
- feat: use Flow menu item collection by @caalador in #2425
- fix: support Maven system scope for dependencies by @cromoteca in #2328
- fix: adjust Hilla statistics collection by @taefi in #2353
- refactor(file-router): forbid same names for sibling file and directory by @Lodin in #2443
- feat(parser): map
JsonNode
toObject
by @cromoteca in #2398 - fix: add resource pattern for file-routes.json by @rbrki07 in #2396
- refactor: disallow parametrized items in auto menu by @Lodin in #2392
- refactor(file-router): tune server routes addition in case of variable routes presented by @Lodin in #2448
- fix: Do not skip endpoint registration if there are no custom types (#2467) (CP: main) by @vaadin-bot in #2469
- feat!(frontend): reload the page on login / logout success by @Lodin in #2432
- fix(engine-runtime): skip generating endpoints in prepare-frontend (#2485) (CP: main) by @vaadin-bot in #2487
- fix!: change search endpoint log level to debug (#2483) (CP: main) by @vaadin-bot in #2484
- refactor(file-router): make route with non-null children detected as a layout by @Lodin in #2493
- fix(binder): update form when array values change by @cromoteca in #2497
- fix: use hierarchical route as key for collecting client menus (#2462) (CP: main) by @Lodin in #2504
- fix(file-router): support config below view (#2491) (CP: main) by @vaadin-bot in #2492
- fix: replace validator/isNumeric with a simple NaN & Finite check by @Lodin in #2510
- fix(form): initialize value / defaultValue keys when rendering optional fields (#2508) (CP: main) by @vaadin-bot in #2514
- fix: Report usage stats when isReactEnabled=false by @mshabarov in #2534
- feat: use flow client route collection and filtering by @caalador in #2449
- feat(binder): implement
useFormArrayPart
by @cromoteca in #2505 - feat: add support for JsonNode subclasses by @cromoteca in #2537
- test: fix CI failures by @Lodin in #2566
- fix: nested cases of route parameters in the menu (#2527) (CP: main) by @platosha in #2557
- fix: Do not log debug info unless asked to by @Artur- in #2549
- refactor: Do not use installAutoSignalTracking by @Artur- in #2576
- feat: implement Flow hotswap API by @mcollovati in #2590
- fix(file-router): preserve empty children for layout routes (#2572) (CP: main) by @platosha in #2585
- feat(models): implement Object Models proposal by @Lodin in #2535
- refactor(lit-form): deprecate AbstractModel methods that require BinderNode by @Lodin in #2522
- feat(maven-plugin) add m2e metadata by @cromoteca in #2610
- feat: add NumberSignal basic support by @taefi in #2502
- feat: allow setting signal's value before server confirmation by @taefi in #2633
- feat: add generator plugin for endpoints returning signals by @taefi in #2639
- refactor: use nanoid instead of crypto.randomUUID by @taefi in #2646
- refactor(generator-utils): improve ImportManager implementation by @Lodin in #2645
- fix: enable security for SignalsHandler by @taefi in #2651
- feat: add support for Daily Active User feature by @mcollovati in #2649
- feat: add automatic subscribe/unsubscribe to signals by @taefi in #2663
- feat: Flow main layout by @caalador in #2662
- feat(react-i18n): support chunked translations loading by @platosha in #2683
- feat: add onDisconnect callback to subscription by @krissvaa in #2684
- feat: add generic single valued signal (ValueSignal) by @taefi in #2672
- feat: add increment and add operations to NumberSignal by @taefi in #2694
- fix(TypeScript): npm peer dependency install conflicts in user applications by @platosha in #2699
- feat!(generator): add support for generics by @cromoteca in #2615
- fix: remove warning on entities with no properties by @cromoteca in #2711
- fix: send updates only when not rendering by @krissvaa in #2707
- fix: do not update while rendering by @krissvaa in #2713
- fix: adjust increment api and remove add from NumberSignal by @taefi in #2704
- fix: Nested child with flowLayout and autolayout withFallback by @caalador in #2706
- feat: enable signal returning methods to have params by @taefi in #2714
- fix: Do not wrap with layout for empty array by @caalador in #2733
- feat: automatic flowLayout if match exists by @caalador in #2725
Full Changelog: 24.4.8...24.5.0.beta1