<feed xmlns='http://www.w3.org/2005/Atom'>
<title>angular.js/test, branch v1.2.13</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/'/>
<entry>
<title>style(animate): remove ws</title>
<updated>2014-02-15T00:31:57+00:00</updated>
<author>
<name>Igor Minar</name>
</author>
<published>2014-02-14T23:53:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=fab2d3c92fb4f813f0cf6f3e576d2d01ee8ade4b'/>
<id>fab2d3c92fb4f813f0cf6f3e576d2d01ee8ade4b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix($animate): ensure $animate doesn't break natural CSS transitions</title>
<updated>2014-02-15T00:30:48+00:00</updated>
<author>
<name>Matias Niemelä</name>
</author>
<published>2014-02-14T09:02:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=4f84f6b3e4210ae1eb14728a46d43dd961700a0c'/>
<id>4f84f6b3e4210ae1eb14728a46d43dd961700a0c</id>
<content type='text'>
BREAKING CHANGE: ngClass and {{ class }} will now call the `setClass`
animation callback instead of addClass / removeClass when both a
addClass/removeClass operation is being executed on the element during the animation.

Please include the setClass animation callback as well as addClass and removeClass within
your JS animations to work with ngClass and {{ class }} directives.

Closes #6019
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
BREAKING CHANGE: ngClass and {{ class }} will now call the `setClass`
animation callback instead of addClass / removeClass when both a
addClass/removeClass operation is being executed on the element during the animation.

Please include the setClass animation callback as well as addClass and removeClass within
your JS animations to work with ngClass and {{ class }} directives.

Closes #6019
</pre>
</div>
</content>
</entry>
<entry>
<title>pref($animate): only trigger DOM callbacks if registered on the element being animated</title>
<updated>2014-02-15T00:28:56+00:00</updated>
<author>
<name>Matias Niemelä</name>
</author>
<published>2014-02-14T05:53:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=cf5e463abd2c23f62e9c2e6361e6c53048c8910e'/>
<id>cf5e463abd2c23f62e9c2e6361e6c53048c8910e</id>
<content type='text'>
BREAKING CHANGE: Both the `$animate:before` and `$animate:after` DOM events must be now
registered prior to the $animate operation taking place. The `$animate:close` event
can be registered anytime afterwards.

DOM callbacks used to fired for each and every animation operation that occurs within the
$animate service provided in the ngAnimate module. This may end up slowing down an
application if 100s of elements are being inserted into the page. Therefore after this
change callbacks are only fired if registered on the element being animated.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
BREAKING CHANGE: Both the `$animate:before` and `$animate:after` DOM events must be now
registered prior to the $animate operation taking place. The `$animate:close` event
can be registered anytime afterwards.

DOM callbacks used to fired for each and every animation operation that occurs within the
$animate service provided in the ngAnimate module. This may end up slowing down an
application if 100s of elements are being inserted into the page. Therefore after this
change callbacks are only fired if registered on the element being animated.
</pre>
</div>
</content>
</entry>
<entry>
<title>pref($animate): group all asynchronous requests into one shared buffer</title>
<updated>2014-02-15T00:28:34+00:00</updated>
<author>
<name>Matias Niemelä</name>
</author>
<published>2014-02-13T19:59:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=f288b8f010468237d238acf51ea3d8108138207a'/>
<id>f288b8f010468237d238acf51ea3d8108138207a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>chore(jqLite): expose the _data lookup function to angular.element</title>
<updated>2014-02-14T23:49:08+00:00</updated>
<author>
<name>Matias Niemelä</name>
</author>
<published>2014-02-14T05:25:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=b7e4e92014a5fe7a2d8c896703498090d88793ce'/>
<id>b7e4e92014a5fe7a2d8c896703498090d88793ce</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix($compile) support templates with table content root nodes</title>
<updated>2014-02-14T19:42:55+00:00</updated>
<author>
<name>Caitlin Potter</name>
</author>
<published>2013-12-02T20:05:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=31c450bcee53d0a3827b7e0a611e9013b2496506'/>
<id>31c450bcee53d0a3827b7e0a611e9013b2496506</id>
<content type='text'>
If the first element in a template is a &lt;tr&gt;, &lt;th&gt;, &lt;td&gt;, or &lt;tbody&gt; tag,
the HTML compiler will ensure that the template is wrapped in a &lt;table&gt;
element so that the table content is not discarded.

Closes #2848
Closes #1459
Closes #3647
Closes #3241
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the first element in a template is a &lt;tr&gt;, &lt;th&gt;, &lt;td&gt;, or &lt;tbody&gt; tag,
the HTML compiler will ensure that the template is wrapped in a &lt;table&gt;
element so that the table content is not discarded.

Closes #2848
Closes #1459
Closes #3647
Closes #3241
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(input): setViewValue on compositionend</title>
<updated>2014-02-13T01:28:13+00:00</updated>
<author>
<name>Caitlin Potter</name>
</author>
<published>2013-12-16T18:06:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=2b7302713674506fdbcdc396c38f18dcb90dee8c'/>
<id>2b7302713674506fdbcdc396c38f18dcb90dee8c</id>
<content type='text'>
Because of a4e6d962, model is not updated on input/change between the
compositionstart and compositionend events. Unfortunately, the compositionend
event does not always happen prior to an input/change event.

This changeset calls the listener function to update the model after a
compositionend event is received.

Closes #6058
Closes #5433
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Because of a4e6d962, model is not updated on input/change between the
compositionstart and compositionend events. Unfortunately, the compositionend
event does not always happen prior to an input/change event.

This changeset calls the listener function to update the model after a
compositionend event is received.

Closes #6058
Closes #5433
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(filterFilter): support deeply nested predicate objects</title>
<updated>2014-02-11T22:08:41+00:00</updated>
<author>
<name>Caitlin Potter</name>
</author>
<published>2014-02-11T14:57:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=b4eed8ad94ce9719540462c1ee969dfd3c6b2355'/>
<id>b4eed8ad94ce9719540462c1ee969dfd3c6b2355</id>
<content type='text'>
Due to 339a165, it became impossible to filter nested properties of an object using the filterFilter.
A proposed solution to this was to enable the use of nested predicate objects. This change enables the
use of these nested predicate objects.

Example:

```html
&lt;div ng-repeat="it in items | filter:{ address: { country: 'Canuckistan'}}"&gt;&lt;/div&gt;
```

Or

```js
$filter('filter')(items, { address: { country: 'Canuckistan' } });
```

Closes #6215
Related to #6009
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Due to 339a165, it became impossible to filter nested properties of an object using the filterFilter.
A proposed solution to this was to enable the use of nested predicate objects. This change enables the
use of these nested predicate objects.

Example:

```html
&lt;div ng-repeat="it in items | filter:{ address: { country: 'Canuckistan'}}"&gt;&lt;/div&gt;
```

Or

```js
$filter('filter')(items, { address: { country: 'Canuckistan' } });
```

Closes #6215
Related to #6009
</pre>
</div>
</content>
</entry>
<entry>
<title>fix($compile): ensure element transclusion directives are linked with comment element</title>
<updated>2014-02-10T23:41:28+00:00</updated>
<author>
<name>Caitlin Potter</name>
</author>
<published>2014-01-28T16:34:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=e7338d3f27e8824196136a18e1c3e0fcf51a0e28'/>
<id>e7338d3f27e8824196136a18e1c3e0fcf51a0e28</id>
<content type='text'>
This corrects a complicated compiler issue, described in detail below:

Previously, if an element transclusion directive contained an asynchronous directive whose template
contained another element transclusion directive, the inner element transclusion directive would be
linked with the element, rather than the expected comment node.

An example manifestation of this bug would look like so:

```html
&lt;div ng-repeat="i in [1,2,3,4,5]"&gt;
  &lt;div my-directive&gt;
  &lt;/div&gt;
&lt;/div&gt;
```

`my-directive` would be a replace directive, and its template would contain another element
transclusion directive, like so:

```html
&lt;div ng-if="true"&gt;{{i}}&lt;/div&gt;
```

ngIf would be linked with this template content, rather than the comment node, and the template element
would be attached to the DOM, rather than the comment. As a result, this caused ng-if to duplicate the
template when its expression evaluated to true.

Closes #6006
Closes #6101
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This corrects a complicated compiler issue, described in detail below:

Previously, if an element transclusion directive contained an asynchronous directive whose template
contained another element transclusion directive, the inner element transclusion directive would be
linked with the element, rather than the expected comment node.

An example manifestation of this bug would look like so:

```html
&lt;div ng-repeat="i in [1,2,3,4,5]"&gt;
  &lt;div my-directive&gt;
  &lt;/div&gt;
&lt;/div&gt;
```

`my-directive` would be a replace directive, and its template would contain another element
transclusion directive, like so:

```html
&lt;div ng-if="true"&gt;{{i}}&lt;/div&gt;
```

ngIf would be linked with this template content, rather than the comment node, and the template element
would be attached to the DOM, rather than the comment. As a result, this caused ng-if to duplicate the
template when its expression evaluated to true.

Closes #6006
Closes #6101
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(mocks): rename mock.animate to ngAnimateMock and ensure it contains all test helper code for ngAnimate</title>
<updated>2014-02-06T06:22:14+00:00</updated>
<author>
<name>Matias Niemelä</name>
</author>
<published>2014-01-23T00:28:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=4224cd5182bc93e4a210f75e0a4e4de7f3c544e8'/>
<id>4224cd5182bc93e4a210f75e0a4e4de7f3c544e8</id>
<content type='text'>
Closes #5822
Closes #5917
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #5822
Closes #5917
</pre>
</div>
</content>
</entry>
</feed>
