Loading a part of an older version forces the class of it into the system and overrides newer versions.
Fix: Support first class part versions.
Part 1: Each part has a semver major.minor.patch version specifier. Publishing increases the version automatically.
Part 2: Support versions when importing packages (via lively.modules). Sth like import x from "package@1.2.3/some-module.js" or import x from "package@>=1.2.3/some-module.js". This can be used by the parts and serialized objects to specify which version of the package they actually want. Multiple versions can then live side-by-side inside the runtime.
as reported by Robin:
Loading a part of an older version forces the class of it into the system and overrides newer versions.
Fix: Support first class part versions.
Part 1: Each part has a semver major.minor.patch version specifier. Publishing increases the version automatically.
Part 2: Support versions when importing packages (via lively.modules). Sth like
import x from "package@1.2.3/some-module.js"
orimport x from "package@>=1.2.3/some-module.js"
. This can be used by the parts and serialized objects to specify which version of the package they actually want. Multiple versions can then live side-by-side inside the runtime.