Changes since 2.8.0.alpha1
New features
-
License checker in Java instead of browser
Commit · Pull request · IssueFor development mode:
- Checks the license from the Java side to avoid cookies
- Replaces commercial components with a login/validation link if the subscription could not be validated
For production mode:
- Requires a license during a production build for commercial components
- Removes commercial components from the fallback bundle if there is no license
- Speeds up production build for free users as charts/maps/... are not compiled in the fallback bundleNote that this feature is available only in npm mode and if dev mode tools are enabled (dev server and live-reload). Otherwise, the old license checking mechanism is used.
(cherry picked from commit d21f695)
-
Always set the strict offline flag and do not rely on default value
Commit · Pull requestProvides a way to use license checker when working offline, i.e. without internet connection, using license checker offline keys.
Note that this feature is available only in npm mode and if dev mode tools are enabled (dev server and live-reload). Otherwise, the old license checking mechanism is used.(cherry picked from commit 1d19a7d)
-
Check license also for jars with cvdlName
Commit · Pull requestCherry picked from commit 3005b87
-
Show version info in debug window
Commit · Pull requestShow version info in debug window and allow copying it to clipboard. (cherry picked from commit 5cb2290)
-
Move new license checker feature behind config parameter
Commit · Pull request · IssueOne can fallback to the old license checking mechanism with setting
vaadin.oldLicenseChecker=true
config parameter inapplication.properties
or by system property.
Fixes
-
Use access and not lock (#14827)
Commit · Pull request · IssueUse access so that we do not deadlock.
-
Defer location and query tracking (#14742)
Commit · Pull request · IssueTrack of location and query string after response from server happens too early when handling server side navigation, because history.pushState is executed within a setTimeout. This change defers the tracking to the next event loop cycle in order to get the correct values.
-
Redirect if refresh token is in push response also (#14777)
Commit · Pull request · Issue -
Attach polymer binding callback to a promise that always resolves (#14729)
Commit · Pull request · IssuePolymer binding callback was attached to the promise returned by customElements.whenDefined, but this promise may never complete if the input element is not a custom element, causing memory leaks on browser because of element capture. This change introduces a new promise that completes either when whenDefined is fulfilled or after a fixed timeout, allowing the garbage collector to clean resources.
-
Ignore nonexistent nodes during resync (#14749)
Commit · Pull request · Issues 14232, 14470Ignore changes for nodes that are not available in the tree when a resync is underway. This will get the page to a working condition after a resync as all changes for existing nodes are executed. # Conflicts: # flow-client/src/main/java/com/vaadin/client/flow/StateTree.java
-
Do not rely on web components calling the license checker
Commit · Pull request(cherry picked from commit 60a8728)
-
Return platform version as string
Commit · Pull requesttoJson method led to the extra quotes in the string, thus use asString instead.
-
Override connectedCallback in customElements.define
Commit · Pull requestThis is needed for the override to take effect, at least in Chrome
(cherry picked from commit f298ede)