Commits on Jan 24, 2017
  1. fix(core): export animation classes required for Renderer impl (#14002)

    Closes #14001
    DzmitryShylovich committed with alxhub Jan 24, 2017
  2. docs(common): fix a typo on the DatePipe API docs (#14060)

    matthewhegarty committed with alxhub Jan 24, 2017
  3. feat(core): add pure expression support to view engine

    Part of #14013
    tbosch committed with alxhub Jan 20, 2017
  4. feat(core): add event support to view engine

    Part of #14013
    tbosch committed with alxhub Jan 19, 2017
Commits on Jan 23, 2017
  1. ci: add @license to tools/validate-commit-message

    alxhub committed Jan 23, 2017
  2. feat(upgrade): Support ng-model in downgraded components (#10578)

    kseamon committed with alxhub Jan 23, 2017
  3. fix(core): fix not declared variable in view engine (#14045)

    In TypeScript, referring to `name` does not lead to an error
    as `window` also has a property `name`.
    tbosch committed with alxhub Jan 23, 2017
  4. ci: validate the message of each new commit as part of the CI linting

    This patch adds the gulp command of `validate-commit-messages`
    which will validate the range of commits messages present in the
    active branch.
    This check now runs on CI as part of the linting checks.
    Allowed commit message types and scopes are controlled via commit-message.json file
    and documented at
    This solution is based on old Vojta's code that he wrote for angular/angular.js, that was later adjusted
    by @matsko in #13815.
    Ideally we should switch over to something like
    as suggested in #9953 but that package currently doesn't support strict scope checking,
    which is one of the primarily goal of this PR.
    Note that this PR removes support for "chore" which was previously overused
    by everyone on the team.
    Closes #13815
    Fixes #3337
    IgorMinar committed with alxhub Jan 20, 2017
Commits on Jan 20, 2017
  1. Fixed documentation reference to canActivate in canDeactivate (#14018)

    Simple update to code sample which references canActivate: ['canDeactivateTeam'].
    adamski52 committed with alxhub Jan 20, 2017
  2. feat(core): add initial view engine (#14014)

    The new view engine allows our codegen to produce less code,
    as it can interpret view definitions during runtime.
    The view engine is not feature complete yet, but already
    allows to implement a tree benchmark based on it.
    Part of #14013
    tbosch committed with alxhub Jan 20, 2017
Commits on Jan 19, 2017
  1. ci: fix travis environment to build es2015 distro (#13976)

    alexeagle committed with alxhub Jan 19, 2017
  2. chore(docs): add missing comments (#14003)

    This is a load-bearing change to avoid duplicate licenses in closure-compiled bundles.
    See angular/tsickle#332
    alexeagle committed with alxhub Jan 19, 2017
  3. docs(changelog): add changelog for 4.0.0-beta.4

    mhevery committed Jan 19, 2017
  4. fix(http): don't create a blob out of ArrayBuffer when type is applic…

    …ation/octet-stream (#13992)
    Closes #13973
    DzmitryShylovich committed with mhevery Jan 19, 2017
Commits on Jan 18, 2017
  1. fix(router): enable loadChildren with function in aot (#13909)

    Closes #11075
    DzmitryShylovich committed with mhevery Jan 18, 2017
  2. refactor(core): remove an unused import in application_ref (#13901)

    tcoz committed with mhevery Jan 18, 2017
  3. docs(CHANGELOG): added reference to closed issue in CHANGELOG for inf…

    …ormational purposes (#13985)
    maartentibau committed with mhevery Jan 18, 2017
  4. fix(router): routerLinkActive should not throw when not initialized (#…

    Fixes #13270
    PR Close #13273
    DzmitryShylovich committed with mhevery Dec 7, 2016
Commits on Jan 17, 2017
  1. feat(core): Add type information to injector.get() (#13785)

    - Introduce `InjectionToken<T>` which is a parameterized and type-safe
      version of `OpaqueToken`.
    - `OpaqueToken` is now deprecated, use `InjectionToken<T>` instead.
    - `Injector.get(token: any, notFoundValue?: any): any` is now deprecated
      use the same method which is now overloaded as
      `Injector.get<T>(token: Type<T>|InjectionToken<T>, notFoundValue?: T): T;`.
    - Replace `OpaqueToken` with `InjectionToken<?>` and parameterize it.
    - Migrate your code to only use `Type<?>` or `InjectionToken<?>` as
      injection tokens. Using other tokens will not be supported in the
    - Because `injector.get()` is now parameterize it is possible that code
      which used to work no longer type checks. Example would be if one
      injects `Foo` but configures it as `{provide: Foo, useClass: MockFoo}`.
      The injection instance will be that of `MockFoo` but the type will be
      `Foo` instead of `any` as in the past. This means that it was possible
      to call a method on `MockFoo` in the past which now will fail type
      check. See this example:
    class Foo {}
    class MockFoo extends Foo {
    var PROVIDERS = [
      {provide: Foo, useClass: MockFoo}
    function myTest(injector: Injector) {
      var foo = injector.get(Foo);
      // This line used to work since `foo` used to be `any` before this
      // change, it will now be `Foo`, and `Foo` does not have `setUpMock()`.
      // The fix is to downcast: `injector.get(Foo) as MockFoo`.
    PR Close #13785
    mhevery committed with mhevery Jan 4, 2017
  2. feat(security): allow calc and gradient functions. (#13943)

    PR Close #13943
    Also includes support for # color notation in function arguments (common
    in gradient functions).
    mprobst committed with mhevery Jan 16, 2017
  3. docs(changelog): fix typo (#13934)

    PR Close #13934
    gkalpak committed with mhevery Jan 15, 2017
  4. fix(upgrade): detect async downgrade component changes (#13812)

    This commit effectively reverts 7e0f02f
    as it was an invalid fix for #6385, that created a more significant
    bug, which was that changes were not always being detected.
    Angular 1 digests should be run inside the ngZone to ensure
    that async changes are detected.
    We don't know how to fix #6385 without breaking change detection
    at this stage. That issue is triggered by async operations, such as
    `setTimeout`, being triggered inside scope watcher functions.
    One could argue that watcher functions should be pure and not do
    work such as triggering async operations. It is possible that the
    original use case could be supported by moving the debounce
    logic into the watch listener function, which is only called if the
    watched value actually changes.
    Closes #10660, #12318, #12034
    PR Close #13812
    petebacondarwin committed with mhevery Jan 13, 2017
Commits on Jan 13, 2017
  1. chore(compiler-cli): Move calculateEmitPath into CompilerHost (#13904)

    This is so that it can be overriden in an environment specific CompilerHost(like within Google) to customize the output paths.
    PR Close #13904
    vikerman committed with mhevery Jan 12, 2017