Releases: mAAdhaTTah/brookjs
v0.8.5
- Fix bug when updating root blackboxed element
v0.8.4
- Update dependencies
- Switch to
useBuiltins
for all transforms.
v0.8.3
Bugfix: Fix mutation actions dedupe algorithm.
Fixes bug causing children to become inert.
v0.8.2
Busted previous release.
v0.8.1
Bugfix: Curry the renderFactory function
Introducing Animation Support
- New Feature: Animation support
- New rendering engine:
diffhtml
- Allow mounting DOM without template
- Export Kefir through the
- Extend the library with custom ActionObservable
- Internal: Test improvements
Deprecation Cleanup
- BREAKING: All deprecated code removed. If you saw no warnings in your console, this release comes with no changes. If not, you'll need to update your deprecated code before
v0.8.0
, which will introduce animations. - Major Documentation Overhaul: All docs have been written and should cover everything you need to write a
brookjs
application.
0.6.0
- Add
ProxyEvent
to wrap DOM events- This provides an abstraction we can build upon, as well as 2 new properties:
containerTarget
&decoratedTarget
- This provides an abstraction we can build upon, as well as 2 new properties:
- Modify behavior of
mapActionTo
to usemeta
instead of addingsource
directly to theaction
- Deprecate the
source
property currently added to theaction
- Deprecate the
- Deprecate
component
in favor ofview
indomDelta
All deprecated code will be removed in the next release.
Update rendering context
Published under the beta tag on npm
.
Use npm i brookjs@beta
to install.
A number of breaking changes in this release. The first is data-brk-container
no longer provides blackboxing; that's handled explicitly through the new data-brk-blackbox
attribute, which protects a node from being updated by the rendering process.
The rendering process is also handled by the root node, rather than streaming props into individual components. This reduces the mismatch in how you think about the props provided to the template; you no longer end up with props coming in either from the parent template (on page loader) rather than through modifyChildProps
(during the FE application lifecycle).
If you're heavily relying on modifyChildProps
to thread the needle between the FE context & BE context, you're going to have a rough time upgrading. The best way to go about it is update all your modifyChildProps
streams to pass the same props the template passes in through the Handlebars template. From there, if there's no onMount
in the child component, you can just remove modifyChildProps
entirely. If you have components which you heavily relied on an internal implementation (often handled through onMount
), you'll just need to blackbox your component with data-brk-blackbox
and maintain modifyChildProps
to whatever the onMount
needs.
- BREAKING: Remove
render$
from combinator incomponent
. This is a result of a change in the internals, which we're sets up an incoming change in the rendering context. - BREAKING: Rendering now happens from the root component down, rather than streaming individual values into individual components. This allows Handlebars to be the only context through which the developer has to understand the data flow into the DOM.
- BREAKING: Blackboxing is now handled explicitly through the use of
dat-brk-blackbox
. This can be used to carve out sections of the DOM from being updated, rather than the"container hack."
ofType & domDelta
- Adds
ofType
method, cribbed fromredux-observable
, to theactions$
stream passed to the delta. This should make writing deltas a lot cleaner. - Add
domDelta
. This should be used to mount the dom on page loads. Waits until DOM is ready to mount the component. - Add some documentation for
domDelta
.