| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| knockout-3.4.0.js | 2015-11-17 | 59.8 kB | |
| knockout-3.4.0.debug.js | 2015-11-17 | 286.7 kB | |
| README.md | 2015-11-17 | 1.8 kB | |
| Version 3.4.0.tar.gz | 2015-11-17 | 306.4 kB | |
| Version 3.4.0.zip | 2015-11-17 | 369.8 kB | |
| Totals: 5 Items | 1.0 MB | 0 | |
New features and bug fixes
- Improves performance of components, templates, computeds, and observables.
- Includes a native version of deferred updates, along with a microtask queue (
ko.tasks). - Calls a
ko.onErrorhandler, if defined, for errors from asynchronous code. ko.options.useOnlyNativeEventscan be set to tell Knockout to use only native (not jQuery) events.- Includes
ko.isPureComputed().
The 3.4.0 RC release notes has the full list of issues and pull requests included in this release. The final release fixes two regression bugs found in the RC:
- [#1903] - New beforeRemove behavior can break retained items.
- [#1905] - Endless recursion possible with ko.computed.
Possible compatibility issues
- Components now use microtasks to perform updates asynchronously instead of
setTimeout. Since microtasks are run before the browser repaints the page, all loaded components will be initialized and displayed in a single repaint. Although this reduces the overall time needed to display components, it could result in a longer delay before anything is displayed. - The new, native deferred updates feature has a slightly different API and is implemented differently than the Deferred Updates plugin. Migrating from the plugin will generally require some code changes (full details to come soon).
ko.observableandko.computedno longer use a closure when defining their methods, such asdisposeandvalueHasMutated. These functions expectthisto be set correctly and so can't be used directly as a callback. Instead you'll need to usebind, such asobs.dispose.bind(obs).