"Lightning Carbon"

A big release across all of the Lightning components

October 14, 2020

Today we are proud to launch a big release across the entire Lightning Ecosystem! The release has been named "Carbon" and consists of:

  • Lightning Core 2.0.0
  • Lightning SDK 3.0.0
  • Lightning CLI 2.0.0
  • From now on we plan to give every big release it’s own code name.

    This will allow us to do more frequent updates, while staying within the same (coherent) Lightning release and refer to it with an easy to remember name.

    NPM and the @lightningjs-namespace

    In this release we have renamed all of the Lightning related packages.

    The reference to wpe-lightning has been discontinued. And all the official Lightning Ecosystem packages (Core, SDK and CLI), are now published under the @lightningjs namespace on NPM.

    What has changed?

    Lightning Core

    Lightning Core 2.0.0 continues to build upon its previous version 1.11.0. Recent changes that are worth mentioning:

    • Touch support in core
    • Support for base64 images
    • New shaders
    • Text indent support
    • Template reactivity
    • Several bug fixes and improvements

    You can upgrade Lightning Core in an existing app by running: npm install @lightningjs/core

    Lightning CLI

    Lightning CLI 2.0.0 comes with a few stability updates. But the biggest change is that it’s compatible with Apps that have the new Lightning SDK 3.0.0 as a dependency.

    We’ve made sure that the Lightning CLI is also compatible with projects that depend on the previous 2.x.x version of the Lightning SDK.

    The Lightning-CLI has an auto update mechanism. If you are currently on the latest version (1.7.5) of the Lightning ClI, the upgrade to 2.0.0 should be a smooth sail.

    In case you run into issues, you can always manually upgrade the Lightning CLI by first uninstalling the old version: npm uninstall -g wpe-lightning-cli

    Followed by a manual (global) install of the new package: npm install -g @lightningjs/cli

    When you generate a new App project, using the lng create command, the Lightning CLI will now use the latest Lightning SDK (@lightningjs/sdk) as the App’s dependency.

    Lightning SDK

    Beside the package name change to lightningjs@sdk, v3.0.0 of the Lightning SDK contains the following changes in the Carbon release:

    • Various Router improvements
    • A new and improved VideoPlayer plugin replacing the MediaPlayer plugin
    • A new Language plugin, replacing the Locale plugin
    • A new Registry plugin that can be used to register listeners, intervals and timeouts in your App (and help prevent memory leaks in your App)
    • Various fixes and improvements across the board

    The MediaPlayer and Locale plugin are both still available in the SDK for backward compatibility. They are however marked as deprecated (and will be removed in a future release).

    Any new App project that you create via the Lightning CLI with the lng create command, will automatically use v3.0.0 and higher of the Lightning SDK as it’s dependency.

    In an existing App you can upgrade the Lightning SDK dependency by running npm install @lightningjs/sdk.

    Since the Lightning-SDK now has a new package name, the SDK plugins should now be imported from @lightningjs/sdk (instead of wpe-lightning-sdk).

    When you upgrade the Lightning SDK dependency in an existing project from wpe-lightning-sdk to @lightningjs/sdk, an upgrade script will ask if you want to automatically fix all the imports in your project files.

    Questions?

    If you have any questions, or if you run into issues with the upgrade to Lightning Carbon, don't hesitate to ask us on the LightningJS Discourse forum!