Skip to content

Vaadin Framework 8.24.0

Compare
Choose a tag to compare
@thevaadinman thevaadinman released this 27 Feb 08:52
· 6 commits to master since this release
5bda06f

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 support@vaadin.com 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.