angular.js v1.5.0-rc.2 Release Notes

Release Date: 2016-01-28 // about 8 years ago
  • ๐Ÿ—„ Deprecation Warning

    • ๐Ÿ‘€ The ngTouch module's ngClick directive has been deprecated and disabled by default. See the breaking ๐Ÿ”„ changes section for more information
    • ๐Ÿšš The angular.lowercase and angular.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

    ๐Ÿ”‹ Features

    • $compile:
      • allow required controllers to be bound to the directive controller (56c3666f, #6040, #5893, #13763)
      • allow directive definition property require to be an object (cd21216f, #8401, #13763)
      • call $onInit on directive controllers after all sibling controllers have been constructed (3ffdf380, #13763)
    • $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

    ๐Ÿšš The $sanitize service will now remove instances of the usemap attribute from any elements passed to it.

    This attribute is used to reference another element by name or id. Since the name and id attributes are already blacklisted, a sanitized usemap attribute could only reference unsanitized ๐Ÿ”’ content, which is a security risk.

    ๐Ÿ—„ The ngClick override directive from the ngTouch 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 to none or manipulation
    • ๐Ÿšš 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.