docs(guide/migration): fix typo ngHtmlBind -> ngBindHtml
feat(input): hold listener during text composition

When composing text in CJKV, intermediate buffer for unfinished text should not
be updating the bound scope variables.

Closes #4684
fix($resource): Always return a resource instance when calling class methods on resources.

Previously, calling `MyResource.save(myResourceInstance)`returned
a promise, in contrast to the docs for `$resource`. However,
calling `MyResource.save({name: 'Tobias"})`already correctly
returned a resource instance.

Fixes #4545.
Closes #5061.
fix(ngController): fix issue with ngInclude on the same element

This changes the priority of ngController to 500 so that it takes precedence
over ngInclude.

Closes #4431, #4521
docs(guide/ie): add info about what IE versions are supported

Added text from https://github.com/angular/angular.js/issues/4974

Closes #5070
docs(faq): update compressed and minified file size

Closes #5058
docs(guide/unit-testing): minor style and grammar changes

Closes #5057
chore: use temporary version of grunt-jasmine-node

This should be reverted once https://github.com/jasmine-contrib/grunt-jasmine-node/pull/33 gets merged in the upstream repo.

It fixes the problem where Grunt does not fail the build, even though there are failures.
See https://travis-ci.org/angular/angular.js/builds/14329011#L2366
test(docs): fix the failing specs

Because Grunt was not failing the build, we didn't noticed these failing specs.
fix($compile): ensure CSS classes are added and removed only when necessary

When $compile interpolates a CSS class attribute expression it will
do so by comparing the CSS class value already present on the element.
This may lead to unexpected results when dealing with ngClass values being
added and removed therefore it is best that both compile and ngClass delegate
addClass/removeClass operations to the same block of code.
fix($animate): ensure addClass/removeClass animations do not snap during reflow

Closes #4892
fix($animate): ensure transition animations are unblocked before the dom operation occurs

Transitions are blocked when the base CSS class is added at the start of the animation. This
causes an issue if the followup CSS class contains animatable-styles. Now, once the animation
active state is triggered (when the animation CSS dom operation occurs) the animation itself
will always trigger an animate without a quick jump.

Closes #5014
Closes #4265
fix($animate): ensure keyframe animations are blocked around the reflow

Keyframe animations trigger on the first CSS class and not the second.
This may cause a slight flicker during a stagger animation since the
animation has already started before the stagger delay is considered.
This fix ensures that the animation is blocked until the active animation
starts which allows for staggering animations to take over properly.

Closes #5018
chore($animate): remove unnecessary reflective dereferencing
fix(ngAnimate): correctly retain and restore existing styles during and after animation

Closes #4869
fix(tests): Correct tests for IE11

Some tests were wrong. However, src/* did not contain problems.

Fixes #5046
fix(ngInclude): Don't throw when the ngInclude element contains content with directives.

Related to #5069
fix(ngView): Don't throw when the ngView element contains content with directives.

Fixes #5069
fix(loader): expose `$$minErr` to modules such as`ngResource`

This is highlighted in angular-phonecat when you try to use the index-async.html
which needs to load the ngResource module asynchronously but fails when it tries
to call `angular.$$minErr` to create the $resourceMinErr object.

Closes #5050
fix(ngMock): fixes httpBackend expectation with body object

Fixes an issue with httpBackend expectations where a given body object
may not match the actual request body if its keys are serialized in a
different order.

Closes #4956