# 1.3.0-beta.3 emotional-waffles (2014-03-21) ## Bug Fixes - **ngAnimate:** support `webkitCancelRequestAnimationFrame` in addition to `webkitCancelAnimationFrame` ([c839f78b](https://github.com/angular/angular.js/commit/c839f78b8f2d8d910bc2bfc9e41b3e3b67090ec1), [#6526](https://github.com/angular/angular.js/issues/6526)) - **$http:** allow sending Blob data using `$http` ([b8cc71d4](https://github.com/angular/angular.js/commit/b8cc71d476f76ff51e719fb76fb2348027c858ce), [#5012](https://github.com/angular/angular.js/issues/5012)) - **$httpBackend:** don't error when JSONP callback is called with no parameter ([6680b7b9](https://github.com/angular/angular.js/commit/6680b7b97c0326a80bdccaf0a35031e4af641e0e), [#4987](https://github.com/angular/angular.js/issues/4987), [#6735](https://github.com/angular/angular.js/issues/6735)) - **$rootScope:** ng-repeat can't handle `NaN` values. #4605 ([fb6062fb](https://github.com/angular/angular.js/commit/fb6062fb9d83545730b993e94ac7482ffd43a62c), [#4605](https://github.com/angular/angular.js/issues/4605)) - **$rootScope:** `$watchCollection` should call listener with old value ([78057a94](https://github.com/angular/angular.js/commit/78057a945ef84cbb05f9417fe884cb8c28e67b44), [#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)) - **angular.bootstrap:** allow angular to load only once ([748a6c8d](https://github.com/angular/angular.js/commit/748a6c8d9d8d61c3ee18eec462abe8ff245d6a98), [#5863](https://github.com/angular/angular.js/issues/5863), [#5587](https://github.com/angular/angular.js/issues/5587)) - **jqLite:** `inheritedData()` now traverses Shadow DOM boundaries via the `host` property of `DocumentFragment` ([8a96f317](https://github.com/angular/angular.js/commit/8a96f317e594a5096d4fa56ceae4c685eec8ac8b), [#6637](https://github.com/angular/angular.js/issues/6637)) - **ngCookie:** convert non-string values to string ([36528310](https://github.com/angular/angular.js/commit/3652831084c3788f786046b907a7361d2e89c520), [#6151](https://github.com/angular/angular.js/issues/6151), [#6220](https://github.com/angular/angular.js/issues/6220)) - **ngTouch:** update workaround for Webkit quirk ([bc42950b](https://github.com/angular/angular.js/commit/bc42950b514b60f319812eeb87aae2915e394237), [#6302](https://github.com/angular/angular.js/issues/6302)) - **orderBy:** support string predicates containing non-ident characters ([37bc5ef4](https://github.com/angular/angular.js/commit/37bc5ef4d87f19da47d3ab454c43d1e532c4f924), [#6143](https://github.com/angular/angular.js/issues/6143), [#6144](https://github.com/angular/angular.js/issues/6144)) - **select:** avoid checking option element's `selected` property in render ([f40f54c6](https://github.com/angular/angular.js/commit/f40f54c6da4a5399fe18a89d068634bb491e9f1a), [#2448](https://github.com/angular/angular.js/issues/2448), [#5994](https://github.com/angular/angular.js/issues/5994)) ## Features - **$compile:** add support for `$observer` deregistration ([299b220f](https://github.com/angular/angular.js/commit/299b220f5e05e1d4e26bfd58d0b2fd7329ca76b1), [#5609](https://github.com/angular/angular.js/issues/5609)) - **ngMock.$httpBackend:** added support for function as URL matcher ([d6cfcace](https://github.com/angular/angular.js/commit/d6cfcacee101f2738e0a224a3377232ff85f78a4), [#4580](https://github.com/angular/angular.js/issues/4580)) ## Breaking Changes - **$compile:** due to [299b220f](https://github.com/angular/angular.js/commit/299b220f5e05e1d4e26bfd58d0b2fd7329ca76b1), calling `attr.$observe` no longer returns the observer function, but a deregistration function instead. To migrate the code follow the example below: Before: directive('directiveName', function() { return { link: function(scope, elm, attr) { var observer = attr.$observe('someAttr', function(value) { console.log(value); }); } }; }); After: directive('directiveName', function() { return { link: function(scope, elm, attr) { var observer = function(value) { console.log(value); }; attr.$observe('someAttr', observer); } }; }); - **$httpBackend:** due to [6680b7b9](https://github.com/angular/angular.js/commit/6680b7b97c0326a80bdccaf0a35031e4af641e0e), the JSONP behavior for erroneous and empty responses changed: Previously, a JSONP response was regarded as erroneous if it was empty. Now Angular is listening to the correct events to detect errors, i.e. even empty responses can be successful. # 1.3.0-beta.2 silent-ventriloquism (2014-03-14) ## Bug Fixes - **$$rAF:** always fallback to a $timeout in case native rAF isn't supported ([7b5e0199](https://github.com/angular/angular.js/commit/7b5e019981f352add88be2984de68e553d1bfa93), [#6654](https://github.com/angular/angular.js/issues/6654)) - **$http:** don't convert 0 status codes to 404 for non-file protocols ([56e73ea3](https://github.com/angular/angular.js/commit/56e73ea355c851fdfd574d6d2a9e2fcb75677945), [#6074](https://github.com/angular/angular.js/issues/6074), [#6155](https://github.com/angular/angular.js/issues/6155)) - **ngAnimate:** setting classNameFilter disables animation inside ng-if ([129e2e02](https://github.com/angular/angular.js/commit/129e2e021ab1d773874428cd1fb329eae72797c4), [#6539](https://github.com/angular/angular.js/issues/6539)) ## Features - whitelist blob urls for sanitization of data-bound image urls ([47ab8df4](https://github.com/angular/angular.js/commit/47ab8df455df1f1391b760e1fbcc5c21645512b8), [#4623](https://github.com/angular/angular.js/issues/4623)) # 1.3.0-beta.1 retractable-eyebrow (2014-03-07) ## Bug Fixes - **$compile:** support templates with thead and tfoot root elements ([53ec5e13](https://github.com/angular/angular.js/commit/53ec5e13e5955830b6751019eef232bd2125c0b6), [#6289](https://github.com/angular/angular.js/issues/6289)) - **style:** expressions in style tags ([0609453e](https://github.com/angular/angular.js/commit/0609453e1f9ae074f8d786df903096a6eadb6aa0), [#2387](https://github.com/angular/angular.js/issues/2387), [#6492](https://github.com/angular/angular.js/issues/6492)) ## Features - **input:** support types date, time, datetime-local, month, week ([46bd6dc8](https://github.com/angular/angular.js/commit/46bd6dc88de252886d75426efc2ce8107a5134e9), [#5864](https://github.com/angular/angular.js/issues/5864)) ## Breaking Changes - **build:** due to [eaa1d00b](https://github.com/angular/angular.js/commit/eaa1d00b24008f590b95ad099241b4003688cdda), As communicated before, IE8 is no longer supported. - **input:** types date, time, datetime-local, month, week now always require a `Date` object as model ([46bd6dc8](https://github.com/angular/angular.js/commit/46bd6dc88de252886d75426efc2ce8107a5134e9), [#5864](https://github.com/angular/angular.js/issues/5864)) For more info: http://blog.angularjs.org/2013/12/angularjs-13-new-release-approaches.html # 1.2.14 feisty-cryokinesis (2014-03-01) ## Bug Fixes - **$animate:** - delegate down to addClass/removeClass if setClass is not found ([18c41af0](https://github.com/angular/angular.js/commit/18c41af065006a804a3d38eecca7ae184103ece9), [#6463](https://github.com/angular/angular.js/issues/6463)) - ensure all comment nodes are removed during a leave animation ([f4f1f43d](https://github.com/angular/angular.js/commit/f4f1f43d5140385bbf070510975f72b65196e08a), [#6403](https://github.com/angular/angular.js/issues/6403)) - only block keyframes if a stagger is set to occur ([e71e7b6c](https://github.com/angular/angular.js/commit/e71e7b6cae57f25c5837dda98551c8e0a5cb720d), [#4225](https://github.com/angular/angular.js/issues/4225)) - ensure that animateable directives cancel expired leave animations ([e9881991](https://github.com/angular/angular.js/commit/e9881991ca0a5019d3a4215477738ed247898ba0), [#5886](https://github.com/angular/angular.js/issues/5886)) - ensure all animated elements are taken care of during the closing timeout ([99720fb5](https://github.com/angular/angular.js/commit/99720fb5ab7259af37f708bc4eeda7cbbe790a69), [#6395](https://github.com/angular/angular.js/issues/6395)) - fix for TypeError Cannot call method 'querySelectorAll' in cancelChildAnimations ([c914cd99](https://github.com/angular/angular.js/commit/c914cd99b3aaf932e3c0e2a585eead7b76621f1b), [#6205](https://github.com/angular/angular.js/issues/6205)) - **$http:** - do not add trailing question ([c8e03e34](https://github.com/angular/angular.js/commit/c8e03e34b27a8449d8e1bfe0e3801d6a67ae2c49), [#6342](https://github.com/angular/angular.js/issues/6342)) - send GET requests by default ([267b2173](https://github.com/angular/angular.js/commit/267b217376ed466e9f260ecfdfa15a8227c103ff), [#5985](https://github.com/angular/angular.js/issues/5985), [#6401](https://github.com/angular/angular.js/issues/6401)) - **$parse:** reduce false-positives in isElement tests ([5fe1f39f](https://github.com/angular/angular.js/commit/5fe1f39f027c6f2c6a530975dd5389d788d3c0eb), [#4805](https://github.com/angular/angular.js/issues/4805), [#5675](https://github.com/angular/angular.js/issues/5675)) - **input:** use ValidityState to determine validity ([c2d447e3](https://github.com/angular/angular.js/commit/c2d447e378dd72d1b955f476bd5bf249625b4dab), [#4293](https://github.com/angular/angular.js/issues/4293), [#2144](https://github.com/angular/angular.js/issues/2144), [#4857](https://github.com/angular/angular.js/issues/4857), [#5120](https://github.com/angular/angular.js/issues/5120), [#4945](https://github.com/angular/angular.js/issues/4945), [#5500](https://github.com/angular/angular.js/issues/5500), [#5944](https://github.com/angular/angular.js/issues/5944)) - **isElement:** reduce false-positives in isElement tests ([75515852](https://github.com/angular/angular.js/commit/75515852ea9742d3d84a0f463c2a2c61ef2b7323)) - **jqLite:** - properly toggle multiple classes ([4e73c80b](https://github.com/angular/angular.js/commit/4e73c80b17bd237a8491782bcf9e19f1889e12ed), [#4467](https://github.com/angular/angular.js/issues/4467), [#6448](https://github.com/angular/angular.js/issues/6448)) - make jqLite('