Rum 0.12.0 release notes
Happy to announce that Rum 0.12.0 has been released.
Sablono -> Daiquiri
A major change in this release is Daiquiri — reworked fork of Sablono. The reason we went with a fork is to own the compiler/interpreter. Daiquiri removes input field wrappers, this was causing weird bugs with jumping caret. Similarly to Sablono, Daiquiri makes use of ClojureScript's type inference to reduce number of generated
interpret calls when compiling Hiccup. This applies to primitive types such as
function, and also anything that is hinted as
js/React.Element, Rum components include the type hint implicitly.
Removed rAF based scheduling mechanism
Sablono's input wrappers exist because some ClojureScript React wrappers have their own update scheduling mechanism built on top of
js/requestAnimationFrame which doesn't play well with input fields. In this release we've removed Rum's scheduler, which allowed us to remove input wrappers and rely on React's scheduler, which is hopefully a lot smarter about orchestrating updates.
There's still a bunch of open issues. Also I'd like to put some time into assesing and improving Daiquiri's interpreter performance, as of now it's already ~30% faster than Sablono.
Please report issues in the repo github.com/tonsky/rum/issues