This release includes a number of fixes for regressions in the previous 3.5.0 release candidate. Given the time since the RC, we also decided to include a few small improvements.
- Fix to maintain an element's focus when it's moved by the
foreach
binding. - Fix changes to
style
binding to correctly appendpx
. - Fix regression to
ko.contextFor
when used afterko.applyBindingsToNode
. - Revert changes in
ko.utils
to use native array methods. - Remove global
createChildContextWithAs
option and addnoChildContext
binding option. The default behavior foras
matches previous releases. - Fix the interaction of
descendantsComplete
andif
/ifnot
/with
bindings. - Add an option for
if
/ifnot
/with
bindings:completeOn: "render"
will have the binding wait to triggerdescendantsComplete
until it is rendered. - Throw an error for unbalanced virtual elements.
ko.applyBindings
throws an error if a non-Node is given as the second parameter.- Support an
options
objects as a parameter tocreateChildContext
. - Support a custom rate-limit function as the
method
parameter to therateLimit
extender. - Support setting custom CSS properties with the
style
binding. - Optimize how many elements are moved by
foreach
. - Update TypeScript declarations.
We decided to keep the more standard return value for ko.utils.arrayFirst
, which now returns undefined
instead of null
when no item matches.