Vaadin Framework Versions Save

Vaadin 6, 7, 8 is a Java framework for modern Java web applications.

7.7.43

2 weeks ago

The Vaadin Framework 7.7.43 is an extended-support release with the following changes:

  • Made ComboBox rendering faster by trying to avoid constant popup size recalculations
  • Backported Upload fixed from Vaadin 8, namely preventing upload if no file has been selected, and making sure the ChangeListener still works after the first upload.
  • Added things necessary for JavaDoc generation.
  • Updated the license checker, fixed tests, updated the copyright dates

8.25.1

2 weeks ago

Vaadin Framework 8.25.1 is an Extended Maintenance patch release with the following changes:

  • Reverted a fix for a ComboBox issue where, if a filter was applied and the user opens the dropdown choice menu, the currently selected choice was not initially being scrolled into view. This fix had the side effect of making it impossible to scroll the dropdown menu in certain cases. The fix for the original issue will be re-implemented in a side-effect free manner in a future release.
  • Fixed a packaging issue, where the Vaadin license checker and Vaadin Open were incorrectly being included as part of the vaadin-server artifact. This caused a cascade of classpath conflict warnings on startup. As far as we're aware, this problem appeared to be completely cosmetic but was causing concern for some users.
  • Added a missing style rule for FormLayout's disabled caption opacity when using the light Valo theme.
  • Updated the license checker version.

8.25.0

4 weeks ago

Vaadin Framework 8.25.0 is an Extended Maintenance feature release with the following changes:

  • Added feature in Grid that allows setting the order of the hidable columns as presented in the Grid sidebar menu. The list can now be sorted either as DEFAULT, ASCENDING or DESCENDING. Default order is the same as the presentation order in the Grid. Ascending and descending ordering use the set title of each hidable column, sorted alphabetically.
    • The new API can be found in Grid - grid.setSidebarColumnOrder(GridConstants.SidebarColumnOrder order) and the corresponding getter grid.getSidebarColumnOrder().
  • Fixed edge-case issue #12611 where a combination of a TabSheet inside of a FormLayout inside of a TabSheet would be rendered with 0px width.
  • Added a workaround for Grid issue #12608 where using a layout component containing multiple subcomponents inside a Grid cell with a ComponentRenderer would cause rendering to break.
    • This workaround schedules re-layouting of the Grid after each scroll event. As a result, minor slowdowns in complex Grids can occur in some cases.
    • If you are experiencing performance issues with your Grids after upgrading to Vaadin 8.25.0, please open a support ticket at support.vaadin.com.
  • Improved the documentation of the TestBench TextFieldElement class.

8.24.0

2 months ago

Vaadin Framework 8.24.0 is an Extended Maintenance feature release with the following changes:

  • Removed support for Adobe Flash in the form of the Flash widget and Flash type support in Embed. Adobe Flash has not been supported at all in modern browsers since 2021, and has had several known security issues long before that, to the point that security auditing tools will now actively flag the dormant Flash support code in Vaadin Framework as "harmful".
  • The Flash widget and the parts of the Embedded widget specifically providing Flash support are no longer present in Vaadin Framework, meaning that any software currently relying on the Flash widget will fail to compile.
    • The existing Flash widget and Embedded support is planned to be provided in the form of an add-on for those that need it, but at the time of the release of Vaadin 8.24.0 this add-on is not yet available.
    • If your application still relies on Flash support, please contact [email protected] or alternatively open a ticket at support.vaadin.com.
  • Removed a reference to ActiveXObject used in the bootstrap script, which was a workaround needed for Internet Explorer versions up to version 9. Support for Internet Explorer 9 finally ended on January 9, 2024 for Azure customers.
    • At this point, the only Internet Explorer version receiving any kind of support from Microsoft is Internet Explorer 11. Customers should be aware, though, that support for IE11 is only offered on a "best effort" basis, in that we will actively attempt to not break features that worked on IE11 in the past, but no new code or fixes are being built with IE11 or even tested against it. It should be noted that all support for Internet Explorer 11 as well as compatibility code for IE11 may be removed from Vaadin Framework after extended support for IE11 ends.
  • Fixed a Drag & Drop issue that prevented dragging of certain widgets on some browsers and operating systems, but not on others. Widget dragging behavior should now be stable on all platforms.
  • Fixed scroll bar behavior on Firefox in several widgets.
  • Made sure DataProvider I/O streams are closed eagerly to avoid resource leaks. Framework cannot reliably detect which streams are affected, so all potentially susceptible streams are now handled using a try-with-resources pattern.
  • Several improvements have been made to Binder through Flow backports:
    • Validation has been improved as follows
      • Once Binder.handleFieldValueChange runs for a binding when readBean was used, the whole binder will be silently validated also. BinderValidationStatusHandler is called like before (only contains status from changed binding), but StatusChangeEvent is now fired considering all bindings and if possible bean validators as well.
      • Once Binder.handleFieldValueChange runs for a binding when setBean was used, doWriteIfValid will validate all bindings, not only the changed ones. This prevents writing an invalid bean in cases where one or more of the initial values are in invalid state (but not marked as such since setBean resets validation status), but they have not been changed from their initial value(s).
      • Calling setAsRequiredEnabled with a changed value no longer triggers validation, since that validation is now handled elsewhere when needed as stated above.
      • It is now possible to check for changes for a specific binding via the Binder.hasChanges method. This is a backported feature from Flow.
      • See Flow issue #17395 and Flow pull request #17861.
    • It is now possible to only write the changed properties to a Bean through an overloaded Binder.writeBean method that now accepts an additional Collection parameter. This is a backported feature from Flow.
  • Several internal tests were fixed for improved build stability.

8.23.0

4 months ago
  • Implemented eager UI cleanup through the Beacon API. Previously UIs would be cleaned up after several consequtive missed heartbeats. Now, closing the browser or tab or navigating away from the page sends a message to the server to notify it of such, allowing the UI to be destroyed immediately. This should result in lower server resource usage without any modifications to the software. However, this feature does come with some caveats:
    • This feature is not available for Internet Explorer clients. Our testing showed that Internet Explorer will report compatibility with the API, but fail to function as expected. As such, the feature is disabled for IE.
    • Vaadin 8 included a LegacyApplication class for Vaadin 6 compatibility that was a holdover from Vaadin 7 and should have been removed with the release of Vaadin 8. This feature may cause systems extending the LegacyApplication class to close and not reopen when the first client closes their window. If this is a problem for your application, please contact Vaadin Support.
    • Should you experience ANY abnormal behavior as it pertains to UI instance availability with this version of Vaadin but not with 8.22.0, please let us know by creating a support ticket.
  • Improved stability of internal tests and build.
  • Fixed JavaDoc generation and deployment to vaadin.com/api.

This release is available through the usual Maven repositories.

8.22.0

6 months ago

Vaadin Framework 8.22.0 is an Extended Maintenance feature release with the following changes:

  • Added Read-Only mode support to Grid and Compatibility Grid. The Read-Only mode can be engaged using the existing API call 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.

  • Added missing style class name strings in 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.

  • Fixed an issue with 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.

  • Updated jetty dependency to address CVE-2023-36479.

  • Internal test fixes

7.7.42

6 months ago

The Vaadin Framework 7.7.42 is an extended-support release with the following changes:

  • added read-only support to Grid. This allows disabling editing features in an otherwise editable Grid while still retaining scrolling. Use existing API method Grid.setReadOnly(true).
  • enabled dependency convergence enforcement in Vaadin 7 to mitigate transitive dependency mismatches.
  • internal test fixes

7.7.41

8 months ago

The Vaadin Framework 7.7.41 is an extended-support release with the following changes:

  • fixed a regression which caused issues if the syncId check was disabled
  • added the possibility to reorder UIProviders
  • modified the Framework 7 project itself to compile with Java 11
  • license updated to VCL-2
  • fixed a version mismatch for the license checker being used
  • test fixes

8.21.0

9 months ago

Starting with Vaadin 8.21.0, Vaadin Framework 8 releases will be made available through a private Maven repository. To gain access to this private repository, you can find instructions here. Vaadin Framework 8 releases will eventually be exclusively available through this private repository, but for the time being artifacts will also be released to Maven Central.

Changes in Vaadin 8.21.0:

  • Framework 8 builds are now made on Java 11. The resulting JARs are still fully compatible with Java 1.8 runtimes, but only Java 11 SDKs are supported for building Framework 8 for the 8.21 series.

    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-GA
    • maven-enforcer-plugin 3.3.0

    Updated supporting Maven plugins:

    • maven-clean-plugin from 3.0.0 to 3.2.0
    • maven-compiler-plugin from 3.5.1 to 3.11.0
    • maven-site-plugin from 3.5 to 3.12.1
    • maven-jar-plugin from 2.6 to 3.2.2
    • maven-surefire-plugin from 2.19.1 to 2.22.2
    • maven-failsafe-plugin from 2.19.1 to 2.22.2
    • maven-dependency-plugin from 3.0.1 to 3.5.0
    • exec-maven-plugin from 1.6.0 to 3.1.0
    • versions-maven-plugin from 2.3 to 2.15.0
    • build-helper-maven-plugin 1.10 to 1.12
    • maven-source-plugin 3.0.1 to 3.2.1
    • maven-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 and 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.

8.20.3

10 months ago
  • Fixed an issue where compile-time license checking would fail on CI servers with release-only license files.
  • Pinned 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.