Skip to content

Releases: vaadin/hilla

Hilla 24.5.0

22 Oct 15:17
Compare
Choose a tag to compare

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 to Object 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

14 Oct 07:52
Compare
Choose a tag to compare
Hilla 24.5.0.rc2 Pre-release
Pre-release

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

09 Oct 20:40
Compare
Choose a tag to compare
Hilla 24.5.0.rc1 Pre-release
Pre-release

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: generator use only public getters and setters by @krissvaa in #2783

Full Changelog: 24.5.0.beta6...24.5.0.rc1

Hilla 24.5.0.beta6

09 Oct 08:50
Compare
Choose a tag to compare
Hilla 24.5.0.beta6 Pre-release
Pre-release

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

03 Oct 08:34
Compare
Choose a tag to compare
Hilla 24.5.0.beta5 Pre-release
Pre-release

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

01 Oct 06:06
Compare
Choose a tag to compare

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

Full Changelog: 24.4.8...24.4.9

24.5.0.beta4

30 Sep 07:24
Compare
Choose a tag to compare
24.5.0.beta4 Pre-release
Pre-release

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

New Contributors

Full Changelog: 24.5.0.beta3...24.5.0.beta4

Hilla 24.5.0.beta3

26 Sep 05:54
Compare
Choose a tag to compare
Hilla 24.5.0.beta3 Pre-release
Pre-release

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

  • fix: Registrations should go to Vaadin, not Vaadin.views by @Artur- in #2762

Full Changelog: 24.5.0.beta2...24.5.0.beta3

Hilla 24.5.0.beta2

25 Sep 08:11
Compare
Choose a tag to compare
Hilla 24.5.0.beta2 Pre-release
Pre-release

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

18 Sep 07:08
Compare
Choose a tag to compare
24.5.0.beta1 Pre-release
Pre-release

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 to Object 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