diff --git a/CHANGELOG.md b/CHANGELOG.md
index 76115091ad74..4e462be949f8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,105 +1,142 @@
-
-# 1.4.3 foam-acceleration (2015-07-06)
+
+# 1.4.4 pylon-requirement (2015-08-13)
## Bug Fixes
-- **$animateCss:** ensure animations execute if only a keyframeStyle is provided
- ([97d79eec](https://github.com/angular/angular.js/commit/97d79eec80092f5fae3336c23aa881a72436de55),
- [#12124](https://github.com/angular/angular.js/issues/12124), [#12340](https://github.com/angular/angular.js/issues/12340))
-- **$browser:** prevent infinite digest if changing hash when there is no hashPrefix
- ([f81ff3be](https://github.com/angular/angular.js/commit/f81ff3beb0c9d19d494c5878086fb57476442b8b),
- [#10423](https://github.com/angular/angular.js/issues/10423), [#12145](https://github.com/angular/angular.js/issues/12145))
+- **$animate:**
+ - leave animation callback should not overridden by follow-up animation
+ ([92e41ac9](https://github.com/angular/angular.js/commit/92e41ac904b7d16e96fd31a49ac2ae15d606a665),
+ [#12271](https://github.com/angular/angular.js/issues/12271), [#12249](https://github.com/angular/angular.js/issues/12249), [#12161](https://github.com/angular/angular.js/issues/12161))
+ - make sure to run a post-digest reflow for parentless animations
+ ([861636c6](https://github.com/angular/angular.js/commit/861636c62542252a54fb2d2fa8ea9e17eefee120),
+ [#12400](https://github.com/angular/angular.js/issues/12400), [#12401](https://github.com/angular/angular.js/issues/12401))
+ - ensure that class-based animations are properly applied when cancelled
+ ([21d6db38](https://github.com/angular/angular.js/commit/21d6db382d8f3540fb0bb7280570fba8d88d9843),
+ [#12266](https://github.com/angular/angular.js/issues/12266), [#12007](https://github.com/angular/angular.js/issues/12007))
+- **$animateCss:** make sure that `skipBlocking` avoids the pre-emptive transition-delay styling
+ ([11695ca6](https://github.com/angular/angular.js/commit/11695ca6e2ce5b21bb944ee0de80892203155cbb))
- **$compile:**
- - throw error when requestng new and isolate scopes (async)
- ([6333d65b](https://github.com/angular/angular.js/commit/6333d65b76e0796cfbab8a2953af0c8014dba2e1),
- [#12215](https://github.com/angular/angular.js/issues/12215), [#12217](https://github.com/angular/angular.js/issues/12217))
- - do not write @-bound properties if attribute is not present
- ([8a1eb162](https://github.com/angular/angular.js/commit/8a1eb1625c080445ce1e519762e1f2d4fd842b72),
- [#12151](https://github.com/angular/angular.js/issues/12151), [#12144](https://github.com/angular/angular.js/issues/12144))
- - workaround for IE11 MutationObserver
- ([f3b1d0b7](https://github.com/angular/angular.js/commit/f3b1d0b723298a5f8ea21d0704405649cce1b5fc),
- [#11781](https://github.com/angular/angular.js/issues/11781))
- - exception when using "watch" as isolated scope binding variable in Firefox
- ([a6339d30](https://github.com/angular/angular.js/commit/a6339d30d1379689da5eec9647a953f64821f8b0),
- [#11627](https://github.com/angular/angular.js/issues/11627))
-- **$location:**
- - allow navigating outside the original base URL
- ([6903b5ec](https://github.com/angular/angular.js/commit/6903b5ec4c04ed6b7c80ef7d638c48639ccdc4bb),
- [#11302](https://github.com/angular/angular.js/issues/11302), [#4776](https://github.com/angular/angular.js/issues/4776))
- - do not get caught in infinite digest in IE9
- ([91b60226](https://github.com/angular/angular.js/commit/91b602263b96b6fce1331208462e18eb647f4d60),
- [#11439](https://github.com/angular/angular.js/issues/11439), [#11675](https://github.com/angular/angular.js/issues/11675), [#11935](https://github.com/angular/angular.js/issues/11935), [#12083](https://github.com/angular/angular.js/issues/12083))
-- **$parse:**
- - set null reference properties to `undefined`
- ([71fc3f4f](https://github.com/angular/angular.js/commit/71fc3f4fa0cd12eff335d57efed7c033554749f4),
- [#12099](https://github.com/angular/angular.js/issues/12099))
- - set null reference properties to `undefined`
- ([d19504a1](https://github.com/angular/angular.js/commit/d19504a179355d7801d59a8db0285a1322e04601),
- [#11959](https://github.com/angular/angular.js/issues/11959))
-- **$sanitize:** dont not remove tab index property
- ([799353c7](https://github.com/angular/angular.js/commit/799353c75de28e6fbf52dac6e0721e85b578575a),
- [#8371](https://github.com/angular/angular.js/issues/8371), [#5853](https://github.com/angular/angular.js/issues/5853))
-- **compile:** assign ctrl return values correctly for multiple directives
- ([8caf1802](https://github.com/angular/angular.js/commit/8caf1802e0e93389dec626ef35e04a302aa6c39d),
- [#12029](https://github.com/angular/angular.js/issues/12029), [#12036](https://github.com/angular/angular.js/issues/12036))
-- **copy:** do not copy the same object twice
- ([0e622f7b](https://github.com/angular/angular.js/commit/0e622f7b5bc3d5d0ab0fbc1a1bc69404bd7216d5))
-- **forms:** parse exponential notation in numberInputType parser
- ([ebd0fbba](https://github.com/angular/angular.js/commit/ebd0fbba8ff90bee0cd016d574643d56a7f81ed0),
- [#12121](https://github.com/angular/angular.js/issues/12121), [#12122](https://github.com/angular/angular.js/issues/12122))
-- **linky:** allow case insensitive scheme detection
- ([8dc09e6d](https://github.com/angular/angular.js/commit/8dc09e6dabb84c2c611cdc9e40adfac989648200),
- [#12073](https://github.com/angular/angular.js/issues/12073), [#12073](https://github.com/angular/angular.js/issues/12073))
-- **loader:** define isFunction
- ([9ea52d81](https://github.com/angular/angular.js/commit/9ea52d818bcd2fb3ea8ccc85bf47f9fd5af68843))
-- **merge:** treat dates as atomic values instead of objects.
- ([6cbbd966](https://github.com/angular/angular.js/commit/6cbbd966479448591f819cbf904e0a3b757613dc),
- [#11720](https://github.com/angular/angular.js/issues/11720), [#11720](https://github.com/angular/angular.js/issues/11720))
-- **ngAnimate:** ensure that orphaned elements do not throw errors when animated
- ([e4aeae0c](https://github.com/angular/angular.js/commit/e4aeae0c7303b94135e6df20e6c5e25f2aa0f586),
- [#11975](https://github.com/angular/angular.js/issues/11975), [#12338](https://github.com/angular/angular.js/issues/12338))
-- **ngAria:**
- - update `aria-valuemin/max` when `min/max` change
- ([ebaa0f59](https://github.com/angular/angular.js/commit/ebaa0f598501702ae64d59ada0ae492eaf0e2db6),
- [#11770](https://github.com/angular/angular.js/issues/11770), [#11774](https://github.com/angular/angular.js/issues/11774))
- - ensure boolean values for aria-hidden and aria-disabled
- ([59273354](https://github.com/angular/angular.js/commit/59273354b57dd8d1ad2cd2f4740ffa8923e480f9),
- [#11365](https://github.com/angular/angular.js/issues/11365))
-- **ngModel:** form validation when there is an Object.prototype enumerable value
- ([0934b76b](https://github.com/angular/angular.js/commit/0934b76b72cec86093414834ac4cb7f0946b651d),
- [#12066](https://github.com/angular/angular.js/issues/12066))
-- **ngOptions:**
- - only watch numeric properties of an array
- ([14638f4a](https://github.com/angular/angular.js/commit/14638f4a60053b085565e597fc74bd31cf0d372b))
- - do not watch properties starting with $
- ([34a6da24](https://github.com/angular/angular.js/commit/34a6da24c17356d4ffc70aec3f621a140a9a61ab),
- [#11930](https://github.com/angular/angular.js/issues/11930), [#12010](https://github.com/angular/angular.js/issues/12010))
- - use reference check only when not using trackBy
- ([d7dc14dc](https://github.com/angular/angular.js/commit/d7dc14dc0cdeb9c187d227e19acc8aca7df9d740),
- [#11936](https://github.com/angular/angular.js/issues/11936), [#11996](https://github.com/angular/angular.js/issues/11996))
-- **orderBy:** ensure correct ordering with arrays of objects and no predicate
- ([48e1f560](https://github.com/angular/angular.js/commit/48e1f5605edd32a63318fd78f5165c7d1f1a20f9),
- [#11866](https://github.com/angular/angular.js/issues/11866), [#11312](https://github.com/angular/angular.js/issues/11312), [#4282](https://github.com/angular/angular.js/issues/4282))
+ - don't trigger $observer if initial value is `undefined`
+ ([6f3b8622](https://github.com/angular/angular.js/commit/6f3b8622adce2006df5cf7eed4bf9262539004bd),
+ [#12383](https://github.com/angular/angular.js/issues/12383), [#12464](https://github.com/angular/angular.js/issues/12464))
+ - ignore optional =-bound properties with empty value
+ ([533d9b76](https://github.com/angular/angular.js/commit/533d9b76704368ba9700ab08589118abca9f598c),
+ [#12144](https://github.com/angular/angular.js/issues/12144), [#12259](https://github.com/angular/angular.js/issues/12259), [#12290](https://github.com/angular/angular.js/issues/12290))
+- **$injector:** Allows ES6 function syntax
+ ([44a96a4c](https://github.com/angular/angular.js/commit/44a96a4c140873d9fd8484d870af83a0bb9acabd),
+ [#12424](https://github.com/angular/angular.js/issues/12424), [#12425](https://github.com/angular/angular.js/issues/12425))
+- **$location:** don't crash if navigating outside the app base
+ ([9e492c35](https://github.com/angular/angular.js/commit/9e492c358c19549696577c86c2c61b93f50ab356),
+ [#11667](https://github.com/angular/angular.js/issues/11667))
+- **$q:** Use extend to avoid overwriting prototype
+ ([3abb3fef](https://github.com/angular/angular.js/commit/3abb3fefe653df2a4cb730cface0049939c18efd),
+ [#10697](https://github.com/angular/angular.js/issues/10697))
+- **$rootScope:** don't clear phase if $apply is re-entered
+ ([e0cf496f](https://github.com/angular/angular.js/commit/e0cf496f3cd6835db91546438def5bca1b6db4df),
+ [#12174](https://github.com/angular/angular.js/issues/12174))
+- **Angular:** allow unescaped `=` signs in values in `parseKeyValue`
+ ([f13852c1](https://github.com/angular/angular.js/commit/f13852c179ffd9ec18b7a94df27dec39eb5f19fc),
+ [#12351](https://github.com/angular/angular.js/issues/12351))
+- **httpParamSerializerJQLike:** Follow jQuery for index of arrays of objects
+ ([18a2e4fb](https://github.com/angular/angular.js/commit/18a2e4fbfc44216c31bbcdf7705ca87c53e6f1fa))
+- **i18n:** by default put negative sign before currency symbol
+ ([96f2e3be](https://github.com/angular/angular.js/commit/96f2e3bef5fc310edb2f6ed1addbcb7e1c1e71c2),
+ [#10158](https://github.com/angular/angular.js/issues/10158))
+- **injector:** check that modulesToLoad isArray.
+ ([5abf593e](https://github.com/angular/angular.js/commit/5abf593e6b3535cc836c99db4018a4e2fc2dbc3b),
+ [#12285](https://github.com/angular/angular.js/issues/12285))
+- **input:** Firefox validation trigger
+ ([e7423168](https://github.com/angular/angular.js/commit/e7423168fbf439a8798fdbbffb57955c272c2d74),
+ [#12102](https://github.com/angular/angular.js/issues/12102))
+- **merge:** regExp should not be treated as a objects when merging.
+ ([a5221f32](https://github.com/angular/angular.js/commit/a5221f320a8c1644354003c0e78201add44f11e6),
+ [#12419](https://github.com/angular/angular.js/issues/12419), [#12409](https://github.com/angular/angular.js/issues/12409))
+- **ng/$locale:** by default put negative sign before currency symbol
+ ([52986724](https://github.com/angular/angular.js/commit/5298672411cd7f5870e12185845cc2e9e3fe6949),
+ [#10158](https://github.com/angular/angular.js/issues/10158))
+- **ngAnimate:**
+ - always apply a preparation reflow for CSS-based animations
+ ([d33cedda](https://github.com/angular/angular.js/commit/d33cedda1624114d7e97a97b79705685c6cc40a2),
+ [#12553](https://github.com/angular/angular.js/issues/12553), [#12554](https://github.com/angular/angular.js/issues/12554), [#12267](https://github.com/angular/angular.js/issues/12267), [#12554](https://github.com/angular/angular.js/issues/12554))
+ - ensure that only string-based addClass/removeClass values are applied
+ ([0d6fc2dc](https://github.com/angular/angular.js/commit/0d6fc2dce57ac60dfebba6eefb571ef9afcd2189),
+ [#12458](https://github.com/angular/angular.js/issues/12458), [#12459](https://github.com/angular/angular.js/issues/12459))
+ - ensure that parent class-based animations are never closed by their children
+ ([32d3cbb3](https://github.com/angular/angular.js/commit/32d3cbb3aadf71492102f9318fcac570fb60bef8),
+ [#11975](https://github.com/angular/angular.js/issues/11975), [#12276](https://github.com/angular/angular.js/issues/12276))
+ - allow animations on body and root elements
+ ([44ce9c82](https://github.com/angular/angular.js/commit/44ce9c8288fc6c12043567027271a09bd0594d74),
+ [#11956](https://github.com/angular/angular.js/issues/11956), [#12245](https://github.com/angular/angular.js/issues/12245))
+ - $timeout without invokeApply
+ ([7db5f361](https://github.com/angular/angular.js/commit/7db5f361b0097a79255b90b26b5d700decf22f37),
+ [#12281](https://github.com/angular/angular.js/issues/12281), [#12282](https://github.com/angular/angular.js/issues/12282))
+- **ngCsp:** allow CSP to be configurable
+ ([618356e4](https://github.com/angular/angular.js/commit/618356e481fcfeac74bfc9086332e25062fd8133),
+ [#11933](https://github.com/angular/angular.js/issues/11933), [#8459](https://github.com/angular/angular.js/issues/8459), [#12346](https://github.com/angular/angular.js/issues/12346))
+- **ngModel:** correct minErr usage for correct doc creation
+ ([a268c29f](https://github.com/angular/angular.js/commit/a268c29fb019858155dac6692f351b64d43bb61c),
+ [#12386](https://github.com/angular/angular.js/issues/12386), [#12416](https://github.com/angular/angular.js/issues/12416))
+- **ngOptions:** allow empty option selection with multiple attribute
+ ([c11a7d67](https://github.com/angular/angular.js/commit/c11a7d676f21c39916243b13eeaf47f44b40c8eb),
+ [#12511](https://github.com/angular/angular.js/issues/12511), [#12541](https://github.com/angular/angular.js/issues/12541))
+- **ngSanitize:** escape the wide char quote marks in a regex in linky.js
+ ([39ff3332](https://github.com/angular/angular.js/commit/39ff3332a31b2db09e615ecea07634708cb46d7b),
+ [#11609](https://github.com/angular/angular.js/issues/11609))
## Features
-- **$compile:** show module name during multidir error
- ([351fe4b7](https://github.com/angular/angular.js/commit/351fe4b79c50a45a11af2fcd2aa7b6fd3b70058d),
- [#11775](https://github.com/angular/angular.js/issues/11775))
-- **$q:** $q.resolve as an alias for $q.when
- ([3ef52980](https://github.com/angular/angular.js/commit/3ef529806fef28b41ca4af86a330f39a95699cf6),
- [#11944](https://github.com/angular/angular.js/issues/11944), [#11987](https://github.com/angular/angular.js/issues/11987))
-- **ngAria:** add option to disable role=button
- ([1f5e42e8](https://github.com/angular/angular.js/commit/1f5e42e8821217026ef36a46d36f84d7cd32830a),
- [#11580](https://github.com/angular/angular.js/issues/11580), [#12234](https://github.com/angular/angular.js/issues/12234))
+- **$animateCss:** expose a core version of `$animateCss`
+ ([39b634e5](https://github.com/angular/angular.js/commit/39b634e50a9ed140649d4be119a291debe527d55),
+ [#12509](https://github.com/angular/angular.js/issues/12509))
+- **$httpProvider:** add 'useLegacyPromiseExtensions' configuration
+ ([a8f7e9cf](https://github.com/angular/angular.js/commit/a8f7e9cfde82ed7eaba3a868d8acafdf57f2d76f),
+ [#12112](https://github.com/angular/angular.js/issues/12112), [#10508](https://github.com/angular/angular.js/issues/10508))
+- **orderBy:** Stable sort the input
+ ([ed3a33a0](https://github.com/angular/angular.js/commit/ed3a33a063f09d7ca356d15c278d95ad82e680a0),
+ [#12408](https://github.com/angular/angular.js/issues/12408), [#12405](https://github.com/angular/angular.js/issues/12405))
## Performance Improvements
-- **$compile:** avoid jquery data calls when there is no data
- ([9efb0d5e](https://github.com/angular/angular.js/commit/9efb0d5ee961b57c8fc144a3138a15955e4010e2))
+- **$q:** small $q performance optimization
+ ([6838c979](https://github.com/angular/angular.js/commit/6838c979451c109d959a15035177ccee715ccf19),
+ [#12535](https://github.com/angular/angular.js/issues/12535))
+
+
+## Breaking Changes
+
+- **ngAnimate:** due to [32d3cbb3](https://github.com/angular/angular.js/commit/32d3cbb3aadf71492102f9318fcac570fb60bef8),
+ CSS classes added/removed by ngAnimate are now applied synchronously once the first digest has passed.
+
+The previous behavior involved ngAnimate having to wait for one
+requestAnimationFrame before CSS classes were added/removed. The CSS classes
+are now applied directly after the first digest that is triggered after
+`$animate.addClass`, `$animate.removeClass` or `$animate.setClass` is
+called. If any of your code relies on waiting for one frame before
+checking for CSS classes on the element then please change this
+behavior. If a parent class-based animation, however, is run through a
+JavaScript animation which triggers an animation for `beforeAddClass`
+and/or `beforeRemoveClass` then the CSS classes will not be applied
+in time for the children (and the parent class-based animation will not
+be cancelled by any child animations).
+
+
+
+# 1.4.3 foam-acceleration (2015-07-15)
+
+
+## Bug Fixes
+
+- **$animateCss:** ensure animations execute if only a keyframeStyle is provided
+ ([97d79eec](https://github.com/angular/angular.js/commit/97d79eec80092f5fae3336c23aa881a72436de55),
+ [#12124](https://github.com/angular/angular.js/issues/12124), [#12340](https://github.com/angular/angular.js/issues/12340))
+- **loader:** define isFunction
+ ([9ea52d81](https://github.com/angular/angular.js/commit/9ea52d818bcd2fb3ea8ccc85bf47f9fd5af68843))
+- **ngAnimate:** ensure that orphaned elements do not throw errors when animated
+ ([e4aeae0c](https://github.com/angular/angular.js/commit/e4aeae0c7303b94135e6df20e6c5e25f2aa0f586),
+ [#11975](https://github.com/angular/angular.js/issues/11975), [#12338](https://github.com/angular/angular.js/issues/12338))
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 362f3fd2e126..1fba85c339d9 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -202,7 +202,7 @@ format that includes a **type**, a **scope** and a **subject**:
The **header** is mandatory and the **scope** of the header is optional.
Any line of the commit message cannot be longer 100 characters! This allows the message to be easier
-to read on github as well as in various git tools.
+to read on GitHub as well as in various git tools.
### Revert
If the commit reverts a previous commit, it should begin with `revert: `, followed by the header of the reverted commit. In the body it should say: `This reverts commit .`, where the hash is the SHA of the commit being reverted.
@@ -215,7 +215,7 @@ Must be one of the following:
* **docs**: Documentation only changes
* **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing
semi-colons, etc)
-* **refactor**: A code change that neither fixes a bug or adds a feature
+* **refactor**: A code change that neither fixes a bug nor adds a feature
* **perf**: A code change that improves performance
* **test**: Adding missing tests
* **chore**: Changes to the build process or auxiliary tools and libraries such as documentation
@@ -233,7 +233,7 @@ The subject contains succinct description of the change:
* no dot (.) at the end
### Body
-Just as in the **subject**, use the imperative, present tense: "change" not "changed" nor "changes"
+Just as in the **subject**, use the imperative, present tense: "change" not "changed" nor "changes".
The body should include the motivation for the change and contrast this with previous behavior.
### Footer
diff --git a/Gruntfile.js b/Gruntfile.js
index db263ea911bc..53aaf59a9ad6 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -115,7 +115,7 @@ module.exports = function(grunt) {
files: { src: 'test/**/*.js' },
},
ng: {
- files: { src: files['angularSrc'] },
+ files: { src: files['angularSrc'].concat('!src/angular.bind.js') },
},
ngAnimate: {
files: { src: 'src/ngAnimate/**/*.js' },
@@ -156,7 +156,11 @@ module.exports = function(grunt) {
},
jscs: {
- src: ['src/**/*.js', 'test/**/*.js'],
+ src: [
+ 'src/**/*.js',
+ 'test/**/*.js',
+ '!src/angular.bind.js' // we ignore this file since contains an early return statement
+ ],
options: {
config: ".jscsrc"
}
diff --git a/angularFiles.js b/angularFiles.js
index 702d5efd6290..f40b03ec241c 100755
--- a/angularFiles.js
+++ b/angularFiles.js
@@ -14,13 +14,14 @@ var angularFiles = {
'src/ng/anchorScroll.js',
'src/ng/animate.js',
- 'src/ng/asyncCallback.js',
+ 'src/ng/animateCss.js',
'src/ng/browser.js',
'src/ng/cacheFactory.js',
'src/ng/compile.js',
'src/ng/controller.js',
'src/ng/document.js',
'src/ng/exceptionHandler.js',
+ 'src/ng/forceReflow.js',
'src/ng/http.js',
'src/ng/httpBackend.js',
'src/ng/interpolate.js',
@@ -76,7 +77,10 @@ var angularFiles = {
'src/ng/directive/script.js',
'src/ng/directive/select.js',
'src/ng/directive/style.js',
- 'src/ng/directive/validators.js'
+ 'src/ng/directive/validators.js',
+ 'src/angular.bind.js',
+ 'src/publishExternalApis.js',
+ 'src/ngLocale/angular-locale_en-us.js'
],
'angularLoader': [
@@ -88,7 +92,7 @@ var angularFiles = {
'angularModules': {
'ngAnimate': [
'src/ngAnimate/shared.js',
- 'src/ngAnimate/rafScheduler.js',
+ 'src/ngAnimate/body.js',
'src/ngAnimate/animateChildrenDirective.js',
'src/ngAnimate/animateCss.js',
'src/ngAnimate/animateCssDriver.js',
@@ -179,7 +183,6 @@ var angularFiles = {
'bower_components/jquery/dist/jquery.js',
'test/jquery_remove.js',
'@angularSrc',
- 'src/publishExternalApis.js',
'@angularSrcModules',
'@angularScenario',
'@angularTest'
@@ -188,7 +191,8 @@ var angularFiles = {
'karmaExclude': [
'test/jquery_alias.js',
'src/angular-bootstrap.js',
- 'src/ngScenario/angular-bootstrap.js'
+ 'src/ngScenario/angular-bootstrap.js',
+ 'src/angular.bind.js'
],
'karmaScenario': [
@@ -215,7 +219,6 @@ var angularFiles = {
'bower_components/jquery/dist/jquery.js',
'test/jquery_alias.js',
'@angularSrc',
- 'src/publishExternalApis.js',
'@angularSrcModules',
'@angularScenario',
'@angularTest'
@@ -224,7 +227,8 @@ var angularFiles = {
'karmaJqueryExclude': [
'src/angular-bootstrap.js',
'src/ngScenario/angular-bootstrap.js',
- 'test/jquery_remove.js'
+ 'test/jquery_remove.js',
+ 'src/angular.bind.js'
]
};
diff --git a/docs/config/index.js b/docs/config/index.js
index 8a1833600790..3bba1f92a5e5 100644
--- a/docs/config/index.js
+++ b/docs/config/index.js
@@ -42,7 +42,7 @@ module.exports = new Package('angularjs', [
readFilesProcessor.basePath = path.resolve(__dirname,'../..');
readFilesProcessor.sourceFiles = [
- { include: 'src/**/*.js', basePath: 'src' },
+ { include: 'src/**/*.js', exclude: 'src/angular.bind.js', basePath: 'src' },
{ include: 'docs/content/**/*.ngdoc', basePath: 'docs/content' }
];
diff --git a/docs/content/error/$controller/ctrlfmt.ngdoc b/docs/content/error/$controller/ctrlfmt.ngdoc
index 019598f7951e..effd9c04ace2 100644
--- a/docs/content/error/$controller/ctrlfmt.ngdoc
+++ b/docs/content/error/$controller/ctrlfmt.ngdoc
@@ -11,7 +11,7 @@ Supported formats:
1. `__name__`
2. `__name__ as __identifier__`
-N'either `__name__` or `__identifier__` may contain spaces.
+Neither `__name__` or `__identifier__` may contain spaces.
Example of incorrect usage that leads to this error:
```html
diff --git a/docs/content/error/$http/legacy.ngdoc b/docs/content/error/$http/legacy.ngdoc
new file mode 100644
index 000000000000..1ff4282fc607
--- /dev/null
+++ b/docs/content/error/$http/legacy.ngdoc
@@ -0,0 +1,45 @@
+@ngdoc error
+@name $http:legacy
+@fullName The `success` and `error` methods on the promise returned from `$http` have been disabled.
+@description
+
+This error occurs when the legacy promise extensions (`success` and `error`)
+{@link $httpProvider#useLegacyPromiseExtensions legacy `$http` promise extensions} have been disabled.
+
+To resolve this error, either turn on the legacy extensions by adding
+`$httpProvider.useLegacyPromiseExtensions(true);` to your application's configuration; or refactor you
+use of `$http` to use `.then()` rather than `.success()` and `.error()`.
+
+For example if you code looked like this:
+
+```js
+// Simple GET request example :
+$http.get('/someUrl').
+ success(function(data, status, headers, config) {
+ // This callback will be called asynchronously
+ // when the response is available
+ }).
+ error(function(data, status, headers, config) {
+ // called asynchronously if an error occurs
+ // or server returns response with an error status.
+ });
+```
+
+then you would change it to look like:
+
+```js
+// Simple GET request example :
+$http.get('/someUrl').
+ then(function(response) {
+ // (The response object contains the data, status, headers and config properties)
+ // This callback will be called asynchronously
+ // when the response is available.
+ }, function(response) {
+ // called asynchronously if an error occurs
+ // or server returns response with an error status.
+ });
+```
+
+For more information, see the
+{@link $httpProvider#useLegacyPromiseExtensions `$httpProvider.useLegacyPromiseExtensions`}
+documentation.
diff --git a/docs/content/error/ngOptions/trkslct.ngdoc b/docs/content/error/ngOptions/trkslct.ngdoc
deleted file mode 100644
index 563ab7ea51b0..000000000000
--- a/docs/content/error/ngOptions/trkslct.ngdoc
+++ /dev/null
@@ -1,33 +0,0 @@
-@ngdoc error
-@name ngOptions:trkslct
-@fullName Comprehension expression cannot contain both `select as` and `track by` expressions.
-@description
-
-NOTE: This error was introduced in 1.3.0-rc.5, and was removed for 1.3.0-rc.6 in order to
-not break existing apps.
-
-This error occurs when 'ngOptions' is passed a comprehension expression that contains both a
-`select as` expression and a `track by` expression. These two expressions are fundamentally
-incompatible.
-
- * Example of bad expression: `