Releases: lightning-js/solid
v0.15.0 - Breaking Changes
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
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
Release 0.8.0
Release 0.8.0 to support renderer 0.5.0
Release 0.7.3
v0.7.3 0.7.3
v0.6.10
What's Changed
- TypeScript updates by @frank-weindel in #8
Release 0.6.4
Update typescript to compile JSX
Release 0.6.3
Release on github