knockout/knockout — pull request #1121 by mbest (2013-09-27 02:01:28+00:00)
Title: arrayChange optimizations should not apply when multiple changes result in a notification

While testing Knockout 3.0 with my Deferred Updates plugin, I realized that when deferring notifications, the results of the `arrayChange` event could be wrong. Consider this scenario:

```javascript
var a = ko.observableArray();
a.subscribe(function(changes) {
console.log(ko.toJSON(changes));
}, null, 'arrayChange');
a.push('A');
a.push('B');
```

When using the plugin, there's one notification of `[{"status":"added","value":"B","index":1}]`, which is obviously wrong.

Although I could try to fix this problem in my plugin, I think it would be better to fix it in Knockout.