diff --git a/.bowerrc b/.bowerrc
index baa91a3e3f6c..9b2abeb660ab 100644
--- a/.bowerrc
+++ b/.bowerrc
@@ -1,3 +1,3 @@
{
- "directory": "bower_components"
-}
\ No newline at end of file
+ "directory" : "bower_components"
+}
diff --git a/.circleci/README.md b/.circleci/README.md
new file mode 100644
index 000000000000..314caba8f32e
--- /dev/null
+++ b/.circleci/README.md
@@ -0,0 +1,19 @@
+# Encryption
+
+Based on https://github.com/circleci/encrypted-files
+
+In the CircleCI web UI, we have a secret variable called `KEY`
+https://circleci.com/gh/angular/angular/edit#env-vars
+which is only exposed to non-fork builds
+(see "Pass secrets to builds from forked pull requests" under
+https://circleci.com/gh/angular/angular/edit#advanced-settings)
+
+We use this as a symmetric AES encryption key to encrypt tokens like
+a GitHub token that enables publishing snapshots.
+
+To create the github_token file, we take this approach:
+- Find the angular-builds:token in http://valentine
+- Go inside the ngcontainer docker image so you use the same version of openssl as we will at runtime: `docker run --rm -it angular/ngcontainer`
+- echo "https://[token]:@github.com" > credentials
+- openssl aes-256-cbc -e -in credentials -out .circleci/github_token -k $KEY
+- If needed, base64-encode the result so you can copy-paste it out of docker: `base64 github_token`
\ No newline at end of file
diff --git a/.circleci/bazel.rc b/.circleci/bazel.rc
new file mode 100644
index 000000000000..b63cdfecbdfd
--- /dev/null
+++ b/.circleci/bazel.rc
@@ -0,0 +1,42 @@
+# These options are enabled when running on CI
+# We do this by copying this file to /etc/bazel.bazelrc at the start of the build.
+# See remote cache documentation in /docs/BAZEL.md
+
+# Don't be spammy in the logs
+# TODO(gmagolan): Hide progress again once build performance improves
+# Presently, CircleCI can timeout during bazel test ... with the following
+# error: Too long with no output (exceeded 10m0s)
+# build --noshow_progress
+
+# Don't run manual tests
+test --test_tag_filters=-manual
+
+# Print all the options that apply to the build.
+# This helps us diagnose which options override others
+# (e.g. /etc/bazel.bazelrc vs. tools/bazel.rc)
+build --announce_rc
+
+# Create dist/bin symlink to $(bazel info bazel-bin)
+# We use this when uploading artifacts after the build finishes
+build --symlink_prefix=dist/
+
+# Enable experimental CircleCI bazel remote cache proxy
+# See remote cache documentation in /docs/BAZEL.md
+build --experimental_remote_spawn_cache --remote_rest_cache=http://localhost:7643
+
+# Prevent unstable environment variables from tainting cache keys
+build --experimental_strict_action_env
+
+# Save downloaded repositories such as the go toolchain
+# This directory can then be included in the CircleCI cache
+# It should save time running the first build
+build --experimental_repository_cache=/home/circleci/bazel_repository_cache
+
+# Workaround https://github.com/bazelbuild/bazel/issues/3645
+# Bazel doesn't calculate the memory ceiling correctly when running under Docker.
+# Limit Bazel to consuming resources that fit in CircleCI "xlarge" class
+# https://circleci.com/docs/2.0/configuration-reference/#resource_class
+build --local_resources=14336,8.0,1.0
+
+# Retry in the event of flakes, eg. https://circleci.com/gh/angular/angular/31309
+test --flaky_test_attempts=2
diff --git a/.circleci/config.yml b/.circleci/config.yml
new file mode 100644
index 000000000000..2469efc165a4
--- /dev/null
+++ b/.circleci/config.yml
@@ -0,0 +1,275 @@
+# Configuration file for https://circleci.com/gh/angular/angular
+
+# Note: YAML anchors allow an object to be re-used, reducing duplication.
+# The ampersand declares an alias for an object, then later the `<<: *name`
+# syntax dereferences it.
+# See http://blog.daemonl.com/2016/02/yaml.html
+# To validate changes, use an online parser, eg.
+# http://yaml-online-parser.appspot.com/
+
+# Variables
+
+## IMPORTANT
+# If you change the `docker_image` version, also change the `cache_key` suffix and the version of
+# `com_github_bazelbuild_buildtools` in the `/WORKSPACE` file.
+var_1: &docker_image angular/ngcontainer:0.3.3
+var_2: &cache_key v2-angular-{{ .Branch }}-{{ checksum "yarn.lock" }}-0.3.3
+
+# Define common ENV vars
+var_3: &define_env_vars
+ run: echo "export PROJECT_ROOT=$(pwd)" >> $BASH_ENV
+
+# See remote cache documentation in /docs/BAZEL.md
+var_4: &setup-bazel-remote-cache
+ run:
+ name: Start up bazel remote cache proxy
+ command: ~/bazel-remote-proxy -backend circleci://
+ background: true
+
+# Settings common to each job
+anchor_1: &job_defaults
+ working_directory: ~/ng
+ docker:
+ - image: *docker_image
+
+# After checkout, rebase on top of master.
+# Similar to travis behavior, but not quite the same.
+# See https://discuss.circleci.com/t/1662
+anchor_2: &post_checkout
+ post: git pull --ff-only origin "refs/pull/${CIRCLE_PULL_REQUEST//*pull\//}/merge"
+
+version: 2
+jobs:
+ lint:
+ <<: *job_defaults
+ steps:
+ - checkout:
+ <<: *post_checkout
+
+ # Check BUILD.bazel formatting before we have a node_modules directory
+ # Then we don't need any exclude pattern to avoid checking those files
+ - run: 'buildifier -mode=check $(find . -type f \( -name "*.bzl" -or -name BUILD.bazel -or -name BUILD \)) ||
+ (echo "BUILD files not formatted. Please run ''yarn buildifier''" ; exit 1)'
+ # Run the skylark linter to check our Bazel rules
+ # deprecated-api is disabled because we use actions.new_file(genfiles_dir)
+ # which has no replacement, see https://github.com/bazelbuild/bazel/issues/4858
+ - run: 'find . -type f -name "*.bzl" |
+ xargs java -jar /usr/local/bin/Skylint_deploy.jar --disable-checks=deprecated-api ||
+ (echo -e "\n.bzl files have lint errors. Please run ''yarn skylint''"; exit 1)'
+
+ - restore_cache:
+ key: *cache_key
+
+ - run: yarn install --frozen-lockfile --non-interactive
+ - run: ./node_modules/.bin/gulp lint
+
+ test:
+ <<: *job_defaults
+ resource_class: xlarge
+ steps:
+ - *define_env_vars
+ - checkout:
+ <<: *post_checkout
+ # See remote cache documentation in /docs/BAZEL.md
+ - run: .circleci/setup_cache.sh
+ - run: sudo cp .circleci/bazel.rc /etc/bazel.bazelrc
+ - *setup-bazel-remote-cache
+
+ - restore_cache:
+ key: *cache_key
+
+ - run: ls /home/circleci/bazel_repository_cache || true
+ - run: bazel info release
+ - run: bazel run @nodejs//:yarn
+ # Use bazel query so that we explicitly ask for all buildable targets to be built as well
+ # This avoids waiting for the slowest build target to finish before running the first test
+ # See https://github.com/bazelbuild/bazel/issues/4257
+ # NOTE: Angular developers should typically just bazel build //packages/... or bazel test //packages/...
+ - run: bazel query --output=label //... | xargs bazel test --build_tag_filters=-ivy-only --test_tag_filters=-manual,-ivy-only
+
+ # CircleCI will allow us to go back and view/download these artifacts from past builds.
+ # Also we can use a service like https://buildsize.org/ to automatically track binary size of these artifacts.
+ # The destination keys need be format {projectName}/{context}/{fileName} so that the github-robot can process them for size calculations
+ # projectName should remain consistant to group files
+ # context and fileName can be almost anything (within usual URI rules)
+ # There should only be exactly 2 forward slashes in the path
+ # This is so they're backwards compatiable with the existing data we have on bundle sizes
+ - store_artifacts:
+ path: dist/bin/packages/core/test/bundling/hello_world/bundle.min.js
+ destination: core/hello_world/bundle
+ - store_artifacts:
+ path: dist/bin/packages/core/test/bundling/todo/bundle.min.js
+ destination: core/todo/bundle
+ - store_artifacts:
+ path: dist/bin/packages/core/test/bundling/hello_world/bundle.min.js.br
+ destination: core/hello_world/bundle.br
+ - store_artifacts:
+ path: dist/bin/packages/core/test/bundling/todo/bundle.min.js.br
+ destination: core/todo/bundle.br
+ - save_cache:
+ key: *cache_key
+ paths:
+ - "node_modules"
+ - "~/bazel_repository_cache"
+ # Temporary job to test what will happen when we flip the Ivy flag to true
+ test_ivy_jit:
+ <<: *job_defaults
+ resource_class: xlarge
+ steps:
+ - *define_env_vars
+ - checkout:
+ <<: *post_checkout
+ # See remote cache documentation in /docs/BAZEL.md
+ - run: .circleci/setup_cache.sh
+ - run: sudo cp .circleci/bazel.rc /etc/bazel.bazelrc
+ - *setup-bazel-remote-cache
+
+ - restore_cache:
+ key: *cache_key
+
+ - run: bazel run @yarn//:yarn
+ - run: bazel query --output=label //... | xargs bazel test --define=compile=jit --build_tag_filters=ivy-jit --test_tag_filters=-manual,ivy-jit
+
+ test_ivy_aot:
+ <<: *job_defaults
+ resource_class: xlarge
+ steps:
+ - *define_env_vars
+ - checkout:
+ <<: *post_checkout
+ # See remote cache documentation in /docs/BAZEL.md
+ - run: .circleci/setup_cache.sh
+ - run: sudo cp .circleci/bazel.rc /etc/bazel.bazelrc
+ - *setup-bazel-remote-cache
+
+ - restore_cache:
+ key: *cache_key
+
+ - run: bazel run @yarn//:yarn
+ - run: bazel query --output=label //... | xargs bazel test --define=compile=local --build_tag_filters=ivy-local --test_tag_filters=-manual,ivy-local
+
+ # This job exists only for backwards-compatibility with old scripts and tests
+ # that rely on the pre-Bazel dist/packages-dist layout.
+ # It duplicates some work with the job above: we build the bazel packages
+ # twice. Even though we have a remote cache, these jobs will typically run in
+ # parallel so up-to-date outputs will not be available at the time the build
+ # starts.
+ # No new jobs should depend on this one.
+ build-packages-dist:
+ <<: *job_defaults
+ resource_class: xlarge
+ steps:
+ - *define_env_vars
+ - checkout:
+ <<: *post_checkout
+ # See remote cache documentation in /docs/BAZEL.md
+ - run: .circleci/setup_cache.sh
+ - run: sudo cp .circleci/bazel.rc /etc/bazel.bazelrc
+ - *setup-bazel-remote-cache
+
+ - run: bazel run @nodejs//:yarn
+ - run: scripts/build-packages-dist.sh
+
+ # Save the npm packages from //packages/... for other workflow jobs to read
+ # https://circleci.com/docs/2.0/workflows/#using-workspaces-to-share-data-among-jobs
+ - persist_to_workspace:
+ root: dist
+ paths:
+ - packages-dist
+ - packages-dist-ivy-jit
+ - packages-dist-ivy-local
+
+ # We run the integration tests outside of Bazel for now.
+ # They are a separate workflow job so that they can be easily re-run.
+ # When the tests are ported to bazel test targets, they should move to the "test"
+ # job above, as part of the bazel test command. That has flaky_test_attempts so the
+ # need to re-run manually should be alleviated.
+ # See comments inside the integration/run_tests.sh script.
+ integration_test:
+ <<: *job_defaults
+ # Note: we run Bazel in one of the integration tests, and it can consume >2G
+ # of memory. Together with the system under test, this can exhaust the RAM
+ # on a 4G worker so we use a larger machine here too.
+ resource_class: xlarge
+ steps:
+ - *define_env_vars
+ - checkout:
+ <<: *post_checkout
+ - attach_workspace:
+ at: dist
+ - run: xvfb-run --auto-servernum ./integration/run_tests.sh
+
+ # This job updates the content of repos like github.com/angular/core-builds
+ # for every green build on angular/angular.
+ publish_snapshot:
+ <<: *job_defaults
+ steps:
+ # See below - ideally this job should not trigger for non-upstream builds.
+ # But since it does, we have to check this condition.
+ - run:
+ name: Skip this job for Pull Requests and Fork builds
+ # Note, `|| true` on the end makes this step always exit 0
+ command: '[[
+ -v CIRCLE_PR_NUMBER
+ || "$CIRCLE_PROJECT_USERNAME" != "angular"
+ || "$CIRCLE_PROJECT_REPONAME" != "angular"
+ ]] && circleci step halt || true'
+ - checkout:
+ <<: *post_checkout
+ - attach_workspace:
+ at: dist
+ # CircleCI has a config setting to force SSH for all github connections
+ # This is not compatible with our mechanism of using a Personal Access Token
+ # Clear the global setting
+ - run: git config --global --unset "url.ssh://git@github.com.insteadof"
+ - run:
+ name: Decrypt github credentials
+ command: 'openssl aes-256-cbc -d -in .circleci/github_token -k "${KEY}" -out ~/.git_credentials'
+ - run: ./scripts/ci/publish-build-artifacts.sh
+
+ aio_monitoring:
+ <<: *job_defaults
+ steps:
+ - checkout:
+ <<: *post_checkout
+ - restore_cache:
+ key: *cache_key
+ - run: xvfb-run --auto-servernum ./aio/scripts/test-production.sh
+
+workflows:
+ version: 2
+ default_workflow:
+ jobs:
+ - lint
+ - test
+ - test_ivy_jit
+ - test_ivy_aot
+ - build-packages-dist
+ - integration_test:
+ requires:
+ - build-packages-dist
+ - publish_snapshot:
+ # Note: no filters on this job because we want it to run for all upstream branches
+ # We'd really like to filter out pull requests here, but not yet available:
+ # https://discuss.circleci.com/t/workflows-pull-request-filter/14396/4
+ # Instead, the job just exits immediately at the first step.
+ requires:
+ # Only publish if tests and integration tests pass
+ - test
+ - test_ivy_jit
+ - test_ivy_aot
+ - integration_test
+ # Get the artifacts to publish from the build-packages-dist job
+ # since the publishing script expects the legacy outputs layout.
+ - build-packages-dist
+
+ aio_monitoring:
+ jobs:
+ - aio_monitoring
+ triggers:
+ - schedule:
+ cron: "0 0 * * *"
+ filters:
+ branches:
+ only:
+ - master
diff --git a/.circleci/github_token b/.circleci/github_token
new file mode 100644
index 000000000000..e20db1488733
Binary files /dev/null and b/.circleci/github_token differ
diff --git a/.circleci/setup_cache.sh b/.circleci/setup_cache.sh
new file mode 100755
index 000000000000..232596df4a98
--- /dev/null
+++ b/.circleci/setup_cache.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+# Install bazel remote cache proxy
+# This is temporary until the feature is no longer experimental on CircleCI.
+# See remote cache documentation in /docs/BAZEL.md
+
+set -u -e
+
+readonly DOWNLOAD_URL="https://5-116431813-gh.circle-artifacts.com/0/pkg/bazel-remote-proxy-$(uname -s)_$(uname -m)"
+
+curl --fail -o ~/bazel-remote-proxy "$DOWNLOAD_URL"
+chmod +x ~/bazel-remote-proxy
diff --git a/.gitattributes b/.gitattributes
index b7ca95b5b77a..0acf0cd70da0 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,5 +1,9 @@
# Auto detect text files and perform LF normalization
* text=auto
-# JS files must always use LF for tools to work
+# JS and TS files must always use LF for tools to work
*.js eol=lf
+*.ts eol=lf
+
+# Must keep Windows line ending to be parsed correctly
+scripts/windows/packages.txt eol=crlf
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
new file mode 100644
index 000000000000..ac818aa530c2
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE.md
@@ -0,0 +1,59 @@
+
+
+## I'm submitting a...
+
+
+[ ] Regression (a behavior that used to work and stopped working in a new release)
+[ ] Bug report
+[ ] Performance issue
+[ ] Feature request
+[ ] Documentation issue or request
+[ ] Support request => Please do not submit support request here, instead see https://github.com/angular/angular/blob/master/CONTRIBUTING.md#question
+[ ] Other... Please describe:
+
+
+## Current behavior
+
+
+
+## Expected behavior
+
+
+
+## Minimal reproduction of the problem with instructions
+
+
+## What is the motivation / use case for changing the behavior?
+
+
+
+## Environment
+
+
+Angular version: X.Y.Z
+
+
+Browser:
+- [ ] Chrome (desktop) version XX
+- [ ] Chrome (Android) version XX
+- [ ] Chrome (iOS) version XX
+- [ ] Firefox version XX
+- [ ] Safari (desktop) version XX
+- [ ] Safari (iOS) version XX
+- [ ] IE version XX
+- [ ] Edge version XX
+
+For Tooling issues:
+- Node version: XX
+- Platform:
+
+Others:
+
+
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 000000000000..b74eed5b0809
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,43 @@
+## PR Checklist
+Please check if your PR fulfills the following requirements:
+
+- [ ] The commit message follows our guidelines: https://github.com/angular/angular/blob/master/CONTRIBUTING.md#commit
+- [ ] Tests for the changes have been added (for bug fixes / features)
+- [ ] Docs have been added / updated (for bug fixes / features)
+
+
+## PR Type
+What kind of change does this PR introduce?
+
+
+```
+[ ] Bugfix
+[ ] Feature
+[ ] Code style update (formatting, local variables)
+[ ] Refactoring (no functional changes, no api changes)
+[ ] Build related changes
+[ ] CI related changes
+[ ] Documentation content changes
+[ ] angular.io application / infrastructure changes
+[ ] Other... Please describe:
+```
+
+## What is the current behavior?
+
+
+Issue Number: N/A
+
+
+## What is the new behavior?
+
+
+## Does this PR introduce a breaking change?
+```
+[ ] Yes
+[ ] No
+```
+
+
+
+
+## Other information
diff --git a/.github/angular-robot.yml b/.github/angular-robot.yml
new file mode 100644
index 000000000000..d807d258e1cd
--- /dev/null
+++ b/.github/angular-robot.yml
@@ -0,0 +1,129 @@
+# Configuration for angular-robot
+
+#options for the size plugin
+size:
+ disabled: false
+ maxSizeIncrease: 1000
+ circleCiStatusName: "ci/circleci: build-packages-dist"
+ status:
+ disabled: false
+ context: "ci/angular: size"
+
+# options for the merge plugin
+merge:
+ # the status will be added to your pull requests
+ status:
+ # set to true to disable
+ disabled: false
+ # the name of the status
+ context: "ci/angular: merge status"
+ # text to show when all checks pass
+ successText: "All checks passed!"
+ # text to show when some checks are failing
+ failureText: "The following checks are failing:"
+
+ # the g3 status will be added to your pull requests if they include files that match the patterns
+ g3Status:
+ # set to true to disable
+ disabled: false
+ # the name of the status
+ context: "google3"
+ # text to show when the status is pending, {{PRNumber}} will be replaced by the PR number
+ pendingDesc: "Googler: run g3sync presubmit {{PRNumber}}"
+ # text to show when the status is success
+ successDesc: "Does not affect google3"
+ # link to use for the details
+ url: "http://go/angular-g3sync"
+ # list of patterns to check for the files changed by the PR
+ # this list must be manually kept in sync with google3/third_party/javascript/angular2/copy.bara.sky
+ include:
+ - "LICENSE"
+ - "modules/**"
+ - "packages/**"
+ # list of patterns to ignore for the files changed by the PR
+ exclude:
+ - "packages/language-service/**"
+ - "**/.gitignore"
+ - "**/.gitkeep"
+ - "**/package.json"
+ - "**/tsconfig-build.json"
+ - "**/tsconfig.json"
+ - "**/rollup.config.js"
+ - "**/BUILD.bazel"
+ - "packages/**/integrationtest/**"
+ - "packages/**/test/**"
+
+ # comment that will be added to a PR when there is a conflict, leave empty or set to false to disable
+ mergeConflictComment: "Hi @{{PRAuthor}}! This PR has merge conflicts due to recent upstream merges.
+\nPlease help to unblock it by resolving these conflicts. Thanks!"
+
+ # label to monitor
+ mergeLabel: "PR action: merge"
+
+ # list of checks that will determine if the merge label can be added
+ checks:
+
+ # require that the PR has reviews from all requested reviewers
+ #
+ # This enables us to request reviews from both eng and tech writers, or multiple eng folks, and prevents accidental merges.
+ # Rather than merging PRs with pending reviews, if all PullApprove requirements are satisfied and additional reviews are not needed pending reviewers should be removed via GitHub UI (this also leaves an audit trail behind these decisions).
+ requireReviews: true,
+
+ # whether the PR shouldn't have a conflict with the base branch
+ noConflict: true
+ # list of labels that a PR needs to have, checked with a regexp (e.g. "PR target:" will work for the label "PR target: master")
+ requiredLabels:
+ - "PR target: *"
+ - "cla: yes"
+
+ # list of labels that a PR shouldn't have, checked after the required labels with a regexp
+ forbiddenLabels:
+ - "PR target: TBD"
+ - "PR action: cleanup"
+ - "PR action: review"
+ - "PR state: blocked"
+ - "cla: no"
+
+ # list of PR statuses that need to be successful
+ requiredStatuses:
+ - "continuous-integration/travis-ci/pr"
+ - "code-review/pullapprove"
+ - "ci/circleci: build"
+ - "ci/circleci: lint"
+
+ # the comment that will be added when the merge label is added despite failing checks, leave empty or set to false to disable
+ # {{MERGE_LABEL}} will be replaced by the value of the mergeLabel option
+ # {{PLACEHOLDER}} will be replaced by the list of failing checks
+ mergeRemovedComment: "I see that you just added the `{{MERGE_LABEL}}` label, but the following checks are still failing:
+\n{{PLACEHOLDER}}
+\n
+\n**If you want your PR to be merged, it has to pass all the CI checks.**
+\n
+\nIf you can't get the PR to a green state due to flakes or broken master, please try rebasing to master and/or restarting the CI job. If that fails and you believe that the issue is not due to your change, please contact the caretaker and ask for help."
+
+# options for the triage plugin
+triage:
+ # number of the milestone to apply when the issue has not been triaged yet
+ needsTriageMilestone: 83,
+ # number of the milestone to apply when the issue is triaged
+ defaultMilestone: 82,
+ # arrays of labels that determine if an issue has been triaged by the caretaker
+ l1TriageLabels:
+ -
+ - "comp: *"
+ # arrays of labels that determine if an issue has been fully triaged
+ l2TriageLabels:
+ -
+ - "type: bug/fix"
+ - "severity*"
+ - "freq*"
+ - "comp: *"
+ -
+ - "type: feature"
+ - "comp: *"
+ -
+ - "type: refactor"
+ - "comp: *"
+ -
+ - "type: RFC / Discussion / question"
+ - "comp: *"
diff --git a/.gitignore b/.gitignore
index 2e93d12431ba..eae2571fe11d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,40 +1,32 @@
.DS_STORE
-# Don’t commit the following directories created by pub.
-packages
-pubspec.lock
-.pub
-.packages
-
/dist/
-.buildlog
+bazel-*
+e2e_test.*
node_modules
bower_components
-
-# Or broccoli working directory
-tmp
-
-# Or the files created by dart2js.
-*.dart.js
-*.dart.precompiled.js
-*.js_
-*.js.deps
-*.js.map
-
-# Or type definitions we mirror from github
-**/typings/**/*.d.ts
-**/typings/tsd.cached.json
+tools/gulp-tasks/cldr/cldr-data/
# Include when developing application packages.
pubspec.lock
.c9
.idea/
+.settings/
*.swo
+modules/.settings
+.bazelrc
+.vscode
+modules/.vscode
# Don't check in secret files
*secret.js
-# Ignore npm debug log
+# Ignore npm/yarn debug log
npm-debug.log
+yarn-error.log
+
+# build-analytics
+.build-analytics
-/docs/bower_components/
+# rollup-test output
+/modules/rollup-test/dist/
diff --git a/.mailmap b/.mailmap
new file mode 100644
index 000000000000..1f2f86feb549
--- /dev/null
+++ b/.mailmap
@@ -0,0 +1 @@
+Michał Gołębiowski-Owczarek
diff --git a/.nvmrc b/.nvmrc
index c43e1055fd3f..fa97ecedc28f 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-0.12
+8.9
diff --git a/.pullapprove.yml b/.pullapprove.yml
new file mode 100644
index 000000000000..6bdd9ccb9f79
--- /dev/null
+++ b/.pullapprove.yml
@@ -0,0 +1,539 @@
+# Configuration for pullapprove.com
+#
+# Approval access and primary role is determined by info in the project ownership spreadsheet:
+# https://docs.google.com/spreadsheets/d/1-HIlzfbPYGsPr9KuYMe6bLfc4LXzPjpoALqtYRYTZB0/edit?pli=1#gid=0&vpid=A5
+#
+# === GitHub username to Full name map ===
+#
+# alexeagle - Alex Eagle
+# alxhub - Alex Rickabaugh
+# andrewseguin - Andrew Seguin
+# benlesh - Ben Lesh
+# brandonroberts - Brandon Roberts
+# brocco - Mike Brocchi
+# filipesilva - Filipe Silva
+# gkalpak - George Kalpakas
+# hansl - Hans Larsen
+# IgorMinar - Igor Minar
+# jasonaden - Jason Aden
+# jenniferfell - Jennifer Fell
+# kara - Kara Erickson
+# kyliau - Keen Yee Liau
+# matsko - Matias Niemelä
+# mhevery - Misko Hevery
+# petebacondarwin - Pete Bacon Darwin
+# pkozlowski-opensource - Pawel Kozlowski
+# robwormald - Rob Wormald
+# vicb - Victor Berchet
+# vikerman - Vikram Subramanian
+
+
+version: 2
+
+group_defaults:
+ required: 1
+ reset_on_reopened:
+ enabled: true
+ approve_by_comment:
+ enabled: false
+ # see http://docs.pullapprove.com/groups/author_approval/
+ author_approval:
+ # If the author is a reviewer on the PR, they will automatically have an "approved" status.
+ auto: true
+
+groups:
+ # Require all PRs to have at least one approval from *someone*
+ all:
+ users: all
+ required: 1
+ rejection_value: -999
+ # In this group, your self-approval does not count
+ author_approval:
+ auto: false
+ ignored: true
+ files:
+ include:
+ - "*"
+
+ root:
+ conditions:
+ files:
+ include:
+ - "*"
+ exclude:
+ - "WORKSPACE"
+ - "BUILD.bazel"
+ - ".circleci/*"
+ - "aio/*"
+ - "integration/*"
+ - "modules/*"
+ - "packages/*"
+ - "tools/*"
+ users:
+ - alexeagle
+ - IgorMinar
+ - mhevery
+
+ public-api:
+ conditions:
+ files:
+ include:
+ - "tools/public_api_guard/*"
+ users:
+ - IgorMinar
+ - mhevery
+
+ bazel:
+ conditions:
+ files:
+ include:
+ - "WORKSPACE"
+ - "*.bazel"
+ - "*.bzl"
+ - "packages/bazel/*"
+ - "tools/bazel.rc"
+ - "/docs/BAZEL.md"
+ users:
+ - alexeagle #primary
+ - kyliau
+ - IgorMinar #fallback
+ - mhevery
+ - vikerman #fallback
+
+ build-and-ci:
+ conditions:
+ files:
+ include:
+ - "*.yml"
+ - "*.json"
+ - "*.lock"
+ - "tools/*"
+ exclude:
+ - "tools/bazel.rc"
+ - "tools/public_api_guard/*"
+ - "aio/*"
+ users:
+ - IgorMinar #primary
+ - alexeagle
+ - jasonaden
+ - mhevery #fallback
+
+ integration:
+ conditions:
+ files:
+ - "integration/*"
+ users:
+ - alexeagle
+ - mhevery
+ - vicb
+ - IgorMinar #fallback
+
+ core:
+ conditions:
+ files:
+ - "packages/core/*"
+ - "aio/content/guide/bootstrapping.md"
+ - "aio/content/examples/bootstrapping/*"
+ - "aio/content/guide/attribute-directives.md"
+ - "aio/content/examples/attribute-directives/*"
+ - "aio/content/images/guide/attribute-directives/*"
+ - "aio/content/guide/structural-directives.md"
+ - "aio/content/examples/structural-directives/*"
+ - "aio/content/images/guide/structural-directives/*"
+ - "aio/content/guide/dynamic-component-loader.md"
+ - "aio/content/examples/dynamic-component-loader/*"
+ - "aio/content/images/guide/dynamic-component-loader/*"
+ - "aio/content/guide/template-syntax.md"
+ - "aio/content/examples/template-syntax/*"
+ - "aio/content/images/guide/template-syntax/*"
+ - "aio/content/guide/dependency-injection.md"
+ - "aio/content/examples/dependency-injection/*"
+ - "aio/content/images/guide/dependency-injection/*"
+ - "aio/content/guide/dependency-injection-in-action.md"
+ - "aio/content/examples/dependency-injection-in-action/*"
+ - "aio/content/images/guide/dependency-injection-in-action/*"
+ - "aio/content/guide/hierarchical-dependency-injection.md"
+ - "aio/content/examples/hierarchical-dependency-injection/*"
+ - "aio/content/guide/singleton-services.md"
+ - "aio/content/guide/dependency-injection-pattern.md"
+ - "aio/content/guide/providers.md"
+ - "aio/content/examples/providers/*"
+ - "aio/content/guide/component-interaction.md"
+ - "aio/content/examples/component-interaction/*"
+ - "aio/content/images/guide/component-interaction/*"
+ - "aio/content/guide/component-styles.md"
+ - "aio/content/examples/component-styles/*"
+ - "aio/content/guide/lifecycle-hooks.md"
+ - "aio/content/examples/lifecycle-hooks/*"
+ - "aio/content/images/guide/lifecycle-hooks/*"
+ - "aio/content/examples/ngcontainer/*"
+ - "aio/content/images/guide/ngcontainer/*"
+ - "aio/content/guide/pipes.md"
+ - "aio/content/examples/pipes/*"
+ - "aio/content/images/guide/pipes/*"
+ - "aio/content/guide/entry-components.md"
+ - "aio/content/guide/set-document-title.md"
+ - "aio/content/examples/set-document-title/*"
+ - "aio/content/images/guide/set-document-title/*"
+ - "aio/content/guide/ngmodules.md"
+ - "aio/content/examples/ngmodules/*"
+ - "aio/content/examples/ngmodule/*"
+ - "aio/content/images/guide/ngmodule/*"
+ - "aio/content/guide/ngmodule-faq.md"
+ - "aio/content/examples/ngmodule-faq/*"
+ - "aio/content/guide/module-types.md"
+ - "aio/content/guide/sharing-ngmodules.md"
+ - "aio/content/guide/frequent-ngmodules.md"
+ - "aio/content/images/guide/frequent-ngmodules/*"
+ - "aio/content/guide/ngmodule-api.md"
+ - "aio/content/guide/ngmodule-vs-jsmodule.md"
+ - "aio/content/guide/feature-modules.md"
+ - "aio/content/examples/feature-modules/*"
+ - "aio/content/images/guide/feature-modules/*"
+ - "aio/content/guide/lazy-loading-ngmodules.md"
+ - "aio/content/examples/lazy-loading-ngmodules/*"
+ - "aio/content/images/guide/lazy-loading-ngmodules"
+ users:
+ - mhevery #primary
+ - jasonaden
+ - kara
+ - vicb
+ - IgorMinar
+ - jenniferfell #docs only
+
+ animations:
+ conditions:
+ files:
+ - "packages/animations/*"
+ - "packages/platform-browser/animations/*"
+ - "aio/content/guide/animations.md"
+ - "aio/content/examples/animations/*"
+ - "aio/content/images/guide/animations/*"
+ users:
+ - matsko #primary
+ - mhevery #fallback
+ - IgorMinar #fallback
+ - jenniferfell #docs only
+
+ compiler/i18n:
+ conditions:
+ files:
+ - "packages/compiler/src/i18n/*"
+ - "aio/content/guide/i18n.md"
+ - "aio/content/examples/i18n/*"
+ users:
+ - vicb #primary
+ - alxhub
+ - IgorMinar #fallback
+ - mhevery #fallback
+ - jenniferfell #docs only
+
+ compiler:
+ conditions:
+ files:
+ - "packages/compiler/*"
+ - "aio/content/guide/aot-compiler.md"
+ users:
+ - alxhub #primary
+ - vicb
+ - mhevery
+ - IgorMinar #fallback
+ - jenniferfell #docs only
+
+ compiler-cli/ngtools:
+ conditions:
+ files:
+ - "packages/compiler-cli/src/ngtools*"
+ users:
+ - hansl
+ - filipesilva #fallback
+ - IgorMinar #fallback
+
+ compiler-cli:
+ conditions:
+ files:
+ include:
+ - "packages/compiler-cli/*"
+ - "packages/bazel/*"
+ exclude:
+ - "packages/compiler-cli/src/ngtools*"
+ users:
+ - alexeagle
+ - alxhub
+ - vicb
+ - IgorMinar #fallback
+ - mhevery #fallback
+
+ common:
+ conditions:
+ files:
+ include:
+ - "packages/common/*"
+ exclude:
+ - "packages/common/http/*"
+ users:
+ - pkozlowski-opensource #primary
+ - vicb
+ - IgorMinar #fallback
+ - mhevery #fallback
+
+ forms:
+ conditions:
+ files:
+ - "packages/forms/*"
+ - "aio/content/guide/forms.md"
+ - "aio/content/examples/forms/*"
+ - "aio/content/images/guide/forms/*"
+ - "aio/content/guide/form-validation.md"
+ - "aio/content/examples/form-validation/*"
+ - "aio/content/images/guide/form-validation/*"
+ - "aio/content/guide/dynamic-form.md"
+ - "aio/content/examples/dynamic-form/*"
+ - "aio/content/images/guide/dynamic-form/*"
+ - "aio/content/guide/reactive-forms.md"
+ - "aio/content/examples/reactive-forms/*"
+ - "aio/content/images/guide/reactive-forms/*"
+ users:
+ - kara #primary
+ - IgorMinar #fallback
+ - mhevery #fallback
+ - jenniferfell #docs only
+
+ http:
+ conditions:
+ files:
+ - "packages/common/http/*"
+ - "packages/http/*"
+ - "aio/content/guide/http.md"
+ - "aio/content/examples/http/*"
+ - "aio/content/images/guide/http/*"
+ users:
+ - alxhub #primary
+ - IgorMinar
+ - mhevery #fallback
+ - jenniferfell #docs only
+
+ language-service:
+ conditions:
+ files:
+ - "packages/language-service/*"
+ - "aio/content/guide/language-service.md"
+ - "aio/content/images/guide/language-service/*"
+ users:
+ - kyliau #primary
+ # needs secondary
+ - vicb
+ - IgorMinar #fallback
+ - mhevery #fallback
+ - jenniferfell #docs only
+
+ router:
+ conditions:
+ files:
+ - "packages/router/*"
+ - "aio/content/guide/router.md"
+ - "aio/content/examples/router/*"
+ - "aio/content/images/guide/router/*"
+ users:
+ - jasonaden #primary
+ - vicb
+ - IgorMinar #fallback
+ - mhevery #fallback
+ - jenniferfell #docs only
+
+ testing:
+ conditions:
+ files:
+ - "*/testing/*"
+ - "aio/content/guide/testing.md"
+ - "aio/content/examples/testing/*"
+ - "aio/content/images/guide/testing/*"
+ users:
+ - vikerman
+ - IgorMinar #fallback
+ - mhevery #fallback
+ - jenniferfell #docs only
+
+ upgrade:
+ conditions:
+ files:
+ - "packages/upgrade/*"
+ - "aio/content/guide/upgrade.md"
+ - "aio/content/examples/upgrade-module/*"
+ - "aio/content/images/guide/upgrade/*"
+ - "aio/content/examples/upgrade-phonecat-1-typescript/*"
+ - "aio/content/examples/upgrade-phonecat-2-hybrid/*"
+ - "aio/content/examples/upgrade-phonecat-3-final/*"
+ - "aio/content/guide/upgrade-performance.md"
+ - "aio/content/guide/ajs-quick-reference.md"
+ - "aio/content/examples/ajs-quick-reference/*"
+ users:
+ - petebacondarwin #primary
+ - gkalpak
+ - IgorMinar #fallback
+ - mhevery #fallback
+ - jenniferfell #docs only
+
+ platform-browser:
+ conditions:
+ files:
+ - "packages/platform-browser/*"
+ users:
+ - vicb #primary
+ # needs secondary
+ - IgorMinar #fallback
+ - mhevery #fallback
+
+ platform-server:
+ conditions:
+ files:
+ - "packages/platform-server/*"
+ - "aio/content/guide/universal.md"
+ - "aio/content/examples/universal/*"
+ users:
+ - vikerman #primary
+ - alxhub #secondary
+ - vicb
+ - IgorMinar #fallback
+ - mhevery #fallback
+ - jenniferfell #docs only
+
+ platform-webworker:
+ conditions:
+ files:
+ - "packages/platform-webworker/*"
+ users:
+ - vicb #primary
+ # needs secondary
+ - IgorMinar #fallback
+ - mhevery #fallback
+
+ service-worker:
+ conditions:
+ files:
+ - "packages/service-worker/*"
+ - "aio/content/guide/service-worker-getting-started.md"
+ - "aio/content/examples/service-worker-getting-started/*"
+ - "aio/content/guide/service-worker-communications.md"
+ - "aio/content/guide/service-worker-config.md"
+ - "aio/content/guide/service-worker-devops.md"
+ - "aio/content/guide/service-worker-intro.md"
+ - "aio/content/images/guide/service-worker/*"
+ users:
+ - gkalpak #primary
+ - alxhub
+ - IgorMinar
+ - mhevery #fallback
+ - jenniferfell #docs only
+
+ elements:
+ conditions:
+ files:
+ - "packages/elements/*"
+ - "aio/content/examples/elements/*"
+ - "aio/content/images/guide/elements/*"
+ - "aio/content/guide/elements.md"
+ users:
+ - andrewseguin #primary
+ - gkalpak
+ - robwormald
+ - IgorMinar #fallback
+ - mhevery #fallback
+ - jenniferfell #docs only
+
+ benchpress:
+ conditions:
+ files:
+ - "packages/benchpress/*"
+ users:
+ - alxhub # primary
+ # needs secondary
+ - IgorMinar #fallback
+ - mhevery #fallback
+
+ docs-infra:
+ conditions:
+ files:
+ include:
+ - "aio/*"
+ exclude:
+ - "aio/content/*"
+ users:
+ - petebacondarwin #primary
+ - IgorMinar
+ - gkalpak
+ - mhevery #fallback
+
+ docs/guide-and-tutorial:
+ conditions:
+ files:
+ include:
+ - "aio/content/*"
+ exclude:
+ - "aio/content/marketing/*"
+ - "aio/content/navigation.json"
+ - "aio/content/license.md"
+ users:
+ - stephenfluin
+ - jenniferfell
+ - brandonroberts
+ - petebacondarwin
+ - gkalpak
+ - IgorMinar
+ - mhevery #fallback
+
+ docs/marketing:
+ conditions:
+ files:
+ include:
+ - "aio/content/marketing/*"
+ - "aio/content/images/marketing/*"
+ - "aio/content/navigation.json"
+ - "aio/content/license.md"
+ users:
+ - stephenfluin
+ - petebacondarwin
+ - gkalpak
+ - IgorMinar
+ - robwormald
+ - mhevery #fallback
+
+ docs/observables:
+ conditions:
+ files:
+ - "aio/content/examples/observables/*"
+ - "aio/content/images/guide/observables/*"
+ - "aio/content/guide/observables.md"
+ - "aio/content/guide/comparing-observables.md"
+ - "aio/content/examples/observables-in-angular/*"
+ - "aio/content/images/guide/observables-in-angular/*"
+ - "aio/content/guide/observables-in-angular.md"
+ - "aio/content/examples/practical-observable-usage/*"
+ - "aio/content/guide/practical-observable-usage.md"
+ - "aio/content/examples/rx-library/*"
+ - "aio/content/guide/rx-library.md"
+ users:
+ - jasonaden
+ - benlesh
+ - IgorMinar
+ - mhevery
+ - jenniferfell #docs only
+
+ docs/packaging:
+ conditions:
+ files:
+ - "aio/content/guide/npm-packages.md"
+ - "aio/content/guide/browser-support.md"
+ - "aio/content/guide/typescript-configuration.md"
+ - "aio/content/guide/setup-systemjs-anatomy.md"
+ - "aio/content/examples/setup/*"
+ - "aio/content/guide/setup.md"
+ - "aio/content/guide/deployment.md"
+ - "aio/content/guide/releases.md"
+ - "aio/content/guide/updating.md"
+ users:
+ - IgorMinar #primary
+ - alexeagle
+ - hansl
+ - mhevery #fallback
+ - jenniferfell #docs only
diff --git a/.settings/settings.json b/.settings/settings.json
deleted file mode 100644
index 3c0bb208e954..000000000000
--- a/.settings/settings.json
+++ /dev/null
@@ -1,12 +0,0 @@
-// Place your settings in this file to overwrite default and user settings.
-{
- "search.excludeFolders": [
- ".git",
- "node_modules",
- "bower_components",
- "packages",
- "build",
- "dist",
- "tmp"
- ]
-}
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
index 33320bad8b8d..e06b84fa54b6 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,70 +1,80 @@
language: node_js
sudo: false
+dist: trusty
node_js:
-- '0.12'
+ - '8.9.1'
+
+addons:
+# firefox: "38.0"
+ apt:
+ sources:
+ # needed to install g++ that is used by npms's native modules
+ - ubuntu-toolchain-r-test
+ packages:
+ # needed to install g++ that is used by npms's native modules
+ - g++-4.8
+ # https://docs.travis-ci.com/user/jwt
+ jwt:
+ # SAUCE_ACCESS_KEY<=secret for NGBUILDS_IO_KEY to work around travis-ci/travis-ci#7223, unencrypted value in valentine as NGBUILDS_IO_KEY>
+ # we alias NGBUILDS_IO_KEY to $SAUCE_ACCESS_KEY in env.sh and set the SAUCE_ACCESS_KEY there
+ - secure: "L7nrZwkAtFtYrP2DykPXgZvEKjkv0J/TwQ/r2QGxFTaBq4VZn+2Dw0YS7uCxoMqYzDwH0aAOqxoutibVpk8Z/16nE3tNmU5RzltMd6Xmt3qU2f/JDQLMo6PSlBodnjOUsDHJgmtrcbjhqrx/znA237BkNUu6UZRT7mxhXIZpn0U="
+branches:
+ except:
+ - g3
cache:
+ yarn: true
directories:
- - node_modules
- - $HOME/.pub-cache
+ - ./node_modules
+ - ./.chrome/chromium
+ - ./aio/node_modules
env:
global:
- - KARMA_BROWSERS=DartiumWithWebPlatform
- - E2E_BROWSERS=Dartium
- - LOGS_DIR=/tmp/angular-build/logs
- - ARCH=linux-x64
- # Token for tsd to increase github rate limit
- # See https://github.com/DefinitelyTyped/tsd#tsdrc
- # This does not use http://docs.travis-ci.com/user/environment-variables/#Secure-Variables
- # because those are not visible for pull requests, and those should also be reliable.
- # This SSO token belongs to github account angular-github-ratelimit-token which has no access
- # (password is in Valentine)
- - TSDRC='{"token":"ef474500309daea53d5991b3079159a29520a40b"}'
+ # GITHUB_TOKEN_ANGULAR=
+ # This is needed for the e2e Travis matrix task to publish packages to github for continuous packages delivery.
+ - secure: "aCdHveZuY8AT4Jr1JoJB4LxZsnGWRe/KseZh1YXYe5UtufFCtTVHvUcLn0j2aLBF0KpdyS+hWf0i4np9jthKu2xPKriefoPgCMpisYeC0MFkwbmv+XlgkUbgkgVZMGiVyX7DCYXVahxIoOUjVMEDCbNiHTIrfEuyq24U3ok2tHc="
+ # FIREBASE_TOKEN
+ # This is needed for publishing builds to the "aio-staging" and "angular-io" firebase projects.
+ # This token was generated using the aio-deploy@angular.io account using `firebase login:ci` and password from valentine
+ - secure: "L5CyQmpwWtoR4Qi4xlWQh/cL1M6ZeJL4W4QAr4HdKFMgYt9h+Whqkymyh2NxwmCbPvWa7yUd+OiLQUDCY7L2VIg16hTwoe2CgYDyQA0BEwLzxtRrJXl93TfwMlrUx5JSIzAccD6D4sjtz8kSFMomK2Nls33xOXOukwyhVMjd0Cg="
+ # ANGULAR_PAYLOAD_FIREBASE_TOKEN
+ # This is for payload size data to "angular-payload-size" firebase project
+ # This token was generated using the payload@angular.io account using `firebase login:ci` and password from valentine
+ - secure: "SxotP/ymNy6uWAVbfwM9BlwETPEBpkRvU/F7fCtQDDic99WfQHzzUSQqHTk8eKk3GrGAOSL09vT0WfStQYEIGEoS5UHWNgOnelxhw+d5EnaoB8vQ0dKQBTK092hQg4feFprr+B/tCasyMV6mVwpUzZMbIJNn/Rx7H5g1bp+Gkfg="
matrix:
- - MODE=js DART_CHANNEL=dev
- - MODE=dart DART_CHANNEL=stable
- # Deactivate dev mode for Dart as there are breaking changes.
- # Reactivate when https://github.com/angular/angular/issues/2798 is fixed!
- # (Note: we need the dev channel as Google3 is close to it and ahead of stable channel)
- # - MODE=dart DART_CHANNEL=dev
+ # Order: a slower build first, so that we don't occupy an idle travis worker waiting for others to complete.
+ - CI_MODE=e2e
+ - CI_MODE=js
+ - CI_MODE=saucelabs_required
+ # deactivated, see #19768
+ # - CI_MODE=browserstack_required
+ - CI_MODE=saucelabs_optional
+ - CI_MODE=browserstack_optional
+ - CI_MODE=aio_tools_test
+ - CI_MODE=aio
+ - CI_MODE=aio_e2e AIO_SHARD=0
+ - CI_MODE=aio_e2e AIO_SHARD=1
-addons:
- firefox: "38.0"
+matrix:
+ fast_finish: true
+ allow_failures:
+ - env: "CI_MODE=saucelabs_optional"
+ - env: "CI_MODE=browserstack_optional"
before_install:
-- echo ${TSDRC} > .tsdrc
-- export DISPLAY=:99.0
-- export GIT_SHA=$(git rev-parse HEAD)
-- ./scripts/ci/init_android.sh
-- ./scripts/ci/install_dart.sh ${DART_CHANNEL} ${ARCH}
-- sh -e /etc/init.d/xvfb start
-- if [[ -e SKIP_TRAVIS_TESTS ]]; then { cat SKIP_TRAVIS_TESTS ; exit 0; } fi
+ # source the env.sh script so that the exported variables are available to other scripts later on
+ - source ./scripts/ci/env.sh print
install:
- # Update npm
- - npm install -g npm@2.9.1
- - npm --version
- # Check the size of caches
- - du -sh ./node_modules || true
- # Install npm dependecies
- - npm install
-
-before_script:
-- mkdir -p $LOGS_DIR
+ - ./scripts/ci/install.sh
script:
-- ./scripts/ci/build_and_test.sh ${MODE}
-
-after_script:
-- ./scripts/ci/print-logs.sh
-
-notifications:
- webhooks:
- urls:
- - https://webhooks.gitter.im/e/1ef62e23078036f9cee4
- on_success: change # options: [always|never|change] default: always
- on_failure: always # options: [always|never|change] default: always
- on_start: false # default: false
- slack:
- secure: EP4MzZ8JMyNQJ4S3cd5LEPWSMjC7ZRdzt3veelDiOeorJ6GwZfCDHncR+4BahDzQAuqyE/yNpZqaLbwRWloDi15qIUsm09vgl/1IyNky1Sqc6lEknhzIXpWSalo4/T9ZP8w870EoDvM/UO+LCV99R3wS8Nm9o99eLoWVb2HIUu0=
+ - ./scripts/ci/build.sh
+ - ./scripts/ci/test.sh
+ # deploy is part of 'script' and not 'after_success' so that we fail the build if the deployment fails
+ - ./scripts/ci/deploy.sh
+ - ./scripts/ci/angular.sh
+ # all the scripts under this line will not quickly abort in case ${TRAVIS_TEST_RESULT} is 1 (job failure)
+ - ./scripts/ci/cleanup.sh
+ - ./scripts/ci/print-logs.sh
diff --git a/BUILD.bazel b/BUILD.bazel
new file mode 100644
index 000000000000..ed2e3b7975fa
--- /dev/null
+++ b/BUILD.bazel
@@ -0,0 +1,45 @@
+package(default_visibility = ["//visibility:public"])
+
+load("@build_bazel_rules_nodejs//:defs.bzl", "node_modules_filegroup")
+
+exports_files([
+ "tsconfig.json",
+ "LICENSE",
+ "protractor-perf.conf.js",
+])
+
+# Developers should always run `bazel run :install`
+# This ensures that package.json in subdirectories get installed as well.
+alias(
+ name = "install",
+ actual = "@nodejs//:yarn",
+)
+
+alias(
+ name = "node_modules",
+ actual = "@angular_deps//:node_modules",
+)
+
+filegroup(
+ name = "web_test_bootstrap_scripts",
+ # do not sort
+ srcs = [
+ "@angular_deps//:node_modules/reflect-metadata/Reflect.js",
+ "@angular_deps//:node_modules/zone.js/dist/zone.js",
+ "@angular_deps//:node_modules/zone.js/dist/zone-testing.js",
+ "@angular_deps//:node_modules/zone.js/dist/task-tracking.js",
+ "//:test-events.js",
+ ],
+)
+
+filegroup(
+ name = "angularjs_scripts",
+ srcs = [
+ "@angular_deps//:node_modules/angular-1.5/angular.js",
+ "@angular_deps//:node_modules/angular-1.6/angular.js",
+ "@angular_deps//:node_modules/angular-mocks-1.5/angular-mocks.js",
+ "@angular_deps//:node_modules/angular-mocks-1.6/angular-mocks.js",
+ "@angular_deps//:node_modules/angular-mocks/angular-mocks.js",
+ "@angular_deps//:node_modules/angular/angular.js",
+ ],
+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a500efa83707..f3fd561d5fd7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,690 +1,3301 @@
-
-### 2.0.0-alpha.29 (2015-07-01)
-
-
-#### Bug Fixes
-
-* export top-level pipe factories as const ([393f703a](https://github.com/angular/angular/commit/393f703a))
-* **Router:** mark Pipeline and RouteRegistry as Injectable ([eea989be](https://github.com/angular/angular/commit/eea989be))
-* **build:**
- * Reduce rx typings to what we actually require. ([8bab6dd2](https://github.com/angular/angular/commit/8bab6dd2))
- * add missing return types now enforced by linter ([44891996](https://github.com/angular/angular/commit/44891996))
- * fix paths in `test.typings` task ([1c8a5896](https://github.com/angular/angular/commit/1c8a5896))
-* **bundle:**
- * don’t bundle traceur/reflect into benchpress - amended change ([d629ed7d](https://github.com/angular/angular/commit/d629ed7d))
- * don’t bundle traceur/reflect into benchpress ([da4de21f](https://github.com/angular/angular/commit/da4de21f))
-* **change detectors:** Fix deduping of protos in transformed dart mode. ([73a939e7](https://github.com/angular/angular/commit/73a939e7))
-* **compiler:** don't trigger duplicated directives ([0598226e](https://github.com/angular/angular/commit/0598226e), closes [#2756](https://github.com/angular/angular/issues/2756), [#2568](https://github.com/angular/angular/issues/2568))
-* **docs:**
- * to run js test 'gulp docs' is needed ([3e650378](https://github.com/angular/angular/commit/3e650378), closes [#2762](https://github.com/angular/angular/issues/2762))
- * link to clang-format ([f1cf5298](https://github.com/angular/angular/commit/f1cf5298))
-* **dynamic_component_loader:** check whether the dynamically loaded component has already been destroyed ([d6cef88d](https://github.com/angular/angular/commit/d6cef88d), closes [#2748](https://github.com/angular/angular/issues/2748), [#2767](https://github.com/angular/angular/issues/2767))
-* **transformer:**
- * Add getters for `events`. ([5a21dc53](https://github.com/angular/angular/commit/5a21dc53))
- * Don't hang on bad urls and log better errors ([d037c082](https://github.com/angular/angular/commit/d037c082))
- * Fix annotation_matcher for NgForm directive. ([9c768501](https://github.com/angular/angular/commit/9c768501))
-* **typings:** Minor issues preventing angular2.d.ts from working in TS 1.4. ([7a4a3c85](https://github.com/angular/angular/commit/7a4a3c85))
-
-
-#### Features
-
-* upgrade clang-format and gulp-clang-format. ([1f7296c0](https://github.com/angular/angular/commit/1f7296c0))
-* **NgStyle:** add new NgStyle directive ([b50edfd1](https://github.com/angular/angular/commit/b50edfd1), closes [#2665](https://github.com/angular/angular/issues/2665))
-* **async:** added PromiseWrapper.wrap ([b688dee4](https://github.com/angular/angular/commit/b688dee4))
-* **benchpress:** initial support for firefox ([0949a4b0](https://github.com/angular/angular/commit/0949a4b0), closes [#2419](https://github.com/angular/angular/issues/2419))
-* **build:** add tslint to the build. ([bc585f27](https://github.com/angular/angular/commit/bc585f27))
-* **di:**
- * removed app injector ([f0e962c5](https://github.com/angular/angular/commit/f0e962c5))
- * changed InstantiationError to print the original stack ([eb0fd796](https://github.com/angular/angular/commit/eb0fd796))
-* **facade:** add ListWrapper.toJSON method ([23350755](https://github.com/angular/angular/commit/23350755))
-* **http:** refactor library to work in dart ([55bf0e55](https://github.com/angular/angular/commit/55bf0e55), closes [#2415](https://github.com/angular/angular/issues/2415))
-* **lang:** added originalException and originalStack to BaseException ([56245c6a](https://github.com/angular/angular/commit/56245c6a))
-* **pipes:**
- * add limitTo pipe ([0b502588](https://github.com/angular/angular/commit/0b502588))
- * support arguments in transform function ([600d53c6](https://github.com/angular/angular/commit/600d53c6))
-* **router:** support deep-linking to anywhere in the app ([f66ce096](https://github.com/angular/angular/commit/f66ce096), closes [#2642](https://github.com/angular/angular/issues/2642))
-* **transformers:** provide a flag to disable inlining views ([dcdd7306](https://github.com/angular/angular/commit/dcdd7306), closes [#2658](https://github.com/angular/angular/issues/2658))
-
-
-#### Breaking Changes
-
-*
-THe appInjector property has been removed. Instead use viewInjector or hostInjector.
-
- ([f0e962c5](https://github.com/angular/angular/commit/f0e962c5))
-* The Http module previously would return RxJS Observables from method calls
- of the Http class. In order to support Dart, the module was refactored to
- return the EventEmitter abstraction instead, which does not contain the same
- combinators or subscription semantics as an RxJS Observable. However, the
- EventEmitter provides a toRx() method which will return an RxJS Subject,
- providing the same subscription and combinator conveniences as were
- available prior to this refactor.
-
- This is temporary, until issue #2794 is resolved, when Observables will
- again be returned directly from Http class methods.
-
- ([34eaf65a](https://github.com/angular/angular/commit/34eaf65a))
-* HttpFactory is no longer available.
- This factory provided a function alternative to the `request` method of the
- Http class, but added no real value. The additional factory required an
- additional IHttp interface, an odd way to inject while preserving type information
- (`@Inject(HttpFactory) http:IHttp`), and required additional documentation in the
- http module.
-
-Closes #2564
-
- ([146dbf12](https://github.com/angular/angular/commit/146dbf12))
-
-
-
-### 2.0.0-alpha.28 (2015-06-24)
-
-
-#### Bug Fixes
-
-* **ShadowDomStrategy:** always inline import rules ([1c4d233f](https://github.com/angular/angular/commit/1c4d233f), closes [#1694](https://github.com/angular/angular/issues/1694))
-* **XHRImpl:** file:/// and IE9 bugs ([cd735c48](https://github.com/angular/angular/commit/cd735c48))
-* **annotations:** swap DirectiveArgs & ComponentArgs ([dcc4bc27](https://github.com/angular/angular/commit/dcc4bc27))
-* **benchmarks:** add waits for naive scrolling benchmark to ensure loading ([d8929c1d](https://github.com/angular/angular/commit/d8929c1d), closes [#1706](https://github.com/angular/angular/issues/1706))
-* **benchpress:** do not throw on unkown frame timestamp event ([ed3af5f7](https://github.com/angular/angular/commit/ed3af5f7), closes [#2622](https://github.com/angular/angular/issues/2622))
-* **change detection:** preserve memoized results from pure functions ([5beaf6d7](https://github.com/angular/angular/commit/5beaf6d7))
-* **compiler:** make text interpolation more robust ([9d4111d6](https://github.com/angular/angular/commit/9d4111d6), closes [#2591](https://github.com/angular/angular/issues/2591))
-* **docs:** Fix docs for Directive.compileChildren ([9700e806](https://github.com/angular/angular/commit/9700e806))
-* **injectors:** sync injector tree with dom element tree. ([d800d2f5](https://github.com/angular/angular/commit/d800d2f5))
-* **parse5:** do not try to insert empty text node ([0a2f6ddc](https://github.com/angular/angular/commit/0a2f6ddc))
-* **render:** fix failing tests in dynamic_component_loader.ts ([6149ce28](https://github.com/angular/angular/commit/6149ce28))
-* **router:** return promise with error handler ([bc798b18](https://github.com/angular/angular/commit/bc798b18))
-* **transformer:** Throw unimplemented errors in HtmlAdapter. ([f9d72bd8](https://github.com/angular/angular/commit/f9d72bd8), closes [#2624](https://github.com/angular/angular/issues/2624), [#2627](https://github.com/angular/angular/issues/2627))
-* **views:** remove dynamic component views, free host views, free embedded views ([5dee8e26](https://github.com/angular/angular/commit/5dee8e26), closes [#2472](https://github.com/angular/angular/issues/2472), [#2339](https://github.com/angular/angular/issues/2339))
-
-
-#### Features
-
-* update clang-format to 1.0.21. ([254e58c2](https://github.com/angular/angular/commit/254e58c2))
-* remove MapWrapper.clear(). ([94136201](https://github.com/angular/angular/commit/94136201))
-* remove MapWrapper.contains(). ([dfd30910](https://github.com/angular/angular/commit/dfd30910))
-* remove MapWrapper.create()/get()/set(). ([be7ac9fd](https://github.com/angular/angular/commit/be7ac9fd))
-* add constructors without type arguments. ([35e882e7](https://github.com/angular/angular/commit/35e882e7))
-* upgrade ts2dart to 0.6.4. ([58b38c92](https://github.com/angular/angular/commit/58b38c92))
-* **CSSClass:** add support for string and array expresions ([8c993dca](https://github.com/angular/angular/commit/8c993dca), closes [#2025](https://github.com/angular/angular/issues/2025))
-* **compiler:** detect dangling property bindings ([d7b9345b](https://github.com/angular/angular/commit/d7b9345b), closes [#2598](https://github.com/angular/angular/issues/2598))
-* **element_injector:** support multiple injectables with the same token ([c899b0a7](https://github.com/angular/angular/commit/c899b0a7))
-* **host:** limits host properties to renames ([92ffc465](https://github.com/angular/angular/commit/92ffc465))
-* **mock:** add mock module and bundle ([29323777](https://github.com/angular/angular/commit/29323777), closes [#2325](https://github.com/angular/angular/issues/2325))
-* **query:** added support for querying by var bindings ([b0e2ebda](https://github.com/angular/angular/commit/b0e2ebda))
-* **render:** don’t use the reflector for setting properties ([0a51ccbd](https://github.com/angular/angular/commit/0a51ccbd), closes [#2637](https://github.com/angular/angular/issues/2637))
-* **router:**
- * add support for hash-based location ([a67f2314](https://github.com/angular/angular/commit/a67f2314), closes [#2555](https://github.com/angular/angular/issues/2555))
- * enforce usage of ... syntax for parent to child component routes ([2d2ae9b8](https://github.com/angular/angular/commit/2d2ae9b8))
-* **transformers:** inline styleUrls to view directive ([f2ef90b2](https://github.com/angular/angular/commit/f2ef90b2), closes [#2566](https://github.com/angular/angular/issues/2566))
-* **typings:** add typing specs ([24646e7e](https://github.com/angular/angular/commit/24646e7e))
-
-
-#### Breaking Changes
-
-* compiler will throw on binding to non-existing properties.
-
-Till now it was possible to have a binding to a non-existing property,
-ex.: `
`. From now on this is compilation error - any
-property binding needs to have at least one associated property:
-eaither on an HTML element or on any directive associated with a
-given element (directives' properites need to be declared using the
-`properties` field in the `@Directive` / `@Component` annotation).
-
-Closes #2598
-
- ([d7b9345b](https://github.com/angular/angular/commit/d7b9345b))
-*
-This PR remove an ability to use pipes in the properties config. Instead, inject the pipe registry.
-
- ([20a8f0db](https://github.com/angular/angular/commit/20a8f0db))
-
-
-
-### 2.0.0-alpha.27 (2015-06-16)
-
-
-#### Bug Fixes
-
-* makes NgModel work in strict mode ([eb3586d7](https://github.com/angular/angular/commit/eb3586d7))
-* Class factory now adds annotations ([bc9e482b](https://github.com/angular/angular/commit/bc9e482b))
-* improve type safety by typing `refs`. ([4ae7df27](https://github.com/angular/angular/commit/4ae7df27))
-* improve type of TreeNode.children. ([c3c2ad14](https://github.com/angular/angular/commit/c3c2ad14))
-* add types for ts2dart's façade handling. ([f3d74185](https://github.com/angular/angular/commit/f3d74185))
-* rename FORWARD_REF to forwardRef in the Angular code base. ([c4ecbf0a](https://github.com/angular/angular/commit/c4ecbf0a))
-* declare var global. ([13466604](https://github.com/angular/angular/commit/13466604))
-* Improve error message on missing dependency ([2ccc65d7](https://github.com/angular/angular/commit/2ccc65d7))
-* compare strings with StringWrapper.equals ([633cf636](https://github.com/angular/angular/commit/633cf636))
-* corrected var/# parsing in template ([a4183971](https://github.com/angular/angular/commit/a4183971), closes [#2084](https://github.com/angular/angular/issues/2084))
-* increase the stack frame size for tests ([ab8eb4f6](https://github.com/angular/angular/commit/ab8eb4f6))
-* include error message in the stack trace ([8d081ea7](https://github.com/angular/angular/commit/8d081ea7))
-* **Compiler:** fix text nodes after content tags ([d599fd34](https://github.com/angular/angular/commit/d599fd34), closes [#2095](https://github.com/angular/angular/issues/2095))
-* **DirectiveMetadata:** add support for events, changeDetection ([b4e82b8b](https://github.com/angular/angular/commit/b4e82b8b))
-* **JsonPipe:** always transform to json ([e77710a3](https://github.com/angular/angular/commit/e77710a3))
-* **Parser:** Parse pipes in arguments ([f9745327](https://github.com/angular/angular/commit/f9745327), closes [#1680](https://github.com/angular/angular/issues/1680))
-* **ShadowDom:** fix emulation integration spec to test all 3 strategies ([6e385154](https://github.com/angular/angular/commit/6e385154), closes [#2546](https://github.com/angular/angular/issues/2546))
-* **analzyer:** removed unused imports ([902759e1](https://github.com/angular/angular/commit/902759e1))
-* **benchmarks:** Do not apply the angular transformer to e2e tests ([cee26826](https://github.com/angular/angular/commit/cee26826))
-* **bootstrap:** temporary disable jit change detection because of a bug in handling pure functio ([9908def8](https://github.com/angular/angular/commit/9908def8))
-* **broccoli:** ensure that inputTrees are stable ([928ec1c5](https://github.com/angular/angular/commit/928ec1c5))
-* **build:**
- * ensure that asset files are copied over to example directories ([60b97b27](https://github.com/angular/angular/commit/60b97b27))
- * Minify files for angular2.min.js bundle ([76797dfb](https://github.com/angular/angular/commit/76797dfb))
- * only pass ts files to ts2dart transpilation. ([b5431e4c](https://github.com/angular/angular/commit/b5431e4c))
-* **bundle:** makes interfaces.ts non-empty when transpiled. ([83e99fc7](https://github.com/angular/angular/commit/83e99fc7))
-* **change detect:** Fix bug in JIT change detectors ([e0fbd4b6](https://github.com/angular/angular/commit/e0fbd4b6))
-* **ci:** remove non-existent gulp task from test_e2e_dart ([1cf807c3](https://github.com/angular/angular/commit/1cf807c3), closes [#2509](https://github.com/angular/angular/issues/2509))
-* **dartfmt:** don't break win32 command line limit ([617d6931](https://github.com/angular/angular/commit/617d6931), closes [#2420](https://github.com/angular/angular/issues/2420), [#1875](https://github.com/angular/angular/issues/1875))
-* **diffing-broccoli-plugin:** wrapped trees are always stable ([7611f92f](https://github.com/angular/angular/commit/7611f92f))
-* **docs:**
- * order class members in order of declaration ([ea27704e](https://github.com/angular/angular/commit/ea27704e), closes [#2569](https://github.com/angular/angular/issues/2569))
- * update link paths in annotations ([dd23bab3](https://github.com/angular/angular/commit/dd23bab3), closes [#2475](https://github.com/angular/angular/issues/2475))
- * ensure no duplicates in alias names of docs ([05d02fa9](https://github.com/angular/angular/commit/05d02fa9))
- * Working generated angular2.d.ts ([7141c15e](https://github.com/angular/angular/commit/7141c15e))
-* **dynamic_component_loader:**
- * Fix for ts2dart issue ([bbfb4e1d](https://github.com/angular/angular/commit/bbfb4e1d))
- * implemented dispose for dynamically-loaded components ([21dcfc89](https://github.com/angular/angular/commit/21dcfc89))
-* **element_injector:** changed visibility rules to expose hostInjector of the component to its shadow d ([c51aef9f](https://github.com/angular/angular/commit/c51aef9f))
-* **forms:**
- * updated form examples to contain select elements ([c34cb014](https://github.com/angular/angular/commit/c34cb014))
- * fixed the handling of the select element ([f1541e65](https://github.com/angular/angular/commit/f1541e65))
- * fixed the selector of NgRequiredValidator ([35197acc](https://github.com/angular/angular/commit/35197acc))
- * getError does not work without path ([a858f6ac](https://github.com/angular/angular/commit/a858f6ac))
-* **life_cycle:** throw when recursively reentering LifeCycle.tick ([af35ab56](https://github.com/angular/angular/commit/af35ab56))
-* **locals:** improved an error message ([4eb8c9b2](https://github.com/angular/angular/commit/4eb8c9b2))
-* **ng_zone:** updated zone not to run onTurnDown when invoking run synchronously from onTurnDo ([15dab7c5](https://github.com/angular/angular/commit/15dab7c5))
-* **npm:** update scripts and readme for npm packages. ([8923103c](https://github.com/angular/angular/commit/8923103c), closes [#2377](https://github.com/angular/angular/issues/2377))
-* **router:**
- * ensure that root URL redirect doesn't redirect non-root URLs ([73d15250](https://github.com/angular/angular/commit/73d15250), closes [#2221](https://github.com/angular/angular/issues/2221))
- * rethrow exceptions ([5782f063](https://github.com/angular/angular/commit/5782f063), closes [#2391](https://github.com/angular/angular/issues/2391))
- * avoid two slash values between the baseHref and the path ([cdc7b03e](https://github.com/angular/angular/commit/cdc7b03e))
- * do not prepend the root URL with a starting slash ([e372cc77](https://github.com/angular/angular/commit/e372cc77))
-* **selector:** select by attribute independent of value and order ([9bad70be](https://github.com/angular/angular/commit/9bad70be), closes [#2513](https://github.com/angular/angular/issues/2513))
-* **shadow_dom:** moves the imported nodes into the correct location. ([92d56584](https://github.com/angular/angular/commit/92d56584))
-* **shrinkwrap:** restore fsevents dependency ([833048f3](https://github.com/angular/angular/commit/833048f3), closes [#2511](https://github.com/angular/angular/issues/2511))
-* **view:** local variables override local variables set by ng-for ([d8e27953](https://github.com/angular/angular/commit/d8e27953))
-
-
-#### Features
-
-* allow Type.annotations = Component(...).View(...) ([b2c66949](https://github.com/angular/angular/commit/b2c66949), closes [#2577](https://github.com/angular/angular/issues/2577))
-* support decorator chaining and class creation in ES5 ([c3ae34f0](https://github.com/angular/angular/commit/c3ae34f0), closes [#2534](https://github.com/angular/angular/issues/2534))
-* update ts2dart to 0.6.1. ([96137724](https://github.com/angular/angular/commit/96137724))
-* adjust formatting for clang-format v1.0.19. ([a6e71239](https://github.com/angular/angular/commit/a6e71239))
-* upgrade to clang-format v1.0.19. ([1c2abbc6](https://github.com/angular/angular/commit/1c2abbc6))
-* **AstTranformer:** add support for missing nodes ([da60381c](https://github.com/angular/angular/commit/da60381c))
-* **BaseRequestOptions:** add merge method to make copies of options ([93596dff](https://github.com/angular/angular/commit/93596dff))
-* **Directive:** Have a single Directive.host which mimics HTML ([f3b49378](https://github.com/angular/angular/commit/f3b49378), closes [#2268](https://github.com/angular/angular/issues/2268))
-* **ElementInjector:** throw if multiple directives define the same host injectable ([6a6b43de](https://github.com/angular/angular/commit/6a6b43de))
-* **Events:** allow a different event vs field name ([29c72abc](https://github.com/angular/angular/commit/29c72abc), closes [#2272](https://github.com/angular/angular/issues/2272), [#2344](https://github.com/angular/angular/issues/2344))
-* **FakeAsync:** check pending timers at the end of fakeAsync in Dart ([53694eb6](https://github.com/angular/angular/commit/53694eb6))
-* **Http:** add Http class ([b68e561c](https://github.com/angular/angular/commit/b68e561c), closes [#2530](https://github.com/angular/angular/issues/2530))
-* **Parser:**
- * support if statements in actions ([7d328799](https://github.com/angular/angular/commit/7d328799), closes [#2022](https://github.com/angular/angular/issues/2022))
- * implement Unparser ([331a051e](https://github.com/angular/angular/commit/331a051e), closes [#1949](https://github.com/angular/angular/issues/1949), [#2395](https://github.com/angular/angular/issues/2395))
-* **View:** add support for styleUrls and styles ([ac3e624d](https://github.com/angular/angular/commit/ac3e624d), closes [#2382](https://github.com/angular/angular/issues/2382))
-* **benchpress:**
- * more smoothness metrics ([35589a6b](https://github.com/angular/angular/commit/35589a6b))
- * add mean frame time metric ([6834c499](https://github.com/angular/angular/commit/6834c499), closes [#2474](https://github.com/angular/angular/issues/2474))
-* **broccoli:**
- * improve merge-trees plugin and add "overwrite" option ([dc8dac7c](https://github.com/angular/angular/commit/dc8dac7c))
- * add diffing MergeTrees plugin ([4ee3fdaf](https://github.com/angular/angular/commit/4ee3fdaf), closes [#1815](https://github.com/angular/angular/issues/1815), [#2064](https://github.com/angular/angular/issues/2064))
-* **build:** add `test.unit.dartvm` for a faster roundtrip of dartvm tests ([46eeee6b](https://github.com/angular/angular/commit/46eeee6b))
-* **change detect:** Throw on attempts to use dehydrated detector ([b6e95bb9](https://github.com/angular/angular/commit/b6e95bb9))
-* **diffing-broccoli-plugin:** support multiple inputTrees ([41ae8e76](https://github.com/angular/angular/commit/41ae8e76), closes [#1815](https://github.com/angular/angular/issues/1815), [#2064](https://github.com/angular/angular/issues/2064))
-* **e2e:** added e2e tests for forms ([552d1ed6](https://github.com/angular/angular/commit/552d1ed6))
-* **facade:** add isMap method ([548f3dd5](https://github.com/angular/angular/commit/548f3dd5))
-* **forms:**
- * set exportAs to form for all form related directives ([e7e82cbe](https://github.com/angular/angular/commit/e7e82cbe))
- * export validator directives as part of formDirectives ([73bce402](https://github.com/angular/angular/commit/73bce402))
- * changed forms to capture submit events and fires synthetic ng-submit events ([5fc23cae](https://github.com/angular/angular/commit/5fc23cae))
- * added hasError and getError methods to all controls ([1a4d2374](https://github.com/angular/angular/commit/1a4d2374))
-* **forms.ts:** formInjectables with FormBuilder ([a6cb86ba](https://github.com/angular/angular/commit/a6cb86ba), closes [#2367](https://github.com/angular/angular/issues/2367))
-* **http:** add basic http service ([21568106](https://github.com/angular/angular/commit/21568106), closes [#2028](https://github.com/angular/angular/issues/2028))
-* **query:**
- * notify on changes ([5bfcca2d](https://github.com/angular/angular/commit/5bfcca2d))
- * adds support for descendants and more list apis. ([355ab5b3](https://github.com/angular/angular/commit/355ab5b3))
-* **router:**
- * allow configuring app base href via token ([cab1d0ef](https://github.com/angular/angular/commit/cab1d0ef))
- * add routing to async components ([cd95e078](https://github.com/angular/angular/commit/cd95e078))
-* **transform:** update for Directive.host ([591f742d](https://github.com/angular/angular/commit/591f742d))
-* **transformers:** updated transformers ([e5419feb](https://github.com/angular/angular/commit/e5419feb))
-* **view:** added support for exportAs, so any directive can be assigned to a variable ([69b75b7f](https://github.com/angular/angular/commit/69b75b7f))
-
-
-#### Breaking Changes
-
-* By default Query only queries direct children.
-
- ([355ab5b3](https://github.com/angular/angular/commit/355ab5b3))
-*
-Before
-
- @Directive({
- hostListeners: {'event': 'statement'},
- hostProperties: {'expression': 'hostProp'},
- hostAttributes: {'attr': 'value'},
- hostActions: {'action': 'statement'}
- })
+
+# [7.0.0-beta.2](https://github.com/angular/angular/compare/7.0.0-beta.1...7.0.0-beta.2) (2018-08-15)
+
+
+### Bug Fixes
+
+* **bazel:** correct type concatenated to devmode_js ([#25467](https://github.com/angular/angular/issues/25467)) ([fb2c524](https://github.com/angular/angular/commit/fb2c524))
+* **service-worker:** `Cache-Control: no-cache` on assets breaks service worker ([#25408](https://github.com/angular/angular/issues/25408)) ([01ec5fd](https://github.com/angular/angular/commit/01ec5fd)), closes [#25442](https://github.com/angular/angular/issues/25442)
+
+
+
+
+# [7.0.0-beta.1](https://github.com/angular/angular/compare/7.0.0-beta.0...7.0.0-beta.1) (2018-08-08)
+
+
+### Bug Fixes
+
+* **compiler-cli:** use the oldProgram option in watch mode ([#21364](https://github.com/angular/angular/issues/21364)) ([c6e5b97](https://github.com/angular/angular/commit/c6e5b97)), closes [#21361](https://github.com/angular/angular/issues/21361)
+* **core:** In Testability.whenStable update callback, pass more complete ([#25010](https://github.com/angular/angular/issues/25010)) ([16c03c0](https://github.com/angular/angular/commit/16c03c0))
+* add mappings for ngfactory & ngsummary files to their module names in aot summary resolver ([#25335](https://github.com/angular/angular/issues/25335)) ([02e201a](https://github.com/angular/angular/commit/02e201a))
+* **router:** take base uri into account in `setUpLocationSync()` ([#20244](https://github.com/angular/angular/issues/20244)) ([ba1e25f](https://github.com/angular/angular/commit/ba1e25f)), closes [#20061](https://github.com/angular/angular/issues/20061)
+
+
+### Features
+
+* **core:** add DoBootstrap interface. ([#24558](https://github.com/angular/angular/issues/24558)) ([732026c](https://github.com/angular/angular/commit/732026c)), closes [#24557](https://github.com/angular/angular/issues/24557)
+
+
+
+
+## [6.1.2](https://github.com/angular/angular/compare/6.1.1...6.1.2) (2018-08-08)
+
+
+### Bug Fixes
+
+* **router:** take base uri into account in `setUpLocationSync()` ([#20244](https://github.com/angular/angular/issues/20244)) ([ae9b4e6](https://github.com/angular/angular/commit/ae9b4e6)), closes [#20061](https://github.com/angular/angular/issues/20061)
+* add mappings for ngfactory & ngsummary files to their module names in aot summary resolver ([#25335](https://github.com/angular/angular/issues/25335)) ([054fbbe](https://github.com/angular/angular/commit/054fbbe))
+
+
+
+# [7.0.0-beta.0](https://github.com/angular/angular/compare/6.1.0...7.0.0-beta.0) (2018-08-02)
+
+### Bug Fixes
+
+* **bazel:** allow compile_strategy to be (privately) imported ([#25080](https://github.com/angular/angular/issues/25080)) ([0d1d589](https://github.com/angular/angular/commit/0d1d589))
+* **compiler:** update compiler to flatten nested template fns ([#24943](https://github.com/angular/angular/issues/24943)) ([fe14f18](https://github.com/angular/angular/commit/fe14f18))
+* **compiler-cli:** correct realPath to realpath. ([#25023](https://github.com/angular/angular/issues/25023)) ([01e6dab](https://github.com/angular/angular/commit/01e6dab))
+* **core:** throw error message when @Output not initialized ([#19116](https://github.com/angular/angular/issues/19116)) ([adf510f](https://github.com/angular/angular/commit/adf510f)), closes [#3664](https://github.com/angular/angular/issues/3664)
+
+
+### Features
+
+* **compiler:** add "original" placeholder value on extracted XMB ([#25079](https://github.com/angular/angular/issues/25079)) ([e99d860](https://github.com/angular/angular/commit/e99d860))
+
+
+
+
+## [6.1.1](https://github.com/angular/angular/compare/6.1.0...6.1.1) (2018-08-02)
+
+* **compiler-cli:** correct tsickle dependency version to fix typescript 2.9 compatibility ([fec29fa](https://github.com/angular/angular/commit/317c7087c56b72aa74cd6d6a8f719e6e7fec29fa))
+
+
+
+
+# [6.1.0](https://github.com/angular/angular/compare/6.0.0-rc.5...6.1.0) (2018-07-25)
+
+### Bug Fixes
+
+* **animations:** always render end-state styles for orphaned DOM nodes ([#24236](https://github.com/angular/angular/issues/24236)) ([dc4a3d0](https://github.com/angular/angular/commit/dc4a3d0))
+* **animations:** set animations styles properly on platform-server ([#24624](https://github.com/angular/angular/issues/24624)) ([0b356d4](https://github.com/angular/angular/commit/0b356d4))
+* **animations:** do not throw errors when a destroyed component is animated ([#23836](https://github.com/angular/angular/issues/23836)) ([d2a8687](https://github.com/angular/angular/commit/d2a8687))
+* **animations:** Fix browser detection logic ([#24188](https://github.com/angular/angular/issues/24188)) ([b492b9e](https://github.com/angular/angular/commit/b492b9e))
+* **animations:** properly clean up queried element styles in safari/edge ([#23633](https://github.com/angular/angular/issues/23633)) ([da9ff25](https://github.com/angular/angular/commit/da9ff25))
+* **animations:** retain state styling for nodes that are moved around ([#23534](https://github.com/angular/angular/issues/23534)) ([65211f4](https://github.com/angular/angular/commit/65211f4))
+* **animations:** retain trigger-state for nodes that are moved around ([#24238](https://github.com/angular/angular/issues/24238)) ([8db928d](https://github.com/angular/angular/commit/8db928d))
+* **bazel:** Allow ng_module to depend on targets w no deps ([#24446](https://github.com/angular/angular/issues/24446)) ([282d351](https://github.com/angular/angular/commit/282d351))
+* **benchpress:** Fix promise chain in chrome_driver_extension. ([#23458](https://github.com/angular/angular/issues/23458)) ([d4b6c41](https://github.com/angular/angular/commit/d4b6c41))
+* **common:** do not round factional seconds ([#24831](https://github.com/angular/angular/issues/24831)) ([a527c69](https://github.com/angular/angular/commit/a527c69)), closes [#24384](https://github.com/angular/angular/issues/24384)
+* **common:** format fractional seconds ([#24844](https://github.com/angular/angular/issues/24844)) ([0b4d85e](https://github.com/angular/angular/commit/0b4d85e)), closes [#24831](https://github.com/angular/angular/issues/24831)
+* **common:** properly update collection reference in NgForOf ([#24684](https://github.com/angular/angular/issues/24684)) ([ff84c5c](https://github.com/angular/angular/commit/ff84c5c)), closes [#24155](https://github.com/angular/angular/issues/24155)
+* **common:** use correct currency format for locale de-AT ([#24658](https://github.com/angular/angular/issues/24658)) ([dcabb05](https://github.com/angular/angular/commit/dcabb05)), closes [#24609](https://github.com/angular/angular/issues/24609)
+* **common:** use correct ICU plural for locale mk ([#24659](https://github.com/angular/angular/issues/24659)) ([64a8584](https://github.com/angular/angular/commit/64a8584))
+* **compiler:** fix a few non-tree-shakeable code patterns ([#24677](https://github.com/angular/angular/issues/24677)) ([50d4a4f](https://github.com/angular/angular/commit/50d4a4f))
+* **compiler:** i18n_extractor now outputs the correct source file name ([#24885](https://github.com/angular/angular/issues/24885)) ([c8ad965](https://github.com/angular/angular/commit/c8ad965)), closes [#24884](https://github.com/angular/angular/issues/24884)
+* **compiler:** support `.` in import statements. ([#20634](https://github.com/angular/angular/issues/20634)) ([d8f7b29](https://github.com/angular/angular/commit/d8f7b29)), closes [#20363](https://github.com/angular/angular/issues/20363)
+* **compiler:** avoid a crash in ngc-wrapped. ([#23468](https://github.com/angular/angular/issues/23468)) ([e1c4930](https://github.com/angular/angular/commit/e1c4930))
+* **compiler:** generate constant array for i18n attributes ([#23837](https://github.com/angular/angular/issues/23837)) ([cfde36d](https://github.com/angular/angular/commit/cfde36d))
+* **compiler:** generate core-compliant hostBindings property ([#24087](https://github.com/angular/angular/issues/24087)) ([01b5acd](https://github.com/angular/angular/commit/01b5acd)), closes [#24013](https://github.com/angular/angular/issues/24013)
+* **compiler:** handle undefined annotation metadata ([#23349](https://github.com/angular/angular/issues/23349)) ([ca776c5](https://github.com/angular/angular/commit/ca776c5))
+* **compiler-cli:** Use typescript to resolve modules for metadata ([#22856](https://github.com/angular/angular/issues/22856)) ([0d5f2d3](https://github.com/angular/angular/commit/0d5f2d3))
+* **compiler-cli:** don't rely on incompatible TS method ([#23550](https://github.com/angular/angular/issues/23550)) ([b1f040f](https://github.com/angular/angular/commit/b1f040f))
+* **core:** stop reusing provider definitions across NgModuleRef instances ([#25022](https://github.com/angular/angular/issues/25022)) ([6b859da](https://github.com/angular/angular/commit/6b859da)), closes [#25018](https://github.com/angular/angular/issues/25018)
+* **core:** mark NgModule as not the root if APP_ROOT is set to false ([#24814](https://github.com/angular/angular/issues/24814)) ([1089261](https://github.com/angular/angular/commit/1089261))
+* **core:** use addCustomEqualityTester instead of overriding toEqual ([#22983](https://github.com/angular/angular/issues/22983)) ([0922228](https://github.com/angular/angular/commit/0922228)), closes [#22939](https://github.com/angular/angular/issues/22939)
+* **core:** Injector correctly honors the @Self flag ([#24520](https://github.com/angular/angular/issues/24520)) ([ccbda9d](https://github.com/angular/angular/commit/ccbda9d))
+* **core:** avoid eager providers re-initialization ([#23559](https://github.com/angular/angular/issues/23559)) ([0c6dc45](https://github.com/angular/angular/commit/0c6dc45))
+* **core:** call ngOnDestroy on all services that have it ([#23755](https://github.com/angular/angular/issues/23755)) ([fc03427](https://github.com/angular/angular/commit/fc03427)), closes [#22466](https://github.com/angular/angular/issues/22466) [#22240](https://github.com/angular/angular/issues/22240) [#14818](https://github.com/angular/angular/issues/14818)
+* **docs-infra:** fix table header layout in API pages ([#24919](https://github.com/angular/angular/issues/24919)) ([3cd9645](https://github.com/angular/angular/commit/3cd9645))
+* **elements:** always check to create strategy ([#23825](https://github.com/angular/angular/issues/23825)) ([b1cda36](https://github.com/angular/angular/commit/b1cda36))
+* **elements:** prevent closure renaming of platform properties ([#23843](https://github.com/angular/angular/issues/23843)) ([d4b8b24](https://github.com/angular/angular/commit/d4b8b24))
+* **forms:** properly handle special properties in FormGroup.get ([#22249](https://github.com/angular/angular/issues/22249)) ([9367e91](https://github.com/angular/angular/commit/9367e91)), closes [#17195](https://github.com/angular/angular/issues/17195)
+* **language-service:** do not overwrite native `Reflect` ([#24299](https://github.com/angular/angular/issues/24299)) ([6881404](https://github.com/angular/angular/commit/6881404)), closes [#21420](https://github.com/angular/angular/issues/21420)
+* **platform-browser:** add missing deps for HammerGesturesPlugin ([#24682](https://github.com/angular/angular/issues/24682)) ([13d60ea](https://github.com/angular/angular/commit/13d60ea))
+* **platform-browser:** mark Meta and Title services as tree shakable providers ([#24815](https://github.com/angular/angular/issues/24815)) ([197387d](https://github.com/angular/angular/commit/197387d))
+* **platform-browser:** workaround wrong import path generated by ngc for DOCUMENT ([#24830](https://github.com/angular/angular/issues/24830)) ([7d27ecc](https://github.com/angular/angular/commit/7d27ecc))
+* **platform-server:** avoid clash between server and client style encapsulation attributes ([#24158](https://github.com/angular/angular/issues/24158)) ([b96a3c8](https://github.com/angular/angular/commit/b96a3c8))
+* **platform-server:** avoid dependency cycle when using http interceptor ([#24229](https://github.com/angular/angular/issues/24229)) ([60aa943](https://github.com/angular/angular/commit/60aa943)), closes [#23023](https://github.com/angular/angular/issues/23023)
+* **platform-server:** don't reflect innerHTML property to attribute ([#24213](https://github.com/angular/angular/issues/24213)) ([6a663a4](https://github.com/angular/angular/commit/6a663a4)), closes [#19278](https://github.com/angular/angular/issues/19278)
+* **platform-server:** provide Domino DOM types globally ([#24116](https://github.com/angular/angular/issues/24116)) ([c73196e](https://github.com/angular/angular/commit/c73196e)), closes [#23280](https://github.com/angular/angular/issues/23280) [#23133](https://github.com/angular/angular/issues/23133)
+* **router:** Fix _lastPathIndex in deeply nested empty paths ([#22394](https://github.com/angular/angular/issues/22394)) ([968f153](https://github.com/angular/angular/commit/968f153))
+* **router:** add ability to recover from malformed url ([#23283](https://github.com/angular/angular/issues/23283)) ([86d254d](https://github.com/angular/angular/commit/86d254d)), closes [#21468](https://github.com/angular/angular/issues/21468)
+* **router:** fix lazy loading of aux routes ([#23459](https://github.com/angular/angular/issues/23459)) ([5731d07](https://github.com/angular/angular/commit/5731d07)), closes [#10981](https://github.com/angular/angular/issues/10981)
+* **router:** avoid freezing queryParams in-place ([#22663](https://github.com/angular/angular/issues/22663)) ([89f64e5](https://github.com/angular/angular/commit/89f64e5)), closes [#22617](https://github.com/angular/angular/issues/22617)
+* **router:** cache route handle if found ([#22475](https://github.com/angular/angular/issues/22475)) ([4cfa571](https://github.com/angular/angular/commit/4cfa571)), closes [#22474](https://github.com/angular/angular/issues/22474)
+* **router:** correct the segment parsing so it won't break on ampersand ([#23684](https://github.com/angular/angular/issues/23684)) ([553a680](https://github.com/angular/angular/commit/553a680))
+* **service-worker:** don't include sourceMappingURL in ngsw-worker ([#24877](https://github.com/angular/angular/issues/24877)) ([8620373](https://github.com/angular/angular/commit/8620373)), closes [#23596](https://github.com/angular/angular/issues/23596)
+* **service-worker:** avoid network requests when looking up hashed resources in cache ([#24127](https://github.com/angular/angular/issues/24127)) ([52d43a9](https://github.com/angular/angular/commit/52d43a9))
+* **service-worker:** fix `SwPush.unsubscribe()` ([#24162](https://github.com/angular/angular/issues/24162)) ([3ed2d75](https://github.com/angular/angular/commit/3ed2d75)), closes [#24095](https://github.com/angular/angular/issues/24095)
+* **service-worker:** add badge to NOTIFICATION_OPTION_NAMES ([#23241](https://github.com/angular/angular/issues/23241)) ([fb59b2d](https://github.com/angular/angular/commit/fb59b2d)), closes [#23196](https://github.com/angular/angular/issues/23196)
+* **service-worker:** check platformBrowser before accessing navigator.serviceWorker ([#21231](https://github.com/angular/angular/issues/21231)) ([0bdd30e](https://github.com/angular/angular/commit/0bdd30e))
+* **service-worker:** correctly handle requests with empty `clientId` ([#23625](https://github.com/angular/angular/issues/23625)) ([e0ed59e](https://github.com/angular/angular/commit/e0ed59e)), closes [#23526](https://github.com/angular/angular/issues/23526)
+* **service-worker:** deprecate `versionedFiles` in asset-group resources ([#23584](https://github.com/angular/angular/issues/23584)) ([1d378e2](https://github.com/angular/angular/commit/1d378e2))
+
+### Features
+
+* **bazel:** Initial commit of protractor_web_test_suite ([#24787](https://github.com/angular/angular/issues/24787)) ([71e0df0](https://github.com/angular/angular/commit/71e0df0))
+* **bazel:** protractor_web_test_suite for release ([#24787](https://github.com/angular/angular/issues/24787)) ([161ff5c](https://github.com/angular/angular/commit/161ff5c))
+* **common:** introduce KeyValuePipe ([#24319](https://github.com/angular/angular/issues/24319)) ([2b49bf7](https://github.com/angular/angular/commit/2b49bf7))
+* **compiler:** support `// ...` and `// TODO` in mock compiler expectations ([#23441](https://github.com/angular/angular/issues/23441)) ([c6b206e](https://github.com/angular/angular/commit/c6b206e))
+* **compiler-cli:** update `tsickle` to `0.29.x` ([#24233](https://github.com/angular/angular/issues/24233)) ([f69ac67](https://github.com/angular/angular/commit/f69ac67))
+* **core:** export defaultKeyValueDiffers to private api ([#24319](https://github.com/angular/angular/issues/24319)) ([92b278c](https://github.com/angular/angular/commit/92b278c))
+* **core:** expose a Compiler API for accessing module ids from NgModule types ([#24258](https://github.com/angular/angular/issues/24258)) ([bd02b27](https://github.com/angular/angular/commit/bd02b27))
+* **core:** KeyValueDiffer#diff allows null values ([#24319](https://github.com/angular/angular/issues/24319)) ([52ce9d5](https://github.com/angular/angular/commit/52ce9d5))
+* **core:** add support for ShadowDOM v1 ([#24718](https://github.com/angular/angular/issues/24718)) ([3553977](https://github.com/angular/angular/commit/3553977))
+(https://github.com/angular/angular/commit/328971f)), closes [#24616](https://github.com/angular/angular/issues/24616)
+* **platform-browser:** add HammerJS lazy-loader symbols to public API ([#23943](https://github.com/angular/angular/issues/23943)) ([26fbf1d](https://github.com/angular/angular/commit/26fbf1d))
+* **platform-browser:** allow lazy-loading HammerJS ([#23906](https://github.com/angular/angular/issues/23906)) ([313bdce](https://github.com/angular/angular/commit/313bdce))
+* **platform-server:** use EventManagerPlugin on the server ([#24132](https://github.com/angular/angular/issues/24132)) ([d6595eb](https://github.com/angular/angular/commit/d6595eb))
+* **router:** add urlUpdateStrategy allow updating the browser URL at the beginning of navigation ([#24820](https://github.com/angular/angular/issues/24820)) ([328971f]
+* **router:** add navigation execution context info to activation hooks ([#24204](https://github.com/angular/angular/issues/24204)) ([20c463e](https://github.com/angular/angular/commit/20c463e)), closes [#24202](https://github.com/angular/angular/issues/24202)
+* **router:** implement scrolling restoration service ([#20030](https://github.com/angular/angular/issues/20030)) ([49c5234](https://github.com/angular/angular/commit/49c5234)), closes [#13636](https://github.com/angular/angular/issues/13636) [#10929](https://github.com/angular/angular/issues/10929) [#7791](https://github.com/angular/angular/issues/7791) [#6595](https://github.com/angular/angular/issues/6595)
+* **service-worker:** add support for `?` in SW config globbing ([#24105](https://github.com/angular/angular/issues/24105)) ([250527c](https://github.com/angular/angular/commit/250527c))
+* typescript 2.9 support ([#24652](https://github.com/angular/angular/issues/24652)) ([e3064d5](https://github.com/angular/angular/commit/e3064d5))
+
+### build
+
+* **bazel:** turn on preserve-symlinks ([#24881](https://github.com/angular/angular/issues/24881)) ([c438b5e](https://github.com/angular/angular/commit/c438b5e))
+
+### Angular Labs (experimental feature) breaking change
+
+* **bazel:** Use of @angular/bazel rules now requires calling ng_setup_workspace() in your WORKSPACE file.
+
+For example:
+
+ local_repository(
+ name = "angular",
+ path = "node_modules/@angular/bazel",
+ )
+
+ load("@angular//:index.bzl", "ng_setup_workspace")
+
+ ng_setup_workspace()
+
+
+## [6.0.9](https://github.com/angular/angular/compare/6.0.8...6.0.9) (2018-07-11)
+
+
+### Bug Fixes
+* **common:** format fractional seconds ([#24844](https://github.com/angular/angular/issues/24844)) ([3c93d07](https://github.com/angular/angular/commit/3c93d07)), closes [#24831](https://github.com/angular/angular/issues/24831)
+
+
+
+## [6.0.8](https://github.com/angular/angular/compare/6.0.7...6.0.8) (2018-07-11)
+
+
+### Bug Fixes
+
+* **common:** do not round factional seconds ([#24831](https://github.com/angular/angular/issues/24831)) ([0746485](https://github.com/angular/angular/commit/0746485)), closes [#24384](https://github.com/angular/angular/issues/24384)
+* **common:** properly update collection reference in NgForOf ([#24684](https://github.com/angular/angular/issues/24684)) ([9a98de9](https://github.com/angular/angular/commit/9a98de9)), closes [#24155](https://github.com/angular/angular/issues/24155)
+* **common:** use correct currency format for locale de-AT ([#24658](https://github.com/angular/angular/issues/24658)) ([a92f111](https://github.com/angular/angular/commit/a92f111)), closes [#24609](https://github.com/angular/angular/issues/24609)
+* **compiler-cli:** Use typescript to resolve modules for metadata ([#22856](https://github.com/angular/angular/issues/22856)) ([7717ff1](https://github.com/angular/angular/commit/7717ff1))
+* **core:** use addCustomEqualityTester instead of overriding toEqual ([#22983](https://github.com/angular/angular/issues/22983)) ([b8975a9](https://github.com/angular/angular/commit/b8975a9)), closes [#22939](https://github.com/angular/angular/issues/22939)
+* **language-service:** do not overwrite native `Reflect` ([#24299](https://github.com/angular/angular/issues/24299)) ([de1c44f](https://github.com/angular/angular/commit/de1c44f)), closes [#21420](https://github.com/angular/angular/issues/21420)
+* **router:** add ability to recover from malformed url ([#23283](https://github.com/angular/angular/issues/23283)) ([2d4f4b5](https://github.com/angular/angular/commit/2d4f4b5)), closes [#21468](https://github.com/angular/angular/issues/21468)
+* **service-worker:** avoid network requests when looking up hashed resources in cache ([#24127](https://github.com/angular/angular/issues/24127)) ([183b079](https://github.com/angular/angular/commit/183b079))
+
+
+### Features
+
+* **core:** add support for ShadowDOM v1 ([#24718](https://github.com/angular/angular/issues/24718)) ([6c55a13](https://github.com/angular/angular/commit/6c55a13))
+
+
+## [6.0.7](https://github.com/angular/angular/compare/6.0.6...6.0.7) (2018-06-27)
+
+
+### Bug Fixes
+
+* **animations:** set animations styles properly on platform-server ([#24624](https://github.com/angular/angular/issues/24624)) ([0b356d4](https://github.com/angular/angular/commit/0b356d4))
+* **common:** use correct ICU plural for locale mk ([#24659](https://github.com/angular/angular/issues/24659)) ([64a8584](https://github.com/angular/angular/commit/64a8584))
+
+
+## [6.0.6](https://github.com/angular/angular/compare/6.0.5...6.0.6) (2018-06-20)
+
+
+### Bug Fixes
+
+* **compiler:** support `.` in import statements. ([#20634](https://github.com/angular/angular/issues/20634)) ([e543c73](https://github.com/angular/angular/commit/e543c73)), closes [#20363](https://github.com/angular/angular/issues/20363)
+* **core:** Injector correctly honors the @Self flag ([#24520](https://github.com/angular/angular/issues/24520)) ([f5b3661](https://github.com/angular/angular/commit/f5b3661))
-After
+
+## [6.0.5](https://github.com/angular/angular/compare/6.0.4...6.0.5) (2018-06-13)
- @Directive({
- host: {
- '(event)': 'statement',
- '[hostProp]': 'expression' // k & v swapped
- 'attr': 'value',
- '@action': 'statement'
+* **animations:** always render end-state styles for orphaned DOM nodes ([#24236](https://github.com/angular/angular/issues/24236)) ([0139173](https://github.com/angular/angular/commit/0139173))
+* **bazel:** Allow ng_module to depend on targets w no deps ([#24446](https://github.com/angular/angular/issues/24446)) ([ea3669e](https://github.com/angular/angular/commit/ea3669e))
+* **docs-infra:** use script nomodule to load IE polyfills, skip other polyfills ([#24317](https://github.com/angular/angular/issues/24317)) ([e876535](https://github.com/angular/angular/commit/e876535)), closes [#23647](https://github.com/angular/angular/issues/23647)
+* **router:** fix lazy loading of aux routes ([#23459](https://github.com/angular/angular/issues/23459)) ([d20877b](https://github.com/angular/angular/commit/d20877b)), closes [#10981](https://github.com/angular/angular/issues/10981)
+* **service-worker:** fix `SwPush.unsubscribe()` ([#24162](https://github.com/angular/angular/issues/24162)) ([ea2987c](https://github.com/angular/angular/commit/ea2987c)), closes [#24095](https://github.com/angular/angular/issues/24095)
+
+
+## [6.0.4](https://github.com/angular/angular/compare/6.0.3...6.0.4) (2018-06-06)
+
+
+### Bug Fixes
+
+* **animations:** Fix browser detection logic ([#24188](https://github.com/angular/angular/issues/24188)) ([c9eb491](https://github.com/angular/angular/commit/c9eb491))
+* **animations:** retain trigger-state for nodes that are moved around ([#24238](https://github.com/angular/angular/issues/24238)) ([19deca1](https://github.com/angular/angular/commit/19deca1))
+* **forms:** properly handle special properties in FormGroup.get ([#22249](https://github.com/angular/angular/issues/22249)) ([dc3e8aa](https://github.com/angular/angular/commit/dc3e8aa)), closes [#17195](https://github.com/angular/angular/issues/17195)
+* **platform-server:** avoid clash between server and client style encapsulation attributes ([#24158](https://github.com/angular/angular/issues/24158)) ([e9f2203](https://github.com/angular/angular/commit/e9f2203))
+* **platform-server:** avoid dependency cycle when using http interceptor ([#24229](https://github.com/angular/angular/issues/24229)) ([2991b1b](https://github.com/angular/angular/commit/2991b1b)), closes [#23023](https://github.com/angular/angular/issues/23023)
+* **platform-server:** don't reflect innerHTML property to attibute ([#24213](https://github.com/angular/angular/issues/24213)) ([c17098d](https://github.com/angular/angular/commit/c17098d)), closes [#19278](https://github.com/angular/angular/issues/19278)
+* **platform-server:** provide Domino DOM types globally ([#24116](https://github.com/angular/angular/issues/24116)) ([906b3ec](https://github.com/angular/angular/commit/906b3ec)), closes [#23280](https://github.com/angular/angular/issues/23280) [#23133](https://github.com/angular/angular/issues/23133)
+
+
+
+## [6.0.3](https://github.com/angular/angular/compare/6.0.2...6.0.3) (2018-05-22)
+
+
+### Bug Fixes
+
+* **service-worker:** check platformBrowser before accessing navigator.serviceWorker ([#21231](https://github.com/angular/angular/issues/21231)) ([0ee5b7e](https://github.com/angular/angular/commit/0ee5b7e))
+
+
+
+
+## [6.0.2](https://github.com/angular/angular/compare/6.0.1...6.0.2) (2018-05-15)
+
+
+### Bug Fixes
+
+* **animations:** do not throw errors when a destroyed component is animated ([#23836](https://github.com/angular/angular/issues/23836)) ([752b83a](https://github.com/angular/angular/commit/752b83a))
+* **service-worker:** deprecate `versionedFiles` in asset-group resources ([#23584](https://github.com/angular/angular/issues/23584)) ([c6b618d](https://github.com/angular/angular/commit/c6b618d))
+
+
+
+
+# [6.0.1](https://github.com/angular/angular/compare/6.0.0...6.0.1) (2018-05-11)
+
+
+### Bug Fixes
+
+* **animations:** properly clean up queried element styles in safari/edge ([#23686](https://github.com/angular/angular/issues/23686)) ([3824e3f](https://github.com/angular/angular/commit/3824e3f))
+* **animations:** retain state styling for nodes that are moved around ([#23686](https://github.com/angular/angular/issues/23686)) ([05aa5e0](https://github.com/angular/angular/commit/05aa5e0))
+* **core:** call ngOnDestroy on all services that have it ([#23755](https://github.com/angular/angular/issues/23755)) ([5581e97](https://github.com/angular/angular/commit/5581e97)), closes [#22466](https://github.com/angular/angular/issues/22466) [#22240](https://github.com/angular/angular/issues/22240) [#14818](https://github.com/angular/angular/issues/14818)
+* **elements:** always check to create strategy ([#23825](https://github.com/angular/angular/issues/23825)) ([d280077](https://github.com/angular/angular/commit/d280077))
+* **router:** avoid freezing queryParams in-place ([#22663](https://github.com/angular/angular/issues/22663)) ([3d8799b](https://github.com/angular/angular/commit/3d8799b)), closes [#22617](https://github.com/angular/angular/issues/22617)
+* **router:** correct the segment parsing so it won't break on ampersand ([#23684](https://github.com/angular/angular/issues/23684)) ([8733843](https://github.com/angular/angular/commit/8733843))
+* **service-worker:** correctly handle requests with empty `clientId` ([#23625](https://github.com/angular/angular/issues/23625)) ([2254ac2](https://github.com/angular/angular/commit/2254ac2)), closes [#23526](https://github.com/angular/angular/issues/23526)
+
+
+
+
+# [6.0.0](https://github.com/angular/angular/compare/6.0.0-beta.0...6.0.0) (2018-05-03)
+
+### Release Highlights & Update instructions
+
+Angular v6 is the first release of Angular that unifies the Framework, Material and CLI.
+
+To learn about the release highlights and our new CLI-powered update workflow for your projects please check out the [v6 release announcement](https://blog.angular.io/version-6-0-0-of-angular-now-available-cc56b0efa7a4).
+
+
+
+### Dependency updates
+
+* @angular/core now depends on
+ * TypeScript 2.7
+ * RxJS 6.0.0
+ * tslib 1.9.0
+* @angular/platform-server now depends on Domino 2.0
+
+
+
+### Small Features
+
+* **animations:** only use the WA-polyfill alongside AnimationBuilder ([#22143](https://github.com/angular/angular/issues/22143)) ([b2f366b](https://github.com/angular/angular/commit/b2f366b)), closes [#17496](https://github.com/angular/angular/issues/17496)
+* **animations:** expose `element` and `params` within transition matchers ([#22693](https://github.com/angular/angular/issues/22693)) ([58b94e6](https://github.com/angular/angular/commit/58b94e6))
+* **common:** better error message when non-template element used in NgIf ([#22274](https://github.com/angular/angular/issues/22274)) ([67cf11d](https://github.com/angular/angular/commit/67cf11d)), closes [#16410](https://github.com/angular/angular/issues/16410)
+* **common:** export functions to format numbers, percents, currencies & dates ([#22423](https://github.com/angular/angular/issues/22423)) ([4180912](https://github.com/angular/angular/commit/4180912)), closes [#20536](https://github.com/angular/angular/issues/20536)
+* **compiler:** lower @NgModule ids if needed ([#23031](https://github.com/angular/angular/issues/23031)) ([bd024c0](https://github.com/angular/angular/commit/bd024c0))
+* **compiler:** implement "enableIvy" compiler option ([#21427](https://github.com/angular/angular/issues/21427)) ([64d16de](https://github.com/angular/angular/commit/64d16de))
+* **compiler:** mark @NgModules in provider lists for identification at runtime ([#22005](https://github.com/angular/angular/issues/22005)) ([2d5e7d1](https://github.com/angular/angular/commit/2d5e7d1))
+* **compiler:** add support for marker tags in xliff serializers ([#21250](https://github.com/angular/angular/issues/21250)) ([f74130c](https://github.com/angular/angular/commit/f74130c)), closes [#21078](https://github.com/angular/angular/issues/21078)
+* **compiler:** support for singleline, multiline & jsdoc comments ([#22715](https://github.com/angular/angular/issues/22715)) ([3b167be](https://github.com/angular/angular/commit/3b167be))
+* **compiler-cli:** lower loadChildren fields to allow dynamic module paths ([#23088](https://github.com/angular/angular/issues/23088)) ([550433a](https://github.com/angular/angular/commit/550433a))
+* **compiler-cli:** check unvalidated combination of ngc and TypeScript ([#22293](https://github.com/angular/angular/issues/22293)) ([3ceee99](https://github.com/angular/angular/commit/3ceee99)), closes [#20669](https://github.com/angular/angular/issues/20669)
+* **compiler-cli:** reflect static methods added to classes in metadata ([#21926](https://github.com/angular/angular/issues/21926)) ([eb8ddd2](https://github.com/angular/angular/commit/eb8ddd2))
+* **compiler-cli:** Check unvalidated combination of ngc and TypeScript ([#22293](https://github.com/angular/angular/issues/22293)) ([3ceee99](https://github.com/angular/angular/commit/3ceee99)), closes [#20669](https://github.com/angular/angular/issues/20669)
+* **compiler-cli:** add resource inlining to ngc ([#22615](https://github.com/angular/angular/issues/22615)) ([b5be18f](https://github.com/angular/angular/commit/b5be18f))
+* **compiler-cli:** require node 8 as runtime engine ([#22669](https://github.com/angular/angular/issues/22669)) ([c602563](https://github.com/angular/angular/commit/c602563))
+* **core:** add binding name to content changed error ([#20352](https://github.com/angular/angular/issues/20352)) ([d3bf54b](https://github.com/angular/angular/commit/d3bf54b))
+* **core:** optional generic type for ElementRef ([#20765](https://github.com/angular/angular/issues/20765)) ([d3d9aac](https://github.com/angular/angular/commit/d3d9aac)), closes [#13139](https://github.com/angular/angular/issues/13139)
+* **core:** set `preserveWhitespaces` to false by default ([#22046](https://github.com/angular/angular/issues/22046)) ([f1a0632](https://github.com/angular/angular/commit/f1a0632)), closes [#22027](https://github.com/angular/angular/issues/22027)
+* **core:** support metadata reflection for native class types ([#22356](https://github.com/angular/angular/issues/22356)) ([5c89d6b](https://github.com/angular/angular/commit/5c89d6b)), closes [#21731](https://github.com/angular/angular/issues/21731)
+* **core:** change @Injectable() to support tree-shakeable tokens ([#22005](https://github.com/angular/angular/issues/22005)) ([235a235](https://github.com/angular/angular/commit/235a235))
+* **core:** support metadata reflection for native class types ([#22356](https://github.com/angular/angular/issues/22356)) ([b7544cc](https://github.com/angular/angular/commit/b7544cc)), closes [#21731](https://github.com/angular/angular/issues/21731)
+* **core:** allow direct scoping of @Injectables to the root injector ([#22185](https://github.com/angular/angular/issues/22185)) ([7ac34e4](https://github.com/angular/angular/commit/7ac34e4))
+* **core:** add task tracking to Testability ([#16863](https://github.com/angular/angular/issues/16863)) ([37fedd0](https://github.com/angular/angular/commit/37fedd0))
+* **forms:** handle string with and without line boundary on pattern validator ([#19256](https://github.com/angular/angular/issues/19256)) ([54bf179](https://github.com/angular/angular/commit/54bf179))
+* **forms:** multiple validators for array method ([#20766](https://github.com/angular/angular/issues/20766)) ([941e88f](https://github.com/angular/angular/commit/941e88f)), closes [#20665](https://github.com/angular/angular/issues/20665)
+* **forms:** allow markAsPending to emit events ([#20212](https://github.com/angular/angular/issues/20212)) ([e86b64b](https://github.com/angular/angular/commit/e86b64b)), closes [#17958](https://github.com/angular/angular/issues/17958)
+* **platform-browser:** add token marking which the type of animation module nearest in the injector tree ([#23075](https://github.com/angular/angular/issues/23075)) ([b551f84](https://github.com/angular/angular/commit/b551f84))
+* **platform-browser:** do not throw error when Hammer.js not loaded ([#22257](https://github.com/angular/angular/issues/22257)) ([991300b](https://github.com/angular/angular/commit/991300b)), closes [#16992](https://github.com/angular/angular/issues/16992)
+* **platform-browser:** fix [#19604](https://github.com/angular/angular/issues/19604), can config hammerOptions ([#21979](https://github.com/angular/angular/issues/21979)) ([1d571b2](https://github.com/angular/angular/commit/1d571b2))
+* **platform-server:** bump Domino to v2.0 ([#22411](https://github.com/angular/angular/issues/22411)) ([d3827a0](https://github.com/angular/angular/commit/d3827a0))
+* **router:** add navigationSource and restoredState to NavigationStart event ([#21728](https://github.com/angular/angular/issues/21728)) ([c40ae7f](https://github.com/angular/angular/commit/c40ae7f))
+* **service-worker:** add support for configuring navigations URLs ([#23339](https://github.com/angular/angular/issues/23339)) ([08325aa](https://github.com/angular/angular/commit/08325aa)), closes [#20404](https://github.com/angular/angular/issues/20404)
+* **service-worker:** add helper script which will uninstall SW ([#21863](https://github.com/angular/angular/issues/21863)) ([b10540a](https://github.com/angular/angular/commit/b10540a))
+
+
+
+
+### Bug Fixes
+
+* **animations:** report correct totalTime value even during noOp animations ([#22225](https://github.com/angular/angular/issues/22225)) ([e1bf067](https://github.com/angular/angular/commit/e1bf067))
+* **animations:** avoid animation insertions during router back/refresh ([#21977](https://github.com/angular/angular/issues/21977)) ([f88fba0](https://github.com/angular/angular/commit/f88fba0)), closes [#19712](https://github.com/angular/angular/issues/19712)
+* **animations:** treat numeric state name values as strings ([#22923](https://github.com/angular/angular/issues/22923)) ([e5e1b0d](https://github.com/angular/angular/commit/e5e1b0d))
+* **animations:** fix increment/decrement aliases example ([#18323](https://github.com/angular/angular/issues/18323)) ([d2aa8ac](https://github.com/angular/angular/commit/d2aa8ac))
+* **common:** NgClass should properly take className changes into account ([#21937](https://github.com/angular/angular/issues/21937)) ([4a42669](https://github.com/angular/angular/commit/4a42669)), closes [#21932](https://github.com/angular/angular/issues/21932)
+* **common:** fix the titlecase pipe ([#22600](https://github.com/angular/angular/issues/22600)) ([7966744](https://github.com/angular/angular/commit/7966744))
+* **common:** add locale currency values ([#21783](https://github.com/angular/angular/issues/21783)) ([420cc7a](https://github.com/angular/angular/commit/420cc7a)), closes [#20385](https://github.com/angular/angular/issues/20385)
+* **common:** round currencies based on decimal digits in `CurrencyPipe` ([#21783](https://github.com/angular/angular/issues/21783)) ([44154e7](https://github.com/angular/angular/commit/44154e7)), closes [#10189](https://github.com/angular/angular/issues/10189)
+* **common:** weaken AsyncPipe transform signature ([#22169](https://github.com/angular/angular/issues/22169)) ([be59c3a](https://github.com/angular/angular/commit/be59c3a))
+* **common:** http testing library should not convert null to a string when flushing a mock request ([#21417](https://github.com/angular/angular/issues/21417)) ([8b14488](https://github.com/angular/angular/commit/8b14488)), closes [#20744](https://github.com/angular/angular/issues/20744)
+* **common:** correct mapping of Observable methods ([#20518](https://github.com/angular/angular/issues/20518)) ([2639b4b](https://github.com/angular/angular/commit/2639b4b)), closes [#20516](https://github.com/angular/angular/issues/20516)
+* **common:** then and else template might be set to null ([#22298](https://github.com/angular/angular/issues/22298)) ([8115edc](https://github.com/angular/angular/commit/8115edc))
+* **common:** A null value should remove the style on IE ([#21679](https://github.com/angular/angular/issues/21679)) ([7d49443](https://github.com/angular/angular/commit/7d49443)), closes [#21064](https://github.com/angular/angular/issues/21064)
+* **common:** fallback to last defined value for named date and time formats ([#21299](https://github.com/angular/angular/issues/21299)) ([879756d](https://github.com/angular/angular/commit/879756d)), closes [#21282](https://github.com/angular/angular/issues/21282)
+* **common:** set correct timezone for ISO8601 dates in Safari ([#21506](https://github.com/angular/angular/issues/21506)) ([05208b8](https://github.com/angular/angular/commit/05208b8)), closes [#21491](https://github.com/angular/angular/issues/21491)
+* **compiler:** fix ICU select messages to use male/female/other ([#21713](https://github.com/angular/angular/issues/21713)) ([cb5090c](https://github.com/angular/angular/commit/cb5090c))
+* **compiler:** avoid a crash in ngc-wrapped. ([#23468](https://github.com/angular/angular/issues/23468)) ([0bc8443](https://github.com/angular/angular/commit/0bc8443))
+* **compiler:** handle undefined annotation metadata ([#23349](https://github.com/angular/angular/issues/23349)) ([b9431e8](https://github.com/angular/angular/commit/b9431e8))
+* **compiler:** don't typecheck all inputs ([#22899](https://github.com/angular/angular/issues/22899)) ([838a610](https://github.com/angular/angular/commit/838a610))
+* **compiler:** fix support for html-like text in translatable attributes ([#23053](https://github.com/angular/angular/issues/23053)) ([28058b7](https://github.com/angular/angular/commit/28058b7))
+* **compiler:** take quoting into account when determining if object literals can be shared ([#22942](https://github.com/angular/angular/issues/22942)) ([d98e9e7](https://github.com/angular/angular/commit/d98e9e7))
+* **compiler:** do not emit line/char in ngsummary files. ([#22840](https://github.com/angular/angular/issues/22840)) ([5c387a7](https://github.com/angular/angular/commit/5c387a7))
+* **compiler:** make unary plus operator consistent to JavaScript ([#22154](https://github.com/angular/angular/issues/22154)) ([72f8abd](https://github.com/angular/angular/commit/72f8abd)), closes [#22089](https://github.com/angular/angular/issues/22089)
+* **compiler:** allow tree-shakeable injectables to depend on string tokens ([#22376](https://github.com/angular/angular/issues/22376)) ([dd53447](https://github.com/angular/angular/commit/dd53447))
+* **compiler:** don't strip `/*# sourceURL ... */` ([#16088](https://github.com/angular/angular/issues/16088)) ([5f681f9](https://github.com/angular/angular/commit/5f681f9))
+* **compiler:** cache external reference resolution ([#21359](https://github.com/angular/angular/issues/21359)) ([e3e2fc0](https://github.com/angular/angular/commit/e3e2fc0))
+* **compiler:** make `.ngsummary.json` files idempotent ([#21448](https://github.com/angular/angular/issues/21448)) ([e64b1e9](https://github.com/angular/angular/commit/e64b1e9))
+* **compiler-cli:** shorten resolved module name in fileNameToModuleName to npm package name for typings ([#23231](https://github.com/angular/angular/issues/23231)) ([6199ea5](https://github.com/angular/angular/commit/6199ea5))
+* **compiler-cli:** strictMetadataEmit should not break on non-compliant libraries ([#23275](https://github.com/angular/angular/issues/23275)) ([5814355](https://github.com/angular/angular/commit/5814355)), closes [#22210](https://github.com/angular/angular/issues/22210)
+* **compiler-cli:** flat module index metadata should be transformed ([#23129](https://github.com/angular/angular/issues/23129)) ([f99cb5c](https://github.com/angular/angular/commit/f99cb5c))
+* **compiler-cli:** use numeric comparison for TypeScript version ([#22705](https://github.com/angular/angular/issues/22705)) ([193737a](https://github.com/angular/angular/commit/193737a)), closes [#22593](https://github.com/angular/angular/issues/22593)
+* **compiler-cli:** disableTypeScriptVersionCheck should be applied even for older tsc versions ([#22669](https://github.com/angular/angular/issues/22669)) ([3f70aba](https://github.com/angular/angular/commit/3f70aba))
+* **compiler-cli:** emit correct css string escape sequences ([#22776](https://github.com/angular/angular/issues/22776)) ([6e5e819](https://github.com/angular/angular/commit/6e5e819))
+* **compiler-cli:** do not fold errors past calls in the collector ([#21708](https://github.com/angular/angular/issues/21708)) ([dd86790](https://github.com/angular/angular/commit/dd86790))
+* **compiler-cli:** do not lower expressions in non-modules ([#21649](https://github.com/angular/angular/issues/21649)) ([7f93aad](https://github.com/angular/angular/commit/7f93aad))
+* **core:** fix [#20582](https://github.com/angular/angular/issues/20582), don't need to wrap zone in location change listener ([#20640](https://github.com/angular/angular/issues/20640)) ([f791e9f](https://github.com/angular/angular/commit/f791e9f))
+* **core:** fix proper propagation of subscriptions in EventEmitter ([#22016](https://github.com/angular/angular/issues/22016)) ([e81606c](https://github.com/angular/angular/commit/e81606c)), closes [#21999](https://github.com/angular/angular/issues/21999)
+* **core:** fix chained http call ([#20924](https://github.com/angular/angular/issues/20924)) ([7e3f9a4](https://github.com/angular/angular/commit/7e3f9a4)), closes [#20921](https://github.com/angular/angular/issues/20921)
+* **core:** should check Zone existence when scheduleMicroTask ([#20656](https://github.com/angular/angular/issues/20656)) ([3a86940](https://github.com/angular/angular/commit/3a86940))
+* **core:** avoid eager providers re-initialization ([#23559](https://github.com/angular/angular/issues/23559)) ([697b6c0](https://github.com/angular/angular/commit/697b6c0))
+* **core:** add stacktrace in log when error during cleanup component in TestBed ([#22162](https://github.com/angular/angular/issues/22162)) ([16d1700](https://github.com/angular/angular/commit/16d1700))
+* **core:** ensure initial value of QueryList length ([#21980](https://github.com/angular/angular/issues/21980)) ([#21982](https://github.com/angular/angular/issues/21982)) ([e56de10](https://github.com/angular/angular/commit/e56de10)), closes [#21980](https://github.com/angular/angular/issues/21980)
+* **core:** use appropriate inert document strategy for Firefox & Safari ([#17019](https://github.com/angular/angular/issues/17019)) ([a751649](https://github.com/angular/angular/commit/a751649))
+* **core:** properly handle function without prototype in reflector ([#22284](https://github.com/angular/angular/issues/22284)) ([a7ebf5a](https://github.com/angular/angular/commit/a7ebf5a)), closes [#19978](https://github.com/angular/angular/issues/19978)
+* **core:** require factory to be provided for shakeable InjectionToken ([#22207](https://github.com/angular/angular/issues/22207)) ([f755db7](https://github.com/angular/angular/commit/f755db7)), closes [#22205](https://github.com/angular/angular/issues/22205)
+* **core:** remove core animation import symbols ([#22692](https://github.com/angular/angular/issues/22692)) ([f5a98f4](https://github.com/angular/angular/commit/f5a98f4))
+* **forms:** improve error message for invalid value accessors ([#22731](https://github.com/angular/angular/issues/22731)) ([23cc3ef](https://github.com/angular/angular/commit/23cc3ef))
+* **forms:** make Validators.email support optional controls ([#20869](https://github.com/angular/angular/issues/20869)) ([140e7c0](https://github.com/angular/angular/commit/140e7c0))
+* **forms:** prevent event emission on enable/disable when emitEvent is false ([#12366](https://github.com/angular/angular/issues/12366)) ([#21018](https://github.com/angular/angular/issues/21018)) ([0bcfae7](https://github.com/angular/angular/commit/0bcfae7))
+* **forms:** set state before emitting a value from ngModelChange ([#21514](https://github.com/angular/angular/issues/21514)) ([9744a1c](https://github.com/angular/angular/commit/9744a1c)), closes [#21513](https://github.com/angular/angular/issues/21513)
+* **forms:** publish missing types ([#19941](https://github.com/angular/angular/issues/19941)) ([2707012](https://github.com/angular/angular/commit/2707012))
+* **forms:** set state before emitting a value from ngModelChange ([#21514](https://github.com/angular/angular/issues/21514)) ([3e6a86f](https://github.com/angular/angular/commit/3e6a86f)), closes [#21513](https://github.com/angular/angular/issues/21513)
+* **language-service:** Clear caches when program changes ([#21337](https://github.com/angular/angular/issues/21337)) ([43e1520](https://github.com/angular/angular/commit/43e1520)), closes [#19405](https://github.com/angular/angular/issues/19405)
+* **platform-browser:** add @Injectable where it was missing ([#22005](https://github.com/angular/angular/issues/22005)) ([0a1a397](https://github.com/angular/angular/commit/0a1a397))
+* **platform-browser:** support 0/false/null values in transfer_state ([#22179](https://github.com/angular/angular/issues/22179)) ([6435ecd](https://github.com/angular/angular/commit/6435ecd))
+* **platform-browser:** do not throw error when Hammer.js not loaded ([#22257](https://github.com/angular/angular/issues/22257)) ([991300b](https://github.com/angular/angular/commit/991300b)), closes [#16992](https://github.com/angular/angular/issues/16992)
+* **platform-browser:** fix [#19604](https://github.com/angular/angular/issues/19604), can config hammerOptions ([#21979](https://github.com/angular/angular/issues/21979)) ([1d571b2](https://github.com/angular/angular/commit/1d571b2))
+* **platform-server:** require node v8+ ([#23331](https://github.com/angular/angular/issues/23331)) ([bbfa1d3](https://github.com/angular/angular/commit/bbfa1d3))
+* **platform-server:** generate correct stylings for camel case names ([#22263](https://github.com/angular/angular/issues/22263)) ([40ba009](https://github.com/angular/angular/commit/40ba009)), closes [#19235](https://github.com/angular/angular/issues/19235)
+* **platform-server:** add styles to elements correctly ([#22527](https://github.com/angular/angular/issues/22527)) ([cd2ebd2](https://github.com/angular/angular/commit/cd2ebd2))
+* **router:** cache route handle if found ([#22475](https://github.com/angular/angular/issues/22475)) ([d8de648](https://github.com/angular/angular/commit/d8de648)), closes [#22474](https://github.com/angular/angular/issues/22474)
+* **router:** don't use spread operator to workaround an issue in closure compiler ([#22884](https://github.com/angular/angular/issues/22884)) ([e6c731f](https://github.com/angular/angular/commit/e6c731f))
+* **router:** make locationSyncBootstrapListener public due to change in output after TS 2.7 update in [#22669](https://github.com/angular/angular/issues/22669) ([#22896](https://github.com/angular/angular/issues/22896)) ([623d769](https://github.com/angular/angular/commit/623d769))
+* **router:** correct over-encoding of URL fragment ([#22687](https://github.com/angular/angular/issues/22687)) ([0bf6fa5](https://github.com/angular/angular/commit/0bf6fa5))
+* **router:** don't mutate route configs ([#22358](https://github.com/angular/angular/issues/22358)) ([45eff4c](https://github.com/angular/angular/commit/45eff4c)), closes [#22203](https://github.com/angular/angular/issues/22203)
+* **router:** fix URL serialization so special characters are only encoded where needed ([#22337](https://github.com/angular/angular/issues/22337)) ([094666d](https://github.com/angular/angular/commit/094666d)), closes [#10280](https://github.com/angular/angular/issues/10280)
+* **router:** don't use ParamsInheritanceStrategy in declarations ([#21574](https://github.com/angular/angular/issues/21574)) ([925e654](https://github.com/angular/angular/commit/925e654)), closes [#21456](https://github.com/angular/angular/issues/21456)
+* **service-worker:** add badge to NOTIFICATION_OPTION_NAMES ([#23241](https://github.com/angular/angular/issues/23241)) ([fb59b2d](https://github.com/angular/angular/commit/fb59b2d)), closes [#23196](https://github.com/angular/angular/issues/23196)
+* **service-worker:** let `*` match 0 characters in globs ([#23339](https://github.com/angular/angular/issues/23339)) ([6c2c958](https://github.com/angular/angular/commit/6c2c958))
+* **service-worker:** do not enter degraded mode when offline ([#22883](https://github.com/angular/angular/issues/22883)) ([9e9b8dd](https://github.com/angular/angular/commit/9e9b8dd)), closes [#21636](https://github.com/angular/angular/issues/21636)
+* **service-worker:** fix LruList bugs ([#22769](https://github.com/angular/angular/issues/22769)) ([8c2a578](https://github.com/angular/angular/commit/8c2a578)), closes [#22218](https://github.com/angular/angular/issues/22218) [#22768](https://github.com/angular/angular/issues/22768)
+* **service-worker:** ignore invalid `only-if-cached` requests ([#22883](https://github.com/angular/angular/issues/22883)) ([d9dc46e](https://github.com/angular/angular/commit/d9dc46e)), closes [#22362](https://github.com/angular/angular/issues/22362)
+* **service-worker:** properly handle invalid hashes in all scenarios ([#21288](https://github.com/angular/angular/issues/21288)) ([3951098](https://github.com/angular/angular/commit/3951098))
+* **upgrade:** correctly handle downgraded `OnPush` components ([#22209](https://github.com/angular/angular/issues/22209)) ([ad9ce5c](https://github.com/angular/angular/commit/ad9ce5c)), closes [#14286](https://github.com/angular/angular/issues/14286)
+* **upgrade:** propagate return value of resumeBootstrap ([#22754](https://github.com/angular/angular/issues/22754)) ([a2330ff](https://github.com/angular/angular/commit/a2330ff)), closes [#22723](https://github.com/angular/angular/issues/22723)
+* **upgrade:** two-way binding and listening for event ([#22772](https://github.com/angular/angular/issues/22772)) ([2b3de63](https://github.com/angular/angular/commit/2b3de63)), closes [#22734](https://github.com/angular/angular/issues/22734)
+* **upgrade:** correctly destroy nested downgraded component ([#22400](https://github.com/angular/angular/issues/22400)) ([8a85888](https://github.com/angular/angular/commit/8a85888)), closes [#22392](https://github.com/angular/angular/issues/22392)
+* **upgrade:** correctly handle `=` bindings in `[@angular](https://github.com/angular)/upgrade` ([#22167](https://github.com/angular/angular/issues/22167)) ([f089bf5](https://github.com/angular/angular/commit/f089bf5))
+* **upgrade:** fix empty transclusion content with AngularJS@>=1.5.8 ([#22167](https://github.com/angular/angular/issues/22167)) ([13ab91e](https://github.com/angular/angular/commit/13ab91e)), closes [#22175](https://github.com/angular/angular/issues/22175)
+
+
+
+### Possible Breaking Changes
+
+* **animations:** When animation is triggered within a disabled zone, the associated event (which an instance of AnimationEvent) will no longer report the totalTime as 0 (it will emit the actual time of the animation).
+
+ To detect if an animation event is reporting a disabled animation then the `event.disabled` property can be used instead.
+
+
+* **compiler:** The `` tag was deprecated in Angular v4 to avoid collisions (i.e. when using Web Components).
+
+ This change removes support for ``. `` should be used instead.
+
+ BEFORE:
+
+
+ some template content
+
+ # tsconfig.json
+ {
+ # ...
+ "angularCompilerOptions": {
+ # ...
+ # This option is no more supported and will have no effect
+ "enableLegacyTemplate": [true|false]
+ }
}
- })
- ([f3b49378](https://github.com/angular/angular/commit/f3b49378))
-*
-no longer cache ref
-
- ([e77710a3](https://github.com/angular/angular/commit/e77710a3))
-
-
-
-### 2.0.0-alpha.26 (2015-06-03)
-
-
-#### Bug Fixes
-
-* format a file that slipped in. ([471a1b6d](https://github.com/angular/angular/commit/471a1b6d))
-* fix clang errors ([01fb8e66](https://github.com/angular/angular/commit/01fb8e66))
-* **ShadowCss:** keyframes tests failing in Safari ([4c8e11a5](https://github.com/angular/angular/commit/4c8e11a5), closes [#2283](https://github.com/angular/angular/issues/2283))
-* **Tools:** Moves files out of dart2js/**/web. ([40150379](https://github.com/angular/angular/commit/40150379))
-* **ast:** fix the size of a list in _evalListCache ([0387221d](https://github.com/angular/angular/commit/0387221d))
-* **benchpress:**
- * support nested intervals ([c280fe81](https://github.com/angular/angular/commit/c280fe81))
- * add index to root of module ([383f0a1f](https://github.com/angular/angular/commit/383f0a1f))
-* **binding:** unbalanced curly brackets in documentation ([a80921b4](https://github.com/angular/angular/commit/a80921b4))
-* **browser_adapter:**
- * HTMLStyleElement.innerText does not trigger creation of CSS rules (Firefox) ([b2a24e02](https://github.com/angular/angular/commit/b2a24e02))
- * event creation fails (IE11, Firefox) ([665ccafd](https://github.com/angular/angular/commit/665ccafd))
- * element.getBoundingClientRect fails when element not in DOM (IE11) ([f35dbb99](https://github.com/angular/angular/commit/f35dbb99))
- * element.matches only available with prefix (IE11) ([a393f84f](https://github.com/angular/angular/commit/a393f84f))
- * assigning null to document.title sets the title to "null" (IE11, Firefox) ([92c2c33a](https://github.com/angular/angular/commit/92c2c33a))
-* **build:**
- * remove nonexistant dart format task from gulpfile ([f74d7727](https://github.com/angular/angular/commit/f74d7727))
- * make dart formatter errors more readable ([31b66878](https://github.com/angular/angular/commit/31b66878))
- * also run ts tests in node. ([05774f6c](https://github.com/angular/angular/commit/05774f6c))
-* **collection:**
- * iterator on Map keys is not supported (Safari) ([4b98ed11](https://github.com/angular/angular/commit/4b98ed11), closes [#2096](https://github.com/angular/angular/issues/2096))
- * new Map(iterable) is not supported (Safari) ([d308e55e](https://github.com/angular/angular/commit/d308e55e))
- * new Set(iterable) is not supported (IE11, Safari) ([57b88ec2](https://github.com/angular/angular/commit/57b88ec2), closes [#2063](https://github.com/angular/angular/issues/2063))
-* **core:** resurrect OnChange interface ([d48fae35](https://github.com/angular/angular/commit/d48fae35))
-* **dartdocs:** Hide duplicate exports from guinness. ([17e1d7f1](https://github.com/angular/angular/commit/17e1d7f1))
-* **deps:** Update clang-format to 1.0.14. ([15f1eb28](https://github.com/angular/angular/commit/15f1eb28))
-* **di:** allow `@Inject(…)` to work in dart2js and dynamic reflection ([4a3fd5e8](https://github.com/angular/angular/commit/4a3fd5e8), closes [#2185](https://github.com/angular/angular/issues/2185))
-* **docs:** generate d.ts file only for angular2/angular2. ([0a0b84a0](https://github.com/angular/angular/commit/0a0b84a0))
-* **dom:**
- * allow to correctly clone document fragments ([2351896c](https://github.com/angular/angular/commit/2351896c))
- * `querySelectorAll` should only query child nodes ([307011a9](https://github.com/angular/angular/commit/307011a9))
-* **example:** unused event ([f83f1ee0](https://github.com/angular/angular/commit/f83f1ee0))
-* **examples:** update form example to use NgIf ([1ad65582](https://github.com/angular/angular/commit/1ad65582))
-* **facade:**
- * Make PromiseWrapper#all semantics equivalent ([22f59252](https://github.com/angular/angular/commit/22f59252))
- * Fix bug in TS indexOf ([cda35101](https://github.com/angular/angular/commit/cda35101))
-* **fake_async:** fixed fakeAsync to throw instead of crashing on cjs ([5c53cf64](https://github.com/angular/angular/commit/5c53cf64))
-* **forms:** disabled form tests on cjs until fakeAsync is fixed ([cd52d8a3](https://github.com/angular/angular/commit/cd52d8a3))
-* **gulp:** prevent duplicate error messages ([381d4cb3](https://github.com/angular/angular/commit/381d4cb3), closes [#2021](https://github.com/angular/angular/issues/2021))
-* **injectable:** add missing @Injectables annotations ([0c7f05f5](https://github.com/angular/angular/commit/0c7f05f5), closes [#2173](https://github.com/angular/angular/issues/2173))
-* **package.json:** add `reflect-metadata` to package.json ([60801777](https://github.com/angular/angular/commit/60801777), closes [#2170](https://github.com/angular/angular/issues/2170))
-* **render:**
- * only look for content tags in views that might have them. ([ba7956f5](https://github.com/angular/angular/commit/ba7956f5), closes [#2297](https://github.com/angular/angular/issues/2297))
- * don’t store a document fragment as bound element ([24bc4b66](https://github.com/angular/angular/commit/24bc4b66))
-* **router:** event.defaultPrevented is not reliable (IE11) ([2287938f](https://github.com/angular/angular/commit/2287938f))
-* **selector:** support multiple `:not` clauses ([62a95823](https://github.com/angular/angular/commit/62a95823), closes [#2243](https://github.com/angular/angular/issues/2243))
-* **test:**
- * clang formatting errors ([05d66bba](https://github.com/angular/angular/commit/05d66bba))
- * solve CSS discrepancies across browsers ([fb42d590](https://github.com/angular/angular/commit/fb42d590), closes [#2177](https://github.com/angular/angular/issues/2177))
- * use a not expandable CSS rule in ShadowCSS spec (Firefox) ([588fbfd8](https://github.com/angular/angular/commit/588fbfd8), closes [#2061](https://github.com/angular/angular/issues/2061))
- * adds longer timers for NgZone and PromisePipe tests (IE11) ([661a0479](https://github.com/angular/angular/commit/661a0479), closes [#2055](https://github.com/angular/angular/issues/2055))
- * native shadow DOM is required (IE11, Firefox) ([9802debf](https://github.com/angular/angular/commit/9802debf))
- * function.name is not available (IE11) ([5103f080](https://github.com/angular/angular/commit/5103f080))
-* **tests:** disable mobile emulation so benchmarks run on current chrome ([b071b66b](https://github.com/angular/angular/commit/b071b66b))
-* **types:** parametrize QueryList. ([552985e3](https://github.com/angular/angular/commit/552985e3))
-
-
-#### Features
-
-* add support for the safe navigation (aka Elvis) operator ([a9be2ebf](https://github.com/angular/angular/commit/a9be2ebf), closes [#791](https://github.com/angular/angular/issues/791))
-* **Directive:** convert properties to an array ([d7df853b](https://github.com/angular/angular/commit/d7df853b), closes [#2013](https://github.com/angular/angular/issues/2013))
-* **ElementInjector:** support an arbitrary number of bindings ([b1c9bf14](https://github.com/angular/angular/commit/b1c9bf14), closes [#1853](https://github.com/angular/angular/issues/1853))
-* **OpaqueToken:** now a const constructor ([c571b269](https://github.com/angular/angular/commit/c571b269))
-* **RegExpWrapper:** implement a test method ([551586ce](https://github.com/angular/angular/commit/551586ce))
-* **benchpress:** Add extension for ff metrics reporting ([b390f441](https://github.com/angular/angular/commit/b390f441), closes [#1976](https://github.com/angular/angular/issues/1976))
-* **binding:** throw on binding to a blank alias ([ec2d8cc2](https://github.com/angular/angular/commit/ec2d8cc2), closes [#2068](https://github.com/angular/angular/issues/2068))
-* **broccoli:** add incremental dartfmt plugin ([e5d06e47](https://github.com/angular/angular/commit/e5d06e47), closes [#2211](https://github.com/angular/angular/issues/2211))
-* **change_detection:** added onInit and onCheck hooks ([c39c8ebc](https://github.com/angular/angular/commit/c39c8ebc))
-* **change_detection.ts:** export PipeFactory ([93f464a1](https://github.com/angular/angular/commit/93f464a1), closes [#2245](https://github.com/angular/angular/issues/2245))
-* **core:**
- * added support for detecting lifecycle events based on interfaces ([30b6542f](https://github.com/angular/angular/commit/30b6542f))
- * added missing interfaces for onDestroy and onAllChangesDone lifecycle events ([2b6a6530](https://github.com/angular/angular/commit/2b6a6530))
-* **di:** added optional self parameter to Parent, Ancestor, and Unbounded ([34cfc9f4](https://github.com/angular/angular/commit/34cfc9f4))
-* **dom:** add `setData()` method. ([6f3368ef](https://github.com/angular/angular/commit/6f3368ef))
-* **facade:** add read/write access to global variables ([cdf791f0](https://github.com/angular/angular/commit/cdf791f0))
-* **fakeAsync:** flush the microtasks before returning ([c7572ac1](https://github.com/angular/angular/commit/c7572ac1), closes [#2269](https://github.com/angular/angular/issues/2269))
-* **form:** implemented an imperative way of updating the view by updating the value of a co ([652ed0cf](https://github.com/angular/angular/commit/652ed0cf))
-* **forms:**
- * added support for status classes ([3baf815d](https://github.com/angular/angular/commit/3baf815d))
- * added touched and untouched to Control ([ec3a7828](https://github.com/angular/angular/commit/ec3a7828))
- * renamed control, control-group into ng-control and ng-control-group ([f543834b](https://github.com/angular/angular/commit/f543834b))
- * changed the selector of TemplatdrivenFormDirective to match