|
| 1 | +<a name="1.3.0-beta.3"></a> |
| 2 | +# 1.3.0-beta.3 emotional-waffles (2014-03-21) |
| 3 | + |
| 4 | + |
| 5 | +## Bug Fixes |
| 6 | + |
| 7 | +- **ngAnimate:** support `webkitCancelRequestAnimationFrame` in addition to `webkitCancelAnimationFrame` |
| 8 | + ([c839f78b](https://github.com/angular/angular.js/commit/c839f78b8f2d8d910bc2bfc9e41b3e3b67090ec1), |
| 9 | + [#6526](https://github.com/angular/angular.js/issues/6526)) |
| 10 | +- **$http:** allow sending Blob data using `$http` |
| 11 | + ([b8cc71d4](https://github.com/angular/angular.js/commit/b8cc71d476f76ff51e719fb76fb2348027c858ce), |
| 12 | + [#5012](https://github.com/angular/angular.js/issues/5012)) |
| 13 | +- **$httpBackend:** don't error when JSONP callback is called with no parameter |
| 14 | + ([6680b7b9](https://github.com/angular/angular.js/commit/6680b7b97c0326a80bdccaf0a35031e4af641e0e), |
| 15 | + [#4987](https://github.com/angular/angular.js/issues/4987), [#6735](https://github.com/angular/angular.js/issues/6735)) |
| 16 | +- **$rootScope:** ng-repeat can't handle `NaN` values. #4605 |
| 17 | + ([fb6062fb](https://github.com/angular/angular.js/commit/fb6062fb9d83545730b993e94ac7482ffd43a62c), |
| 18 | + [#4605](https://github.com/angular/angular.js/issues/4605)) |
| 19 | +- **$rootScope:** `$watchCollection` should call listener with old value |
| 20 | + ([78057a94](https://github.com/angular/angular.js/commit/78057a945ef84cbb05f9417fe884cb8c28e67b44), |
| 21 | + [#2621](https://github.com/angular/angular.js/issues/2621), [#5661](https://github.com/angular/angular.js/issues/5661), [#5688](https://github.com/angular/angular.js/issues/5688), [#6736](https://github.com/angular/angular.js/issues/6736)) |
| 22 | +- **angular.bootstrap:** allow angular to load only once |
| 23 | + ([748a6c8d](https://github.com/angular/angular.js/commit/748a6c8d9d8d61c3ee18eec462abe8ff245d6a98), |
| 24 | + [#5863](https://github.com/angular/angular.js/issues/5863), [#5587](https://github.com/angular/angular.js/issues/5587)) |
| 25 | +- **jqLite:** `inheritedData()` now traverses Shadow DOM boundaries via the `host` property of `DocumentFragment` |
| 26 | + ([8a96f317](https://github.com/angular/angular.js/commit/8a96f317e594a5096d4fa56ceae4c685eec8ac8b), |
| 27 | + [#6637](https://github.com/angular/angular.js/issues/6637)) |
| 28 | +- **ngCookie:** convert non-string values to string |
| 29 | + ([36528310](https://github.com/angular/angular.js/commit/3652831084c3788f786046b907a7361d2e89c520), |
| 30 | + [#6151](https://github.com/angular/angular.js/issues/6151), [#6220](https://github.com/angular/angular.js/issues/6220)) |
| 31 | +- **ngTouch:** update workaround for Webkit quirk |
| 32 | + ([bc42950b](https://github.com/angular/angular.js/commit/bc42950b514b60f319812eeb87aae2915e394237), |
| 33 | + [#6302](https://github.com/angular/angular.js/issues/6302)) |
| 34 | +- **orderBy:** support string predicates containing non-ident characters |
| 35 | + ([37bc5ef4](https://github.com/angular/angular.js/commit/37bc5ef4d87f19da47d3ab454c43d1e532c4f924), |
| 36 | + [#6143](https://github.com/angular/angular.js/issues/6143), [#6144](https://github.com/angular/angular.js/issues/6144)) |
| 37 | +- **select:** avoid checking option element's `selected` property in render |
| 38 | + ([f40f54c6](https://github.com/angular/angular.js/commit/f40f54c6da4a5399fe18a89d068634bb491e9f1a), |
| 39 | + [#2448](https://github.com/angular/angular.js/issues/2448), [#5994](https://github.com/angular/angular.js/issues/5994)) |
| 40 | + |
| 41 | + |
| 42 | +## Features |
| 43 | + |
| 44 | +- **$compile:** add support for `$observer` deregistration |
| 45 | + ([299b220f](https://github.com/angular/angular.js/commit/299b220f5e05e1d4e26bfd58d0b2fd7329ca76b1), |
| 46 | + [#5609](https://github.com/angular/angular.js/issues/5609)) |
| 47 | +- **ngMock.$httpBackend:** added support for function as URL matcher |
| 48 | + ([d6cfcace](https://github.com/angular/angular.js/commit/d6cfcacee101f2738e0a224a3377232ff85f78a4), |
| 49 | + [#4580](https://github.com/angular/angular.js/issues/4580)) |
| 50 | + |
| 51 | + |
| 52 | +## Breaking Changes |
| 53 | + |
| 54 | +- **$compile:** due to [299b220f](https://github.com/angular/angular.js/commit/299b220f5e05e1d4e26bfd58d0b2fd7329ca76b1), |
| 55 | + calling `attr.$observe` no longer returns the observer function, but a |
| 56 | + deregistration function instead. To migrate the code follow the example below: |
| 57 | + |
| 58 | +Before: |
| 59 | + |
| 60 | + directive('directiveName', function() { |
| 61 | + return { |
| 62 | + link: function(scope, elm, attr) { |
| 63 | + var observer = attr.$observe('someAttr', function(value) { |
| 64 | + console.log(value); |
| 65 | + }); |
| 66 | + } |
| 67 | + }; |
| 68 | + }); |
| 69 | + |
| 70 | +After: |
| 71 | + |
| 72 | + directive('directiveName', function() { |
| 73 | + return { |
| 74 | + link: function(scope, elm, attr) { |
| 75 | + var observer = function(value) { |
| 76 | + console.log(value); |
| 77 | + }; |
| 78 | + |
| 79 | + attr.$observe('someAttr', observer); |
| 80 | + } |
| 81 | + }; |
| 82 | + }); |
| 83 | + |
| 84 | +- **$httpBackend:** due to [6680b7b9](https://github.com/angular/angular.js/commit/6680b7b97c0326a80bdccaf0a35031e4af641e0e), the JSONP behavior for erroneous and empty responses changed: |
| 85 | + Previously, a JSONP response was regarded as erroneous if it was empty. Now Angular is listening to the |
| 86 | + correct events to detect errors, i.e. even empty responses can be successful. |
| 87 | + |
| 88 | + |
| 89 | + |
1 | 90 | <a name="1.3.0-beta.2"></a>
|
2 | 91 | # 1.3.0-beta.2 silent-ventriloquism (2014-03-14)
|
3 | 92 |
|
@@ -333,26 +422,26 @@ The animation mock module has been renamed from `mock.animate` to `ngAnimateMock
|
333 | 422 | ## Breaking Changes
|
334 | 423 |
|
335 | 424 | - **$http:** due to [e1cfb195](https://github.com/angular/angular.js/commit/e1cfb1957feaf89408bccf48fae6f529e57a82fe),
|
336 |
| - it is now necessary to separately specify default HTTP headers for PUT, POST and PATCH requests, as these no longer share a single object. |
| 425 | + it is now necessary to separately specify default HTTP headers for PUT, POST and PATCH requests, as these no longer share a single object. |
337 | 426 |
|
338 |
| - To migrate your code, follow the example below: |
| 427 | + To migrate your code, follow the example below: |
339 | 428 |
|
340 |
| - Before: |
| 429 | + Before: |
341 | 430 |
|
342 |
| - // Will apply to POST, PUT and PATCH methods |
343 |
| - $httpProvider.defaults.headers.post = { |
344 |
| - "X-MY-CSRF-HEADER": "..." |
345 |
| - }; |
| 431 | + // Will apply to POST, PUT and PATCH methods |
| 432 | + $httpProvider.defaults.headers.post = { |
| 433 | + "X-MY-CSRF-HEADER": "..." |
| 434 | + }; |
346 | 435 |
|
347 |
| - After: |
| 436 | + After: |
348 | 437 |
|
349 |
| - // POST, PUT and PATCH default headers must be specified separately, |
350 |
| - // as they do not share data. |
351 |
| - $httpProvider.defaults.headers.post = |
352 |
| - $httpProvider.defaults.headers.put = |
353 |
| - $httpProviders.defaults.headers.patch = { |
354 |
| - "X-MY-CSRF-HEADER": "..." |
355 |
| - }; |
| 438 | + // POST, PUT and PATCH default headers must be specified separately, |
| 439 | + // as they do not share data. |
| 440 | + $httpProvider.defaults.headers.post = |
| 441 | + $httpProvider.defaults.headers.put = |
| 442 | + $httpProviders.defaults.headers.patch = { |
| 443 | + "X-MY-CSRF-HEADER": "..." |
| 444 | + }; |
356 | 445 |
|
357 | 446 | <a name="1.2.8"></a>
|
358 | 447 | # 1.2.8 interdimensional-cartography (2014-01-10)
|
|
0 commit comments