Catberry is an isomorphic framework for building universal front-end apps using components, Flux architecture and progressive rendering.
Add new methods to $context
for searching components in the DOM (issue #261):
this.$context.getComponentsByTagName('tag-name', parentComponent)
– gets a component object list by the tag name.
this.$context.getComponentsByClassName('class-name', parentComponent)
– gets a component object list by the class name.
this.$context.queryComponentSelector('selector', parentComponent)
– gets a component object by the selector.
this.$context.queryComponentSelectorAll('selector', parentComponent)
– gets a component object list by the selector.
parentComponent
– a parent component object for looking among nested components only (optional).
Fixed #262: Catberry pushed history state after the whole page is rendered, which is incorrect behavior and causes errors when you use this.$context.notFound()
and reload the page.
Fixed #257: When you have an SVG element, IE does not return element.children
collection, therefore components search was broken.
Performance increased in a case of high nesting level of components while they are bound to stores.
Fix #253: fix query parameter parsing in a routing rule when the value is not a string. Solve #246: now component IDs are optional, you don't have to set them.
Since this release, there is no infinite loop prevention while rendering components (previously if Catberry rendered a component with the same ID it would keep it empty to prevent infinite recursion).
Fix #251 Babel 6 does not support IE <= 10.
It turned out that Babel 6.0 dropped IE <= 10 support. So, this fix uses two additional transforms in Babel preset which make the support possible. Otherwise, it's impossible to support IE <= 10 using new Babel.
But please be aware of these transforms:
Fixed: HEAD children elements disappear while merging new state (issue #241)
Fix #236 Breakpoints don't work on source maps in debug mode Fix #237 Wrong user-agent in error message on the server and no message at all in a browser.
Release includes the milestone. The whole list of commits can be found here.
Notable changes:
<link>
tags but not rel="stylesheet"
.Following plugins are updated:
Following plugins are excluded to separate plugins:
There are several changes that break backward compatibility, please read the 7.x => 8.x migration guide.
Thank you so much @chetverikov @reenko @jonathanpollack and @JuliaRechkunova for great work on the release – you've made this release possible!