Skip to content

Hilla 24.4.0.beta1

Pre-release
Pre-release
Compare
Choose a tag to compare
@vaadin-bot vaadin-bot released this 30 Apr 14:34
· 45 commits to main since this release

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 2.5

Hilla File Router

The file-system based router, @vaadin/hilla-file-router, was added to Hilla. It simplifies adding React views to applications by automaticaly mapping files in the src/main/frontend/views/ directory as routes, eliminating the step of editing the URL mapping for each added view. The Hilla file router is based on the React Router library.

Automatic Main Menu

The file router includes the createMenuItems() utility function, which enables populating the menu items in the React main layout. Hilla file router views and Java classes with the @Menu annotation are added as the menu items automatically.

Hilla React Signals

The new library for managing state in React applications, @vaadin/hilla-react-signals, was added to Hilla. Signals provide robust and convenient way of subscribing to state updates in UI, and allow to easily share the state updates between multiple components. The API of Hilla React signals follows the Preact Signals library.

Unified Vaadin Platform

Hilla framework has been more closely integrated with the Vaadin platform. Vaadin BOM and Vaadin Spring Boot Starter now include the Hilla framework stating from version 24.4. This enables Vaadin users to choose between Flow and Hilla, or mix both frameworks when necessary.

Frontend Source Directory

The default location of the frontend source directory was changed from frontend/ to src/main/frontend/. The old location is still supported.

Breaking Changes

  • Java namespace was changed from dev.hilla to com.vaadin.hilla
  • npm packages were renamed as follows:
    • @hilla/react-components are now @vaadin/react-components,
    • @hilla/form became @vaadin/hilla-lit-form,
    • other packages from the @hilla/ namespace now have the @vaadin/hilla- name prefix
  • Maven groupId for Hilla artifacts was changed from dev.hilla to com.vaadin.
  • dev.hilla:hilla-spring-boot-starter was superseded by com.vaadin:vaadin-spring-boot-starter.
  • Hilla versioning is aligned with the Vaadin platform one.

Notable Changes Since v2.5.7

  • feat: Use count for scrolling size, if available by @Artur- in #1473
  • fix: Avoid using decorators by @Artur- in #1891
  • fix: make init-app goal generate sources coherent with the project Hilla version by @cromoteca in #1901
  • fix: add name property to Validator interface by @taefi in #1912
  • fix: expose submitting state by @sissbruecker in #1924
  • feat: allow passing custom element to field options by @sissbruecker in #1880
  • feat(autgrid): Add custom filtering option to columns by @krissvaa in #1911
  • fix: produce package-info.java file in scaffolded application by @mcollovati in #1936
  • feat: add customizable form header to auto crud by @sissbruecker in #1930
  • feat: add form level validation error from entity level validator by @krissvaa in #1939
  • feat: Add better names for autogrid filter comparison date/time options by @krissvaa in #1945
  • fix: Ensure database plugin is loaded only when available by @Artur- in #1947* feat: allow to amend Atmosphere configuration by @cromoteca in #1959
  • feat: add useDataProvider hook by @sissbruecker in #1934
  • feat: Add aria-controls to autocrud grid to control the form by @krissvaa in #1946
  • fix: Make NaN as default/empty number value in binder by @krissvaa in #1953
  • feat: gather Flow and Hilla Gradle tasks under vaadin group by @taefi in #1996
  • fix gradle plugin source jar by @taefi in #2014
  • feat: extract and combine routes from fs routing and flow by @krissvaa in #2032
  • feat: add file-based router by @Lodin in #1985
  • fix: support fallback calling full plugin name by @cromoteca in #2031
  • fix: allow validator generation in TS models for references by @taefi in #2046
  • feat: add empty react-i18n package by @sissbruecker in #2087
  • feat: export Signals under own package by @cromoteca in #2043
  • feat(file-router): add menu items generation by @Lodin in #2071
  • fix: Remove defunct init-app Maven/Gradle target by @Artur- in #2120
  • fix: mark as visited on change in addition to blur by @web-padawan in #2138
  • fix: remove spring-data-jpa from Maven Plugin deps by @cromoteca in #2152
  • fix: do not print errors when attempting to call vaadin:configure by @mcollovati in #2132
  • feat: basic I18n class implementation by @sissbruecker in #2118
  • feat: Add VaadinWebSecurity extensions for fs-routing by @krissvaa in #2137
  • feat: i18n translation request backend integration by @ugur-vaadin in #2168
  • fix!: generate and load openapi.json to/from build dir root in dev mode by @Artur- in #2163
  • feat: add support for ICU message format by @sissbruecker in #2179
  • feat: allow checking for i18n initialized state by @sissbruecker in #2186
  • feat: add feature flag for Hilla I18n API by @sissbruecker in #2228
  • fix(react-auth): handle 401 error from protected UserInfo endpoints by @platosha in #2242
  • feat: add new attribute 'hiddenColumns' to configure which columns sh… by @rbrki07 in #2279
  • feat: add new attribute 'hiddenFields' to configure which fields shou… by @rbrki07 in #2294
  • feat: add a helper to remap properties in filters and pageables by @cromoteca in #1870
  • fix(form): force calling clear at form creation/model change by @cromoteca in #2299
  • feat: make RouteUtil implement Flow interface by @cromoteca in #2360

New Contributors

Full Changelog: 2.5.7...24.4.0.beta1