@lightningjs/sdk
Version:
The Lightning-SDK helps you build great Lightning-based TV apps!
450 lines (302 loc) • 13.1 kB
Markdown
# Changelog
## v5.5.4
*05 June 2024*
- Fixed the issue with `Colors` type definitions
## v5.5.3
*19 apr 2024*
- Updated Lightning core version to 2.13.1
- Fixed Router augmentation TSD test
## v5.5.2
*17 apr 2024*
- Updated Lightning core version to 2.13.0
## v5.5.1
*14 feb 2024*
- Updated Lightning core version to 2.12.1
- Updated metrological-sdk version to 1.0.2
## v5.5.0
*26 oct 2023*
- Added colors type definitions ([#394](https://github.com/rdkcentral/Lightning-SDK/issues/394))
- Added support to allow Colors to take ARGB values([#399](https://github.com/rdkcentral/Lightning-SDK/issues/399))
- Added condition for c2d upon app close([#403](https://github.com/rdkcentral/Lightning-SDK/issues/403))
- Fixed Router cross fade issue([#406](https://github.com/rdkcentral/Lightning-SDK/issues/406))
## v5.4.1
*30 aug 2023*
- Hot fix for the issue observe on even listeners cleanup
## v5.4.0
*27 jul 2023*
- Added Announcer plugin
- Added support for cleanup of event listeners and targets to prevent retaining memory during app lifetime.
- Added support to kill previously keepAlive page instance
## v5.3.2
*28 apr 2023*
- Fixed issue where some stage options are not properly preserved during deep merge (i.e canvas and webgl context) ([#388](https://github.com/rdkcentral/Lightning-SDK/pull/388))
- Fixed router backtrack issue ([#385](https://github.com/rdkcentral/Lightning-SDK/issues/385))
## v5.3.1
*23 feb 2023*
- Fixed bug where localCookie library could not loaded correctly when using webpack (#377)
## v5.3.0
*16 feb 2023*
- Added Subtitles plugin
- Added support for overriding the key mappping at runtime (i.e. after the App is launched) (#276)
- Added support for an optional path at the end of router paths (#362)
- Added support for plugins to load local JSON files (#360)
- Fixed a bug related to the Router plugin which results in not setting previous state when "on" data provider is used (#365)
- Fixed incorrect positioning of the version label (#359)
- Updated `@metrological/sdk` and `localCookie` NPM package paths
- Fixed the Router plugin documentation regarding `backtrack` feature (#375)
## v5.2.0
*20 oct 2022*
- Added support for dynamic screen resolutions (#352)
- Fixed issue related to Router hash not working (#349)
- Fixed a typo in router/pagetransitions.md documentation (#344)
## v5.1.0
*30 aug 2022*
- Typescript support
## v5.0.1
*22 aug 2022*
- Fixed issue with metrological-sdk initialization sequence
## v5.0.0
*22 aug 2022*
- Moved Metrological and Platform specific plugins to [metrological-sdk](https://github.com/Metrological/metrological-sdk) (Metadata, Metrics, Pin, Profile, Purchase, TV, VideoPlayer)
- Added base 64 image support for Image plugin
- Fixed bug in Image plugin as Img cover stretches image
- Fixed named route property not being accessed properly
- Added/Updated Router available methods
- Added Accessibility plugin with support for ColorShifting (color blindness filter)
## v4.8.3
*19 apr 2022*
- Fixed bug in Router, app not closing when router history unavailable
- Fixed bug in Router, router data hooks not always being called
## v4.8.2
*21 mar 2022*
- Fixed bug in initialization of Colors plugin when receiving an object instead of a file path
- Improved calculation of alpha values in Colors plugin
- Fixed bug in beforeEachRoute of Router plugin
## v4.8.1
*13 dec 2021*
- Fixed auto detect 720p resolution
## v4.8.0
*7 dec 2021*
- Fixed deepmerge breaking provided canvas
- Fixed getting querystring parameters with boot component
- Added dynamic canvas size support
- Added support to accept all characters in hash
- Added `Router.root()` support
- Added `Router.reload()` support
## v4.7.0
*20 oct 2021*
- Fixed issues with playing Video as a texture (#189)
- Added (semi private) getter for consumer to VideoPlayer plugin
- Added error handling (by firing an error to the consumer) when play() on the video tag returns an error (with a Promise wrapper fallback for older browsers)
- Added fix that allows periods to be used in a Router hash
## v4.6.1
*30 aug 2021*
- Fixed cleanup after closing an App
## v4.6.0
*16 aug 2021*
- Added context to Pin plugin
- Added option to overwrite the font loader from platform
- Added cleanup of App fonts on app close
- Fixed initial focus bug
- Added storeSameHash flag to accepted config flags of Router
- Fixed getQueryStringParams() using active hash in Router
## v4.5.0
*12 july 2021*
- Router updates
- Added `getQueryStringParams()`-method to public api
- Fixed returning correct querystring params if bootcomponent is configured
- Fixed restoring state on pages flagged as keep alive
- Fixed initialization of Pin plugin
- Full rewrite of documentation 🎉
- Updated several NPM dependencies with (security) patches
## v4.4.0
*18 june 2021*
- Router updates
- Added showing loading page between shared instances with `on()` provider
- Fixed wrong historyState object on shared instance
- Fixed hash to route mismatch on hash with trailing slash
- Fixed showing bootPage before unknown hash
- Fixed focus issues with shared state on routes with same page type
- Fixed memoryleak on shared routes with lazyCreate disabled
## v4.3.3
*7 may 2021*
- Removed Error being thrown in Language plugin when using default language as a fallback
## v4.3.2
*5 may 2021*
- Fixed error with `null`-values in Settings
## v4.3.1
*26 april 2021*
- Added uid to payload to billing server in Purchase plugin
## v4.3.0
*16 april 2021*
- Fixed cross origin issue in VideoPlayer plugin
- Added support for multiple font types per font-family (addresses #185)
- Fix in cleanup sequence in starApp.js
- Fixed potential memory leak in Registry plugin (only when devtools are open)
- Router updates
- Added `afterEachRoute` hook
- Added support to hook into route error
- Added `bootComponent` as special route
- Added `location.search` to query params object
- Added query parameters to page `params()`
- Added named navigation to the docs
- Fixed reload of special routes, reload will now return to `root` page
- Fixed trying to navigate to `Error` component while it's not configured
- Fixed navigating to `bootComponent` hash directly
- Fixed `bootComponent` now showing before `bootRequest`
- Fixed always adding `request` object in queue
## v4.2.2
*6 april 2021*
- Fixed hashchange event listener only for routed apps
## v4.2.1
*9 march 2021*
- Fixed Router `navigate()` always adding new queue entry
## v4.2.0
*9 march 2021*
- Router updates
- Root function can now resolve object
- Fixed `preventStorage` setting
- Fixed page cache
- `location.hash` now gets set on `hashchange` disabled
- Added support to prevent auto widget focus restore
- Added `afterEachRoute()` support
- Improved error notification
- Exposed internal Symbols mapping
- Added Metadata plugin
- Added Colors plugin
- Added `loader` and `unloader` functionality to the VideoPlayer plugin
## v4.1.1
*3 march 2021*
- Fixed bug in Registry plugin (removing interval from reference list after first invocation)
## v4.1.0
*26 jan 2021*
- Added Purchase plugin
## v4.0.0
*22 jan 2021*
- Removed deprecated Image plugin methods
- Fixed Storage plugin to compile with webpack and esbuild
- Added support for experimental esbuild support
- Router Plugin refactor
- Breaking changes
- `page.dynamicRouteProperty = hashValue;` is no longer being set, now use `_onUrlParams(args)`. In the previous release on route: `home/browse/:section` and a `navigate()` to: `home/browse/adventure` the Router would set the page prop `page['section'] = 'adventure'` but this could lead to unwanted and error prone behaviour. This undocumented feature has now been removed.
- New features
- Added test Router.isNavigating()
- Added Router history interaction
- Added Router.getHistory()
- Added Router.replaceHistoryState()
- Added Router.getHistoryState()
- Added hash reload support
- Added named navigation support
- Added error handling in bootRequest
- Fixes
- Fixed Page overlap when on navigate starts before transition finish
- Fixed _onActivated() widget event documentation
- Fixed navigating to same hash when navigating
- Deprecated Router.setupRoutes() - method
- Deprecations
- Deprecated calling on() | before() | after() directly - data providers must be defined in route object: https://rdkcentral.github.io/Lightning-SDK/#/plugins/router/dataproviding
- Deprecated duplicate route definitions
- Removed SDK namespace replacement functionality from postinstall script
## v3.2.1
*14 dec 2020*
- Updated LocalCookie dependency to v1.1.1 (fixes persistance of cookies beyond browser session)
## v3.2.0
*20 nov 2020*
- Added _clear_ event to VideoPlayer plugin (`$videoPlayerClear`)
- Added _timestamp_ as parameter to VideoPlayer plugin events
- Fixed calculation of precision in VideoPlayer plugin, when no AppInstance is defined
- Fixed loading of language files for Language Plugin
- Fixed namespacing in Storage Plugin
## v3.1.1
*6 nov 2020*
- Added warning to postinstall script do manual upgrade of the Lightning-SDK when a mismatch in package names is detected
- Added _changelog_ and _current package version_ to the documentation
## v3.1.0
*30 oct 2020*
- Added option to pass arguments to platform `onClose`-method
- Added temporary workaround in postinstall script for npm 7.0.*-bug
- Added `get()` method to Language-plugin
- Added deprecation warnings to Locale plugin and MediaPlayer plugin
- Replaced `finally` with `then` in `startApp.js` (for better compatibility)
- Router updates
- Added global `beforeEachRoute` hook
- Added support for local `beforeNavigate` hook
- Added support for URN
- Fixed properly resolve request on shared page instances
## v3.0.0
*14 oct 2020*
Breaking changes
- Changed package name from `wpe-lightning-sdk` to `@lightningjs/sdk` (and published on NPM)
- Updated minimum requirement to Node.js 10
New features
- Added Registry Plugin
- Added VideoPlayer plugin
- Added Language Plugin
- Router
- Fixed async loading behaviour that could result in stacked pages
- Router internally now uses unique Symbols (could break if Symbol.for('route') is used in app)
- Added Page view statistics
- Wildcard routes not ending up in history
- Add reuseInstance flag global and per route
- Support for Dynamic component import
- Widgets always hidden on Router boot
- Documented _handleAppClose()
Deprecations
- Locale plugin is deprecated in favor of the Language plugin
- MediaPlayer plugin is deprecated in favor of the VideoPlayer plugin
## v2.6.0
*11 sep 2020*
- Added Pin Plugin
- Added zipCode to profile
## v2.5.0
*21 aug 2020*
- Added fallback value to `Settings.get()`
- Added access to AppData
- Removed black body background during development
- Added proper App-cleanup on close during development
- Various Router updates
- support for querystring parameters
- support for function as a value for `root` in router config
- support for navigation without a hash update
- fixes:
- static routes take priority over dynamic matches (`settings/account` vs `settings/:type`)
- remain focus on an active widget after an `on()`-resolve
- Added new TV plugin
## v2.4.0
*14 jul 2020*
- Added `image.quality` platform setting to tune down the image quality on STB's with lower GPU memory
- Added _Router_ plugin to SDK
## v2.3.1
*8 jul 2020*
- Added fix to MediaPlayer plugin to solve issue of video rollover (black screen on certain STBs)
- Added fix to MediaPlayer plugin to solve issue when opening same video asset twice (black screen)
- Added fix to Profile plugin to solve issue with always requesting the browser location (also in production)
## v2.3.0
*24 jun 2020*
- Added support for user defined Settings
- Added fetch polyfill for older ES5 environments
- Added SDK version to be displayed in Version-label (requires Lightning-CLI 1.6.1 and higher)
- Added fix for setting texture mode in `settings.json`
## v2.2.2
*4 jun 2020*
- Added fallback language (en) to Locale plugin when given language doesn't exist
## v2.2.1
*1 jun 2020*
- Hotfix for Media Player metrics
## v2.2.0
*6 may 2020*
- Removed close metric from App (is now handled by the Metrological App Store)
- Added default values for Profile plugin during local development, including the option to customize values via `settings.json`
- Added Frame per second (FPS) counter
- Fixed bug in the asset path of the Utils plugin when running the lightning App from a nested URL
- Improved documentation
- Cleaned up NPM dependencies and separated dev dependencies
- Removed legacy npm scripts
- Moved ES5-polyfills to external dependencies
## v2.1.0
*19 mar 2020*
- Fixed small issues in documentation
- Changed import of Lightning to enable IDE autocompletion (requires Lightning-CLI 1.4.0)
## v2.0.3
*17 feb 2020*
- Fixed issue with `Img.portrait()` method not returning a texture