Vaadin Flow 8.0.0.alpha1
Changes in Flow from 7.0.0.beta1
-
Breaking Changes:
-
⧉ use Lit 2.0.0-rc.1. PR:10023
Use the new npm packagelit
(version2.0.0-rc.1
) instead oflit-html
andlit-element
. Update all imports and usage of Lit according to the upgrade guide https://lit.dev/docs/releases/upgrade/.As Lit 2 is a new major version, it is not 100% compatible. The biggest breaking changes are for people who create their own directives but there is one noteworthy change for template users:
@internalProperty
is now named@state
.Fix the return type of CSS loader in
types.d.ts
fromCSSResult
toCSSResultGroup
(this is what the new version of thecss
tagged template literal now returns). Existing projects will need to either deletetypes.d.ts
so that it will be replaced with a new version on build (or alternatively manually update its contents) to get the correct type in TS files that import CSS files.
-
-
New Features:
-
⧉ Add helpers for using current request and simplify naming (#10767). PR:10860
-
⧉ Use regular string enum instead of a const enum (#10853). PR:10860
Given a Java enum aspubic enum Environment { DEV, TEST, PROD }
Now it is possible to do any object action with the final
Environment
enum on the client-side:Object.keys(Environment).forEach(enumValue => console.log(enumValue));
-
Fixes:
-
⧉ Watch component folders in parent themes (#10834). PR:10882. Ticket:9948
Adds parent themes component folders to be watched by webpack.
-
⧉ Log limitation of adding new styles while switching themes. PR:10894. Ticket:10680
If there are more than one theme available in themes folder, user can switch between them in development mode by changing the name of the theme in @theme. As having a watch for adding new styles in component folder is 'static', at least a log about this limitation is needed.
-
⧉ Upgrade auto-installed Node to v16. PR:10772. Ticket:10637
-
⧉ Pin platform transitive dependencies with npm. PR:10864. Ticket:10572
Uses the same vaadin_versions.json file based pinning as with pnpm. In case the application has @NpmPackage annotation with a certain version, then that is used over the platform pinned version. When that is older, a warning is logged (like with pnpm). In case a dependency has been pinned directly in package.json, then that is used over the platform pinned version. When that is older, a warning is logged (like with pnpm).
-