diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6f3150b0b482..cf0ff76ec4fc 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,92 @@
+
+# 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)
@@ -333,26 +422,26 @@ The animation mock module has been renamed from `mock.animate` to `ngAnimateMock
## Breaking Changes
- **$http:** due to [e1cfb195](https://github.com/angular/angular.js/commit/e1cfb1957feaf89408bccf48fae6f529e57a82fe),
- it is now necessary to separately specify default HTTP headers for PUT, POST and PATCH requests, as these no longer share a single object.
+ it is now necessary to separately specify default HTTP headers for PUT, POST and PATCH requests, as these no longer share a single object.
- To migrate your code, follow the example below:
+ To migrate your code, follow the example below:
- Before:
+ Before:
- // Will apply to POST, PUT and PATCH methods
- $httpProvider.defaults.headers.post = {
- "X-MY-CSRF-HEADER": "..."
- };
+ // Will apply to POST, PUT and PATCH methods
+ $httpProvider.defaults.headers.post = {
+ "X-MY-CSRF-HEADER": "..."
+ };
- After:
+ After:
- // POST, PUT and PATCH default headers must be specified separately,
- // as they do not share data.
- $httpProvider.defaults.headers.post =
- $httpProvider.defaults.headers.put =
- $httpProviders.defaults.headers.patch = {
- "X-MY-CSRF-HEADER": "..."
- };
+ // POST, PUT and PATCH default headers must be specified separately,
+ // as they do not share data.
+ $httpProvider.defaults.headers.post =
+ $httpProvider.defaults.headers.put =
+ $httpProviders.defaults.headers.patch = {
+ "X-MY-CSRF-HEADER": "..."
+ };
# 1.2.8 interdimensional-cartography (2014-01-10)