Changes since 9.0.26
Breaking changes
- Add runtime license checking for Flow 9.1 (Vaadin 22.1)
Commit · Pull request
Fixes
-
Prevent deadlock on concurrent push disconnection (#16544) (CP: 9.1)
Commit · Pull request · IssueIf the AtmospherePushConnection.disconnect method is invoked concurrently by multiple threads, a deadlock may happen if the servlet container somehow locks HTTP session, as closing AtmosphereResource may cause accesses to the HTTP session. For example, is a thread (A) is invalidating the HTTP session, thus closing Vaadin UIs and disconnecting push, and another thread (B) is also requesting a push disconnect, then B will be blocked when closing the atmosphere resource by the lock on the session held by A, but A is actually waiting to acquire the lock on AtmospherePushConnection held by B, causing the deadlock. This change allows a single thread to perform the disconnect operation, to avoid potential deadlocks.
-
Option key does not work in addClickShortCut() method (#16086) (CP: 9.0)
Commit · Pull request -
Consume parallel streams when fetching paginated data
Commit · Pull request · IssueDataCommunicator internally uses a Stream.Builder to collect paginated data. but it fails it the DataProvider returns a parallel stream. This change consumes parallel streams before adding items to the builder.
-
Ignore missing files in theme processing (#15896) (#15965)
Commit · Pull request · IssueDuring theme processing, a file detected as existing may be delete before it gets copied, causing a ENOENT (No such file or directory) error. After such failure, dev server live reload stops working. This change catches errors in file copy operations, ignoring ENOENT and propagating other failures.