montagejs/frb — pull request #1 by kriskowal (2012-11-23 20:02:43+00:00)
Title: Propagate undefined.

This case motivates a radical change in the way null and undefined are
propagated.

var object = Bindings.defineBindings({
bar: ["a", "b", "c"]
}, {
foo: {"<-": "bar.2"}
});
object.bar.pop();
expect(object.foo).toBe(undefined);
expect(object.bar.length).toBe(2);

Hitherto, undefined values were not propagated at all. They are now
propagated selectively, and every observer and binder must therefore
test for an undefined value and propagate appropriately.

This change also alters computed properties such that observed
collections must use range and map change notation if they wish to
recompute every time the content changes.