Releases: easafe/purescript-flame
v1.6.0
v1.5.0
First clean up round. Breaking changes:
Flameno longer exportsQuerySelectoror tuple infix operatorsFlame.Application.EffectfulandFlame.Application.NoEffectshave been removedresumeMountnow returns the deserialized modelinithas been renamed tomodeland no longer takes an array of efffects
v1.4.0
v1.3.0
v1.2.0
1.1.1
1.1.0
1.0.0
While the user interface remains largely the same, release 1.0.0 is a quasi complete rewrite of the project. Read on:
New virtual DOM
Nearly all changes are powered by a custom renderer implemented in JavaScript. Internally:
-
snabbdom(andsnabbdom-to-html) has been dropped, meaning there is no longer any external JavaScript dependencies -
Virtual nodes have a more lightweight representation so memory usage and overall performance should improve
-
Hydration of server-side rendered applications should improve as the DOM is now untouched expect for event delegation (in case of no diffing issues)
-
Events of the same type create at most a single shared event listener (a.k.a., synthetic events)
Breaking changes
- Module cleanup
Following PureScript conventions, anything in all caps has been renamed, e.g., Flame.HTML.Element => Flame.Html.Elment, innerHTML => innerHtml, etc. Files that should not be imported by user code now live in Internal modules
-
Classes, similarly to styles, are merged into single declarations
-
It is possible to declare more than one event handler for a single event type
For example div [onClick Message1, onClick Message2] raises in order both messages (the previous behavior was to overwrite)
-
Thunks have been replaced by lazy elements
-
Hooks have been replaced by managed elements
-
Signals have been replaced by subscriptions
Other changes
-
Mounting an application no longer destroys the selector
-
Fragments (a la react) have been added
-
Conditionals in views (e.g.,
caseorif else) should work seamlessly -
innerHtmlno longer panics for elements with children -
There is a clearer distinction now between "keyed" and non-keyed rendering
-
Benchmarks have been added
-
Simplified example folders; docs should be also easier to read now
0.7.0
Changes:
- "Keyed" rendering is possible by using (surprise) the key attribute
maxlengthattribute rendering correctly
Breaking changes: