angular.js v1.5.0-rc.2 Release Notes
Release Date: 2016-01-28 // about 8 years ago-
๐ Deprecation Warning
- ๐ The
ngTouch
module'sngClick
directive has been deprecated and disabled by default. See the breaking ๐ changes section for more information - ๐ The
angular.lowercase
andangular.uppercase
functions have been deprecated and will be removed ๐ in version 1.7.0. It is recommended to use String.prototype.toLowerCase and String.prototype.toUpperCase functions instead.
๐ Bug Fixes
- $compile:
- ๐ $parse: Preserve expensive checks when running $eval inside an expression (acfda102)
- dateFilter: follow the CLDR on pattern escape sequences (1ab4e444, #12839)
- ngAnimate:
- cancel fallback timeout when animation ends normally (e9c406b2, #13787)
- correctly handle
$animate.pin()
host elements (7700e2df, #13783) - properly cancel-out previously running class-based animations (20b8ece4, #10156, #13822)
- ensure that animate promises resolve when the document is hidden (52ea4110)
- do not trigger animations if the document is hidden (a3a7afd3, #12842, #13776)
- ngSanitize: blacklist the attribute
usemap
as it can be used as a security exploit (234053fc) - ngTouch: deprecate ngClick and disable it by default (0dfc1dfe, #4030, #5307, #6001, #6432, #7231, #11358, #12082, #12153, #12392, #12545, #12867, #13213, #13558, #3296, #3347, #3447, #3999, #4428, #6251, #6330, #7134, #7935, #9724, #9744, #9872, #10211, #10366, #10918, #11197, #11261, #11342, #11577, #12150, #12317, #12455, #12734, #13122, #13272, #13447)
๐ Features
- $compile:
- $locale: include original locale ID in
$locale
(63492a02, #13390) - $resource: add support for timeout in cancellable actions (d641901b, #13824)
๐ Performance Improvements
- $compile: avoid needless overhead when wrapping text nodes (92e4801d)
- ngAnimate: speed up
areAnimationsAllowed
check (683bd92f)
๐ฅ Breaking Changes
- ngSanitize: due to 234053fc,
๐ The
$sanitize
service will now remove instances of theusemap
attribute from any elements passed to it.This attribute is used to reference another element by
name
orid
. Since thename
andid
attributes are already blacklisted, a sanitizedusemap
attribute could only reference unsanitized ๐ content, which is a security risk.- ngTouch: due to 0dfc1dfe,
๐ The
ngClick
override directive from thengTouch
module is deprecated and disabled by default. This means that on touch-based devices, users might now experience a 300ms delay before a click event is fired.If you rely on this directive, you can still enable it with the
$touchProvider.ngClickOverrideEnabled()
method:angular.module('myApp').config(function($touchProvider) { $touchProvider.ngClickOverrideEnabled(true); });
Going forward, we recommend using FastClick or perhaps one of the Angular 3rd party touch-related modules that provide similar functionality.
๐ Also note that modern browsers already remove the 300ms delay under some circumstances:
- ๐ Chrome and Firefox for Android remove the 300ms delay when the well-known
<meta name="viewport" content="width=device-width">
is set - ๐ Internet Explorer removes the delay when
touch-action
css property is set tonone
ormanipulation
- ๐ Since iOs 8, Safari removes the delay on so-called "slow taps"
๐ See this article by Telerik for more info on the topic.
Note that this change does not affect the
ngSwipe
directive. - ๐ The