Skip to content
This repository was archived by the owner on Sep 23, 2024. It is now read-only.

Releases: lightning-js/solid

v0.15.0 - Breaking Changes

Choose a tag to compare

@chiefcll chiefcll released this 03 Apr 18:17

Whats Changed

  • Removed Canvas tag
  • Removed stateMapperHook
  • Batched Shader effects on initial creation
  • styles now support nested arrays (optimized performance of parsing styles)
  • Added getChildById(id) to find children nodes
  • Added searchChildrenById(id) to find any child node matching id
  • Move Canvas options into Config.rendererOptions

Lightning now inits the renderer synchronously before rendering the app. This will make it much easier to do unit testing as you can await render in setup and then test a component.

Why Remove Canvas

Removing the canvas tag makes it so all nodes have a parent reducing overhead on managing nodes (slightly better performance). Also we can now render nodes as soon as they are inserted into a parent making onMount with refs work as expected (no timing issues). Lastly, I wanted to remove Canvas so the base index page can easily be reused between a Web + Lightning environment as most page and API calls are the same.

To Upgrade

Remove Canvas tag from Render
Set Config.renderOptions = to the Canvas options

import { Config, render } from "@lightningjs/solid";
Config.rendererOptions = {
  coreExtensionModule: coreExtensionModuleUrl,
  enableInspector: false,
  appWidth: 1920,
  appHeight: 1080,
  deviceLogicalPixelRatio: 1,
};

const dispose = await render(() => (
  <HashRouter root={(props) => <App {...props} />}>
    <Route path="" component={LiveGuide} load={loadEPGData} />
    <Route path="guide" component={() => <Navigate href="/" />} />;
    <Route path="movies" component={Vod} load={loadMovies} />
    <Route path="tvShows" component={Vod} load={loadTvShows} />
    <Route path="networks" component={Networks} load={loadNetworks} />
    <Route path="episodeGuide/:id" component={EpisodeGuide} load={loadTvShow} />
    <Route path="movie/:id" component={Movie} load={loadMovieEntity} />
    <Route path="vodPlayer" component={VodPlayer} />
    <Route path="linearPlayer" component={LinearPlayer} />
    <Route path="settings" component={Settings} />
  </HashRouter>
), //second param is HTML element to insert into DOM, same as SolidJS );

Please note that render is now an async function due to renderer init being an async process which returns dispose function.

v0.11.0 - Breaking Changes: Transition

Choose a tag to compare

@chiefcll chiefcll released this 06 Jan 22:33

This release removes animate property in favor of transition property.
https://github.com/lightning-js/solid?tab=readme-ov-file#transitions--animations

Also arrays for props are no longer supported (for doing animations by just setting props) ex: ref.x = [50, { duration: 500}] - this caused a lot of typescript issues as 99% of the time you just need a simple value.

These changes greatly simplify the number of checks solid needs to do for even more performance :D

v0.8.7

Choose a tag to compare

@chiefcll chiefcll released this 28 Nov 13:31

Latest code with updated Typescript support

Release 0.8.0

Choose a tag to compare

@chiefcll chiefcll released this 09 Nov 14:34

Release 0.8.0 to support renderer 0.5.0

Release 0.7.3

Choose a tag to compare

@chiefcll chiefcll released this 31 Oct 00:06
v0.7.3

0.7.3

v0.6.10

Choose a tag to compare

@frank-weindel frank-weindel released this 17 Oct 14:25
6ad8171

What's Changed

Release 0.6.4

Choose a tag to compare

@chiefcll chiefcll released this 16 Oct 14:58

Update typescript to compile JSX

Release 0.6.3

Choose a tag to compare

@chiefcll chiefcll released this 14 Oct 10:55

Release on github