Laminar v0.7.1 Release Notes
Release Date: 2019-08-01 // over 4 years ago-
- ๐ Fix: Due to a bug in Scala DOM Builder, it would make mistakes tracking ReactiveElements' children when Laminar was reordering them e.g. using
children <-- X
. This would then result in "cannot readnextSibling
of null" errors and potentially other inconsistencies.- I fixed the issue in Scala DOM Builder v0.9.2, and added another reordering test for this particular scenario in Laminar
- Thanks to @gabrielgiussi for reporting, and nailing the test case!
- ๐ New: Use DOM Props to set Reflected Attributes.
- Better performance than setting HTML attributes
- I do not expect a change in behaviour due to the largely symmetrical nature of reflected attributes. At least not when using reflected attributes for writing values. Reading might yield subtle differences as mentioned in the link above.
- This change is also potentially breaking because the types of identifiers like
href
changed fromReactiveHtmlAttr
toReactiveProp
. Unless you reference those types or their non-common ancestors in your code you should be fine.
- API: Return
EventStream
type fordocumentEvents
andwindowEvents
props, not the unnecessarily specificDomEventStream
.- Note: small chance of breakage if you rely on
DomEventStream
type in your code
- Note: small chance of breakage if you rely on
- ๐ New:
maybe
method for keys. You can now doattr.maybe(optionOfValue)
instead ofoptionOfValue.map(attr := _)
- ๐ New:
emptyNode
to make an emptyNode
(implemented as a comment node) - ๐ New:
WriteBus.contracomposeWriter
and other improvements from Airstream v0.7.1 - API: Use
Child
/Children
/ChildrenCommand
types more consistently internally; expose aliases in Laminar.scala - ๐ Misc: Move code examples from main into test fixtures to remove them from the JS bundle
- Misc: Bump Scala DOM Types to v0.9.4
- ๐ Fix: Due to a bug in Scala DOM Builder, it would make mistakes tracking ReactiveElements' children when Laminar was reordering them e.g. using