Changes since 24.8.0.alpha13
Breaking changes
-
Give more data to FileFactory
Commit · Pull requestHave FileFactory get more information on upload by giving it UploadMetadata instead of only filename.
-
Remove isMultipart method
Commit · Pull request -
Declare IOException in download/upload callbacks
Commit · Pull request -
Use long for content length in DownloadResponse
Commit · Pull request
New features
-
Add method for
download
Commit · Pull requestAdd methods for checking if anchor is a download and setting the download status. ---------
-
Fire internal events about start/complete
Commit · Pull requestAdds internal start/complete events that is used by Upload component to trigger it's own lifecycle logic. Part-of #21533
-
Add subscription mechanism to receive all processed events
Commit · Pull request · Issue -
Auto-reload service worker in dev mode
Commit · Pull request
-
Initialize signals environment
Commit · Pull request -
Create transfer util
Commit · Pull request · IssueCreate a TransferUtil for handling data transfer for upload and download. For upload handle xhr vs multipart part vs multipart iterator. This makes the UploadHanlder interface easier to handle.
-
Make current user available without an AuthenticationContext instance
Commit · Pull requestMakes it possible to write an application method like
public static Optional<User> getCurrentUser() { return AuthenticationContext.getCurrentAuthenticatedUser(AppUserInfo.class).map(AppUserInfo::user); }
instead of re-implementing everything from AuthenticationContext -
Add a shortcut to get DeploymentConfiguration from UIInternals
Commit · Pull requestSummary of Change: Added a helper method in UIInternals to get deployment configurations from the service from the session. Motivation and Context: There are many areas of code that need to access deployment configuration from UIInternals but accessing is quite clunky and long.
-
Add overloads with TransferContext
Commit · Pull request
Fixes
-
Deduce content type from file name
Commit · Pull request -
Multipart upload on jetty
Commit · Pull requestjetty when parts is not handled. Will automatically fallback to iterator.
-
Clear download attribute if inline handler set
Commit · Pull requestClear the download attrubte from anchor if setHref is called with a new inline handler.
-
Refine request caching rules
Commit · Pull request · IssueUpdates VaadinDefaultRequestCache to skip caching requests based on default and custom rules, including matching media types, headers, and request paths such as
/.well-known/...
. Refactors request handling utility logic for reusability. Closes #21394 -
Prevent route collision check before dev server is started
Commit · Pull request · Issue -
Update beanstore ui if changed
Commit · Pull request · IssueUpdate the beanstore currentUI instance if it is changed due to a reload or bookmark navigation where the window name stays the same.
-
UI available from event in upoad handling.
Commit · Pull request -
Make Vite messages from browser to server work
Commit · Pull request · Issue -
Improve TaskExecutor selection strategy in SpringVaadinServletService
Commit · Pull request · IssueWhen multiple TaskExecutor beans are available at application startup, Vaadin prevents application startup by throwing an exception. This change applies a smarter selection strategy instead of immediately failing with, by prioritizing regular TaskExecutor beans over TaskScheduler beans when both are present (fixes issues when
@EnableScheduling
is used) and application defined executors over Spring defaults. -
Do not generate list for empty string
Commit · Pull request · IssueDo not generate a 1 item list for the default empty string in dev mode init for file extensions.
-
Set download attribute for Anchor DownloadHandlers
Commit · Pull requestPart of #21487 add tests
-
Remove name/fileName from inputStreamDownload
Commit · Pull requestRemove the possibility to give fileName/name to inputStreamDownloadHandler as the atual downloaded name is decided on transfer and will in many cases not match or be confusing to match in 2 places.
-
Handle downloads where the server does not provide content-length
Commit · Pull request