Skip to content

Latest commit

 

History

History
614 lines (371 loc) · 17.1 KB

CHANGELOG.md

File metadata and controls

614 lines (371 loc) · 17.1 KB

Changelog

v1.7.1

14 oct 2024

  • Fixed support for .otf and .woff fonts files in combination with MSDF generator

v1.7.0

14 oct 2024

  • Added cleanup upon component destroy of effects generated by global reactivity

v1.6.0 / v1.6.1

9 oct 2024

  • Abstracted app create functionality to separate package
  • Cleaned up dependencies
  • Fixed issue with item reference in for loop
  • Fixed issue with looping directly over <Text> components

v1.5.1

7 oct 2024

  • Added export of symbols
  • Various small performance improvements related to component creation

v1.5.0

1 oct 2024

  • Fixed issue with interrupting running / scheduled transitions with a new transition on the same prop
  • Fixed issue with (incompatible) SDF text renderer being loaded when renderMode is set to canvas
  • Added support for handling key release (i.e keyup) events

v1.4.3

26 sept 2024

  • Fixed issues with sprites in minified production build
  • Bumped renderer to v2.2.0 (with fixes for nested alpha / show issue)
  • Fixed reactivity in plugins not using reactivity mode setting
  • Fixed named slots functionality

v1.4.2

24 sept 2024

  • Fixed timing issue with calculation of percentages
  • Improved check to see if object is a Blits component, so it's more robust in case of code minification

v1.4.1

18 sept 2024

  • Fixed support for inspector, compatible with renderer 2.x changes

v1.4.0

16 sept 2024

  • Added support for fit attribute to enable resizeModes for images (cover, contain)
  • Added priority parameter for event emitters + ability to stop propagation
  • Added Global App State plugin
  • Added Theme plugin
  • Standardized built-in utility methods (i.e. focus, select, setTimeout, etc.) to all be prefixed with a $.
  • Added support for triggering nested state variables with dot-notation (i.e foo.bar.bla)
  • Added support for watching nested state variables (i.e foo.bar.bla)
  • Fixed bug with Log plugin not picking up on debugLevel setting
  • Fixed bug when using hex-colors in an effect
  • Upgraded to latest version of the renderer (2.1.1)

v1.3.1

27 aug 2024

  • Moved this.$log functionality to a plugin, which delays the instantation and allows it to pick up launch settings (bug fix)

v1.3.0

19 aug 2024

  • Fixed bug in for-loop when key is not a string but a number
  • Added $shallow-modifier to for-loop
  • Added several performance optimizations
  • Added support for dynamic arguments in object notation (i.e. mount="{x: $x, y: $y}")

v1.2.0

5 aug 2024

  • Added plugin system for Blits
  • Added Language plugin, modeled after L2-SDK Language plugin
  • Removed unused built-in Image component
  • Marked this.trigger()-method as deprecated in definition file
  • Removed double assignment of this.node during element creation

v1.1.0

25 july 2024

  • Made holdTimeout configurable and added to launch settings
  • Improved test coverage
  • Removed imporChunkUrl dependency as it’s no longer needed
  • Abstracted path from pre-compiler, to make it more reusable (in playground for example)
  • Added defaultFont launch setting to boilerplate example

v1.0.0

15 july 2024

  • Added multiple optimizations that improve the performance
  • Fixed mountY prop setting
  • Added functionality for providing custom shaders
  • Added initial support for accessing children
  • Added first version of Layout component
  • Improved test coverage
  • Refactored transitions and fixed promise resolve issues
  • Upgraded to renderer v1.0.0

v0.10.0

17 june 2024

  • Updated renderer to version v0.9.1
  • Updated font generation to use the new @lightningjs/msdf-generator-package with required font metrics
  • Added queue mechanism to font generation to prevent hanging process
  • Added functionality to pass a component into the Component :is attribute

Please read refer to the breaking changes in the renderer related to MSDF fonts. When you have custom msdf fonts in your /public folder you may need to regenerate them (or remove the files and let Blits take care of generating for you from a .ttf)

v0.9.9

22 may 2024

  • Added support for rtt-attribute (Render To Texture)
  • Refactored Component for efficiency and readability
  • Improved type definitions
  • Fixed error when no settings object is supplied to Launch method
  • Fixed issue with parent variable being set on the global window object
  • Improved code of firing transitions
  • Bumped renderer to version 0.8.4

v0.9.8

25 apr 2024

  • Fixed issue with removing children during navigation with the router
  • Added support for overflow (as an inversed alias of clipping)
  • Upgraded to latest version of renderer (0.8.3)
  • Introduced renderMode setting (webgl or canvas)

v0.9.7

15 apr 2024

  • Added support for direct assignment of an Array element and triggering reactivity
  • Added support for .env in boilerplate
  • Fixed issue with Blits component being wrapped in a Proxy when assigned to a state variable
  • Fixed built-in hasFocus-state to also work for components that don't have state in their config object

v0.9.6

4 apr 2024

  • Added before hook to router
  • Upgraded Lightning renderer to v0.8.2

v0.9.5

29 mar 2024

  • Fixed cancelling of scheduled / running transitions when starting a new transition on the same prop (broke in v0.7.1).
  • Added viewport relates lifecycle hooks

v0.9.4

28 mar 2024

  • Upgraded Lightning renderer to v0.8.0
  • Fixed issue with reactivity in a forloop when initial array is empty
  • Introduced new gpuMemoryLimit launch setting

v0.9.3

25 mar 2024

  • Added support for mount / pivot on Text elements and Sprites.

v0.9.2

21 mar 2024

  • Fixed issue with updates not triggering during array operation

v0.9.1

21 mar 2024

  • Improved support for reactive advanced array operations (i.e. splice(), concat(), sort())
  • Upgraded Lightning renderer to v0.7.6
  • Reverted removal of destroy of child nodes (added in v0.8.1)
  • Introduced viewportMargin setting
  • Added undefined-check for props sent to renderer

v0.9.0

18 mar 2024

  • Added symbol for id on component
  • Fixed issue in for loop when :key is a number (and not a string)
  • Added built-in hasFocus state variable, available on every Component
  • Refactored font loading, removed the need for temporary src/fontLoader.js file
  • Replaced using component name with unique identifier for registering and emitting hooks

v0.8.1

9 mar 2024

  • Added pre-processing of hardcoded colors used in the template
  • Upgraded Lightning renderer to v0.7.5
  • Removed explicit destroy of child nodes, as the renderer now takes care of this
  • Re-added support for clipping

v0.8.0

1 mar 2024

  • Added this.$clearIntervals() and this.$clearTimeouts() methods that clear all intervals and timers set on a certain component
  • Breaking change: Renamed the key function to easing in the transitions object used to specify a custom easing functio (deprecation notice added)

v0.7.4

28 feb 2024

  • Fixed dependency for on the fly MSDF font generation

v0.7.3

28 feb 2024

  • Added functionality that forces focus hook to fire when parent receives focus from child
  • Improved destroy sequence of nodes to be disposed
  • Fixed issue with tracking reactive objects multiple times (potential max call stack error)
  • Added on the fly MSDF font generation from a .ttf file placed in publics/fonts
  • Added support for pre-compilation for files with more than 1 Blits component
  • Fixed transitions on scale attribute when passed an object with x and y values

v0.7.2

23 feb 2024

  • Added small fix to support for (re)assigning an array used in a for-loop
  • Added option to enable the Lightning inspector in launch setting (inspector: true/false)

v0.7.1

22 feb 2024

  • Fixed clean up of children nodes when routing to a new view
  • Fixed test cases for code generator (100% coverage)
  • Added support for colorizing sprites
  • Removed before setup and setup lifecycle events and optimized lifecycle instance in components
  • Added support for (re)assigning an array used in a for-loop
  • Refactored delay of transitions (using the now available built-in delay in the renderer)
  • Added preliminary support for frameTick hook
  • Upgraded to latest version of the renderer (0.7.4)

v0.7.0

20 feb 2024

  • Added support for dynamic components through the is-attribute (<Component is="Poster" /> or <Component is="$dynamicComponent" />)
  • Added functionality to pass extra data / props when navigating to a new route ( breaking change in signature of router.to() method - previously: router.to(path, options), now: router.to(path, data, options))
  • Added configuration option to set the canvas color (aka clear color)

v0.6.13

16 feb 2024

  • Upgraded to 0.7.2 of the renderer
  • Introduced new maxheight attribute (besided the existing maxlines attribute) for the <Text /> component
  • Fixed issue with order of lifecycle event emits
  • Fixed logic to not unfoces a parent when it passes focus to a child
  • Removed temporary fix for renderer issue #123

v0.6.12

9 feb 2024

  • Added type hinting for this.$clearInterval and this.$clearTimeout
  • Fixed issue with .gitignore in app create flow
  • Added support for dynamic route parts in the router (i.e /tv/:series/episodes/:episode)

v0.6.11

7 feb 2024

  • Enabled the use of type as a component prop or state variable
  • Removed setting focus to AppComponent on back key press in RouterView
  • Fixed broken app create flow caused by missing dev dependencies in npx command (temporary fix)

v0.6.10

2 feb 2024

  • Added FPS counter from Example App as a built-in Blits component (available as <FPScounter />)
  • Added precompilation to all built-in Blits components for increased performance
  • Updated flow to create a new App project with an interactive prompt of questions (npx @lightningjs/blits@latest)
  • Upgraded to latest version of the Lightning 3 renderer (0.7.1)

v0.6.9

31 jan 2024

  • Fixed single quote escaping for all browsers (removing sometimes unsupported negative lookahead)
  • Fixed issue with focus when navigating back to a page that is kept in history

v0.6.8

29 jan 2024

  • Reverted fix (initially) empty for-loops

v0.6.7

26 jan 2024

  • Added this.$clearInterval and this.$clearTimeout helper functions to Component
  • Updated Lightning renderer to version 0.7.0
  • Added lineheight and textoverflow attributes to <Text />-component
  • Added setting for specifying maximum number of web workers to spawn (webWorkersLimit)
  • Added fix for issue with setting up reactivity for (initially) empty for-loops

v0.6.6

24 jan 2024

  • Added temporary fix for renderer issue #123
  • Fixed issue with setting mount, pivot and scale values to zero (0) in object literal with x and y key
  • Added automatic mapping of ref string to each item in a for-loop

v0.6.5

16 jan 2024

  • Added path to boilerplate vite.config.js for deployments in a sub folder
  • Improved error handling in the template parser, with more contextual error messages

v0.6.4

15 jan 2024

  • Added fix for sprites not working on certain devices

v0.6.3

12 jan 2024

  • Removed prepending protocol and host from sprite image

v0.6.2

12 jan 2024

  • Fixed issue with Sprites not working correctly due to missing background color

v0.6.1

8 jan 2024

  • Fixed issue with using single quotes as Text content
  • Added first Text-to-Speech / Announcer functionality

v0.6.0

4 jan 2024

  • Added pre-compilation functionality to improve performance. Requires an update to the vite.config.js to enable. Read more details in this blog post
  • Added defaultFont to the Launch settings

v0.5.10

3 jan 2024

  • Updated and improved documentation
  • Added screenResolution and pixelRatio options to settings

v0.5.9

21 dec 2023

  • Changed transition-end callback to receive real prop value from node
  • Implemented symbol for wrapper on Component (freeing up the name wrapper to be used in Component state)
  • Added functionality to prevent a route ending up in the history stack (route option: inHistory: false)
  • Improved router backtracking logic
  • Added functionality to override route options during navigation
  • Upgraded to latest version of the renderer (0.6.1) which contains a fix for animations not finishing correctly

v0.5.8

15 dec 2023

  • Internal refactor of the Element

v0.5.7

13 dec 2023

  • Added history and backhandling to the router
  • Linked effects directly to the available shaders exposed by the L3 renderer (starting 0.6.0)
  • Added setting reactivityMode to control whether Proxy (default) or defineProperty is used to trigger reactive side effects

v0.5.6

11 dec 2023

  • Upgraded to version 0.6.0 of the Lightning 3 renderer

v0.5.5

5 dec 2023

  • Fixed regression in Slots functionality caused by forloop cleanup fix in 0.5.4

v0.5.4

5 dec 2023

  • Fixed issue with Components and Elements not always being cleaned up in forloop
  • Added support for nested children inside a forloop on an Element

v0.5.3

4 dec 2023

  • Added transition start and tranition end callbacks

v0.5.2

30 nov 2023

  • Fixed issue in code generator leading to creation unnecessary child nodes
  • Added focus handler to router view (that passes focus to the current active page)

v0.5.1

29 nov 2023

  • Fixed issue with unexpected unfocus
  • Added fastforward of transitions on the same property
  • Added functionality to skip focus change on key hold

v0.5.0

23 nov 2023

  • Introduced wordwrap and maxlines attributes on the Text-component, replacing the previous w and h attributes (breaking change!)

v0.4.2

22 nov 2023

  • Improved parser and added more template validation (i.e. one single root element in a template)
  • Fixed typo in documentation

v0.4.1

13 nov 2023

  • Added support for using dynamic import of components in routes
  • Added support for returning components in an async function / Promise in routes

v0.4.0

9 nov 2023

  • Fixed bug related to animating percentage based values
  • Added (customizable) navigation transitions to the router
  • Renamed .eslintrc.js to .eslintrc.cjs in boilerplate code to make linting work on new projects
  • Fixed issue in Settings when the default value was set to false
  • Replace underscored keys for private properties with Symbols
  • Added keepAlive option to the router (i.e. keeping a page in memory when navigating to a new page)
  • Introduced a this.$trigger function to force a reevaluation of a reactive value (without changing the value)
  • Exposed currentRoute, routes and navigating on the this.$router object
  • Upgraded to lates version of @lightningjs/renderer (v0.5.0)

v0.3.15

23 oct 2023

  • Added support for slots
  • Added support for defining custom keymapping
  • Improved error handling of the template parser

v0.3.14

19 oct 2023

  • Fixed error when <Text />-component doesn't have any content
  • Removed generic escape key handler that closed the App
  • Introduced quit()-method on the root Application component
  • Updated to v0.4.0 of the renderer

v0.3.13

18 oct 2023

  • Added support for borderTop, borderBottom, borderLeft, borderRight and grayScale effects
  • Fixed @loaded and @error events on <Text/> componenent only firing once (and not for each change)
  • Fixed loading of web canvas2d fonts
  • Fixed error when using this-reference in component state
  • Added basic support for inline text (i.e. <Text>My text with a {{$dynamic}} value</Text>)

v0.3.12

17 oct 2023

  • Fixed path to logo on readme

v0.3.11

17 oct 2023

  • Added support for using percentages in dimensions (w / h) and positioning (x / y)
  • Refactored template parser to be more robust and throw errors when the template contains a syntax mistake
  • Re-enabled tests (still depends on renderer version bump though)
  • Added the new official Blits logo to the readme!

v0.3.10

9 oct 2023

  • Updated L3 renderer dependency to 0.3.6
  • Renamed internal methods for creating textures and shaders

v0.3.9

5 oct 2023

  • Updated L3 renderer dependency to 0.3.3

v0.3.8

4 oct 2023

  • Added Blits VS code extension to recommended extensions

v0.3.7

3 oct 2023

  • Fixed reactivity issue when using null values in state

v0.3.6

2 oct 2023

  • Bumped version number of dependency in boilerplate

v0.3.5

2 oct 2023

  • Added workaround for Vite import chunk url plugin for fontloading

v0.3.4

27 sep 2023

  • Fixed issue with re-applying reactivity to already reactive props in forloop

v0.3.3

25 sep 2023

  • Added support for @loaded and @error events on Elements (and Text Component)

v0.3.2

22 sep 2023

  • Changed name of attribute to reference an Element or Component from id to ref

v0.3.1

20 sep 2023

  • Fixed Blits dependency in create App boilerplate package.json

v0.3.0

20 sep 2023

Initial beta release of Blits ⚡️