Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: seanami/knockout
base: 7c374018ec
head fork: seanami/knockout
compare: 259125182e
Checking mergeability… Don't worry, you can still create the pull request.
This comparison is big! We're only showing the most recent 250 commits
Commits on Feb 26, 2012
@SteveSanderson SteveSanderson Factor out the tag name case conversions into a single function to re…
…duce minified code size and clarify usage
@SteveSanderson SteveSanderson Merge pull request #216 from SteveSanderson/216-template-in-textarea
Support named templates in textarea tags
@SteveSanderson SteveSanderson Merge branch 'master' into 54-support-xhtml 1f334da
@SteveSanderson SteveSanderson Tweak implementation of `ko.templateSources.domElement.text` to make …
…use of `ko.utils.tagNameUpper`
@SteveSanderson SteveSanderson Merge pull request #225 from SteveSanderson/225-observable-value-in-d…

view value of observable in debugger
@mbest mbest #122 - update value model on autocomplete selection in IE
Optimize write calls from binding handlers to use a common function. (Makes this change size neutral.)
@SteveSanderson SteveSanderson Added comments and slight tweak of code style purely to aid my own lo…
…ng-term understanding of this. Core mechanism not affected.
Commits on Feb 27, 2012
@mbest mbest Merge remote-tracking branch 'remotes/origin/consistent-builds'
@mbest mbest #260 - Have build scripts report on files with trailing spaces a1cb6df
@mbest mbest #54 - Always use lower case for tag names. 3734c4f
Commits on Feb 29, 2012
@mbest mbest Have specs run with DEBUG=true (#225) e08ed36
Commits on Mar 05, 2012
@mbest mbest #290 - make sure bindingContext.extend works in minified code 1504539
Commits on Mar 09, 2012
@SteveSanderson SteveSanderson Continuation of #122 - now ensure observables are only written once (…
…previously, IE would update the observable twice)
@SteveSanderson SteveSanderson Merge commit '3734c4fbb1f8dca964755546b204c9609ccc60f2' 38c9784
@mbest mbest Merge pull request #122 from SteveSanderson/122-IE-autocomplete
Internet Explorer and AutoComplete
Commits on Mar 13, 2012
@gilesbradshaw gilesbradshaw Ko missing in spec 868477f
@gilesbradshaw gilesbradshaw applyBindingsToDescendants called with extra parameter f3e46fc
Commits on Mar 14, 2012
@mbest mbest #361 - bindingContext.extend uses clone instead of child context f2031a4
Commits on Mar 15, 2012
@SteveSanderson SteveSanderson Merge pull request #386 from GilesBradshaw/MinorSpecFix
applyBindingsToDescendants called with extra parameter in spec
@mbest mbest #387 - prevent recursive evaluation of computed observables c0a3200
Commits on Mar 20, 2012
@SteveSanderson SteveSanderson Merge pull request #384 from GilesBradshaw/MissingKo
Ko missing in spec
unknown Added comment to help keep a record of why inner evaluation is skipped e89e12a
unknown Merge branch '387-recursive-computed-eval' 5d9c406
@SteveSanderson SteveSanderson Rebuild 6aec7ff
Commits on Mar 21, 2012
@SteveSanderson SteveSanderson Dispose node-related bindings when the node is removed from its *own*…
… doc, not the doc that hosts KO
Commits on Mar 23, 2012
@SteveSanderson SteveSanderson Find named templates in the same doc as the output node (and cache 'i…
…sRewritten' on a per-doc basis)
@SteveSanderson SteveSanderson Quote key in object literal to avoid potential minification issues 2be16ae
@SteveSanderson SteveSanderson Fix bug whereby I tried to use an object (not a string) as a hash key…
…. (Bring on EcmaScript 5...)
@mbest mbest Pass document to template engine directly (not through options). Only…
… cache rewrite status of templates in main document.
@mbest mbest fix typo and change if statements slightly (better minification) 5051ea6
@SteveSanderson SteveSanderson Merge pull request #182 from SteveSanderson/182-foreach-index
added $index value in the binding context of foreach templates.
@SteveSanderson SteveSanderson Bump version to 2.1.0beta and rebuild 68c356f
Commits on Apr 04, 2012
unknown Make tagNameLower resilient against unexpected inputs 36225f9
unknown Fix #413 (tolerate certain kinds of manual DOM edits while using setD…
…omNodeChildrenFromArrayMapping). Thanks to mbest for the solution.
@mbest mbest Merge pull request #424 from SteveSanderson/413-arraymapping-tolerate…

Fix #413 (tolerate certain kinds of manual DOM edits while using setDomN...
@mbest mbest Merge pull request #423 from SteveSanderson/411-tagnamelower-check
Make tagNameLower resilient against unexpected inputs
Commits on Apr 10, 2012
@SteveSanderson SteveSanderson Fix bug introduced in previous commit ('if' test was inverted) 7dfe15e
@SteveSanderson SteveSanderson Cosmetic change to clarify the "isRewritten" caching rules 8aa71c5
@SteveSanderson SteveSanderson Merge branch '153-cross-frame-disposal-with-named-templates' d7c269b
@SteveSanderson SteveSanderson Merge branch 'master' of 35c6384
@mbest mbest #420 - call cleanNode when saving inline (anonymous) template 77507da
Commits on Apr 11, 2012
@SteveSanderson SteveSanderson Add spec to demonstrate this node-cleaning behaviour 49c8eac
@SteveSanderson SteveSanderson Rename moveNodesToContainerElement to moveCleanedNodesToContainerElem…
…ent, so as to better communicate its behaviour
@mbest mbest #260 - Move trailing space check to separate scripts. e5a50e0
Commits on Apr 13, 2012
@SteveSanderson SteveSanderson Make builds fail if there are unwanted trailing spaces 0ebca1a
@SteveSanderson SteveSanderson Script to ensure all files have trailing linebreak (and are in CP1252…
… format on Windows)
@SteveSanderson SteveSanderson All files now have trailing linebreak (which is good, because they ge…
…t concatenated together during build)
@SteveSanderson SteveSanderson Normalisation script now trims trailing whitespace from lines 8d7481a
@SteveSanderson SteveSanderson Fix typo in build script and ensure the .html files are normalised too 2fbae92
@SteveSanderson SteveSanderson Only strip trailing whitespace from lines that aren't purely whitespa…
…ce (as the gaps within an indented block of code contain valid whitespace-only lines)
@SteveSanderson SteveSanderson Ran normalisation script to trim all unwanted trailing whitespace e33ad22
@SteveSanderson SteveSanderson Build scripts should allow lines that are purely whitespace (but not …
…non-whitespace with trailing whitespace)
@mbest mbest Change check scripts so they work exactly the same. Change normaliseA…
…llFiles.ps1 to strip all trailing spaces (even on blank lines).
Commits on Apr 14, 2012
@SteveSanderson SteveSanderson Amend build checks to disallow trailing whitespace on blank-only line…
…s (so there is now one consistent standard both for normalisation and for build)
@SteveSanderson SteveSanderson Remove whitespace from all blank lines, to match the new project stan…
@mbest mbest Merge remote-tracking branch 'remotes/origin/260-trailing-white-space' 5c6d813
Commits on Apr 16, 2012
@SteveSanderson SteveSanderson Avoid incorrect spec failure caused by IE7 putting extra linebreaks i…
…nto HTML
@SteveSanderson SteveSanderson Avoid "Not implemented" error in specs on IE<8 3c5fee9
Commits on Apr 17, 2012
@mbest mbest #436 - fix HTML5 elems + containerless templates + jQuery spec fails …
…on IE7/8
Commits on Apr 18, 2012
@SteveSanderson SteveSanderson Merge pull request #436 from SteveSanderson/436_spec_fix_ie7_jquery
HTML5 elems + containerless templates + jQuery spec fails on IE7/8
@SteveSanderson SteveSanderson Bump version to 2.1.0rc and rebuild 6a82131
@SteveSanderson SteveSanderson Updated the project's README f4a861a
Commits on Apr 23, 2012
@SteveSanderson SteveSanderson Force use of attachEvent when registering "propertychange" events (by…
…passing jQuery too, as that doesn't support "propertychange" at all)
Commits on Apr 24, 2012
@mbest mbest #440 - fix problem in 2.1 that foreach doesn't update correctly if fi…
…rst item in rewritten template has a binding

This doesn't fix the core problem that the comment left over from memoization stays in the list of nodes that foreach tracks. But since this change makes 2.1 behave more like 2.0, it's probably sufficient.
Commits on Apr 25, 2012
@SteveSanderson SteveSanderson Merge branch 'master' of 76bb0b1
@SteveSanderson SteveSanderson Bump version to 2.1.0rc2 and rebuild bbc3b9a
Commits on May 08, 2012
@SteveSanderson SteveSanderson Update version header to 2.1.0 and rebuild 203e2f3
Commits on May 11, 2012
@mbest mbest #138 - save local copy of jQuery object; minify extern names for smal…
…ler size (about 300 bytes)
Commits on May 12, 2012
@mbest mbest #115 - Modify 'css' binding to support multiple classes in a string, …
…and to support setting a class (or classes) dynamically (similar to
@mbest mbest #326 - Access observables within a computed without subscribing:
Add `peek` function to observable and computed that returns value without subscribing.
Add `ko.ignoreDependencies` function that calls another function, ignoring any observables it accesses.
Sean McBride Alter templating tests to behave like real templating engines
The default templating engine returns an array of nodes that's not wrapped in
a container, and isn't a nodelist. The dummy templating engine in the test
always wraps the returned markup in a div, which masks some issues with the
templating code with empty memo comments that stick around in the markup.

After this change, all of the tests that are failing fail because of these
empty memo comments that stick around with the real templating engine due to
the templating result being returned as a bare array of nodes (which the memo
cleanup can't remove a node from).
Sean McBride Use a better util function in the templating tests a6a411d
@mbest mbest Fix small issues with merging template spec fixes by @seanami
* change makeArray to arrayPushAll (makeArray isn't exported)
* remove `div` wrapper from new tests (that were added since the original commit)
* fix other tests that were changed since the original commit
@mbest mbest #440 and #144 (foreach, re-written template, data-bind)
Add spec to show that foreach correctly handles templates where first node has a binding.
Add secondary fix for #440, which will solve the original bug in a different way and possibly prevent other problems down the road.
@mbest mbest #460 `value` binding on `select` will work with `value`-less options 98ba90f
Commits on May 13, 2012
@mbest mbest #427 - remove template re-write cache 2acc4a2
Commits on May 14, 2012
@mbest mbest #459 - compress string literal used by template rewriting (saves 140 …
Commits on May 15, 2012
@mbest mbest #460 - Always use value attribute, if specified, even if blank.
Add spec to show that a blank value will be used instead of the option text. Modern browsers automatically set element.value to the text if the value attribute is missing. IE<=7 doesn't and also makes it kind of hard to tell of the value attribute is set or not.
Commits on May 16, 2012
@SteveSanderson SteveSanderson Patch JsSpec so it logs to the console (for use in CI) 29d853d
@SteveSanderson SteveSanderson Tidy spec runner by moving custom code out into .js file, and prepare…
… to let PhantomJS specify which KO build to test
@SteveSanderson SteveSanderson Integrate with Travis CI via PhantomJS spec runner 298d91a
@SteveSanderson SteveSanderson Fix file permissions 9c934ef
@SteveSanderson SteveSanderson Workaround IE issue with console.log 6e74c01
@SteveSanderson SteveSanderson Merge pull request #488 from knockout-travis/travis_ci
Continuous integration via Travis CI
Commits on May 17, 2012
@SteveSanderson SteveSanderson Merge branch '138-jQuery-extern' f0edc52
@SteveSanderson SteveSanderson Simplify CSS class name regex slightly by removing \d, and amend spec…
… to show it still works
@SteveSanderson SteveSanderson Ensure CSS binding can't try to process non-string values as strings cfd5a8d
@SteveSanderson SteveSanderson Merge branch 'master' into 115-expand-css-binding 1e67e8b
@SteveSanderson SteveSanderson Merge pull request #115 from SteveSanderson/115-expand-css-binding
CSS binding multiple classes in one string not fully supported
Commits on May 18, 2012
@SteveSanderson SteveSanderson Merge pull request #459 from SteveSanderson/459-compress-apply-memoiz…

Minify could be stronger on literals
@SteveSanderson SteveSanderson Fix spec failure that occurred only when *all* specs are run (not whe…
…n just running template specs).

Really, we should stop using `testNode` as a global variable, as it introduces order dependencies between specs.
@SteveSanderson SteveSanderson Merge branch 'master' into 144-fix-template-spec a3afdeb
Commits on May 19, 2012
@mbest mbest #144 - arrayToDomNodeChildren/fixUpVirtualElements updates and specs
Add spec and expand comments on earlier change.
Fix up node list for any array with 2 or more items (rather than 3 or more).
Add spec for above.
Commits on Jun 05, 2012
Damien Genet selectedOptions should also update options inside optgroup a13d012
Commits on Jun 06, 2012
@mbest mbest #352 - modify `hasfocus` binding to use `activeElement` to determine …
…the focus state. This avoids the binding causing the current element to "blur" when switching to another window.
@SteveSanderson SteveSanderson Rename fixUpVirtualElements to fixUpNodesToBeRemoved and amend commen…
…ts, since the function now has a different role
@mbest mbest use getElementsByTagName in selectOptions 9a32104
Commits on Jun 13, 2012
@SteveSanderson SteveSanderson Merge branch '427-remove-rewrite-cache' 0d797c0
@SteveSanderson SteveSanderson Omit `ignoreDependencies` as it would not be used at present ddae4d9
@SteveSanderson SteveSanderson Merge branch '326-access-observable-without-subscribing' c7a4ba6
@martinemmert martinemmert Changed the way the binding 'optionsValue' is executed. 65fb09c
@mbest mbest #154 - make optionsValue and optionsText consistent using a helper fu…

also clean up some duplicate code
@mbest mbest add a spec for new optionsValue functionality de95292
@mbest mbest * #341 - Added specs to demonstrate correct behavior; they will fail …
…until fixed [ci skip]
Commits on Jun 15, 2012
@SteveSanderson SteveSanderson Implement containerless text binding 56dbc8a
@mbest mbest setTextContent uses createTextNode instead of innerHTML for all eleme…
…nts; use style.zoom instead of style.display for IE9 hack.
Commits on Jun 19, 2012
@SteveSanderson SteveSanderson Merge pull request #527 from SteveSanderson/282-containerless-text-bi…

Implement containerless text binding
@SteveSanderson SteveSanderson Merge branch 'selectOptions-consistent-readwrite' 42da2d8
Commits on Jun 22, 2012
@SteveSanderson SteveSanderson Rename jsonExpressionRewriting and insertPropertyAccessorsIntoJson - …
…all specs still pass including with minified build
@SteveSanderson SteveSanderson Update specs to refer only to expressionRewriting and preProcessBindings b93ea44
Commits on Jun 26, 2012
@SteveSanderson SteveSanderson Use common IE version detection logic in setOptionNodeSelectionState b2fef6b
@SteveSanderson SteveSanderson Allow optionsCaption to be observable ec98f93
@SteveSanderson SteveSanderson Allow template names to be selected as a function of the entire bindi…
…ng context
@mbest mbest Merge remote-tracking branch 'remotes/origin/setOptionNodeSelectionSt…
@mbest mbest Merge remote-tracking branch 'remotes/origin/template-name-as-functio…
Commits on Jul 02, 2012
@SteveSanderson SteveSanderson Respect _destroy flag when producing list of options 0b49457
@mbest mbest Merge pull request #116 from SteveSanderson/116-options-binding-respe…

'Options' binding doesn't respect _destroy setting
@mbest mbest #259 - Optimize compareArrays in preparation for adding support for m…
…ove detection.

This new code is faster and smaller, and passes all specs.
@mbest mbest #259 - compareArrays now finds and reports moved entries.
The returned "edit script" is backwards compatible because moved entries still include "deleted" and "added" entries. To indicate where they moved to/from, they will now also have a "moved" property.

Added and deleted entries will also have an "idx" property that's needed for the move detection code. We could remove the property afterwards, but that would hurt performance a bit (and add code). The only problem with the extra property is the need to modify the specs since they don't tolerate extra properties.

One of the existing specs already has an entry that triggers the "moved" detection, so I modified it to match the new behavior. Also I added a spec to demonstrate how compareArrays handles an array changed to completely new items.
@mbest mbest #259 - Finally, modify setDomNodeChildrenFromArrayMapping to handle m…
…oved items.

Some other minor changes to setDomNodeChildrenFromArrayMapping benefit size and performance slightly.
Modified an existing spec to show that moved items don't trigger any new mapping or callback calls.
Commits on Jul 03, 2012
@SteveSanderson SteveSanderson Spec to show we can set name property using attr binding 86e7a02
@mbest mbest Show how attr/name fails in IE6. 0d65f37
@SteveSanderson SteveSanderson Ensure IE6/7 sets "name" attributes properly 8f29892
@SteveSanderson SteveSanderson Ensure name attribute handles removal in a reasonable way 67815fb
@mbest mbest Fix for #452: setElementName error IE9 in compatibility mode 0b21a26
@mbest mbest #490 - Export 'ko' in the binding context so it will be available in …
…bindings and templates even if 'ko' isn't exported as a global, such as when using an AMD loader.
Commits on Jul 04, 2012
@SteveSanderson SteveSanderson Comment to record reason for try-catch 2ffcb2c
@SteveSanderson SteveSanderson Merge branch '333-name-attribute-in-old-ie' 9a23766
@SteveSanderson SteveSanderson Merge pull request #490 from SteveSanderson/490-make-ko-available-in-…

Text-based template support breaks when an AMD loader is present
@SteveSanderson SteveSanderson Array mutations no longer cause subscriptions when used from within a…
… ko.computed
Commits on Jul 05, 2012
@mbest mbest Merge pull request #403 from SteveSanderson/403-observable-array-muta…

observableArray mutation functions shouldn't create subscription
Commits on Jul 09, 2012
@mbest mbest Merge pull request #537 from SteveSanderson/rename-jsonExpressionRewr…

Rename json expression rewriting
Commits on Jul 10, 2012
@SteveSanderson SteveSanderson Disable dependency detection during subscriber callbacks to fix #341 cfbc63a
Commits on Jul 11, 2012
@mbest mbest Merge pull request #563 from SteveSanderson/341-ignore-dependencies-f…

341 ignore dependencies from callbacks
Commits on Jul 13, 2012
@studgeek studgeek Added $element pseudo-variable that allows accessing the current elem…
…ent (and through it the DOM tree).
Commits on Jul 25, 2012
@SteveSanderson SteveSanderson Retain Firefox 2 support 15d6f3a
@mbest mbest #352 - Prevent hasfocus causing a loss of focus in all browsers when …
…changing tabs/windows by setting a flag that prevents it from calling 'blur()' on the element when it loses focus.
Commits on Jul 26, 2012
@SteveSanderson SteveSanderson Merge branch '352-hasfocus-keeps-focus' d4bda57
@SteveSanderson SteveSanderson Fix merge error 10c60ac
Commits on Jul 27, 2012
@mbest mbest #259 - Change idx to index in compareArrays. Set a limit to the compa…
…risons in the move detection algorithm.
Commits on Aug 02, 2012
@antishok antishok Made chaining possible on writable computed's abe486f
@mbest mbest #489 - spec for chained computed writes 104161f
Commits on Aug 03, 2012
@mbest mbest #316 - isWriteableValue will match any string that ends with a proper…
…ty accessor.
Commits on Aug 15, 2012
@mbest mbest In preProcessBindings, ensure that property writers don't cause an er…
…ror if the value isn't actually writable (because it was a false-positive match).
Commits on Aug 16, 2012
@SteveSanderson SteveSanderson Minor spec tweak to ensure all assertions are run on old browsers (wi…
…thout Object.keys) too
@SteveSanderson SteveSanderson "foreach" and "template" bindings accept "as" option to define alias …
…for iteration variable (for #465)
@SteveSanderson SteveSanderson Rephrase specs so they can pass on IE7 too eb6a4bd
@mbest mbest support beforeMove and afterMove callbacks in setDomNodeChildrenFromA…
@mbest mbest fix specs randomly failing in Chrome ddaed50
@mbest mbest minor optimizations to setDomNodeChildrenFromArrayMapping 33cecba
@mbest mbest Template binding will also use 'as' option if 'data' is given; move d…
…ata model alias logic to bindingContext.
Commits on Aug 17, 2012
@SteveSanderson SteveSanderson Merge pull request #606 from SteveSanderson/465-foreach-named-iterati…

"foreach" and "template" bindings accept "as" option to define alias for...
@SteveSanderson SteveSanderson Allow newlines in virtual element syntax 0f6d99e
@mbest mbest Fix new spec so it works in IE. Ensure virtual elements with newlines…
… work in rewritten templates: requires fix for #494 also.
Commits on Aug 21, 2012
@SteveSanderson SteveSanderson Merge pull request #279 from SteveSanderson/279-newlines-in-virtual-e…

Containerless control comments with line-breaks are not recognized.
@SteveSanderson SteveSanderson Split default bindings specs into separate files 8664530
Commits on Aug 23, 2012
@SteveSanderson SteveSanderson Merge branch '259-foreach-handle-moves' fbd1ca9
Commits on Aug 24, 2012
@SteveSanderson SteveSanderson Fix Linux/Mac build instructions 12ef8ab
@rniemeyer rniemeyer Merge pull request #593 from SteveSanderson/593-linux-build-instructions
Update build instructions.
Commits on Aug 29, 2012
@mbest mbest move default bindings to separate folder 23f6271
@mbest mbest copy defaultBindings.js to attrBinding.js 4ed7c2f
@mbest mbest Merge branch '564-inter' into 564-split-bindings-into-own-files 857ca29
@mbest mbest copy defaultBindings.js to checkedBinding.js 4569556
@mbest mbest Split checked binding. c943739
@mbest mbest copy defaultBindings.js to clickBinding.js 4b957f3
@mbest mbest Split click binding. 932e922
@mbest mbest copy defaultBindings.js to cssBinding.js b5528f8
@mbest mbest Split css binding. bbe866d
@mbest mbest copy defaultBindings.js to enableBinding.js fe64f35
@mbest mbest Split enable/disable bindings. 3257e67
@mbest mbest copy defaultBindings.js to foreachBinding.js 88d4fe2
@mbest mbest Split foreach binding. 055c8fc
@mbest mbest copy defaultBindings.js to hasfocusBinding.js 93e6681
@mbest mbest Split hasfocus binding. 5900182
@mbest mbest copy defaultBindings.js to htmlBinding.js 3d87b96
@mbest mbest Split html binding. 6b220bc
@mbest mbest copy defaultBindings.js to ifBinding.js f4ba1e8
@mbest mbest Split if binding. a296bab
@mbest mbest copy defaultBindings.js to ifnotBinding.js e9ce1be
@mbest mbest Split ifnot binding. 0015936
@mbest mbest copy defaultBindings.js to optionsBinding.js f512661
@mbest mbest Split options binding. ec62292
@mbest mbest copy defaultBindings.js to selectedOptionsBinding.js 8181ee5
@mbest mbest Split selectedOptions binding. fd6fdf8
@mbest mbest copy defaultBindings.js to styleBinding.js b39d5c5
@mbest mbest Split style binding. 90304c4
@mbest mbest copy defaultBindings.js to submitBinding.js 6db29e8
@mbest mbest Split submit binding. 12cc43b
@mbest mbest copy defaultBindings.js to textBinding.js ee881a6
@mbest mbest Split text binding. 48b76a1
@mbest mbest copy defaultBindings.js to uniqueNameBinding.js 335e62e
@mbest mbest Split uniqueName binding. e9fae62
@mbest mbest copy defaultBindings.js to valueBinding.js 5655047
@mbest mbest Split value binding. 355301f
@mbest mbest copy defaultBindings.js to visibleBinding.js 3661fd3
@mbest mbest Split visible binding. a7eb425
@mbest mbest copy defaultBindings.js to withBinding.js dd51dd0
@mbest mbest Split with binding. 3cb02a0
@mbest mbest copy defaultBindings.js to eventBinding.js a9778c4
@mbest mbest Split event binding. 13f31df
@mbest mbest give new binding files shorter names; update source-references.js ee10e4f
@mbest mbest Merge branch 'master' into 564-split-bindings-into-own-files 3daa496
Commits on Sep 01, 2012
@mbest mbest Support $element in re-written templates. Add $context as a binding c…
…ontext value. Simplify bindings string evaluator.
Commits on Sep 06, 2012
@mbest mbest #483 - Modify ko.computed to dispose itself if it has no dependencies…
…. The computed is then flagged as inactive and does not need to be tracked. Modify templating and arrayToDomNodeChildren to only store the computed if it's active.
@SteveSanderson SteveSanderson Rename local variables to reflect that templating now specifically us…
…es computeds (not arbitrary subscriptions)
@SteveSanderson SteveSanderson Added specs to demonstrate new "isActive" flag 739c555
@SteveSanderson SteveSanderson Can look up "isActive" dynamically to eliminate tracking an extra fla…
…g (we could still change this in the future if the meaning of "deactivation" changes)
@mbest mbest computed is "active" if it might be evaluated in the future ce18b1c
@SteveSanderson SteveSanderson Make build fail if we reference a non-existent file ed25dc6
@SteveSanderson SteveSanderson Remove the reference to the non-existent file 085887e
@mbest mbest Merge pull request #630 from SteveSanderson/630-build-script-detect-m…

Build script references non-existent file "common.js"
Commits on Sep 07, 2012
@SteveSanderson SteveSanderson Merge branch '483-dispose-if-no-dependencies' cb594d0
@mbest mbest #476 - make 'with' binding more lightweight (also 'if' and 'ifnot')
Key features:
If the value is initially true, will save copy of nodes and bind to the originals;
if the value is initially false, will save the originals.
Will only update UI if the value has changed (for if/ifnot, if the value's truthiness has changed).
Uses cloneNode to copy nodes.
Commits on Sep 14, 2012
@rniemeyer rniemeyer Fix for #562, value binding should always write when triggered. 4fe4f0f
@rniemeyer rniemeyer Fix for #562, value binding should always write when triggered. (fix …
…error in last minute variable name change).
Commits on Sep 21, 2012
@SteveSanderson SteveSanderson Ensure binding attributes that end with a '}' character don't cause s…
…yntax errors
@SteveSanderson SteveSanderson Make DOM data logic able to cope with cloned nodes on IE < 9 4181342
@mbest mbest Merge pull request #324 from SteveSanderson/324-domdata-on-cloned-nodes
Problem setting domnode value in IE 9
@mbest mbest Merge pull request #615 from SteveSanderson/615-jquery-templates-brac…

Regression with jquery.tmpl
Commits on Sep 23, 2012
@SteveSanderson SteveSanderson Merge pull request #562 from SteveSanderson/562-value-should-not-prev…

Bug (?) in documentation on computed observables - writeable computeds don't have a chance to react to a change that is the same as current value
Commits on Sep 24, 2012
@mbest mbest Add specs for $context binding property 5d5839b
Commits on Sep 25, 2012
@mbest mbest Add specs for each of the foreach callbacks (afterRender, afterAdd, b…
…eforeRemove, beforeMove, and afterMove) and fix some problems related to those callbacks that were introduced in #259.
@mbest mbest Ensure that bindings have only the dependencies they should.
Add ko.utils.peekObservable.
Use ko.dependencyDetection.ignore for all callbacks from binding handlers.
Use peek and peekObservable within binding handlers to access values that shouldn't be dependencies.
Commits on Sep 28, 2012
@SteveSanderson SteveSanderson Merge pull request #652 from SteveSanderson/601-fix-binding-dependenc…

fix binding dependencies
@SteveSanderson SteveSanderson Merge branch '474-element-in-binding'
Commits on Sep 29, 2012
@mbest mbest Optimize template binding to only re-render template if 'data' or 'if…
…/ifnot' values have changed.
Commits on Sep 30, 2012
@mbest mbest Add specs for if, ifnot, with, and template bindings to test for re-r…
…endering only when necessary--when the bound value changes to a distinctly different value.
@SteveSanderson SteveSanderson Add specs to demonstrate breaking changes (these pass on master) fc79472
@SteveSanderson SteveSanderson Modify if/ifnot/with and template bindings to restore backward compat…
@SteveSanderson SteveSanderson Rename "if.js" to "ifIfnotWith.js" 7e92733
@SteveSanderson SteveSanderson Define if/ifnot/with in single file, since they are all constructed b…
…y a shared utility function
@mbest mbest Optimize ifIfnotWith slightly; make sure saved nodes are cleaned. Add…
… spec for new 'with' functionality.
Commits on Oct 01, 2012
@SteveSanderson SteveSanderson Merge pull request #476 from SteveSanderson/476-lightweight-with-if
make lightweight version of 'with'
Commits on Oct 08, 2012
@SteveSanderson SteveSanderson Extend ko.utils.setTextContent to work with text nodes (works around #… 8bb9b39
@SteveSanderson SteveSanderson Bump version to 2.2.0rc and rebuild 6654678
@SteveSanderson SteveSanderson Fix spurious spec failure on IE10 by treating IE10 as a standard browser 0fcb5ab
@SteveSanderson SteveSanderson Fix IE autofill handling by resetting "propertychange" log whenever w…
…e fire updates from the "value" binding
@mbest mbest Merge pull request #661 from SteveSanderson/661-ie10-spec-fix
KO 2.2.0rc spec failure on IE10
Commits on Oct 09, 2012
@SteveSanderson SteveSanderson Spec tweaks to fix false negatives on Firefox 3.6 1bea8db
@SteveSanderson SteveSanderson Change sort property in edit detection spec to work around Firefox 2 …
…sorting quirk
@rniemeyer rniemeyer Merge pull request #664 from SteveSanderson/664-further-spec-fixes
Further 2.2.0rc spec failures
@mbest mbest Change setDomNodeChildrenFromArrayMapping to remove nodes before doin…
…g add/reorder to match 2.1.0 behavior.
Commits on Oct 10, 2012
@SteveSanderson SteveSanderson Merge pull request #660 from SteveSanderson/660-handle-malformed-temp…

@SteveSanderson SteveSanderson Merge branch '665-fix-foreach-remove-after-add' 5e12b9e
@SteveSanderson SteveSanderson Update specs to more accurately simulate malformed DOM scenarios (fix…
…es false negative on IE < 9)
@SteveSanderson SteveSanderson Merge branch 'master' into 660-handle-malformed-template-markup c420788
Commits on Oct 15, 2012
@mbest mbest fix regression issue with hasfocus: loss of dependency tracking in up…
…date function after first run.
Commits on Oct 17, 2012
@SteveSanderson SteveSanderson Add spec to cover #672 2aee242
@mbest mbest Merge pull request #672 from SteveSanderson/672-hasfocus-lost-dependency
hasfocus: current master breaks hasfocus example (click to focus)
Commits on Oct 28, 2012
@SteveSanderson SteveSanderson Bump version to 2.2.0 and rebuild 2591251