Update vaadin.version to v25.2.0#95
Open
xdev-renovate wants to merge 1 commit into
Open
Conversation
c1a77b8 to
9673184
Compare
9673184 to
80a7cbc
Compare
80a7cbc to
3e6be69
Compare
3e6be69 to
9bc86c8
Compare
9bc86c8 to
014d0c7
Compare
14eff93 to
0f94961
Compare
0f94961 to
807567a
Compare
f09599f to
51d1617
Compare
51d1617 to
445e198
Compare
67ee0fc to
c334ddb
Compare
dbbc867 to
5bd6c49
Compare
5bd6c49 to
14752d5
Compare
14752d5 to
e566c7d
Compare
e566c7d to
9755f8e
Compare
9755f8e to
98f7593
Compare
98f7593 to
dcebdfa
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
25.1.3→25.2.025.1.3→25.2.0Release Notes
vaadin/platform (com.vaadin:vaadin-bom)
v25.2.0: Vaadin 25.2.0Compare Source
Upgrading · Docs · Get Started
New and Noteworthy Since Vaadin 25.1
Flow
Geolocation.getPosition(...)for one-shot reads,Geolocation.watchPosition(...)for continuous tracking exposed as a signal. Watches auto-stop on detach. Sealed result types (GeolocationPosition/GeolocationError, plusGeolocationPendingfor the watcher) make permission-denied, unavailable, and timeout exhaustive to handle. (Live demo)Clipboard.onClick(component), then.writeText(...),.writeText(field, ...), or.write(ClipboardContent.create().text(...).html(...)). Success/error callbacks available, and the per-gesture browser trust requirement is handled for you.UNKNOWN/UNSUPPORTED/NOT_FULLSCREEN/FULLSCREEN). Browser-initiated exit (e.g. the Esc key) is reflected in the signal, a single-component fullscreen is restored to its original DOM position on exit, and overlays keep working. Optional success/failure callbacks surface browser rejections.activeandavailabilitysignals plus typed error callbacks (unsupported, not-allowed, unknown), with an already-known-unsupported state reported without a wasted round-trip.SUPPORTED/UNSUPPORTED/UNKNOWN) lets apps show a fallback where sharing is unavailable; user cancellation is surfaced distinctly from a real failure.UI.triggerAfterfor deferred server-side work.UI.triggerAfter(Duration, SerializableRunnable)runs a task on the server after a browser-side timer elapses without enabling push; the returnedRegistrationcancels the client timer so a cancelled task never runs.ListSignal.insertAllFirst/insertAllLast/insertAllAt,SharedListSignalequivalents), helpers to read all items at once.Html(String, SerializableSupplier<Safelist>)(andInputStream/Signal<String>) constructors sanitize content through a jsoupSafelist, so untrusted HTML can be rendered safely without callers pre-sanitizing.DropEvent.getOffsetX()/getOffsetY(), drag-start offsets, extendedDragStartEvent/DragEndEvent) so an item can be placed where it was actually dropped.SessionLockListenerorRpcInvocationListeneronVaadinServiceto observe session-lock request/acquire/release and each client-to-server RPC invocation — useful for diagnosing lock contention and tracing which invocation holds the lock.UI.triggerAfter. It is intended as low level API to build higher level features on.Hilla
sourceClassesparameter (alongsidemainClass) to point endpoint discovery at specific classes, for projects where automatic scanning does not find the endpointsDesign System
AI-powered Charts and Grids (Pro)
New in existing components
setCollapseChips(true)).setFocusSelectedItem(true)), plus newscrollToIndex().setAcceptedMimeTypes(...)andsetAcceptedFileExtensions(...), with server-side enforcement onUploadManager.setTabFocusEnabled(false)to skip the popover in tab order.Now stable (was preview)
Copilot
See the Vaadin Copilot documentation.
Testing
Load testing with TestBench (Pro)
Turn existing TestBench (or Playwright) E2E tests into k6 load tests. The toolchain runs your test through a recording proxy, captures the traffic, and generates a k6 script that handles Vaadin specifics (JSESSIONID, CSRF/Hilla CSRF, UI/Push IDs, dynamic node IDs).
Highlights:
testbench-converter-plugin):k6:record,k6:convert,k6:run, plus start/stop-server mojos.📖 Docs · ⏯️
Example project
Browserless testing
Browserless tests gain:
withLabel/withAriaLabel), placeholder, test ID, or typed theme variant (withTheme(ThemeVariant)).find/findInViewmethods replacing the$/$viewDSL.sessions — no real device needed.
browserless-test-springmodule for spring support. (Migration guide)Breaking changes & upgrade notes
Security & framework defaults (Flow)
Anchor.setHref(...),IFrame.setSrc(...)andPage.open(...)now reject unsafe schemes (e.g.javascript:) withIllegalArgumentException. The allow-list is configurable via acom.vaadin.safeUrlSchemesparameter; escape hatchesAnchor.setUnsafeHref(...),IFrame.setUnsafeSrc(...)andPage.openUnsafe(...)bypass validation when you really need to.X-Frame-Options: SAMEORIGINsent by default — clickjacking protection is on by default. Applications embedded in frames on other origins must set theframeOptionsinit parameter to an empty value to disable the header.npm --before/pnpm --min-release-age). Projects that depend on freshly published packages must raise/lowernpm.minimumFrontendPackageAgeDays.@StyleSheetURLs resolve against the context root — a bare@StyleSheet("styles.css")now resolves to the servlet context root (implicitcontext://), fixing 404s under non-root servlet mappings. Apps that relied on the old servlet-path resolution will see changed URLs.Flow
vaadinPrepareFrontendno longer runs automatically in development — it is detached fromprocessResources, so IDE-triggered builds no longer regenerate/delete frontend files. Invoke the task explicitly if you relied on the implicit run.HasOrderedComponentsdeprecated (for removal in 26) —replace/indexOf/getComponentCount/getComponentAtare now available directly onHasComponents.vaadin.(deprecation).Components
Slider/RangeSliderare removed and replaced byIntegerSlider/IntegerRangeSlider(Integer values) andDecimalSlider/DecimalRangeSlider(Double values); the value type now governs min/max/step. Decimal slider theme-variant constants gained aDecimalprefix.ExpandingAreaAPI andMasterDetailLayoutVariantare removed; useexpandMaster/expandDetailflags and the newsetMasterSize/setDetailSizeoverloads (with anexpandflag and explicit overlay size).OverlayContainment.VIEWPORTis renamedPAGE; a detail-placeholder slot was added.MenuBar.setTooltipText(MenuItem, String)is deprecated (for removal in 26) in favor of per-itemsetTooltipTextand the new tooltip-awareaddItem(...)overloads.setAcceptedFileTypes(...)is deprecated in favor of separatesetAcceptedMimeTypes(...)/setAcceptedFileExtensions(...).Testing / Browserless
browserless-test-spring. Spring projects must change the dependency tobrowserless-test-spring$/$viewdeprecated in favor offind/findInView.SliderTester→DecimalSliderTester,RangeSliderTester→DecimalRangeSliderTesterQuarkus
quarkus.websocket.dispatch-to-worker=true, so inbound Push frames run on the Quarkus worker pool instead of the Vert.x event loop.Changelogs
Official add-ons and plugins:
Upgrading guides
Support
Vaadin 25 is the latest stable version, with extended support options available (release model).
Vaadin also provides commercial support and warranty.
Supported technologies
Any IDE or editor that works with the language of your choice should work well. Our teams often use IntelliJ, Eclipse, VS Code among others.
Vaadin IDE plugins (IntelliJ and VS Code) support the IDE versions released during the last 12 months
Vaadin Designer supports the following IDEs:
Eclipse from Photon and upwards
JetBrains IntelliJ IDEA from 2017 upwards
Vaadin Flow requires Java Servlet API 6.1 and Java 21 or newer. It is tested on:
Apache Tomcat 11
Open Liberty 23
RedHat JBoss EAP 8.1
WEB-INFfolder asjboss-deployment-structure.xmlWorkaround for supporting RedHat JBoss EAP 8.0
WildFly 36 +
WEB-INFfolder asjboss-deployment-structure.xmlWorkaround for supporting WildFly 36
Workaround for supporting WildFly 37+
Jetty 12
Payara Server 6
Payara Micro 6
Known issues and limitations
mvn vaadin:clean-frontentwhen upgrade your project from 25.1 to 25.2. One fix has been made to flowv25.1.8: Vaadin 25.1.8Compare Source
This is a maintenance release for Vaadin 25.1. See 25.1.0 release notes for details and resources.
Changes since 25.1.7
Unchanged Modules
v25.1.7: Vaadin 25.1.7Compare Source
This is a maintenance release for Vaadin 25.1. See 25.1.0 release notes for details and resources.
Changes since 25.1.6
Unchanged Modules
Note:
We are aware of the following CVEs (CVE-2026-43515, CVE-2026-43513, CVE-2026-43514, CVE-2026-42498, CVE-2026-41284, CVE-2026-43512, CVE-2026-41293) from Tomcat, which is a transitive dependency from SpringBoot 4.0.6. Tomcat is a runtime deployment choice made by application developers, which Vaadin does not use or depend on. You can be upgraded on the application side to Tomcat 9.0.118+, 10.1.55+ or 11.0.22+. The corresponding updates will come in their next releases (SpringBoot 4.0.7).
v25.1.6: Vaadin 25.1.6Compare Source
This is a maintenance release for Vaadin 25.1. See 25.1.0 release notes for details and resources.
Changelogs
Official add-ons and plugins:
Note:
We are aware of the following CVEs (CVE-2026-43515, CVE-2026-43513, CVE-2026-43514, CVE-2026-42498, CVE-2026-41284, CVE-2026-43512, CVE-2026-41293) from Tomcat, which is a transitive dependency from SpringBoot 4.0.6. Tomcat is a runtime deployment choice made by application developers, which Vaadin does not use or depend on. You can be upgraded on the application side to Tomcat 9.0.118+, 10.1.55+ or 11.0.22+. The corresponding updates will come in their next releases (SpringBoot 4.0.7).
v25.1.5: Vaadin 25.1.5Compare Source
This is a maintenance release for Vaadin 25.1. See 25.1.0 release notes for details and resources.
Notable Changes
Do not use
org.zeroturnaround:zt-execin vaadin-maven-plugin to run Vite, as it might expose the environment by printing it when Vite exits with a failure.Changelogs
Official add-ons and plugins:
v25.1.4: Vaadin 25.1.4Compare Source
This is a maintenance release for Vaadin 25.1. See 25.1.0 release notes for details and resources.
Changelogs
Official add-ons and plugins:
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Mend Renovate.