Changes since 24.1.0.beta1
New features
-
Introduce manual validation mode for manual control of invalid state
Commit · Pull request -
Web push API
Commit · Pull requestThis reverts commit dde91de. Remove WebPushToggle component and add api for registering/unregistering web push from client. Rename methods Add webpush-java to module. Add bouncycastle to module. Update bouncycastle ---------
-
Prevent logging of ignored exceptions
Commit · Pull requestFlow default error handler logs all caught exceptions. However, there may be exceptions thrown by servlet container that are meant to be tracked only at debug level (e.g. Jetty QuietException implementors). This change prevents logging of similar 'quiet' exception, unless the DefaultErrorHandler logger level is set to debug or higher. Closes #16311
-
MAU: track Hilla version in the usage statistics file
Commit · Pull request -
Add Platform.getHillaVersion()
Commit · Pull request -
Development mode only scripts using @jsmodule(developmentOnly=true)
Commit · Pull requestGoal is to enable to load dev tools related scripts
-
Add API for Web Storage
Commit · Pull request -
Overloaded RouteParam constructor with Integer and Long
Commit · Pull requestCloses #16972
-
Added shorthands for QueryParameters class
Commit · Pull requestCloses #16975
-
A shorthand to pass RouteParam array directly to navigate method
Commit · Pull requestCloses #16971
-
Clean app devBundle with clean-frontend
Commit · Pull requestWhen running the clean-frontend target remove also application dev bundle from the project. Part of #16888
-
Improve error messages in Text methods
Commit · Pull request · IssueMake sure that calling methods inherited from HasStyles and that doesn't make sense in Text, throw a UnsupportedOperationException with a descritive message. The methods that got better error messages are those that could update a component: - addClassName - removeClassName - setClassName - addClassNames - removeClassNames ---------
Fixes
-
Add detach listener callback once for pending invocations
Commit · Pull request · IssueCurrently, the detach listener callback is added to pending javascript invocation on every call to dumpPendingJavaScriptInvocations. This change will apply the callback only once, when the pending invocation is seen for the first time.
-
Delay requests to dev-server during restart
Commit · Pull request · IssueThe dev-server may restart itself when some resources are modified. In this situation incoming requests fails with a connection exception until the server is ready again. This change introduces a check that delays requests that happen during dev-server restart until the reboot operation has completed. ---------
-
Detect correct protocol in browser launcher
Commit · Pull request · IssueDetects correct protocol to use depending on application settings when opening the application in the browser
-
Update types.d.ts if needed
Commit · Pull requestIf the content for types.d.ts has updated update the file contents even if it already exists.
-
Add slot=label attribute as legit use-case for the deprecated Label
Commit · Pull request -
Use correct path in Vite websocket requests
Commit · Pull requestWhen the browser is using http://localhost:8888/context/view/VAADIN and Vite is running on http://localhost:60075/context/view/VAADIN/ then the WS proxy request must go to http://localhost:60075/context/view/VAADIN/ and not http://localhost:60075/VAADIN/
-
Do not build bundle size stats for a dev bundle
Commit · Pull request -
Changed suggested classname to lower dash-case
Commit · Pull request -
Fix setItems error message to be compliant with the current implementation
Commit · Pull request · IssueIn HasLazyDataView.setItems the error message says: "Trying to use exact size with a lazy loading component without either providing a count callback for the component to fetch the count of the items or a data provider that implements the size query. Provide the callback for fetching item count with component.getLazyDataView().withDefinedSize(CallbackDataProvider.CountCallback); or switch to undefined size with component.getLazyDataView().withUndefinedSize();" Since 2020 the API has changed. This PR teaches developers the current API.
-
Generate d.ts for dev tools so plugins can use it
Commit · Pull request -
Fix property detection on for generic types
Commit · Pull request · IssueBeanPropertySet fails to merge property definition when a class inherits and overrides a getter with a generic return type. This change checks for return type equality only if both property definitions have not a generic return type. When merging property definitions, the non-generic definition is taken.
-
Do not have server sources in client
Commit · Pull requestadd flow-server sources as a sources dependency instead of a src resource. Closes #17020
-
Strip ?inline from import before finding file
Commit · Pull request · Issue -
Load Vaadin version from pom.properties instead of from vaadin-c…
Commit · Pull request · Issuevaadin-core-versions.json file is present both in vaadin-core.jar and hilla.jar. For hybrid projects, the outcome of Platform.getVaadinVersion() is undeterministic. This causes the function to parse pom.properties file instead.
-
Quote result in CSS bundler
Commit · Pull request · IssueCorrectly handles $ and \
-
Add addCssBlock function when needed
Commit · Pull request · IssueThe addCssBlock function should be added when ever a cssimport with inclue is added
-
Store LastSeenServerSyncId in atmosphere resource session
Commit · Pull requestStoring the header value in AtmosphereResource session should prevent issues with long polling and servlet container that recycles requests. This change stores in the resource session the value got from client during connection so that it will be available even if the underliyng request gets nullified. Part of #16968 Part of #16775
-
Support silent updates for tsconfig.json from Hilla 2.0
Commit · Pull request · IssueFor some time between 2.0 and 2.1 version releases Hilla starters had
"moduleResolution": "nodeNext"
in the defaulttsconfig.json
, while still using the same version key. This change enables silent updates from those to the latesttsconfig.json
. -
Auto-update @vitejs/plugin-react devDependency
Commit · Pull request · Issue -
Avoid clearing vaadin-ui scoped Spring beans on resync
Commit · Pull request · IssueSpring beans scoped with 'vaadin-ui' scope name (UIScope annotated) are normally cleared when VaadinUIScope detach handler is called. Usually its done when UI is closing. Resynchronization is an exception. With this fix, resync will call VaadinUIScope detach handler as before, but it doesn't clear bean storage unless UI is marked explicitly for closing.
-
Only import theme files from the active theme
Commit · Pull request · Issue -
Do not close external filesystems
Commit · Pull request · IssueIf someone else has opened a fileSystem, do not close it after we are done. Thanks to @oliveryasuna for the test module.
-
Log error messages
Commit · Pull requestLog error messages and throw more generic exceptions.
-
Theme injection in Safari with polyfill
Commit · Pull requestThe polyfill does not support push or splice, see calebdwilliams/construct-style-sheets#124
-
Scan method annotations
Commit · Pull request · Issue -
Find production bundle theme on Windows
Commit · Pull request · IssueClassloader always uses a / separated path
-
Update plugins
Commit · Pull requestUpdate available plugins to not get validation issues. This lessens some of them when building flow. touches #16881
-
JS syntax error in login form CSRF provider script
Commit · Pull request · Issue -
Accept css if not building bundle
Commit · Pull request · IssueFile found can be ignored if not building bundle due to accepted bundle.
-
Use push/splice to avoid Safari 16.4 issue
Commit · Pull request · IssueWorkaround for https://bugs.webkit.org/show_bug.cgi?id=254844
-
Npm install task should use ClassFinder
Commit · Pull request · IssueThe TaskRunNpmInstall should use ClassFinder to load the vaadin-core-versions.json
-
Change from ? extends Component to ? for VS Code
Commit · Pull request -
Nullify a registration when listener removed
Commit · Pull request -
Remove detach listener when javascript execution completes
Commit · Pull requestA detach listener is added for pending javascript invocation owner nodes to clean up the queue, if the owner gets detached. This change also removes the detach listener when the javascript execution completes.
-
Remove natural order sorting of jsmodules and javascript imports
Commit · Pull request · IssueRemoves sorting of jsmodule and javascript imports in natural order in generated-flow-imports.js. Sorting is removed only for imports added via JsModule and Javascript annotation. Natural order was not in line with the promised order described in these annotations, which is to keep the same order as the annotations were on the class. However, order is only guaranteed on a class level.
-
Retain node_modules folder
Commit · Pull request · IssueWhen running a Hilla project or a project containing a package.json do not clean node_modules.