@lightningjs/blits 1.30.2 → 1.31.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/CHANGELOG.md +1035 -1019
  2. package/LICENSE +202 -202
  3. package/NOTICE +12 -12
  4. package/README.md +33 -33
  5. package/bin/index.js +8 -8
  6. package/blits.d.ts +6 -6
  7. package/index.d.ts +1099 -1099
  8. package/index.js +28 -28
  9. package/package.json +57 -56
  10. package/public/assets/fps_sprite.base64.js +1 -1
  11. package/scripts/postpublish.js +59 -59
  12. package/scripts/prepublishOnly.js +84 -84
  13. package/scripts/prepush.js +78 -78
  14. package/src/announcer/announcer.js +162 -162
  15. package/src/announcer/speechSynthesis.js +107 -107
  16. package/src/application.js +100 -100
  17. package/src/component/base/announcer.js +27 -27
  18. package/src/component/base/events.js +69 -69
  19. package/src/component/base/index.js +33 -33
  20. package/src/component/base/methods.js +244 -244
  21. package/src/component/base/router.js +41 -41
  22. package/src/component/base/timeouts_intervals.js +99 -99
  23. package/src/component/base/utils.js +72 -72
  24. package/src/component/setup/computed.js +48 -48
  25. package/src/component/setup/index.js +62 -62
  26. package/src/component/setup/input.js +30 -30
  27. package/src/component/setup/methods.js +37 -37
  28. package/src/component/setup/props.js +62 -62
  29. package/src/component/setup/routes.js +42 -42
  30. package/src/component/setup/state.js +59 -59
  31. package/src/component/setup/watch.js +35 -35
  32. package/src/component.js +437 -437
  33. package/src/components/Circle.js +73 -73
  34. package/src/components/FPScounter.js +1510 -1510
  35. package/src/components/RouterView.js +81 -81
  36. package/src/components/Sprite.js +94 -94
  37. package/src/components/index.js +28 -28
  38. package/src/constants.js +21 -21
  39. package/src/engine.js +1 -1
  40. package/src/engines/L3/element.js +744 -744
  41. package/src/engines/L3/fontLoader.js +38 -38
  42. package/src/engines/L3/index.js +7 -7
  43. package/src/engines/L3/launch.js +123 -123
  44. package/src/engines/L3/shaderLoader.js +12 -12
  45. package/src/engines/index.js +1 -1
  46. package/src/focus.js +90 -90
  47. package/src/helpers/deepEqualArray.js +50 -50
  48. package/src/helpers/fetchJson.js +34 -34
  49. package/src/helpers/sequence.js +26 -26
  50. package/src/launch.js +123 -123
  51. package/src/lib/blitsfileconverter/blitsfileconverter.js +52 -52
  52. package/src/lib/codegenerator/generator.js +788 -788
  53. package/src/lib/colors/colors.js +92 -92
  54. package/src/lib/colors/htmlColors.js +168 -168
  55. package/src/lib/componentId.js +49 -49
  56. package/src/lib/eventListeners.js +123 -123
  57. package/src/lib/hooks.js +59 -59
  58. package/src/lib/lifecycle.js +85 -85
  59. package/src/lib/log.js +117 -117
  60. package/src/lib/precompiler/precompiler.js +73 -73
  61. package/src/lib/reactivity/effect.js +93 -93
  62. package/src/lib/reactivity/reactive.js +208 -208
  63. package/src/lib/reactivityguard/computedprops.js +218 -218
  64. package/src/lib/symbols.js +108 -108
  65. package/src/lib/templateparser/parser.js +386 -386
  66. package/src/lib/utils.js +27 -27
  67. package/src/plugin.js +27 -27
  68. package/src/plugins/appstate.js +26 -26
  69. package/src/plugins/index.js +20 -20
  70. package/src/plugins/language.js +152 -152
  71. package/src/plugins/log.js +25 -25
  72. package/src/plugins/theme.js +94 -94
  73. package/src/router/router.js +516 -514
  74. package/src/router/transitions/fadeIn.js +27 -27
  75. package/src/router/transitions/fadeInOut.js +33 -33
  76. package/src/router/transitions/index.js +21 -21
  77. package/src/router/transitions/slideIn.js +28 -28
  78. package/src/router/transitions/slideInOut.js +33 -33
  79. package/src/settings.js +40 -40
  80. package/vite/blitsFileConverter.js +67 -67
  81. package/vite/index.js +28 -28
  82. package/vite/msdfGenerator.js +269 -269
  83. package/vite/preCompiler.js +47 -42
  84. package/vite/reactivityGuard.js +45 -45
  85. package/vscode/data/template-attributes.json +589 -589
  86. package/.editorconfig +0 -7
  87. package/.eslintignore +0 -1
  88. package/.eslintrc.cjs +0 -65
  89. package/.github/workflows/comment-lint-results.yml +0 -125
  90. package/.github/workflows/comment-test-results.yml +0 -109
  91. package/.github/workflows/deploy-docs.yml +0 -27
  92. package/.github/workflows/run-blits-tests.yml +0 -142
  93. package/.github/workflows/run-lint.yml +0 -128
  94. package/.husky/pre-commit +0 -1
  95. package/.husky/pre-push +0 -1
  96. package/.vscode/extensions.json +0 -7
  97. package/.vscode/settings.json +0 -9
  98. package/COPYING +0 -1
  99. package/banner.png +0 -0
  100. package/docs/.nojekyll +0 -0
  101. package/docs/README.md +0 -19
  102. package/docs/_sidebar.md +0 -37
  103. package/docs/built-in/directives.md +0 -50
  104. package/docs/built-in/for-loop.md +0 -204
  105. package/docs/built-in/layout.md +0 -168
  106. package/docs/components/component_state.md +0 -90
  107. package/docs/components/computed_properties.md +0 -45
  108. package/docs/components/lifecycle_events.md +0 -42
  109. package/docs/components/methods.md +0 -45
  110. package/docs/components/props.md +0 -56
  111. package/docs/components/user_input.md +0 -186
  112. package/docs/components/utility_methods.md +0 -320
  113. package/docs/components/watchers.md +0 -34
  114. package/docs/essentials/application_root.md +0 -19
  115. package/docs/essentials/components.md +0 -68
  116. package/docs/essentials/displaying_images.md +0 -67
  117. package/docs/essentials/displaying_text.md +0 -135
  118. package/docs/essentials/element_attributes.md +0 -195
  119. package/docs/essentials/settings.md +0 -117
  120. package/docs/essentials/template_syntax.md +0 -83
  121. package/docs/getting_started/file_structure.md +0 -58
  122. package/docs/getting_started/getting_started.md +0 -45
  123. package/docs/getting_started/intro.md +0 -20
  124. package/docs/index.html +0 -47
  125. package/docs/performance/lazy-loading.md +0 -161
  126. package/docs/plugins/global_app_state.md +0 -98
  127. package/docs/plugins/language.md +0 -172
  128. package/docs/plugins/text-to-speech-announcer.md +0 -120
  129. package/docs/plugins/theme.md +0 -176
  130. package/docs/router/basics.md +0 -175
  131. package/docs/router/hooks.md +0 -70
  132. package/docs/router/transitions.md +0 -146
  133. package/docs/sidebar.json +0 -171
  134. package/docs/transitions_animations/transitions.md +0 -150
  135. package/jsconfig.json +0 -12
  136. package/src/component/setup/props.test.js +0 -238
  137. package/src/component.test.js +0 -388
  138. package/src/components/Circle.orig.js +0 -31
  139. package/src/components/FPScounter.orig.js +0 -121
  140. package/src/components/RouterView.orig.js +0 -54
  141. package/src/components/Sprite.orig.js +0 -58
  142. package/src/components/index.orig.js +0 -28
  143. package/src/engines/L3/element.test.js +0 -579
  144. package/src/helpers/deepEqualArray.test.js +0 -127
  145. package/src/lib/codegenerator/generator.test.js +0 -3801
  146. package/src/lib/colors/colors.test.js +0 -290
  147. package/src/lib/componentId.test.js +0 -84
  148. package/src/lib/eventListeners.test.js +0 -236
  149. package/src/lib/reactivity/effect.test.js +0 -35
  150. package/src/lib/reactivity/reactive.test.js +0 -27
  151. package/src/lib/templateparser/parser.test.js +0 -1411
  152. package/src/router/router.test.js +0 -473
package/CHANGELOG.md CHANGED
@@ -1,1019 +1,1035 @@
1
- # Changelog
2
-
3
- _25 jun 2025_
4
-
5
- ## v1.30.2
6
-
7
- - Bumped renderer to v2.14.2
8
-
9
-
10
- _25 jun 2025_
11
-
12
- ## v1.30.1
13
-
14
- - Bumped renderer to v2.14.1
15
-
16
-
17
- _24 jun 2025_
18
-
19
- ## v1.30.0
20
-
21
- - Added documentation on lazy loading performance
22
- - Bumped renderer to v2.14.0 (simplified texture throttling)
23
- - Fixed bug in announcer when utterance is cancelled
24
-
25
-
26
- _12 jun 2025_
27
-
28
- ## v1.29.5
29
-
30
- - Simplified timeout and interval cleanup
31
- - Added explicit reset of component state upon destruction
32
- - Fixed `exit` lifecycle hook
33
-
34
- _06 jun 2025_
35
-
36
- ## v1.29.4
37
-
38
- - Removed excessive shader creation for effects
39
- - Added explicit cleanup of effects in for loop
40
- - Improved element destruction
41
-
42
- _03 jun 2025_
43
-
44
- ## v1.29.3
45
-
46
- - Added first batch internal JS doc types
47
- - Added documentation on Launch settings
48
- - Fixed issue with reactivity effects being shared (and retained) on the prototype
49
-
50
- _28 may 2025_
51
-
52
- ## v1.29.2
53
-
54
- - Added end of life flag to prevent timers, intervals and listeners to be registered after component destroy
55
-
56
- _22 may 2025_
57
-
58
- ## v1.29.1
59
-
60
- - Fixed issue with async and lifecycle ready error
61
-
62
-
63
- _22 may 2025_
64
-
65
- ## v1.29.0
66
-
67
- - Fixed memory leaks
68
- - Added componentId in warning when modifying props directly for easier debugging
69
-
70
- _15 apr 2025_
71
-
72
- ## v1.28.0
73
-
74
- - Added graceful handling of announcer when speechSynthesis API is not available
75
- - Renamed `beforeAll` method on router to `beforeEach` (as specified in the type definitions)
76
- - Fixed detection of correct PR to comment for github workflows
77
-
78
- _15 apr 2025_
79
-
80
- ## v1.27.1
81
-
82
- - Fixed issue with global watcher on router state not being cleared out
83
- - Minor performance updates
84
- - Fixed issue with retrieving correct renderer version for logging
85
- - Fixed issue with nested layouts not properly updating parent layout
86
-
87
- _11 apr 2025_
88
-
89
- ## v1.27.0
90
-
91
- - Added pre push linting check
92
- - Updated Github workflow for tests
93
- - Added noop announcement for when announcer is disabled
94
- - Add ability to interrupt specific announcement messages
95
-
96
- _09 apr 2025_
97
-
98
- ## v1.26.1 / v1.26.2
99
-
100
- - Fixed issue with announcer queue
101
-
102
- _08 apr 2025_
103
-
104
- ## v1.26.0
105
-
106
- - Announcer updates: queue, cancel individual messages, promise based chaining
107
- - Fixed naming collision for `config`-key on component instance
108
- - Fixed logging correct renderer version
109
-
110
- ## v1.25.1
111
-
112
- _01 apr 2025_
113
-
114
- - Fixed issue with page rendering after being destroyed when data is loaded by an async request
115
-
116
- ## v1.25.0
117
-
118
- _28 mar 2025_
119
-
120
- - Fixed issue when same effect type is used in `effects` attribute
121
- - Added ability to enable / disable announcer via launch setting as well as runtime
122
-
123
- ## v1.24.0
124
-
125
- _26 mar 2025_
126
-
127
- - Added additional tests for router
128
- - Fixed issues with `:show` attribute not working properly
129
- - Fixed issue with strings starting with a number being casted to a number
130
- - Fixed named slots functionality
131
-
132
- ## v1.23.2
133
-
134
- _18 mar 2025_
135
-
136
- - Fixed issue with keepAlive pages remaining in cache after navigating back
137
-
138
- ## v1.23.1
139
-
140
- _17 mar 2025_
141
-
142
- - Fixed issue in vite plugin that ensures reacitivity setup in computed props when code block has a comment
143
- - Fixed warnings for non-declared variables in template when they refer to plugins (i.e. `$$apState.foo`)
144
-
145
- ## v1.23.0
146
-
147
- _13 mar 2025_
148
-
149
- - Added support for beforeEach router hook
150
- - Added warning when variables used in the template are not declared on the component scope (only during dev)
151
- - Added vite plugin that ensures reactivity is setup properly for all state variables in a computed prop
152
- - Fixed keepAlive functionality in the router on back navigation
153
- - Fixed various test cases
154
- - Added useful base methods to the this context of plugins
155
- - Added workflow to execute test cases for PRs
156
- - Updated L3 renderer dependency to v2.13.2
157
- - Fixed various typos in the documentation
158
- - Fixed reactivity issue when value is set to `null`
159
-
160
- ## v1.22.0
161
-
162
- _3 mar 2025_
163
-
164
- - Added default value for `createImageBitmapSupport` to `auto`
165
- - Added advanced launch settings
166
-
167
- ## v1.21.1
168
-
169
- _28 feb 2025_
170
-
171
- - Changed gpuMemory launch settings to be optional in type definitions
172
-
173
- ## v1.21.0
174
-
175
- _27 feb 2025_
176
-
177
- - Added functionality for keeping query params when navigating back in the router
178
- - Exposed more info in reactive router state
179
- - Added `range`-attribute to for-loop
180
- - Fixed issue when setting `alpha` to truthy or false values
181
- - Upgraded to renderer v2.13.0
182
-
183
- ## v1.20.1
184
-
185
- _14 feb 2025_
186
-
187
- - Added error message when root element in template contains a `:for`-attribute
188
- - Added workaround fix for shader caching issue
189
- - Upgraded to renderer v2.12.1
190
-
191
- ## v1.20.0
192
-
193
- _12 feb 2025_
194
-
195
- - Improved attribute definitions used for autocompletion in VScode extension
196
- - Fixed calculation of `align-items` in Layout component
197
- - Fixed issue with sorting reactive arrays
198
- - Upgraded to renderer v2.12.0
199
-
200
- ## v1.19.1
201
-
202
- _3 feb 2025_
203
-
204
- - Removed left-over console.log
205
- - Upgraded to renderer v2.11.1
206
- - Fixed issues with wrongly pre-compiling `template` key of non-blits related objects
207
-
208
- ## v1.19.0
209
-
210
- _31 jan 2025_
211
-
212
- - Fixed `show`-attribute when an `alpha`-attribute is also present
213
- - Added `inspector-data`-attribute to help with automated testing based on the Lightning inspector
214
- - Added reactivity to Route changes (`this.$router.state.path` and `this.$router.state.navigating`)
215
- - Added `renderQuality` launch setting
216
-
217
- ## v1.18.1
218
-
219
- _27 jan 2025_
220
-
221
- - Fixed issue with navigating back to a router page with `keepalive=true`
222
-
223
- ## v1.18.0
224
-
225
- _27 jan 2025_
226
-
227
- - Added backtracking functionality to the Router
228
- - Upgraded to latest version of the renderer (2.10.0)
229
- - Changed setting `textureProcessingLimit` to `textureProcessingTimeLimit`
230
-
231
-
232
- ## v1.17.1
233
-
234
- _24 jan 2025_
235
-
236
- - Fixed issue in sprite
237
-
238
- ## v1.17.0
239
-
240
- _24 jan 2025_
241
-
242
- - Deprecated `wordwrap`-attribute on Text component in favour of `maxwidth`
243
- - Added documentation about text overflow
244
- - Upgraded renderer to v2.9.1 and added `canvas` and `textureProcessingLimit` launch options
245
-
246
- ## v1.16.2
247
-
248
- _21 jan 2025_
249
-
250
- - Upgraded to latest version of MSDF font generator, with fix for missing presets
251
-
252
-
253
- ## v1.16.1
254
-
255
- _17 jan 2025_
256
-
257
- - Fixed issue in certain browsers caused by route query params functionality (and optimized for performance)
258
-
259
-
260
- ## v1.16.0
261
-
262
- _16 jan 2025_
263
-
264
- - Fixed issue with component scope in Slots
265
- - Fixed issue with sprites (regression since v1.14.0)
266
- - Changed reactive state to only make plain objects reactive, and return custom Classes, Blits components, Renderer texture etc in raw form
267
-
268
- ## v1.15.0
269
-
270
- _14 jan 2025_
271
-
272
- - Added `placement`-attribute for easily aligning Elements to predefined locations (i.e. `center`, `right`, `middle`, `bottom`)
273
- - Removed automatic injection of `index` variable into forloop-scope to prevent unexpected naming collisions
274
-
275
-
276
- ## v1.14.1
277
-
278
- _8 jan 2025_
279
-
280
- - Fixed `undefined`-error with intercept method, when no input object is specified on root App component
281
-
282
-
283
- ## v1.14.0
284
-
285
- _6 jan 2025_
286
-
287
- - Added ability to deregister listeners (`this.$unlisten()`)
288
- - Added autosize to images without `w` and `h` attributes
289
- - Fixed cleanup of transitions and end-callbacks when Elements are destroyed
290
- - Added support for reactively updating an entire object (instead of having to update each object key individually)
291
- - Added `this.$size()` method to set the dimensions of a Component
292
- - Added `intercept` input method to handle key presses before they reach the currently focused Component
293
- - Added support for query-parameters in routes (in addition to regular query params)
294
-
295
-
296
- ## v1.13.1
297
-
298
- _9 dec 2024_
299
-
300
- - Fixed setting of correct color when turning off rtt on an element
301
- - Added check for txManager in reactivity
302
- - Fixed reference to correct `this`-scope in router before hook
303
-
304
- ## v1.13.0
305
-
306
- _5 dec 2024_
307
-
308
- - Added `padding` attribute to Layout component
309
- - Added logging of Blits and Renderer version used in App
310
- - Fixed show attribute for elements without predefined width and height
311
- - Added automatic proxy fallback (when no browser support) for reactivity
312
- - Fixed and added tests related to Blits Element
313
- - Fixed memory issue with effects used in for-loop
314
- - Fixed memory issue when changing props in dynamic shader effects
315
- - Updated renderer to v2.8.0
316
-
317
- ## v1.12.0
318
-
319
- _26 nov 2024_
320
-
321
- - Fixed `$hasFocus` state variable not being set when navigating back to a page with `keepAlive` enabled
322
- - Added `@updated`-event to Layout component
323
- - Fixed issue with simple config for Theme plugin
324
-
325
-
326
- ## v1.11.0
327
-
328
- _19 nov 2024_
329
-
330
- - Added support for splitting up translation file per language
331
- - Added hasFocus property to ComponentBase type
332
- - Fixed issue with alpha during router transitions
333
-
334
-
335
- ## v1.10.1
336
-
337
- _15 nov 2024_
338
-
339
- - Upgraded to renderer 2.7.1
340
- - Added documentation on Router
341
-
342
-
343
- ## v1.10.0
344
-
345
- _8 nov 2024_
346
-
347
- - Fixed issue with back button not bubbling to App component after last page in router history is popped
348
- - Added `align-items` attribute to Layout component
349
- - Fixed issue with watching nested state variables and global state
350
- - Upgraded to renderer 2.6.2
351
- - Fixed issue with white background for Elements with falsy src attribute
352
- - Fixed issue with calling focus on component that already is focused
353
-
354
-
355
- ## v1.9.2
356
-
357
- _5 nov 2024_
358
-
359
- - Fixed Element related tests
360
- - Bumped renderer to version 2.6.0
361
-
362
- ## v1.9.1
363
-
364
- _4 nov 2024_
365
-
366
- - Added fix for omitting gap-attribute in Layout component
367
-
368
- ## v1.9.0
369
-
370
- _4 nov 2024_
371
-
372
- - Added Layout component
373
-
374
- ## v1.8.3
375
-
376
- _31 oct 2024_
377
-
378
- - Exported TS interfaces and improved return type of before route hook
379
- - Fixed test cases for codegenerator
380
-
381
-
382
- ## v1.8.2
383
-
384
- _30 oct 2024_
385
-
386
- - Fixed edge case issue with array based props not triggering reactivity
387
-
388
-
389
- ## v1.8.1
390
-
391
- _29 oct 2024_
392
-
393
- - Fixed issue with array based props not triggering reactivity
394
- - Upgraded renderer to 2.5.1
395
-
396
-
397
- ## v1.8.0
398
-
399
- _22 oct 2024_
400
-
401
- - Refactored TypeScript definitions to give better autocompletion and general TS support for business logic
402
- - Added option for custom characters in MSDF generated fonts
403
- - Added export for symbols
404
- - Upgraded renderer to 2.4.0
405
- - Added transition progress event
406
-
407
-
408
- ## v1.7.1
409
-
410
- _14 oct 2024_
411
-
412
- - Fixed support for `.otf` and `.woff` fonts files in combination with MSDF generator
413
-
414
-
415
- ## v1.7.0
416
-
417
- _14 oct 2024_
418
-
419
- - Added cleanup upon component destroy of effects generated by global reactivity
420
-
421
- ## v1.6.0 / v1.6.1
422
-
423
- _9 oct 2024_
424
-
425
- - Abstracted app create functionality to separate package
426
- - Cleaned up dependencies
427
- - Fixed issue with item reference in for loop
428
- - Fixed issue with looping directly over `<Text>` components
429
-
430
- ## v1.5.1
431
-
432
- _7 oct 2024_
433
-
434
- - Added export of symbols
435
- - Various small performance improvements related to component creation
436
-
437
- ## v1.5.0
438
-
439
- _1 oct 2024_
440
-
441
- - Fixed issue with interrupting running / scheduled transitions with a new transition on the same prop
442
- - Fixed issue with (incompatible) SDF text renderer being loaded when `renderMode` is set to canvas
443
- - Added support for handling key release (i.e `keyup`) events
444
-
445
- ## v1.4.3
446
-
447
- _26 sept 2024_
448
-
449
- - Fixed issues with sprites in minified production build
450
- - Bumped renderer to v2.2.0 (with fixes for nested alpha / show issue)
451
- - Fixed reactivity in plugins not using reactivity mode setting
452
- - Fixed named slots functionality
453
-
454
- ## v1.4.2
455
-
456
- _24 sept 2024_
457
-
458
- - Fixed timing issue with calculation of percentages
459
- - Improved check to see if object is a Blits component, so it's more robust in case of code minification
460
-
461
- ## v1.4.1
462
-
463
- _18 sept 2024_
464
-
465
- - Fixed support for inspector, compatible with renderer 2.x changes
466
-
467
- ## v1.4.0
468
-
469
- _16 sept 2024_
470
-
471
- - Added support for `fit` attribute to enable resizeModes for images (cover, contain)
472
- - Added priority parameter for event emitters + ability to stop propagation
473
- - Added Global App State plugin
474
- - Added Theme plugin
475
- - Standardized built-in utility methods (i.e. focus, select, setTimeout, etc.) to all be prefixed with a `$`.
476
- - Added support for triggering nested state variables with dot-notation (i.e `foo.bar.bla`)
477
- - Added support for watching nested state variables (i.e `foo.bar.bla`)
478
- - Fixed bug with Log plugin not picking up on `debugLevel` setting
479
- - Fixed bug when using hex-colors in an effect
480
- - Upgraded to latest version of the renderer (2.1.1)
481
-
482
- ## v1.3.1
483
-
484
- _27 aug 2024_
485
-
486
- - Moved `this.$log` functionality to a plugin, which delays the instantation and allows it to pick up launch settings (bug fix)
487
-
488
- ## v1.3.0
489
-
490
- _19 aug 2024_
491
-
492
- - Fixed bug in for-loop when key is not a string but a number
493
- - Added `$shallow`-modifier to for-loop
494
- - Added several performance optimizations
495
- - Added support for dynamic arguments in object notation (i.e. `mount="{x: $x, y: $y}"`)
496
-
497
- ## v1.2.0
498
-
499
- _5 aug 2024_
500
-
501
- - Added plugin system for Blits
502
- - Added Language plugin, modeled after L2-SDK Language plugin
503
- - Removed unused built-in Image component
504
- - Marked `this.trigger()`-method as deprecated in definition file
505
- - Removed double assignment of `this.node` during element creation
506
-
507
- ## v1.1.0
508
-
509
- _25 july 2024_
510
-
511
- - Made `holdTimeout` configurable and added to launch settings
512
- - Improved test coverage
513
- - Removed imporChunkUrl dependency as it’s no longer needed
514
- - Abstracted path from pre-compiler, to make it more reusable (in playground for example)
515
- - Added `defaultFont` launch setting to boilerplate example
516
-
517
- ## v1.0.0
518
-
519
- _15 july 2024_
520
-
521
- - Added multiple optimizations that improve the performance
522
- - Fixed mountY prop setting
523
- - Added functionality for providing custom shaders
524
- - Added initial support for accessing children
525
- - Added first version of Layout component
526
- - Improved test coverage
527
- - Refactored transitions and fixed promise resolve issues
528
- - Upgraded to renderer v1.0.0
529
-
530
- ## v0.10.0
531
-
532
- _17 june 2024_
533
-
534
- - Updated renderer to version v0.9.1
535
- - Updated font generation to use the new `@lightningjs/msdf-generator`-package with required font metrics
536
- - Added queue mechanism to font generation to prevent hanging process
537
- - Added functionality to pass a component into the Component `:is` attribute
538
-
539
- Please read refer to the [breaking changes](https://github.com/lightning-js/renderer/releases/tag/v0.9.0) in the
540
- renderer related to MSDF fonts. When you have custom msdf fonts in your `/public` folder you may need to regenerate
541
- them (or remove the files and let Blits take care of [generating for you from a `.ttf`](https://lightning-js.github.io/blits/#/essentials/displaying_text?id=using-custom-fonts))
542
-
543
-
544
- ## v0.9.9
545
-
546
- _22 may 2024_
547
-
548
- - Added support for `rtt`-attribute (Render To Texture)
549
- - Refactored Component for efficiency and readability
550
- - Improved type definitions
551
- - Fixed error when no settings object is supplied to Launch method
552
- - Fixed issue with `parent` variable being set on the global window object
553
- - Improved code of firing transitions
554
- - Bumped renderer to version 0.8.4
555
-
556
- ## v0.9.8
557
-
558
- _25 apr 2024_
559
-
560
- - Fixed issue with removing children during navigation with the router
561
- - Added support for overflow (as an inversed alias of clipping)
562
- - Upgraded to latest version of renderer (0.8.3)
563
- - Introduced `renderMode` setting (`webgl` or `canvas`)
564
-
565
- ## v0.9.7
566
-
567
- _15 apr 2024_
568
-
569
- - Added support for direct assignment of an Array element and triggering reactivity
570
- - Added support for .env in boilerplate
571
- - Fixed issue with Blits component being wrapped in a Proxy when assigned to a state variable
572
- - Fixed built-in `hasFocus`-state to also work for components that don't have state in their config object
573
-
574
- ## v0.9.6
575
-
576
- _4 apr 2024_
577
-
578
- - Added before hook to router
579
- - Upgraded Lightning renderer to v0.8.2
580
-
581
- ## v0.9.5
582
-
583
- _29 mar 2024_
584
-
585
- - Fixed cancelling of scheduled / running transitions when starting a new transition on the same prop (broke in v0.7.1).
586
- - Added viewport relates lifecycle hooks
587
-
588
- ## v0.9.4
589
-
590
- _28 mar 2024_
591
-
592
- - Upgraded Lightning renderer to v0.8.0
593
- - Fixed issue with reactivity in a forloop when initial array is empty
594
- - Introduced new `gpuMemoryLimit` launch setting
595
-
596
-
597
- ## v0.9.3
598
-
599
- _25 mar 2024_
600
-
601
- - Added support for mount / pivot on Text elements and Sprites.
602
-
603
- ## v0.9.2
604
-
605
- _21 mar 2024_
606
-
607
- - Fixed issue with updates not triggering during array operation
608
-
609
- ## v0.9.1
610
-
611
- _21 mar 2024_
612
-
613
- - Improved support for reactive advanced array operations (i.e. `splice()`, `concat()`, `sort()`)
614
- - Upgraded Lightning renderer to v0.7.6
615
- - Reverted removal of destroy of child nodes (added in v0.8.1)
616
- - Introduced `viewportMargin` setting
617
- - Added `undefined`-check for props sent to renderer
618
-
619
- ## v0.9.0
620
-
621
- _18 mar 2024_
622
-
623
- - Added symbol for `id` on component
624
- - Fixed issue in for loop when `:key` is a number (and not a string)
625
- - Added built-in `hasFocus` state variable, available on every Component
626
- - Refactored font loading, removed the need for temporary `src/fontLoader.js` file
627
- - Replaced using component name with unique identifier for registering and emitting hooks
628
-
629
- ## v0.8.1
630
-
631
- _9 mar 2024_
632
-
633
- - Added pre-processing of hardcoded colors used in the template
634
- - Upgraded Lightning renderer to v0.7.5
635
- - Removed explicit destroy of child nodes, as the renderer now takes care of this
636
- - Re-added support for clipping
637
-
638
- ## v0.8.0
639
-
640
- _1 mar 2024_
641
-
642
- - Added `this.$clearIntervals()` and `this.$clearTimeouts()` methods that clear all intervals and timers set on a certain component
643
- - **Breaking change:** Renamed the key `function` to `easing` in the transitions object used to specify a custom easing functio (deprecation notice added)
644
-
645
- ## v0.7.4
646
-
647
- _28 feb 2024_
648
-
649
- - Fixed dependency for on the fly MSDF font generation
650
-
651
- ## v0.7.3
652
-
653
- _28 feb 2024_
654
-
655
- - Added functionality that forces focus hook to fire when parent receives focus from child
656
- - Improved destroy sequence of nodes to be disposed
657
- - Fixed issue with tracking reactive objects multiple times (potential max call stack error)
658
- - Added on the fly MSDF font generation from a `.ttf` file placed in `publics/fonts`
659
- - Added support for pre-compilation for files with more than 1 Blits component
660
- - Fixed transitions on scale attribute when passed an object with `x` and `y` values
661
-
662
- ## v0.7.2
663
-
664
- _23 feb 2024_
665
-
666
- - Added small fix to support for (re)assigning an array used in a for-loop
667
- - Added option to enable the Lightning inspector in launch setting (`inspector: true/false`)
668
-
669
- ## v0.7.1
670
-
671
- _22 feb 2024_
672
-
673
- - Fixed clean up of children nodes when routing to a new view
674
- - Fixed test cases for code generator (100% coverage)
675
- - Added support for colorizing sprites
676
- - Removed before setup and setup lifecycle events and optimized lifecycle instance in components
677
- - Added support for (re)assigning an array used in a for-loop
678
- - Refactored delay of transitions (using the now available built-in delay in the renderer)
679
- - Added preliminary support for frameTick hook
680
- - Upgraded to latest version of the renderer (0.7.4)
681
-
682
- ## v0.7.0
683
-
684
- _20 feb 2024_
685
-
686
-
687
- - Added support for dynamic components through the `is`-attribute (`<Component is="Poster" />` or `<Component is="$dynamicComponent" />`)
688
- - 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)`)
689
- - Added configuration option to set the canvas color (aka clear color)
690
-
691
- ## v0.6.13
692
-
693
- _16 feb 2024_
694
-
695
- - Upgraded to 0.7.2 of the renderer
696
- - Introduced new `maxheight` attribute (besided the existing `maxlines` attribute) for the `<Text />` component
697
- - Fixed issue with order of lifecycle event emits
698
- - Fixed logic to not unfoces a parent when it passes focus to a child
699
- - Removed temporary fix for renderer issue [#123](https://github.com/lightning-js/renderer/issues/123)
700
-
701
- ## v0.6.12
702
-
703
- _9 feb 2024_
704
-
705
- - Added type hinting for `this.$clearInterval` and `this.$clearTimeout`
706
- - Fixed issue with `.gitignore` in app create flow
707
- - Added support for dynamic route parts in the router (i.e `/tv/:series/episodes/:episode`)
708
-
709
- ## v0.6.11
710
-
711
- _7 feb 2024_
712
-
713
- - Enabled the use of `type` as a component prop or state variable
714
- - Removed setting focus to AppComponent on back key press in RouterView
715
- - Fixed broken app create flow caused by missing dev dependencies in npx command (temporary fix)
716
-
717
- ## v0.6.10
718
-
719
- _2 feb 2024_
720
-
721
- - Added FPS counter from Example App as a built-in Blits component (available as `<FPScounter />`)
722
- - Added precompilation to all built-in Blits components for increased performance
723
- - Updated flow to create a new App project with an interactive prompt of questions (`npx @lightningjs/blits@latest`)
724
- - Upgraded to latest version of the Lightning 3 renderer (0.7.1)
725
-
726
- ## v0.6.9
727
-
728
- _31 jan 2024_
729
-
730
- - Fixed single quote escaping for all browsers (removing sometimes unsupported negative lookahead)
731
- - Fixed issue with focus when navigating back to a page that is kept in history
732
-
733
- ## v0.6.8
734
-
735
- _29 jan 2024_
736
-
737
- - Reverted fix (initially) empty for-loops
738
-
739
- ## v0.6.7
740
-
741
- _26 jan 2024_
742
-
743
- - Added `this.$clearInterval` and `this.$clearTimeout` helper functions to Component
744
- - Updated Lightning renderer to version _0.7.0_
745
- - Added `lineheight` and `textoverflow` attributes to `<Text />`-component
746
- - Added setting for specifying maximum number of web workers to spawn (`webWorkersLimit`)
747
- - Added fix for issue with setting up reactivity for (initially) empty for-loops
748
-
749
- ## v0.6.6
750
-
751
- _24 jan 2024_
752
-
753
- - Added temporary fix for renderer issue [#123](https://github.com/lightning-js/renderer/issues/123)
754
- - Fixed issue with setting mount, pivot and scale values to zero (0) in object literal with x and y key
755
- - Added automatic mapping of ref string to each item in a for-loop
756
-
757
- ## v0.6.5
758
-
759
- _16 jan 2024_
760
-
761
- - Added `path` to boilerplate vite.config.js for deployments in a sub folder
762
- - Improved error handling in the template parser, with more contextual error messages
763
-
764
- ## v0.6.4
765
-
766
- _15 jan 2024_
767
-
768
- - Added fix for sprites not working on certain devices
769
-
770
- ## v0.6.3
771
-
772
- _12 jan 2024_
773
-
774
- - Removed prepending protocol and host from sprite image
775
-
776
-
777
- ## v0.6.2
778
-
779
- _12 jan 2024_
780
-
781
- - Fixed issue with Sprites not working correctly due to missing background color
782
-
783
- ## v0.6.1
784
-
785
- _8 jan 2024_
786
-
787
- - Fixed issue with using single quotes as Text content
788
- - Added first Text-to-Speech / Announcer functionality
789
-
790
- ## v0.6.0
791
-
792
- _4 jan 2024_
793
-
794
- - Added pre-compilation functionality to improve performance. Requires an update to the `vite.config.js` to enable. Read more details in this [blog post](https://lightningjs.io/blogs/blitsPreCompilation.html)
795
- - Added `defaultFont` to the Launch settings
796
-
797
- ## v0.5.10
798
-
799
- _3 jan 2024_
800
-
801
- - Updated and improved documentation
802
- - Added `screenResolution` and `pixelRatio` options to settings
803
-
804
- ## v0.5.9
805
-
806
- _21 dec 2023_
807
-
808
- - Changed transition-end callback to receive real prop value from node
809
- - Implemented symbol for `wrapper` on Component (freeing up the name wrapper to be used in Component state)
810
- - Added functionality to prevent a route ending up in the history stack (route option: `inHistory: false`)
811
- - Improved router backtracking logic
812
- - Added functionality to override route options during navigation
813
- - Upgraded to latest version of the renderer (0.6.1) which contains a fix for animations not finishing correctly
814
-
815
- ## v0.5.8
816
-
817
- _15 dec 2023_
818
-
819
- - Internal refactor of the `Element`
820
-
821
- ## v0.5.7
822
-
823
- _13 dec 2023_
824
-
825
- - Added history and backhandling to the router
826
- - Linked effects directly to the available shaders exposed by the L3 renderer (starting 0.6.0)
827
- - Added setting `reactivityMode` to control whether `Proxy` (default) or `defineProperty` is used to trigger reactive side effects
828
-
829
- ## v0.5.6
830
-
831
- _11 dec 2023_
832
-
833
- - Upgraded to version 0.6.0 of the Lightning 3 renderer
834
-
835
- ## v0.5.5
836
-
837
- _5 dec 2023_
838
-
839
- - Fixed regression in Slots functionality caused by forloop cleanup fix in 0.5.4
840
-
841
- ## v0.5.4
842
-
843
- _5 dec 2023_
844
-
845
- - Fixed issue with Components and Elements not always being cleaned up in forloop
846
- - Added support for nested children inside a forloop on an Element
847
-
848
- ## v0.5.3
849
-
850
- _4 dec 2023_
851
-
852
- - Added transition `start` and tranition `end` callbacks
853
-
854
- ## v0.5.2
855
-
856
- _30 nov 2023_
857
-
858
- - Fixed issue in code generator leading to creation unnecessary child nodes
859
- - Added focus handler to router view (that passes focus to the current active page)
860
-
861
- ## v0.5.1
862
-
863
- _29 nov 2023_
864
-
865
- - Fixed issue with unexpected unfocus
866
- - Added fastforward of transitions on the same property
867
- - Added functionality to skip focus change on key hold
868
-
869
- ## v0.5.0
870
-
871
- _23 nov 2023_
872
-
873
- - Introduced `wordwrap` and `maxlines` attributes on the Text-component, replacing the previous `w` and `h` attributes (breaking change!)
874
-
875
- ## v0.4.2
876
-
877
- _22 nov 2023_
878
-
879
- - Improved parser and added more template validation (i.e. one single root element in a template)
880
- - Fixed typo in documentation
881
-
882
- ## v0.4.1
883
-
884
- _13 nov 2023_
885
-
886
- - Added support for using dynamic import of components in routes
887
- - Added support for returning components in an async function / Promise in routes
888
-
889
- ## v0.4.0
890
-
891
- _9 nov 2023_
892
-
893
- - Fixed bug related to animating percentage based values
894
- - Added (customizable) navigation transitions to the router
895
- - Renamed `.eslintrc.js` to `.eslintrc.cjs` in boilerplate code to make linting work on new projects
896
- - Fixed issue in Settings when the default value was set to `false`
897
- - Replace underscored keys for private properties with Symbols
898
- - Added `keepAlive` option to the router (i.e. keeping a page in memory when navigating to a new page)
899
- - Introduced a `this.$trigger` function to force a reevaluation of a reactive value (without changing the value)
900
- - Exposed `currentRoute`, `routes` and `navigating` on the `this.$router` object
901
- - Upgraded to lates version of `@lightningjs/renderer` (v0.5.0)
902
-
903
- ## v0.3.15
904
-
905
- _23 oct 2023_
906
-
907
- - Added support for slots
908
- - Added support for defining custom keymapping
909
- - Improved error handling of the template parser
910
-
911
- ## v0.3.14
912
-
913
- _19 oct 2023_
914
-
915
- - Fixed error when `<Text />`-component doesn't have any content
916
- - Removed generic escape key handler that closed the App
917
- - Introduced `quit()`-method on the root Application component
918
- - Updated to v0.4.0 of the renderer
919
-
920
- ## v0.3.13
921
-
922
- _18 oct 2023_
923
-
924
- - Added support for `borderTop`, `borderBottom`, `borderLeft`, `borderRight` and `grayScale` effects
925
- - Fixed `@loaded` and `@error` events on `<Text/>` componenent only firing once (and not for each change)
926
- - Fixed loading of web canvas2d fonts
927
- - Fixed error when using `this`-reference in component state
928
- - Added basic support for inline text (i.e. `<Text>My text with a {{$dynamic}} value</Text>`)
929
-
930
- ## v0.3.12
931
-
932
- _17 oct 2023_
933
-
934
- - Fixed path to logo on readme
935
-
936
- ## v0.3.11
937
-
938
- _17 oct 2023_
939
-
940
- - Added support for using [percentages](https://lightning-js.github.io/blits/#/element_attributes?id=using-percentages) in dimensions (`w` / `h`) and positioning (`x` / `y`)
941
- - Refactored template parser to be more robust and throw errors when the template contains a syntax mistake
942
- - Re-enabled tests (still depends on renderer version bump though)
943
- - Added the new official Blits logo to the readme!
944
-
945
- ## v0.3.10
946
-
947
- _9 oct 2023_
948
-
949
- - Updated L3 renderer dependency to 0.3.6
950
- - Renamed internal methods for creating textures and shaders
951
-
952
-
953
- ## v0.3.9
954
-
955
- _5 oct 2023_
956
-
957
- - Updated L3 renderer dependency to 0.3.3
958
-
959
-
960
- ## v0.3.8
961
-
962
- _4 oct 2023_
963
-
964
- - Added Blits VS code extension to recommended extensions
965
-
966
-
967
- ## v0.3.7
968
-
969
- _3 oct 2023_
970
-
971
- - Fixed reactivity issue when using `null` values in state
972
-
973
-
974
- ## v0.3.6
975
-
976
- _2 oct 2023_
977
-
978
- - Bumped version number of dependency in boilerplate
979
-
980
-
981
- ## v0.3.5
982
-
983
- _2 oct 2023_
984
-
985
- - Added workaround for Vite import chunk url plugin for fontloading
986
-
987
- ## v0.3.4
988
-
989
- _27 sep 2023_
990
-
991
- - Fixed issue with re-applying reactivity to already reactive props in forloop
992
-
993
-
994
- ## v0.3.3
995
-
996
- _25 sep 2023_
997
-
998
- - Added support for `@loaded` and `@error` events on Elements (and Text Component)
999
-
1000
-
1001
- ## v0.3.2
1002
-
1003
- _22 sep 2023_
1004
-
1005
- - Changed name of attribute to reference an Element or Component from `id` to `ref`
1006
-
1007
-
1008
- ## v0.3.1
1009
-
1010
- _20 sep 2023_
1011
-
1012
- - Fixed Blits dependency in create App boilerplate package.json
1013
-
1014
-
1015
- ## v0.3.0
1016
-
1017
- _20 sep 2023_
1018
-
1019
- Initial beta release of Blits ⚡️
1
+ # Changelog
2
+
3
+ _30 Jun 2024_
4
+
5
+ ## v1.31.1
6
+
7
+ - Upgraded renderer to v2.14.4
8
+
9
+ _27 jun 2025_
10
+
11
+ ## v1.31.0
12
+
13
+ - Added dereferencing of previousFocus pointer to ensure memory release
14
+ - Added npm ignore to reduce NPM package size
15
+ - Added support for precompilation of `.mjs` files
16
+ - Upgraded renderer to v2.14.3
17
+
18
+
19
+ _25 jun 2025_
20
+
21
+ ## v1.30.2
22
+
23
+ - Bumped renderer to v2.14.2
24
+
25
+
26
+ _25 jun 2025_
27
+
28
+ ## v1.30.1
29
+
30
+ - Bumped renderer to v2.14.1
31
+
32
+
33
+ _24 jun 2025_
34
+
35
+ ## v1.30.0
36
+
37
+ - Added documentation on lazy loading performance
38
+ - Bumped renderer to v2.14.0 (simplified texture throttling)
39
+ - Fixed bug in announcer when utterance is cancelled
40
+
41
+
42
+ _12 jun 2025_
43
+
44
+ ## v1.29.5
45
+
46
+ - Simplified timeout and interval cleanup
47
+ - Added explicit reset of component state upon destruction
48
+ - Fixed `exit` lifecycle hook
49
+
50
+ _06 jun 2025_
51
+
52
+ ## v1.29.4
53
+
54
+ - Removed excessive shader creation for effects
55
+ - Added explicit cleanup of effects in for loop
56
+ - Improved element destruction
57
+
58
+ _03 jun 2025_
59
+
60
+ ## v1.29.3
61
+
62
+ - Added first batch internal JS doc types
63
+ - Added documentation on Launch settings
64
+ - Fixed issue with reactivity effects being shared (and retained) on the prototype
65
+
66
+ _28 may 2025_
67
+
68
+ ## v1.29.2
69
+
70
+ - Added end of life flag to prevent timers, intervals and listeners to be registered after component destroy
71
+
72
+ _22 may 2025_
73
+
74
+ ## v1.29.1
75
+
76
+ - Fixed issue with async and lifecycle ready error
77
+
78
+
79
+ _22 may 2025_
80
+
81
+ ## v1.29.0
82
+
83
+ - Fixed memory leaks
84
+ - Added componentId in warning when modifying props directly for easier debugging
85
+
86
+ _15 apr 2025_
87
+
88
+ ## v1.28.0
89
+
90
+ - Added graceful handling of announcer when speechSynthesis API is not available
91
+ - Renamed `beforeAll` method on router to `beforeEach` (as specified in the type definitions)
92
+ - Fixed detection of correct PR to comment for github workflows
93
+
94
+ _15 apr 2025_
95
+
96
+ ## v1.27.1
97
+
98
+ - Fixed issue with global watcher on router state not being cleared out
99
+ - Minor performance updates
100
+ - Fixed issue with retrieving correct renderer version for logging
101
+ - Fixed issue with nested layouts not properly updating parent layout
102
+
103
+ _11 apr 2025_
104
+
105
+ ## v1.27.0
106
+
107
+ - Added pre push linting check
108
+ - Updated Github workflow for tests
109
+ - Added noop announcement for when announcer is disabled
110
+ - Add ability to interrupt specific announcement messages
111
+
112
+ _09 apr 2025_
113
+
114
+ ## v1.26.1 / v1.26.2
115
+
116
+ - Fixed issue with announcer queue
117
+
118
+ _08 apr 2025_
119
+
120
+ ## v1.26.0
121
+
122
+ - Announcer updates: queue, cancel individual messages, promise based chaining
123
+ - Fixed naming collision for `config`-key on component instance
124
+ - Fixed logging correct renderer version
125
+
126
+ ## v1.25.1
127
+
128
+ _01 apr 2025_
129
+
130
+ - Fixed issue with page rendering after being destroyed when data is loaded by an async request
131
+
132
+ ## v1.25.0
133
+
134
+ _28 mar 2025_
135
+
136
+ - Fixed issue when same effect type is used in `effects` attribute
137
+ - Added ability to enable / disable announcer via launch setting as well as runtime
138
+
139
+ ## v1.24.0
140
+
141
+ _26 mar 2025_
142
+
143
+ - Added additional tests for router
144
+ - Fixed issues with `:show` attribute not working properly
145
+ - Fixed issue with strings starting with a number being casted to a number
146
+ - Fixed named slots functionality
147
+
148
+ ## v1.23.2
149
+
150
+ _18 mar 2025_
151
+
152
+ - Fixed issue with keepAlive pages remaining in cache after navigating back
153
+
154
+ ## v1.23.1
155
+
156
+ _17 mar 2025_
157
+
158
+ - Fixed issue in vite plugin that ensures reacitivity setup in computed props when code block has a comment
159
+ - Fixed warnings for non-declared variables in template when they refer to plugins (i.e. `$$apState.foo`)
160
+
161
+ ## v1.23.0
162
+
163
+ _13 mar 2025_
164
+
165
+ - Added support for beforeEach router hook
166
+ - Added warning when variables used in the template are not declared on the component scope (only during dev)
167
+ - Added vite plugin that ensures reactivity is setup properly for all state variables in a computed prop
168
+ - Fixed keepAlive functionality in the router on back navigation
169
+ - Fixed various test cases
170
+ - Added useful base methods to the this context of plugins
171
+ - Added workflow to execute test cases for PRs
172
+ - Updated L3 renderer dependency to v2.13.2
173
+ - Fixed various typos in the documentation
174
+ - Fixed reactivity issue when value is set to `null`
175
+
176
+ ## v1.22.0
177
+
178
+ _3 mar 2025_
179
+
180
+ - Added default value for `createImageBitmapSupport` to `auto`
181
+ - Added advanced launch settings
182
+
183
+ ## v1.21.1
184
+
185
+ _28 feb 2025_
186
+
187
+ - Changed gpuMemory launch settings to be optional in type definitions
188
+
189
+ ## v1.21.0
190
+
191
+ _27 feb 2025_
192
+
193
+ - Added functionality for keeping query params when navigating back in the router
194
+ - Exposed more info in reactive router state
195
+ - Added `range`-attribute to for-loop
196
+ - Fixed issue when setting `alpha` to truthy or false values
197
+ - Upgraded to renderer v2.13.0
198
+
199
+ ## v1.20.1
200
+
201
+ _14 feb 2025_
202
+
203
+ - Added error message when root element in template contains a `:for`-attribute
204
+ - Added workaround fix for shader caching issue
205
+ - Upgraded to renderer v2.12.1
206
+
207
+ ## v1.20.0
208
+
209
+ _12 feb 2025_
210
+
211
+ - Improved attribute definitions used for autocompletion in VScode extension
212
+ - Fixed calculation of `align-items` in Layout component
213
+ - Fixed issue with sorting reactive arrays
214
+ - Upgraded to renderer v2.12.0
215
+
216
+ ## v1.19.1
217
+
218
+ _3 feb 2025_
219
+
220
+ - Removed left-over console.log
221
+ - Upgraded to renderer v2.11.1
222
+ - Fixed issues with wrongly pre-compiling `template` key of non-blits related objects
223
+
224
+ ## v1.19.0
225
+
226
+ _31 jan 2025_
227
+
228
+ - Fixed `show`-attribute when an `alpha`-attribute is also present
229
+ - Added `inspector-data`-attribute to help with automated testing based on the Lightning inspector
230
+ - Added reactivity to Route changes (`this.$router.state.path` and `this.$router.state.navigating`)
231
+ - Added `renderQuality` launch setting
232
+
233
+ ## v1.18.1
234
+
235
+ _27 jan 2025_
236
+
237
+ - Fixed issue with navigating back to a router page with `keepalive=true`
238
+
239
+ ## v1.18.0
240
+
241
+ _27 jan 2025_
242
+
243
+ - Added backtracking functionality to the Router
244
+ - Upgraded to latest version of the renderer (2.10.0)
245
+ - Changed setting `textureProcessingLimit` to `textureProcessingTimeLimit`
246
+
247
+
248
+ ## v1.17.1
249
+
250
+ _24 jan 2025_
251
+
252
+ - Fixed issue in sprite
253
+
254
+ ## v1.17.0
255
+
256
+ _24 jan 2025_
257
+
258
+ - Deprecated `wordwrap`-attribute on Text component in favour of `maxwidth`
259
+ - Added documentation about text overflow
260
+ - Upgraded renderer to v2.9.1 and added `canvas` and `textureProcessingLimit` launch options
261
+
262
+ ## v1.16.2
263
+
264
+ _21 jan 2025_
265
+
266
+ - Upgraded to latest version of MSDF font generator, with fix for missing presets
267
+
268
+
269
+ ## v1.16.1
270
+
271
+ _17 jan 2025_
272
+
273
+ - Fixed issue in certain browsers caused by route query params functionality (and optimized for performance)
274
+
275
+
276
+ ## v1.16.0
277
+
278
+ _16 jan 2025_
279
+
280
+ - Fixed issue with component scope in Slots
281
+ - Fixed issue with sprites (regression since v1.14.0)
282
+ - Changed reactive state to only make plain objects reactive, and return custom Classes, Blits components, Renderer texture etc in raw form
283
+
284
+ ## v1.15.0
285
+
286
+ _14 jan 2025_
287
+
288
+ - Added `placement`-attribute for easily aligning Elements to predefined locations (i.e. `center`, `right`, `middle`, `bottom`)
289
+ - Removed automatic injection of `index` variable into forloop-scope to prevent unexpected naming collisions
290
+
291
+
292
+ ## v1.14.1
293
+
294
+ _8 jan 2025_
295
+
296
+ - Fixed `undefined`-error with intercept method, when no input object is specified on root App component
297
+
298
+
299
+ ## v1.14.0
300
+
301
+ _6 jan 2025_
302
+
303
+ - Added ability to deregister listeners (`this.$unlisten()`)
304
+ - Added autosize to images without `w` and `h` attributes
305
+ - Fixed cleanup of transitions and end-callbacks when Elements are destroyed
306
+ - Added support for reactively updating an entire object (instead of having to update each object key individually)
307
+ - Added `this.$size()` method to set the dimensions of a Component
308
+ - Added `intercept` input method to handle key presses before they reach the currently focused Component
309
+ - Added support for query-parameters in routes (in addition to regular query params)
310
+
311
+
312
+ ## v1.13.1
313
+
314
+ _9 dec 2024_
315
+
316
+ - Fixed setting of correct color when turning off rtt on an element
317
+ - Added check for txManager in reactivity
318
+ - Fixed reference to correct `this`-scope in router before hook
319
+
320
+ ## v1.13.0
321
+
322
+ _5 dec 2024_
323
+
324
+ - Added `padding` attribute to Layout component
325
+ - Added logging of Blits and Renderer version used in App
326
+ - Fixed show attribute for elements without predefined width and height
327
+ - Added automatic proxy fallback (when no browser support) for reactivity
328
+ - Fixed and added tests related to Blits Element
329
+ - Fixed memory issue with effects used in for-loop
330
+ - Fixed memory issue when changing props in dynamic shader effects
331
+ - Updated renderer to v2.8.0
332
+
333
+ ## v1.12.0
334
+
335
+ _26 nov 2024_
336
+
337
+ - Fixed `$hasFocus` state variable not being set when navigating back to a page with `keepAlive` enabled
338
+ - Added `@updated`-event to Layout component
339
+ - Fixed issue with simple config for Theme plugin
340
+
341
+
342
+ ## v1.11.0
343
+
344
+ _19 nov 2024_
345
+
346
+ - Added support for splitting up translation file per language
347
+ - Added hasFocus property to ComponentBase type
348
+ - Fixed issue with alpha during router transitions
349
+
350
+
351
+ ## v1.10.1
352
+
353
+ _15 nov 2024_
354
+
355
+ - Upgraded to renderer 2.7.1
356
+ - Added documentation on Router
357
+
358
+
359
+ ## v1.10.0
360
+
361
+ _8 nov 2024_
362
+
363
+ - Fixed issue with back button not bubbling to App component after last page in router history is popped
364
+ - Added `align-items` attribute to Layout component
365
+ - Fixed issue with watching nested state variables and global state
366
+ - Upgraded to renderer 2.6.2
367
+ - Fixed issue with white background for Elements with falsy src attribute
368
+ - Fixed issue with calling focus on component that already is focused
369
+
370
+
371
+ ## v1.9.2
372
+
373
+ _5 nov 2024_
374
+
375
+ - Fixed Element related tests
376
+ - Bumped renderer to version 2.6.0
377
+
378
+ ## v1.9.1
379
+
380
+ _4 nov 2024_
381
+
382
+ - Added fix for omitting gap-attribute in Layout component
383
+
384
+ ## v1.9.0
385
+
386
+ _4 nov 2024_
387
+
388
+ - Added Layout component
389
+
390
+ ## v1.8.3
391
+
392
+ _31 oct 2024_
393
+
394
+ - Exported TS interfaces and improved return type of before route hook
395
+ - Fixed test cases for codegenerator
396
+
397
+
398
+ ## v1.8.2
399
+
400
+ _30 oct 2024_
401
+
402
+ - Fixed edge case issue with array based props not triggering reactivity
403
+
404
+
405
+ ## v1.8.1
406
+
407
+ _29 oct 2024_
408
+
409
+ - Fixed issue with array based props not triggering reactivity
410
+ - Upgraded renderer to 2.5.1
411
+
412
+
413
+ ## v1.8.0
414
+
415
+ _22 oct 2024_
416
+
417
+ - Refactored TypeScript definitions to give better autocompletion and general TS support for business logic
418
+ - Added option for custom characters in MSDF generated fonts
419
+ - Added export for symbols
420
+ - Upgraded renderer to 2.4.0
421
+ - Added transition progress event
422
+
423
+
424
+ ## v1.7.1
425
+
426
+ _14 oct 2024_
427
+
428
+ - Fixed support for `.otf` and `.woff` fonts files in combination with MSDF generator
429
+
430
+
431
+ ## v1.7.0
432
+
433
+ _14 oct 2024_
434
+
435
+ - Added cleanup upon component destroy of effects generated by global reactivity
436
+
437
+ ## v1.6.0 / v1.6.1
438
+
439
+ _9 oct 2024_
440
+
441
+ - Abstracted app create functionality to separate package
442
+ - Cleaned up dependencies
443
+ - Fixed issue with item reference in for loop
444
+ - Fixed issue with looping directly over `<Text>` components
445
+
446
+ ## v1.5.1
447
+
448
+ _7 oct 2024_
449
+
450
+ - Added export of symbols
451
+ - Various small performance improvements related to component creation
452
+
453
+ ## v1.5.0
454
+
455
+ _1 oct 2024_
456
+
457
+ - Fixed issue with interrupting running / scheduled transitions with a new transition on the same prop
458
+ - Fixed issue with (incompatible) SDF text renderer being loaded when `renderMode` is set to canvas
459
+ - Added support for handling key release (i.e `keyup`) events
460
+
461
+ ## v1.4.3
462
+
463
+ _26 sept 2024_
464
+
465
+ - Fixed issues with sprites in minified production build
466
+ - Bumped renderer to v2.2.0 (with fixes for nested alpha / show issue)
467
+ - Fixed reactivity in plugins not using reactivity mode setting
468
+ - Fixed named slots functionality
469
+
470
+ ## v1.4.2
471
+
472
+ _24 sept 2024_
473
+
474
+ - Fixed timing issue with calculation of percentages
475
+ - Improved check to see if object is a Blits component, so it's more robust in case of code minification
476
+
477
+ ## v1.4.1
478
+
479
+ _18 sept 2024_
480
+
481
+ - Fixed support for inspector, compatible with renderer 2.x changes
482
+
483
+ ## v1.4.0
484
+
485
+ _16 sept 2024_
486
+
487
+ - Added support for `fit` attribute to enable resizeModes for images (cover, contain)
488
+ - Added priority parameter for event emitters + ability to stop propagation
489
+ - Added Global App State plugin
490
+ - Added Theme plugin
491
+ - Standardized built-in utility methods (i.e. focus, select, setTimeout, etc.) to all be prefixed with a `$`.
492
+ - Added support for triggering nested state variables with dot-notation (i.e `foo.bar.bla`)
493
+ - Added support for watching nested state variables (i.e `foo.bar.bla`)
494
+ - Fixed bug with Log plugin not picking up on `debugLevel` setting
495
+ - Fixed bug when using hex-colors in an effect
496
+ - Upgraded to latest version of the renderer (2.1.1)
497
+
498
+ ## v1.3.1
499
+
500
+ _27 aug 2024_
501
+
502
+ - Moved `this.$log` functionality to a plugin, which delays the instantation and allows it to pick up launch settings (bug fix)
503
+
504
+ ## v1.3.0
505
+
506
+ _19 aug 2024_
507
+
508
+ - Fixed bug in for-loop when key is not a string but a number
509
+ - Added `$shallow`-modifier to for-loop
510
+ - Added several performance optimizations
511
+ - Added support for dynamic arguments in object notation (i.e. `mount="{x: $x, y: $y}"`)
512
+
513
+ ## v1.2.0
514
+
515
+ _5 aug 2024_
516
+
517
+ - Added plugin system for Blits
518
+ - Added Language plugin, modeled after L2-SDK Language plugin
519
+ - Removed unused built-in Image component
520
+ - Marked `this.trigger()`-method as deprecated in definition file
521
+ - Removed double assignment of `this.node` during element creation
522
+
523
+ ## v1.1.0
524
+
525
+ _25 july 2024_
526
+
527
+ - Made `holdTimeout` configurable and added to launch settings
528
+ - Improved test coverage
529
+ - Removed imporChunkUrl dependency as it’s no longer needed
530
+ - Abstracted path from pre-compiler, to make it more reusable (in playground for example)
531
+ - Added `defaultFont` launch setting to boilerplate example
532
+
533
+ ## v1.0.0
534
+
535
+ _15 july 2024_
536
+
537
+ - Added multiple optimizations that improve the performance
538
+ - Fixed mountY prop setting
539
+ - Added functionality for providing custom shaders
540
+ - Added initial support for accessing children
541
+ - Added first version of Layout component
542
+ - Improved test coverage
543
+ - Refactored transitions and fixed promise resolve issues
544
+ - Upgraded to renderer v1.0.0
545
+
546
+ ## v0.10.0
547
+
548
+ _17 june 2024_
549
+
550
+ - Updated renderer to version v0.9.1
551
+ - Updated font generation to use the new `@lightningjs/msdf-generator`-package with required font metrics
552
+ - Added queue mechanism to font generation to prevent hanging process
553
+ - Added functionality to pass a component into the Component `:is` attribute
554
+
555
+ Please read refer to the [breaking changes](https://github.com/lightning-js/renderer/releases/tag/v0.9.0) in the
556
+ renderer related to MSDF fonts. When you have custom msdf fonts in your `/public` folder you may need to regenerate
557
+ them (or remove the files and let Blits take care of [generating for you from a `.ttf`](https://lightning-js.github.io/blits/#/essentials/displaying_text?id=using-custom-fonts))
558
+
559
+
560
+ ## v0.9.9
561
+
562
+ _22 may 2024_
563
+
564
+ - Added support for `rtt`-attribute (Render To Texture)
565
+ - Refactored Component for efficiency and readability
566
+ - Improved type definitions
567
+ - Fixed error when no settings object is supplied to Launch method
568
+ - Fixed issue with `parent` variable being set on the global window object
569
+ - Improved code of firing transitions
570
+ - Bumped renderer to version 0.8.4
571
+
572
+ ## v0.9.8
573
+
574
+ _25 apr 2024_
575
+
576
+ - Fixed issue with removing children during navigation with the router
577
+ - Added support for overflow (as an inversed alias of clipping)
578
+ - Upgraded to latest version of renderer (0.8.3)
579
+ - Introduced `renderMode` setting (`webgl` or `canvas`)
580
+
581
+ ## v0.9.7
582
+
583
+ _15 apr 2024_
584
+
585
+ - Added support for direct assignment of an Array element and triggering reactivity
586
+ - Added support for .env in boilerplate
587
+ - Fixed issue with Blits component being wrapped in a Proxy when assigned to a state variable
588
+ - Fixed built-in `hasFocus`-state to also work for components that don't have state in their config object
589
+
590
+ ## v0.9.6
591
+
592
+ _4 apr 2024_
593
+
594
+ - Added before hook to router
595
+ - Upgraded Lightning renderer to v0.8.2
596
+
597
+ ## v0.9.5
598
+
599
+ _29 mar 2024_
600
+
601
+ - Fixed cancelling of scheduled / running transitions when starting a new transition on the same prop (broke in v0.7.1).
602
+ - Added viewport relates lifecycle hooks
603
+
604
+ ## v0.9.4
605
+
606
+ _28 mar 2024_
607
+
608
+ - Upgraded Lightning renderer to v0.8.0
609
+ - Fixed issue with reactivity in a forloop when initial array is empty
610
+ - Introduced new `gpuMemoryLimit` launch setting
611
+
612
+
613
+ ## v0.9.3
614
+
615
+ _25 mar 2024_
616
+
617
+ - Added support for mount / pivot on Text elements and Sprites.
618
+
619
+ ## v0.9.2
620
+
621
+ _21 mar 2024_
622
+
623
+ - Fixed issue with updates not triggering during array operation
624
+
625
+ ## v0.9.1
626
+
627
+ _21 mar 2024_
628
+
629
+ - Improved support for reactive advanced array operations (i.e. `splice()`, `concat()`, `sort()`)
630
+ - Upgraded Lightning renderer to v0.7.6
631
+ - Reverted removal of destroy of child nodes (added in v0.8.1)
632
+ - Introduced `viewportMargin` setting
633
+ - Added `undefined`-check for props sent to renderer
634
+
635
+ ## v0.9.0
636
+
637
+ _18 mar 2024_
638
+
639
+ - Added symbol for `id` on component
640
+ - Fixed issue in for loop when `:key` is a number (and not a string)
641
+ - Added built-in `hasFocus` state variable, available on every Component
642
+ - Refactored font loading, removed the need for temporary `src/fontLoader.js` file
643
+ - Replaced using component name with unique identifier for registering and emitting hooks
644
+
645
+ ## v0.8.1
646
+
647
+ _9 mar 2024_
648
+
649
+ - Added pre-processing of hardcoded colors used in the template
650
+ - Upgraded Lightning renderer to v0.7.5
651
+ - Removed explicit destroy of child nodes, as the renderer now takes care of this
652
+ - Re-added support for clipping
653
+
654
+ ## v0.8.0
655
+
656
+ _1 mar 2024_
657
+
658
+ - Added `this.$clearIntervals()` and `this.$clearTimeouts()` methods that clear all intervals and timers set on a certain component
659
+ - **Breaking change:** Renamed the key `function` to `easing` in the transitions object used to specify a custom easing functio (deprecation notice added)
660
+
661
+ ## v0.7.4
662
+
663
+ _28 feb 2024_
664
+
665
+ - Fixed dependency for on the fly MSDF font generation
666
+
667
+ ## v0.7.3
668
+
669
+ _28 feb 2024_
670
+
671
+ - Added functionality that forces focus hook to fire when parent receives focus from child
672
+ - Improved destroy sequence of nodes to be disposed
673
+ - Fixed issue with tracking reactive objects multiple times (potential max call stack error)
674
+ - Added on the fly MSDF font generation from a `.ttf` file placed in `publics/fonts`
675
+ - Added support for pre-compilation for files with more than 1 Blits component
676
+ - Fixed transitions on scale attribute when passed an object with `x` and `y` values
677
+
678
+ ## v0.7.2
679
+
680
+ _23 feb 2024_
681
+
682
+ - Added small fix to support for (re)assigning an array used in a for-loop
683
+ - Added option to enable the Lightning inspector in launch setting (`inspector: true/false`)
684
+
685
+ ## v0.7.1
686
+
687
+ _22 feb 2024_
688
+
689
+ - Fixed clean up of children nodes when routing to a new view
690
+ - Fixed test cases for code generator (100% coverage)
691
+ - Added support for colorizing sprites
692
+ - Removed before setup and setup lifecycle events and optimized lifecycle instance in components
693
+ - Added support for (re)assigning an array used in a for-loop
694
+ - Refactored delay of transitions (using the now available built-in delay in the renderer)
695
+ - Added preliminary support for frameTick hook
696
+ - Upgraded to latest version of the renderer (0.7.4)
697
+
698
+ ## v0.7.0
699
+
700
+ _20 feb 2024_
701
+
702
+
703
+ - Added support for dynamic components through the `is`-attribute (`<Component is="Poster" />` or `<Component is="$dynamicComponent" />`)
704
+ - 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)`)
705
+ - Added configuration option to set the canvas color (aka clear color)
706
+
707
+ ## v0.6.13
708
+
709
+ _16 feb 2024_
710
+
711
+ - Upgraded to 0.7.2 of the renderer
712
+ - Introduced new `maxheight` attribute (besided the existing `maxlines` attribute) for the `<Text />` component
713
+ - Fixed issue with order of lifecycle event emits
714
+ - Fixed logic to not unfoces a parent when it passes focus to a child
715
+ - Removed temporary fix for renderer issue [#123](https://github.com/lightning-js/renderer/issues/123)
716
+
717
+ ## v0.6.12
718
+
719
+ _9 feb 2024_
720
+
721
+ - Added type hinting for `this.$clearInterval` and `this.$clearTimeout`
722
+ - Fixed issue with `.gitignore` in app create flow
723
+ - Added support for dynamic route parts in the router (i.e `/tv/:series/episodes/:episode`)
724
+
725
+ ## v0.6.11
726
+
727
+ _7 feb 2024_
728
+
729
+ - Enabled the use of `type` as a component prop or state variable
730
+ - Removed setting focus to AppComponent on back key press in RouterView
731
+ - Fixed broken app create flow caused by missing dev dependencies in npx command (temporary fix)
732
+
733
+ ## v0.6.10
734
+
735
+ _2 feb 2024_
736
+
737
+ - Added FPS counter from Example App as a built-in Blits component (available as `<FPScounter />`)
738
+ - Added precompilation to all built-in Blits components for increased performance
739
+ - Updated flow to create a new App project with an interactive prompt of questions (`npx @lightningjs/blits@latest`)
740
+ - Upgraded to latest version of the Lightning 3 renderer (0.7.1)
741
+
742
+ ## v0.6.9
743
+
744
+ _31 jan 2024_
745
+
746
+ - Fixed single quote escaping for all browsers (removing sometimes unsupported negative lookahead)
747
+ - Fixed issue with focus when navigating back to a page that is kept in history
748
+
749
+ ## v0.6.8
750
+
751
+ _29 jan 2024_
752
+
753
+ - Reverted fix (initially) empty for-loops
754
+
755
+ ## v0.6.7
756
+
757
+ _26 jan 2024_
758
+
759
+ - Added `this.$clearInterval` and `this.$clearTimeout` helper functions to Component
760
+ - Updated Lightning renderer to version _0.7.0_
761
+ - Added `lineheight` and `textoverflow` attributes to `<Text />`-component
762
+ - Added setting for specifying maximum number of web workers to spawn (`webWorkersLimit`)
763
+ - Added fix for issue with setting up reactivity for (initially) empty for-loops
764
+
765
+ ## v0.6.6
766
+
767
+ _24 jan 2024_
768
+
769
+ - Added temporary fix for renderer issue [#123](https://github.com/lightning-js/renderer/issues/123)
770
+ - Fixed issue with setting mount, pivot and scale values to zero (0) in object literal with x and y key
771
+ - Added automatic mapping of ref string to each item in a for-loop
772
+
773
+ ## v0.6.5
774
+
775
+ _16 jan 2024_
776
+
777
+ - Added `path` to boilerplate vite.config.js for deployments in a sub folder
778
+ - Improved error handling in the template parser, with more contextual error messages
779
+
780
+ ## v0.6.4
781
+
782
+ _15 jan 2024_
783
+
784
+ - Added fix for sprites not working on certain devices
785
+
786
+ ## v0.6.3
787
+
788
+ _12 jan 2024_
789
+
790
+ - Removed prepending protocol and host from sprite image
791
+
792
+
793
+ ## v0.6.2
794
+
795
+ _12 jan 2024_
796
+
797
+ - Fixed issue with Sprites not working correctly due to missing background color
798
+
799
+ ## v0.6.1
800
+
801
+ _8 jan 2024_
802
+
803
+ - Fixed issue with using single quotes as Text content
804
+ - Added first Text-to-Speech / Announcer functionality
805
+
806
+ ## v0.6.0
807
+
808
+ _4 jan 2024_
809
+
810
+ - Added pre-compilation functionality to improve performance. Requires an update to the `vite.config.js` to enable. Read more details in this [blog post](https://lightningjs.io/blogs/blitsPreCompilation.html)
811
+ - Added `defaultFont` to the Launch settings
812
+
813
+ ## v0.5.10
814
+
815
+ _3 jan 2024_
816
+
817
+ - Updated and improved documentation
818
+ - Added `screenResolution` and `pixelRatio` options to settings
819
+
820
+ ## v0.5.9
821
+
822
+ _21 dec 2023_
823
+
824
+ - Changed transition-end callback to receive real prop value from node
825
+ - Implemented symbol for `wrapper` on Component (freeing up the name wrapper to be used in Component state)
826
+ - Added functionality to prevent a route ending up in the history stack (route option: `inHistory: false`)
827
+ - Improved router backtracking logic
828
+ - Added functionality to override route options during navigation
829
+ - Upgraded to latest version of the renderer (0.6.1) which contains a fix for animations not finishing correctly
830
+
831
+ ## v0.5.8
832
+
833
+ _15 dec 2023_
834
+
835
+ - Internal refactor of the `Element`
836
+
837
+ ## v0.5.7
838
+
839
+ _13 dec 2023_
840
+
841
+ - Added history and backhandling to the router
842
+ - Linked effects directly to the available shaders exposed by the L3 renderer (starting 0.6.0)
843
+ - Added setting `reactivityMode` to control whether `Proxy` (default) or `defineProperty` is used to trigger reactive side effects
844
+
845
+ ## v0.5.6
846
+
847
+ _11 dec 2023_
848
+
849
+ - Upgraded to version 0.6.0 of the Lightning 3 renderer
850
+
851
+ ## v0.5.5
852
+
853
+ _5 dec 2023_
854
+
855
+ - Fixed regression in Slots functionality caused by forloop cleanup fix in 0.5.4
856
+
857
+ ## v0.5.4
858
+
859
+ _5 dec 2023_
860
+
861
+ - Fixed issue with Components and Elements not always being cleaned up in forloop
862
+ - Added support for nested children inside a forloop on an Element
863
+
864
+ ## v0.5.3
865
+
866
+ _4 dec 2023_
867
+
868
+ - Added transition `start` and tranition `end` callbacks
869
+
870
+ ## v0.5.2
871
+
872
+ _30 nov 2023_
873
+
874
+ - Fixed issue in code generator leading to creation unnecessary child nodes
875
+ - Added focus handler to router view (that passes focus to the current active page)
876
+
877
+ ## v0.5.1
878
+
879
+ _29 nov 2023_
880
+
881
+ - Fixed issue with unexpected unfocus
882
+ - Added fastforward of transitions on the same property
883
+ - Added functionality to skip focus change on key hold
884
+
885
+ ## v0.5.0
886
+
887
+ _23 nov 2023_
888
+
889
+ - Introduced `wordwrap` and `maxlines` attributes on the Text-component, replacing the previous `w` and `h` attributes (breaking change!)
890
+
891
+ ## v0.4.2
892
+
893
+ _22 nov 2023_
894
+
895
+ - Improved parser and added more template validation (i.e. one single root element in a template)
896
+ - Fixed typo in documentation
897
+
898
+ ## v0.4.1
899
+
900
+ _13 nov 2023_
901
+
902
+ - Added support for using dynamic import of components in routes
903
+ - Added support for returning components in an async function / Promise in routes
904
+
905
+ ## v0.4.0
906
+
907
+ _9 nov 2023_
908
+
909
+ - Fixed bug related to animating percentage based values
910
+ - Added (customizable) navigation transitions to the router
911
+ - Renamed `.eslintrc.js` to `.eslintrc.cjs` in boilerplate code to make linting work on new projects
912
+ - Fixed issue in Settings when the default value was set to `false`
913
+ - Replace underscored keys for private properties with Symbols
914
+ - Added `keepAlive` option to the router (i.e. keeping a page in memory when navigating to a new page)
915
+ - Introduced a `this.$trigger` function to force a reevaluation of a reactive value (without changing the value)
916
+ - Exposed `currentRoute`, `routes` and `navigating` on the `this.$router` object
917
+ - Upgraded to lates version of `@lightningjs/renderer` (v0.5.0)
918
+
919
+ ## v0.3.15
920
+
921
+ _23 oct 2023_
922
+
923
+ - Added support for slots
924
+ - Added support for defining custom keymapping
925
+ - Improved error handling of the template parser
926
+
927
+ ## v0.3.14
928
+
929
+ _19 oct 2023_
930
+
931
+ - Fixed error when `<Text />`-component doesn't have any content
932
+ - Removed generic escape key handler that closed the App
933
+ - Introduced `quit()`-method on the root Application component
934
+ - Updated to v0.4.0 of the renderer
935
+
936
+ ## v0.3.13
937
+
938
+ _18 oct 2023_
939
+
940
+ - Added support for `borderTop`, `borderBottom`, `borderLeft`, `borderRight` and `grayScale` effects
941
+ - Fixed `@loaded` and `@error` events on `<Text/>` componenent only firing once (and not for each change)
942
+ - Fixed loading of web canvas2d fonts
943
+ - Fixed error when using `this`-reference in component state
944
+ - Added basic support for inline text (i.e. `<Text>My text with a {{$dynamic}} value</Text>`)
945
+
946
+ ## v0.3.12
947
+
948
+ _17 oct 2023_
949
+
950
+ - Fixed path to logo on readme
951
+
952
+ ## v0.3.11
953
+
954
+ _17 oct 2023_
955
+
956
+ - Added support for using [percentages](https://lightning-js.github.io/blits/#/element_attributes?id=using-percentages) in dimensions (`w` / `h`) and positioning (`x` / `y`)
957
+ - Refactored template parser to be more robust and throw errors when the template contains a syntax mistake
958
+ - Re-enabled tests (still depends on renderer version bump though)
959
+ - Added the new official Blits logo to the readme!
960
+
961
+ ## v0.3.10
962
+
963
+ _9 oct 2023_
964
+
965
+ - Updated L3 renderer dependency to 0.3.6
966
+ - Renamed internal methods for creating textures and shaders
967
+
968
+
969
+ ## v0.3.9
970
+
971
+ _5 oct 2023_
972
+
973
+ - Updated L3 renderer dependency to 0.3.3
974
+
975
+
976
+ ## v0.3.8
977
+
978
+ _4 oct 2023_
979
+
980
+ - Added Blits VS code extension to recommended extensions
981
+
982
+
983
+ ## v0.3.7
984
+
985
+ _3 oct 2023_
986
+
987
+ - Fixed reactivity issue when using `null` values in state
988
+
989
+
990
+ ## v0.3.6
991
+
992
+ _2 oct 2023_
993
+
994
+ - Bumped version number of dependency in boilerplate
995
+
996
+
997
+ ## v0.3.5
998
+
999
+ _2 oct 2023_
1000
+
1001
+ - Added workaround for Vite import chunk url plugin for fontloading
1002
+
1003
+ ## v0.3.4
1004
+
1005
+ _27 sep 2023_
1006
+
1007
+ - Fixed issue with re-applying reactivity to already reactive props in forloop
1008
+
1009
+
1010
+ ## v0.3.3
1011
+
1012
+ _25 sep 2023_
1013
+
1014
+ - Added support for `@loaded` and `@error` events on Elements (and Text Component)
1015
+
1016
+
1017
+ ## v0.3.2
1018
+
1019
+ _22 sep 2023_
1020
+
1021
+ - Changed name of attribute to reference an Element or Component from `id` to `ref`
1022
+
1023
+
1024
+ ## v0.3.1
1025
+
1026
+ _20 sep 2023_
1027
+
1028
+ - Fixed Blits dependency in create App boilerplate package.json
1029
+
1030
+
1031
+ ## v0.3.0
1032
+
1033
+ _20 sep 2023_
1034
+
1035
+ Initial beta release of Blits ⚡️