| Age | Commit message (Collapse) | Author | 
 | 
Closes #864
 | 
 | 
 | 
 | 
just fixing leftover code after the removal of ngModelInstant
 | 
 | 
 | 
 | 
jQuery's attr() does not handle 0 as false, when it comes to boolean attrs.
 | 
 | 
Removing invalid widget sometimes resulted in improper cleanup of the form state.
 | 
 | 
Closes# 850
fixed an issue where ng-href would not copy its content into href if it did not contain binding.
 | 
 | 
 | 
 | 
And make it terminal so that it does not compile its content, which would cause leaks.
 | 
 | 
 | 
 | 
The purpose of allowing the scope to be specified was to enable the $route service to work
together with ngInclude. However the functionality of creating scopes was in the recent past
moved from the $route service to the ngView directive, so currently there is no valid use case
for specifying the scope for ngInclude. In fact, allowing the scope to be defined can under
certain circumstances lead to memory leaks.
Breaks ngInclude does not have scope attribute anymore.
 | 
 | 
It turns out that listening only on "blur" event is not sufficient in many scenarios,
especially when you use form validation you always had to use ngModelnstant
e.g. if you want to disable a button based on valid/invalid form.
The feedback we got from our apps as well as external apps is that the
ngModelInstant should be the default.
In the future we might provide alternative ways of suppressing updates
on each key stroke, but it's not going to be the default behavior.
Apps already using the ngModelInstant can safely remove it from their
templates. Input fields without ngModelInstant directive will start propagating
the input changes into the model on each key stroke.
 | 
 | 
 | 
 | 
 | 
 | 
We have many instances of this object and we clone them as well (e.g. ng-repeat).
This should save some memory and performance as well.
Double prefixed private properties of attr object:
attr.$element -> attr.$$element
attr.$observers -> attr.$$observers
Update shallowCopy to not copy $$ properties and allow passing optional destination object.
 | 
 | 
The `attr` object was only shallow copied which caused all observers to be shared.
Fixing similar issue in ng-* boolean attributes as well as ng-src and ng-href.
 | 
 | 
Instead of using our custom serializer we now use the native one and
use the replacer function to customize the serialization to preserve
most of the previous behavior (ignore $ and $$ properties as well
as window, document and scope instances).
 | 
 | 
 |