grid.setReadOnly(true)
. This mode disallows
editing of the Grid, while still allowing scrolling. This was
added as the previous way to disallow editing in an otherwise
editable grid was to call grid.setDisabled(true)
, but
that would also stop users from scrolling through data.ValoTheme
, to allow
cleaner access to menu and navigation elements in the style.
The new fields are
MENU_SELECTED
MENU_TOGGLE
MENU_VISIBLE
MENU_ITEMS
MENU_USER
NAV_CONTENT
SCROLLABLE
See JavaDoc for usage descriptions. Previouly, access to these classes had to be done through magic strings in the application.
DateField
event propagation when the
backend doesn’t immediately service the request. Events would
get queued and then sent stale and out of order, resulting in
the server side getting false user interaction events from
the DateField
.jetty
dependency to address CVE-2023-36479.Build-time compatibility with Java 17 SDKs is being
investigated, but is not yet available.
If you wish to run Vaadin 8 on Java 9+ JREs, you must
set the Java environment value
java.locale.providers=COMPAT
, otherwise locale
dependent conversions (country code, currency, etc) WILL be
inconsistent with Java 8 behavior, potentially leading to
data loss.
Minimum Maven version to build Vaadin 8 is now 3.6.2. Included new dependencies:
javassist
version 3.29.2-GAmaven-enforcer-plugin
3.3.0
Updated supporting Maven plugins:
maven-clean-plugin
from 3.0.0 to 3.2.0maven-compiler-plugin
from 3.5.1 to 3.11.0maven-site-plugin
from 3.5 to 3.12.1maven-jar-plugin
from 2.6 to 3.2.2maven-surefire-plugin
from 2.19.1 to 2.22.2maven-failsafe-plugin
from 2.19.1 to 2.22.2maven-dependency-plugin
from 3.0.1 to 3.5.0exec-maven-plugin
from 1.6.0 to 3.1.0versions-maven-plugin
from 2.3 to 2.15.0build-helper-maven
-plugin 1.10 to 1.12maven-source-plugin
3.0.1 to 3.2.1maven-checkstyle-plugin
from 3.2.0 to 3.2.2
Upgraded GWT dependency to 2.9.0 in order to make Framework 8 more compatible with other Vaadin products and modern build environments, as well as to improve compatibility with modern browsers.
Fixed all JavaDoc generation errors and cleaned up some API documentation along the way, resulting in better IDE compatibility and cleaner formatting of the resulting documentation.
Fixed a bug in the long polling push transport when the sync id check is disabled, leading to the server continuously pushing. This is a backported fix from Flow, see issue #17237 pull request #17238.
Added new API in VaadinSession.java
which allows
setting priority of UIProviders. The function
VaadinSession.addUIProvider
now takes an extra integer
parameter, which makes it possible to explicitly set priority
of the UI providers as they’re added.
Additionally, the functions
VaadinSession.getUIProviderPriority
and
VaadinSession.setUIProviderPriority
were added, which
can be used together with VaadinSession.getUIProviders
to alter the ordering of all UI providers added to the Session.
It is also possible to specify the priority of the default UI
providers by setting the UIPriority
value as part of
the DeploymentConfiguration
.
This does not alter default behavior. The default UIProvider
priority is 0; higher values get processed first. Providers with
the same priority will be processed in the order they were added.
See the VaadinSession JavaDoc for more information.
Updated internal Jetty depdency from version 9.4.48.v20220622
to version 9.4.51.v20230217
to avoid a false positive
security alert. The internal Jetty server is only used for
running tests at build time.
Updated plexus-archiver version in vaadin-maven-plugin to 4.8.0
in order to fix a potential security vulnerability.
nimbus-jose-jwt
version in order to ensure that apps can still run under included Jetty on Java 8 VMs. Newer versions of nimbus-jose-jwt
include a meta-info
class that JVM 8 implementations cannot load. nimbus-jose-jwt
was included as a transitive dependency.license-checker
to the latest available version for better user experience and MPR compatibility.Moved vaadin-portlet package contents from com.vaadin.server to com.vaadin.portlet namespace. This is a BREAKING CHANGE and will require you to update your imports. This is a necessary change in order to be able to support OSGi deployments (specifically under the latest Liferay 7 releases.
vaadin-portlet
from the com.vaadin.server
to the com.vaadin.portlet
namespace. The complete list of classes is as follows:com.vaadin.portlet.LegacyVaadinPortlet
com.vaadin.portlet.RestrictedRenderResponse
com.vaadin.portlet.VaadinPortlet
com.vaadin.portlet.VaadinPortletRequest
com.vaadin.portlet.VAadinPortletService
com.vaadin.portlet.VaadinPortletSession
com.vaadin.portlet.WrappedPortletSession
and
com.vaadin.portlet.communication.PortletBootstrapHandler
com.vaadin.portlet.communication.PortletDummyRequestHandler
com.vaadin.portlet.communication.PortletListenerNotifier
com.vaadin.portlet.communication.PortletStateAwareRequestHandler
com.vaadin.portlet.communication.PortletUIInitHandler
If you’ve referenced any of these classes, they will have been in the com.vaadin.server
and com.vaadin.server.communication
packages, respectively.
Improved OSGi packaging for vaadin-portlet. See issue #12575.
Fixed an issue where push connections could get stuck when using @PreserveOnRefresh
as requests intended for a new push connection would instead be queued on an old one. Now old connections are closed immediately on reconnect. See issue #12577.
Fixed Push connection operations synchronization so that a connection won’t be disconnected while there are messages pending. This would result in NullPointerExceptions being thrown. Makes the isConnected() call correctly reflect current state. This is a backported fix from Flow. See Flow issue #15571.
Fixed an issue where undelivered push messages would get lost, resulting in a need for UI resynchronization. Push messages are now kept in cache until a client acknowledges receipt. This is a backported fix from Flow. See Flow issue #15205.
Improved performance in UIs with assertions enabled. Some assertions would check for the presence of MPR on every run. MPR is now only detected once and the check result is cached. See issue #12572.
clear()
.vaadin-server-mpr-jakarta
and vaadin-compatibility-server-mpr-jakarta
POM dependency definitions such that these packages do not pull in vaadin-server
and vaadin-compatibility-server
as unwanted dependencies, respectively.runAfterRoundTrip
API to the UI class for improved sequence control, allowing execution of a callback after one or more client-server round trips have been completed.vaadin-server
into its own package, vaadin-portlet
. This will break your build if your application makes use of Portlet classes and you do not import the vaadin-portlet
dependency.vaadin-server-mpr-jakarta
and vaadin-compatibility-server-mpr-jakarta
. This is only needed for MPR 24+, and is NOT guaranteed to work as generic Jakarta support (even though it does so at the moment) as we may add MPR specific functionality or even hard MPR dependencies in the future.org.jsoup.safety.Whitelist
and replace them with references to org.jsoup.safety.Safelist
. The API of the two classes is the same; Safelist
is a drop-in replacement for Whitelist
. This change was made to all Vaadin versions simultaneously to address CVE-2022-36033 and keep the dependencies in line for use with Vaadin MPR.