Changes since 25.2.0-alpha5
New features
-
Improve license error for unoptimized bundle
Commit · Pull request · IssueWhen
optimizeBundleis disabled the bytecode scanner is skipped and every commercial component on the classpath is treated as used, so the existing license error wrongly states "Your application contains the following commercial components" even when the application does not reference any of them. This is common for projects that pull thecom.vaadin:vaadinumbrella artifact directly or transitively. Detect the disabledoptimizeBundlecase inBuildFrontendUtil.validateLicensesand throw aLicenseExceptionwhose message explains the classpath-level detection and gives concrete workarounds: re-enableoptimizeBundle, replacecom.vaadin:vaadinwithcom.vaadin:vaadin-corewhen declared as a direct dependency, or identify and exclude the transitive pull viamvn dependency:tree/./gradlew dependencyInsight. A newvalidateLicenses(PluginAdapterBuild, ...)overload reads the flag; thePluginAdapterBaseoverload is deprecated and delegates to it.
Fixes
-
Run Babel pre-OXC so React source locations and signals transform work correctly
Commit · Pull requestFlow's Vite config runs two Babel-based transforms on .tsx files: adding __debugSourceDefine to React function components for dev tooling, and @preact/signals-react-transform which wraps components to track signal reads. Both currently run AFTER OXC (in a custom enforce:'post' Vite plugin) which causes two problems: 1. Babel AST loc values refer to OXC-transformed code, not the original source, so __debugSourceDefine gets wrong line numbers. A workaround read the original file from disk to find function positions via regex. 2. @preact/signals-react-transform runs on already-transformed JSX calls and can no longer identify components reliably. Signal reads stop triggering re-renders. Switch to @rolldown/plugin-babel with its default enforce:'pre' so Babel sees the original source code. To prevent Babel's printer from shifting lines (which would break OXC's subsequent JSX source locations), set retainLines:true on the Babel transform. This keeps inserted statements on the same line as nearby code, so the file layout OXC sees matches the original. The readFileSync workaround in the source location plugin is removed; Babel AST loc is now accurate. Signals transform once again runs on raw JSX and correctly wraps components.
-
Fix potential deadlock in AtmospherePushConnection disconnect
Commit · Pull request · Issue