This is most likely our final release supporting Famous <= 0.3.5. It is the most performant release to date (moving to "stable" a number of strategies we've been testing since February), and co-incided with the publication of our Performance Guidelines on the site.
We're also excited to mention that since November last year, we are averaging ~1,000 installs/month! (Thanks, Atmosphere; ChangeLog follows below.)
Here's the ChangeLog since v0.1.32 (Feb 2nd):
this is now correctly the data context just
fview.renderBlazeView, which is very useful for getting
the data context... like
fview.surfaceBlazeView but present in surfaces
_onRender attribute, to define
via template helpers.
this is the blazeView, like usual.
Make new Tracker code work with older versions of Meteor too.
RenderController: prerender mode for better performance (see docs).
fixed Blaze.remove not called on all children; our own forEach.
Modifier can't handle true size, so let Surface handle that (#214)
Fix for new Event() failure on browsers that do not support it, e.g.
IE. (#239) (thanks @chaosmaster99)
Update to use latest Tracker. Log long computations by default.
Tracker.warnOnLongComputations = true;
Tracker.showFullFuncsInWarnings = false;
Tracker.showComputationsInWarnings = false;
Override Meteor.setImmediate() to use famous.core.Engine.defer();
Make optionString() stricter about handing off to parseFloat (#220)
MAJOR. We now override Tracker with our own modified version to make sure
recomputations don't result in skipped frames. Shouldn't cause any
change in behaviour (except for buttery smoothness), but let us know if
anything breaks. Look out for "Tracker.flush" fview debug messages in
Some early code to automatically handle a case where a parent contains
children with destroyPrevented, and to defer the parent's destroy() until
all children are cleaned up.
Bug fix (invisible) - internal; properly cleanup children from parents.
Minor memory leak since most data was cleaned up anyway.
fview.on(event, callback) like node, supporting: "destroy", "cleanup".
.listeners(event) and .removeListener(event, callback) work too.
famousEach observe events, now run inside the same Engine.defer as the
_super() code. Note, you'll still want to defer any layout code in here
to make sure any rendering (which is also deferred) is run beforehand.
Bugfix: StateModifier scaleX,Y,Z now work properly.