Socket
Socket
Sign inDemoInstall

angular-scenario

Package Overview
Dependencies
0
Maintainers
2
Versions
99
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install
Previous1
57
10Next

1.5.0-rc.1

Diff

Changelog

Source

1.5.0-rc.1 quantum-fermentation (2016-01-15)

Features

  • $compile:
    • Allow ES6 classes as controllers with bindToController: true (8955cfb6)
    • Allow ES6 classes as controllers with bindToController: true (b0248b78)
  • $compileProvider: - allow registering components with the component() method (feeb19787ca6e23e15578a4d1319f1c33853290c)
  • component:
  • $injector: support instantiating classes. (8b6b4282)
  • ngMock: add support for $animate.closeAndFlush() (e1def1b8, #13005, #13576, #13707)
  • ngMock.$componentController: add helper to instantiate controllers for components (dd14e0c4, #13683, #13711)

Bug Fixes

Breaking Changes

  • $component: These breaking changes affect only applications updating from previous 1.5 beta / rc versions

    • Due to d91cf167, the default controllerAs value for components is now $ctrl (previously the name of the component was used). To migrate, either set controllerAs to the component name, or change the property name in your templates to $ctrl

    • Due to 25bc5318, it is no longer possible to set the restrict option on directives created via the module.component() helper. All components are now element directives (restrict: 'E'). If you need a directive that is not an element then you must use the module.directive() helper instead.

    • Due to f31c5a39, components are now always created with scope: {} (isolate scope). Previously, it was also possible to create components with scope: true or scope: false. If your components rely on this scope configuration, you will have to create a regular directive instead.

    • Due to 6a47c0d7, the transclude property is now false by default (previously true). If you created components that expected transclusion then you must change your code to specify transclude: true.

  • linky: due to 98c2db7f,

Before this change, the filter assumed that the input (if not undefined/null) was of type 'string' and that certain methods (such as .match()) would be available on it. Passing a non-string value would most likely result in a not-very-useful error being thrown (trying to call a method that does not exist) or in unexpected behavior (if the input happened to have the assumed methods).

After this change, a proper (informative) error will be thrown. If you want to pass non-string values through linky, you need to explicitly convert them to strings first. Since input values could be initialized asynchronously, undefined or null will still be returned unchanged (without throwing an error).

<a name="1.5.0-rc.0"></a>

angularcore
published 1.5.0-rc.0 •

Changelog

Source

1.5.0-rc.0 oblong-panoptikum (2015-12-09)

This is the first Release Candidate for AngularJS 1.5.0. Please try upgrading your applications and report any regressions or other issues you find as soon as possible.

Features

Bug Fixes

Breaking Changes

This is only a breaking change to a feature that was added in beta 2. If you have not started using multi-slot transclusion then this will not affect you.

The keys and values for the transclude map of the directive definition have been swapped around to be more consistent with the other maps, such as scope and bindToController.

Now the key is the slot name and the value is a normalized element selector.

Using a promise as timeout is no longer supported and will log a warning. It never worked the way it was supposed to anyway.

Before:

var deferred = $q.defer();
var User = $resource('/api/user/:id', {id: '@id'}, {
  get: {method: 'GET', timeout: deferred.promise}
});

var user = User.get({id: 1});   // sends a request
deferred.resolve();             // aborts the request

// Now, we need to re-define `User` passing a new promise as `timeout`
// or else all subsequent requests from `someAction` will be aborted
User = $resource(...);
user = User.get({id: 2});

After:

var User = $resource('/api/user/:id', {id: '@id'}, {
  get: {method: 'GET', cancellable: true}
});

var user = User.get({id: 1});   // sends a request
user.$cancelRequest();      // aborts the request

user = User.get({id: 2});

The $sanitize service will now remove instances of the <use> tag from the content passed to it.

This element is used to import external SVG resources, which is a security risk as the $sanitize service does not have access to the resource in order to sanitize it.

A new property to access route resolves is now available on the scope of the route. The default name for this property is $resolve. If your scope already contains a property with this name then it will be hidden or overwritten.

In this case, you should choose a custom name for this property, that does not collide with other properties on the scope, by specifying the resolveAs property on the route.

A new property to access all the locals for an expression is now available on the scope. This property is $locals.

  • If scope.$locals already exists, the way to reference this property is now this.$locals.
  • If the locals themselves include a property $locals then the way to reference that is now $locals.$locals.

<a name="1.4.8"></a>

angularcore
published 1.4.8 •

Changelog

Source

1.4.8 ice-manipulation (2015-11-19)

Bug Fixes

Performance Improvements

  • $compile: use static jquery data method to avoid creating new instances (55ad192e)
  • copy:
    • avoid regex in isTypedArray (19fab4a1)
    • only validate/clear if the user specifies a destination (d1293540, #12068)
  • merge: remove unnecessary wrapping of jqLite element (ce6a96b0, #13236)

<a name="1.5.0-beta.2"></a>

angularcore
published 1.5.0-beta.2 •

Changelog

Source

1.5.0-beta.2 effective-delegation (2015-11-17)

Bug Fixes

Features

Performance Improvements

  • $compile: use static jquery data method to avoid creating new instances (9b90c32f)
  • $interpolate: provide a simplified result for constant expressions (cf83b4f4)
  • copy:
    • avoid regex in isTypedArray (c8768d12)
    • only validate/clear if the user specifies a destination (33c67ce7, #12068)
  • merge: remove unnecessary wrapping of jqLite element (4daafd3d, #13236)

Breaking Changes

ngMessage is now compiled with a priority of 1, which means directives on the same element as ngMessage with a priority lower than 1 will be applied when ngMessage calls the $transclude function. Previously, they were applied during the initial compile phase and were passed the comment element created by the transclusion of ngMessage. To restore this behavior, custom directives need to have their priority increased to at least "1".

Previously, an non array-like input would pass through the orderBy filter unchanged. Now, an error is thrown. This can be worked around by converting an object to an array, either manually or using a filter such as https://github.com/petebacondarwin/angular-toArrayFilter. (null and undefined still pass through without an error, in order to support asynchronous loading of resources.)

<a name="1.5.0-beta.1"></a>

angularcore
published 1.4.7 •

Changelog

Source

1.4.7 dark-luminescence (2015-09-29)

Bug Fixes

  • $compile: use createMap() for $$observe listeners when initialized from attr interpolation (5a98e806, #10446)
  • $parse:
    • block assigning to fields of a constructor (a7f3761e, #12860)
    • do not convert to string computed properties multiple times (698af191)
  • filters: ensure formatNumber observes i18n decimal separators (4994acd2, #10342, #12850)
  • jqLite: properly handle dash-delimited node names in jqLiteBuildFragment (cdd1227a, #10617, #12759)
  • ngAnimate:
    • ensure anchoring uses body as a container when needed (9d3704ca, #12872)
    • callback detection should only use RAF when necessary (fa8c399f)
  • ngMessages: prevent race condition with ngAnimate (7295c60f, #12856, #12903)
  • ngOptions:

Features

<a name="1.3.20"></a>

angularcore
published 1.3.20 •

Changelog

Source

1.3.20 shallow-translucence (2015-09-29)

Bug Fixes

  • $parse: do not convert to string computed properties multiple times (d434f3db)

<a name="1.2.29"></a>

angularcore
published 1.2.29 •

Changelog

Source

1.2.29 ultimate-deprecation (2015-09-29)

Bug Fixes

<a name="1.5.0-beta.0"></a>

angularcore
published 1.5.0-beta.0 •

Changelog

Source

1.5.0-beta.0 intialization-processation (2015-09-17)

Bug Fixes

  • jqLite:: properly handle dash-delimited node names in jqLiteBuildFragment (cdd1227a3, #10617)

<a name="1.4.6"></a>

angularcore
published 1.4.6 •

Changelog

Source

1.4.6 multiplicative-elevation (2015-09-17)

Bug Fixes

Performance Improvements

  • Angular: only create new collection in getBlockNodes if the block has changed (0202663e, #9899)

<a name="1.3.19"></a>

angularcore
published 1.3.19 •

Changelog

Source

1.3.19 glutinous-shriek (2015-09-15)

Bug Fixes

  • $http: propagate status -1 for timed out requests (f13055a0, #4491, #8756)
  • $location: don't crash if navigating outside the app base (623ce1ad, #11667)
  • $parse: throw error when accessing a restricted property indirectly (ec98c94c, #12833)
  • ngModel: validate pattern against the viewValue (274e9353, #12344)

Features

  • ngAnimate: introduce $animate.flush for unit testing (f98e0384)

Possible Breaking Changes

The ngPattern and pattern directives will validate the regex against the viewValue of ngModel, i.e. the value of the model before the $parsers are applied. Previously, the modelValue (the result of the $parsers) was validated.

This fixes issues where input[date] and input[number] cannot be validated because the viewValue string is parsed into Date and Number respectively (starting with AngularJS 1.3). It also brings the directives in line with HTML5 constraint validation, which validates against the input value.

This change is unlikely to cause applications to fail, because even in AngularJS 1.2, the value that was validated by pattern could have been manipulated by the $parsers, as all validation was done inside this pipeline.

If you rely on the pattern being validated against the modelValue, you must create your own validator directive that overwrites the built-in pattern validator:

.directive('patternModelOverwrite', function patternModelOverwriteDirective() {
  return {
    restrict: 'A',
    require: '?ngModel',
    priority: 1,
    compile: function() {
      var regexp, patternExp;

      return {
        pre: function(scope, elm, attr, ctrl) {
          if (!ctrl) return;

          attr.$observe('pattern', function(regex) {
            /**
             * The built-in directive will call our overwritten validator
             * (see below). We just need to update the regex.
             * The preLink fn guarantees our observer is called first.
             */
            if (isString(regex) && regex.length > 0) {
              regex = new RegExp('^' + regex + '$');
            }

            if (regex && !regex.test) {
              //The built-in validator will throw at this point
              return;
            }

            regexp = regex || undefined;
          });

        },
        post: function(scope, elm, attr, ctrl) {
          if (!ctrl) return;

          regexp, patternExp = attr.ngPattern || attr.pattern;

          //The postLink fn guarantees we overwrite the built-in pattern validator
          ctrl.$validators.pattern = function(value) {
            return ctrl.$isEmpty(value) ||
              isUndefined(regexp) ||
              regexp.test(value);
          };
        }
      };
    }
  };
});

<a name="1.4.5"></a>

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc