diff --git a/.bazelrc b/.bazelrc deleted file mode 100644 index 026b12684f..0000000000 --- a/.bazelrc +++ /dev/null @@ -1,18 +0,0 @@ -# Make compilation fast, by keeping a few copies of the compilers -# running as daemons, and cache SourceFile AST's to reduce parse time. -build --strategy=TypeScriptCompile=worker -build --strategy=AngularTemplateCompile=worker - -# Don't create bazel-* symlinks in the WORKSPACE directory. -# These require .gitignore and may scare users. -# Also, it's a workaround for https://github.com/bazelbuild/rules_typescript/issues/12 -# which affects the common case of having `tsconfig.json` in the WORKSPACE directory. -# -# Instead, you should run `bazel info bazel-bin` to find out where the outputs went. -build --symlink_prefix=/ - -# Performance: avoid stat'ing input files -build --watchfs - -# Don't print all the .d.ts output locations after builds -build --show_result=0 \ No newline at end of file diff --git a/.circleci/config.yml b/.circleci/config.yml index 596829ebf6..0c08ea1b8b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,17 +7,25 @@ # 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.0.8 +var_2: &cache_key angular-{{ .Branch }}-{{ checksum "yarn.lock" }}-0.0.8 + # Settings common to each job anchor_1: &job_defaults working_directory: ~/ng docker: - - image: angular/ngcontainer:0.0.2 + - 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/${CI_PULL_REQUEST//*pull\//}/merge" + post: git pull --ff-only origin "refs/pull/${CIRCLE_PULL_REQUEST//*pull\//}/merge" version: 2 jobs: @@ -26,24 +34,35 @@ jobs: steps: - checkout: <<: *post_checkout - - restore_cache: - key: angular-{{ .Branch }}-{{ checksum "yarn.lock" }} + # 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 BUILD.bazel -or -name BUILD \)) || + (echo "BUILD files not formatted. Please run ''yarn buildifier''" ; exit 1)' - - run: yarn install + - restore_cache: + key: *cache_key + + - run: yarn install --frozen-lockfile --non-interactive - run: ./node_modules/.bin/gulp lint build: <<: *job_defaults + resource_class: large steps: - checkout: <<: *post_checkout - restore_cache: - key: angular-{{ .Branch }}-{{ checksum "yarn.lock" }} - + key: *cache_key + + - run: bazel info release - run: bazel run @yarn//:yarn - - run: bazel build packages/... + # Use bazel query so that we explicitly ask for all buildable targets to be built as well + # This avoids waiting for a build command to finish before running the first test + # See https://github.com/bazelbuild/bazel/issues/4257 + - run: bazel query --output=label '//packages/... union @angular//...' | xargs bazel test --config=ci + - save_cache: - key: angular-{{ .Branch }}-{{ checksum "yarn.lock" }} + key: *cache_key paths: - "node_modules" diff --git a/.mailmap b/.mailmap new file mode 100644 index 0000000000..1f2f86feb5 --- /dev/null +++ b/.mailmap @@ -0,0 +1 @@ +Michał Gołębiowski-Owczarek diff --git a/.nvmrc b/.nvmrc index e1e5d1369a..fa97ecedc2 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -6.9.5 +8.9 diff --git a/.pullapprove.yml b/.pullapprove.yml index 20c3d64161..6d4e0aef5f 100644 --- a/.pullapprove.yml +++ b/.pullapprove.yml @@ -7,23 +7,23 @@ # # alexeagle - Alex Eagle # alxhub - Alex Rickabaugh +# brocco - Mike Brocchi # chuckjaz - Chuck Jazdzewski +# filipesilva - Filipe Silva # Foxandxss - Jesús Rodríguez # gkalpak - George Kalpakas +# hansl - Hans Larsen # IgorMinar - Igor Minar # jasonaden - Jason Aden -# juleskremer - Jules Kremer # kara - Kara Erickson # matsko - Matias Niemelä # mhevery - Misko Hevery # petebacondarwin - Pete Bacon Darwin # pkozlowski-opensource - Pawel Kozlowski # robwormald - Rob Wormald -# tbosch - Tobias Bosch # tinayuangao - Tina Gao # vicb - Victor Berchet # vikerman - Vikram Subramanian -# wardbell - Ward Bell version: 2 @@ -34,14 +34,33 @@ group_defaults: 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 + # 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/*" @@ -68,9 +87,11 @@ groups: - "*.bazel" - "*.bzl" - "packages/bazel/*" + - "tools/bazel.rc" users: - alexeagle #primary - chuckjaz + - IgorMinar - vikerman #fallback build-and-ci: @@ -82,6 +103,7 @@ groups: - "*.lock" - "tools/*" exclude: + - "tools/bazel.rc" - "tools/public_api_guard/*" - "aio/*" users: @@ -97,18 +119,15 @@ groups: users: - alexeagle - mhevery - - tbosch - vicb - IgorMinar #fallback - core: conditions: files: - "packages/core/*" users: - - tbosch #primary - - chuckjaz + - chuckjaz #primary - mhevery - vicb - IgorMinar #fallback @@ -116,7 +135,7 @@ groups: animations: conditions: files: - - "packages/animation/*" + - "packages/animations/*" - "packages/platform-browser/animations/*" users: - matsko #primary @@ -130,7 +149,7 @@ groups: - "packages/compiler/src/i18n/*" users: - vicb #primary - - tbosch + - chuckjaz - IgorMinar #fallback - mhevery #fallback @@ -139,22 +158,32 @@ groups: files: - "packages/compiler/*" users: - - tbosch #primary + - chuckjaz #primary - vicb - - chuckjaz - mhevery - IgorMinar #fallback + compiler-cli/ngtools: + conditions: + files: + - "packages/compiler-cli/src/ngtools*" + users: + - hansl + - filipesilva #fallback + - brocco #fallback + compiler-cli: conditions: files: - - "packages/compiler-cli/*" - - "packages/bazel/*" + include: + - "packages/compiler-cli/*" + - "packages/bazel/*" + exclude: + - "packages/compiler-cli/src/ngtools*" users: - alexeagle - chuckjaz - vicb - - tbosch - IgorMinar #fallback - mhevery #fallback @@ -198,7 +227,7 @@ groups: - "packages/language-service/*" users: - chuckjaz #primary - - tbosch #secondary + # needs secondary - vicb - IgorMinar #fallback - mhevery #fallback @@ -228,8 +257,8 @@ groups: files: - "packages/platform-browser/*" users: - - tbosch #primary - - vicb #secondary + - vicb #primary + # needs secondary - IgorMinar #fallback - mhevery #fallback @@ -239,9 +268,9 @@ groups: - "packages/platform-server/*" users: - vikerman #primary + # needs secondary - alxhub - vicb - - tbosch - IgorMinar #fallback - mhevery #fallback @@ -251,18 +280,26 @@ groups: - "packages/platform-webworker/*" users: - vicb #primary - - tbosch #secondary + # needs secondary - IgorMinar #fallback - mhevery #fallback - + service-worker: + conditions: + files: + - "packages/service-worker/*" + users: + - alxhub #primary + - gkalpak + - IgorMinar #fallback + - mhevery #fallback benchpress: conditions: files: - "packages/benchpress/*" users: - - tbosch #primary + - alxhub # primary # needs secondary - IgorMinar #fallback - mhevery #fallback @@ -290,10 +327,8 @@ groups: - "aio/content/navigation.json" - "aio/content/license.md" users: - - juleskremer #primary - - Foxandxss - stephenfluin - - wardbell + - Foxandxss - petebacondarwin - gkalpak - IgorMinar #fallback @@ -307,7 +342,6 @@ groups: - "aio/content/navigation.json" - "aio/content/license.md" users: - - juleskremer #primary - stephenfluin - petebacondarwin - gkalpak diff --git a/.travis.yml b/.travis.yml index 04c0c2a707..4326581272 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,12 +1,10 @@ language: node_js sudo: false -# force trusty as Google Chrome addon is not supported on Precise dist: trusty node_js: - - '6.9.5' + - '8.9.1' addons: - chrome: stable # firefox: "38.0" apt: sources: @@ -50,7 +48,8 @@ env: - CI_MODE=e2e_2 - CI_MODE=js - CI_MODE=saucelabs_required - - CI_MODE=browserstack_required + # deactivated, see #19768 + # - CI_MODE=browserstack_required - CI_MODE=saucelabs_optional - CI_MODE=browserstack_optional - CI_MODE=aio_tools_test diff --git a/BUILD.bazel b/BUILD.bazel index 718cd4f758..bea8d6fcf0 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -1,5 +1,8 @@ package(default_visibility = ["//visibility:public"]) -exports_files(["tsconfig.json"]) + +exports_files([ + "tsconfig.json", +]) # This rule belongs in node_modules/BUILD # It's here as a workaround for @@ -11,16 +14,25 @@ filegroup( # bazel query "deps(:node_modules)" | wc -l # This won't scale in the general case. # TODO(alexeagle): figure out what to do - srcs = glob(["/".join(["node_modules", pkg, "**", ext]) for pkg in [ + srcs = glob(["/".join([ + "node_modules", + pkg, + "**", + ext, + ]) for pkg in [ + "jasmine", "typescript", "zone.js", - "rxjs", - "@types", + "tsutils", + "@types/jasmine", + "@types/node", + "@types/source-map", "tsickle", "hammerjs", "protobufjs", "bytebuffer", "reflect-metadata", + "source-map-support", "minimist", ] for ext in [ "*.js", @@ -28,3 +40,26 @@ filegroup( "*.d.ts", ]]), ) + +filegroup( + name = "web_test_bootstrap_scripts", + # do not sort + srcs = [ + "//:node_modules/reflect-metadata/Reflect.js", + "//:node_modules/zone.js/dist/zone.js", + "//:node_modules/zone.js/dist/async-test.js", + "//:node_modules/zone.js/dist/sync-test.js", + "//:node_modules/zone.js/dist/fake-async-test.js", + "//:node_modules/zone.js/dist/proxy.js", + "//:node_modules/zone.js/dist/jasmine-patch.js", + ], +) + +filegroup( + name = "angularjs", + # do not sort + srcs = [ + "//:node_modules/angular/angular.js", + "//:node_modules/angular-mocks/angular-mocks.js", + ], +) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6ae521d019..4102638a18 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,289 +1,388 @@ - -# [5.0.0-rc.0](https://github.com/angular/angular/compare/5.0.0-beta.7...5.0.0-rc.0) (2017-09-28) + +# [5.2.0-rc.0](https://github.com/angular/angular/compare/5.2.0-beta.1...5.2.0-rc.0) (2018-01-04) ### Bug Fixes -* **animations:** properly support the query limit option value ([b54368b](https://github.com/angular/angular/commit/b54368b)), closes [#19232](https://github.com/angular/angular/issues/19232) -* **common:** use correct pipe name in error messages ([#19403](https://github.com/angular/angular/issues/19403)) ([f9b0863](https://github.com/angular/angular/commit/f9b0863)), closes [#19373](https://github.com/angular/angular/issues/19373) -* **compiler:** add parens around binary / ternary expressions ([3799f43](https://github.com/angular/angular/commit/3799f43)) -* **compiler:** allow to use flat modules and summaries ([ec2be5d](https://github.com/angular/angular/commit/ec2be5d)) -* **compiler:** allow to use lowering with `export *`. ([e31a76c](https://github.com/angular/angular/commit/e31a76c)) -* **compiler:** also create `.ngfactory.js` files in non obvious cases ([#19301](https://github.com/angular/angular/issues/19301)) ([1a647c3](https://github.com/angular/angular/commit/1a647c3)) -* **compiler:** collect non exported symbols in d.ts files ([#19301](https://github.com/angular/angular/issues/19301)) ([62602b9](https://github.com/angular/angular/commit/62602b9)) -* **compiler:** correctly derive `fileExists` for generated files ([#19301](https://github.com/angular/angular/issues/19301)) ([f2bad19](https://github.com/angular/angular/commit/f2bad19)) -* **compiler:** correctly map error message locations ([#19424](https://github.com/angular/angular/issues/19424)) ([ff5b050](https://github.com/angular/angular/commit/ff5b050)) -* **compiler:** do not consider a reference with members as a reference ([#19454](https://github.com/angular/angular/issues/19454)) ([b3db3f8](https://github.com/angular/angular/commit/b3db3f8)) -* **compiler:** don’t lower property accesses of exported symbols ([#19301](https://github.com/angular/angular/issues/19301)) ([45747ed](https://github.com/angular/angular/commit/45747ed)) -* **compiler:** don’t type check property access of literal maps ([#19301](https://github.com/angular/angular/issues/19301)) ([04997c8](https://github.com/angular/angular/commit/04997c8)) -* **compiler:** implement i18n with new compiler ([627f048](https://github.com/angular/angular/commit/627f048)), closes [#19429](https://github.com/angular/angular/issues/19429) -* **compiler:** make sure our out path calculation is correct ([2f6ae52](https://github.com/angular/angular/commit/2f6ae52)) -* **compiler:** make sure to detect paths that start with `rootDir` correctly ([bb1665c](https://github.com/angular/angular/commit/bb1665c)), closes [#19362](https://github.com/angular/angular/issues/19362) -* **compiler:** make watch mode work with `declaration: false` ([7c1d3e0](https://github.com/angular/angular/commit/7c1d3e0)), closes [#19464](https://github.com/angular/angular/issues/19464) -* **compiler:** remove deprecated `Compiler.ngGetContentSelectors()` ([#19347](https://github.com/angular/angular/issues/19347)) ([f57b7df](https://github.com/angular/angular/commit/f57b7df)) -* **compiler:** skip   when trimming / removing whitespaces ([#19310](https://github.com/angular/angular/issues/19310)) ([13613d4](https://github.com/angular/angular/commit/13613d4)), closes [#19304](https://github.com/angular/angular/issues/19304) -* **compiler:** support `noResolve` ([#19301](https://github.com/angular/angular/issues/19301)) ([c76da27](https://github.com/angular/angular/commit/c76da27)) -* **compiler:** various squashed fixes for the new ngc ([a8a9660](https://github.com/angular/angular/commit/a8a9660)) -* **compiler:** work well with `forwardRef` with `useValue` / `useFactory` ([1dacae2](https://github.com/angular/angular/commit/1dacae2)) -* **compiler-cli:** do not validate metadata from declaration files ([#19324](https://github.com/angular/angular/issues/19324)) ([4767902](https://github.com/angular/angular/commit/4767902)), closes [#18867](https://github.com/angular/angular/issues/18867) -* **compiler-cli:** don't join errors with comma ([#19331](https://github.com/angular/angular/issues/19331)) ([e889c68](https://github.com/angular/angular/commit/e889c68)) -* **compiler-cli:** don't rewrite imports when annotating for closure ([#19444](https://github.com/angular/angular/issues/19444)) ([f24ea59](https://github.com/angular/angular/commit/f24ea59)) -* create proper externs so that closure does not clobber e.g. `ng` for internal variables ([#19423](https://github.com/angular/angular/issues/19423)) ([b21a1d1](https://github.com/angular/angular/commit/b21a1d1)) -* **compiler-cli:** set source file ranges in node emitter ([#19348](https://github.com/angular/angular/issues/19348)) ([27c6638](https://github.com/angular/angular/commit/27c6638)) -* **compiler-cli:** update ngtools2 EmitFlags ([#19375](https://github.com/angular/angular/issues/19375)) ([e224e3d](https://github.com/angular/angular/commit/e224e3d)) -* **core:** make dynamic & inline code checking behave the same ([#19189](https://github.com/angular/angular/issues/19189)) ([473a577](https://github.com/angular/angular/commit/473a577)) -* **http:** introduce named type for HttpParams options ([#19360](https://github.com/angular/angular/issues/19360)) ([8a0e458](https://github.com/angular/angular/commit/8a0e458)) -* **language-service:** do not report errors for `OpaqueToken` ([#19427](https://github.com/angular/angular/issues/19427)) ([c1b029a](https://github.com/angular/angular/commit/c1b029a)) -* **router:** fix activation events toString and docs ([#19147](https://github.com/angular/angular/issues/19147)) ([2c4107c](https://github.com/angular/angular/commit/2c4107c)) -* **router:** resolve and guards should be able to reject with null and undefined ([#19418](https://github.com/angular/angular/issues/19418)) ([a9d32a3](https://github.com/angular/angular/commit/a9d32a3)), closes [#17148](https://github.com/angular/angular/issues/17148) -* **tsc-wrapped:** deduplicate metadata only when the module is the same ([#19249](https://github.com/angular/angular/issues/19249)) ([b6b18c1](https://github.com/angular/angular/commit/b6b18c1)), closes [#19219](https://github.com/angular/angular/issues/19219) -* don’t use the global `ng` at all with closure enhanced optimizations ([a7798f2](https://github.com/angular/angular/commit/a7798f2)) +* **animations:** avoid infinite loop with multiple blocked sub triggers ([#21119](https://github.com/angular/angular/issues/21119)) ([86a36ea](https://github.com/angular/angular/commit/86a36ea)) +* **animations:** renaming issue with DOMAnimation. ([#21125](https://github.com/angular/angular/issues/21125)) ([871ece6](https://github.com/angular/angular/commit/871ece6)) +* **common:** handle JS floating point errors in percent pipe ([#20329](https://github.com/angular/angular/issues/20329)) ([07b81ae](https://github.com/angular/angular/commit/07b81ae)), closes [#20136](https://github.com/angular/angular/issues/20136) +* **language-service:** ignore null metadatas ([#20557](https://github.com/angular/angular/issues/20557)) ([3e47ea2](https://github.com/angular/angular/commit/3e47ea2)), closes [#20260](https://github.com/angular/angular/issues/20260) +* **router:** fix wildcard route with lazy loaded module (again) ([#18139](https://github.com/angular/angular/issues/18139)) ([5ba1cf1](https://github.com/angular/angular/commit/5ba1cf1)), closes [#13848](https://github.com/angular/angular/issues/13848) -### Features -* **animations:** support negative query limit values ([86ffacf](https://github.com/angular/angular/commit/86ffacf)), closes [#19259](https://github.com/angular/angular/issues/19259) -* **compiler:** enabled strict checking of parameters to an `@Injectable` ([#19412](https://github.com/angular/angular/issues/19412)) ([dfb8d21](https://github.com/angular/angular/commit/dfb8d21)) -* **compiler:** reuse the TypeScript typecheck for template typechecking. ([#19152](https://github.com/angular/angular/issues/19152)) ([996c7c2](https://github.com/angular/angular/commit/996c7c2)) -* **core:** support for bootstrap with custom zone ([#17672](https://github.com/angular/angular/issues/17672)) ([344a5ca](https://github.com/angular/angular/commit/344a5ca)) -* **platform-server:** add an API to transfer state from server ([#19134](https://github.com/angular/angular/issues/19134)) ([cfd9ca0](https://github.com/angular/angular/commit/cfd9ca0)) -* **service-worker:** introduce the [@angular](https://github.com/angular)/service-worker package ([#19274](https://github.com/angular/angular/issues/19274)) ([d442b68](https://github.com/angular/angular/commit/d442b68)) -### Performance Improvements - -* **compiler:** make the creation of `ts.Program` faster. ([#19275](https://github.com/angular/angular/issues/19275)) ([edd5f5a](https://github.com/angular/angular/commit/edd5f5a)) -* **compiler:** only use tsickle if needed ([#19275](https://github.com/angular/angular/issues/19275)) ([8f95b75](https://github.com/angular/angular/commit/8f95b75)) -* **compiler:** speed up watch mode ([#19275](https://github.com/angular/angular/issues/19275)) ([6665d76](https://github.com/angular/angular/commit/6665d76)) - -### BREAKING CHANGES - -* **compiler:** The method `ngGetConentSelectors()`, deprecated in Angular 4.0, has been removed. - Use `ComponentFactory.ngContentSelectors` instead. - - -## [4.4.4](https://github.com/angular/angular/compare/4.4.3...4.4.4) (2017-09-28) + +## [5.1.3](https://github.com/angular/angular/compare/5.1.2...5.1.3) (2018-01-03) ### Bug Fixes -* **animations:** support negative query limit value ([#19419](https://github.com/angular/angular/issues/19419)) ([bc81fbd](https://github.com/angular/angular/commit/bc81fbd)), closes [#19232](https://github.com/angular/angular/issues/19232) -* **compiler:** correctly map error message locations ([#19424](https://github.com/angular/angular/issues/19424)) ([c3b39ba](https://github.com/angular/angular/commit/c3b39ba)) -* **compiler:** do not consider a reference with members as a reference ([#19466](https://github.com/angular/angular/issues/19466)) ([7fc2dce](https://github.com/angular/angular/commit/7fc2dce)) -* **compiler:** skip   when trimming / removing whitespaces ([#19310](https://github.com/angular/angular/issues/19310)) ([c7aa8a1](https://github.com/angular/angular/commit/c7aa8a1)), closes [#19304](https://github.com/angular/angular/issues/19304) -* **tsc-wrapped:** add metadata for `type` declarations ([#19040](https://github.com/angular/angular/issues/19040)) ([ae52851](https://github.com/angular/angular/commit/ae52851)) +* **animations:** avoid infinite loop with multiple blocked sub triggers ([#21119](https://github.com/angular/angular/issues/21119)) ([3e34fa8](https://github.com/angular/angular/commit/3e34fa8)) +* **animations:** renaming issue with DOMAnimation. ([#21125](https://github.com/angular/angular/issues/21125)) ([d1f4500](https://github.com/angular/angular/commit/d1f4500)) +* **common:** handle JS floating point errors in percent pipe ([#20329](https://github.com/angular/angular/issues/20329)) ([fa0e8ef](https://github.com/angular/angular/commit/fa0e8ef)), closes [#20136](https://github.com/angular/angular/issues/20136) +* **language-service:** ignore null metadatas ([#20557](https://github.com/angular/angular/issues/20557)) ([48a1f32](https://github.com/angular/angular/commit/48a1f32)), closes [#20260](https://github.com/angular/angular/issues/20260) +* **router:** fix wildcard route with lazy loaded module (again) ([#18139](https://github.com/angular/angular/issues/18139)) ([8c99175](https://github.com/angular/angular/commit/8c99175)), closes [#13848](https://github.com/angular/angular/issues/13848) - -## [4.4.3](https://github.com/angular/angular/compare/4.4.2...4.4.3) (2017-09-19) + +# [5.2.0-beta.1](https://github.com/angular/angular/compare/5.2.0-beta.0...5.2.0-beta.1) (2017-12-20) ### Bug Fixes -* **tsc-wrapped:** deduplicate metadata only when the module is the same ([#19261](https://github.com/angular/angular/issues/19261)) ([0371538](https://github.com/angular/angular/commit/0371538)), closes [#19219](https://github.com/angular/angular/issues/19219) - - - -## [4.4.2](https://github.com/angular/angular/compare/4.4.1...4.4.2) (2017-09-18) - - -### Bug Fixes - -* **platform-server**: fix for packaging issues [#19250](https://github.com/angular/angular/issues/19250) - - - -## [4.4.1](https://github.com/angular/angular/compare/4.3.6...4.4.1) (2017-09-15) - - -### Bug Fixes - -* **animations:** do not leak DOM nodes/styling for host triggered animations ([#18853](https://github.com/angular/angular/issues/18853)) ([1cc3fe2](https://github.com/angular/angular/commit/1cc3fe2)), closes [#18606](https://github.com/angular/angular/issues/18606) -* **common:** fix improper packaging for [@angular](https://github.com/angular)/common/http ([#18613](https://github.com/angular/angular/issues/18613)) ([a203a95](https://github.com/angular/angular/commit/a203a95)) -* **common:** fix XSSI prefix stripping by using JSON.parse always ([#18466](https://github.com/angular/angular/issues/18466)) ([8821723](https://github.com/angular/angular/commit/8821723)), closes [#18396](https://github.com/angular/angular/issues/18396) [#18453](https://github.com/angular/angular/issues/18453) -* **compiler:** normalize the locale name ([#18963](https://github.com/angular/angular/issues/18963)) ([497e017](https://github.com/angular/angular/commit/497e017)) -* **core:** complete EventEmitter in QueryList on component destroy ([#18902](https://github.com/angular/angular/issues/18902)) ([7d137d7](https://github.com/angular/angular/commit/7d137d7)), closes [#18741](https://github.com/angular/angular/issues/18741) -* **tsc-wrapped:** deduplicate metadata for re-exported modules ([48ae1a6](https://github.com/angular/angular/commit/48ae1a6)) -* **tsc-wrapped:** fix metadata symbol reference ([f6a7183](https://github.com/angular/angular/commit/f6a7183)) -* **upgrade:** remove code setting id attribute. ([#19182](https://github.com/angular/angular/issues/19182)) ([b20c5d2](https://github.com/angular/angular/commit/b20c5d2)), closes [#18446](https://github.com/angular/angular/issues/18446) +* **compiler:** generate the correct imports for summary type-check ([d91ff17](https://github.com/angular/angular/commit/d91ff17)) +* **forms:** avoid producing an error with hostBindingTypeCheck ([d213a20](https://github.com/angular/angular/commit/d213a20)) ### Features -* **compiler:** allow multiple exportAs names ([#18723](https://github.com/angular/angular/issues/18723)) ([7ec28fe](https://github.com/angular/angular/commit/7ec28fe)) -* **core:** add option to remove blank text nodes from compiled templates ([#18823](https://github.com/angular/angular/issues/18823)) ([b8b551c](https://github.com/angular/angular/commit/b8b551c)) - - -Note: the 4.4.0 release on npm accidentally glitched-out midway, so we cut 4.4.1 instead. oops :-) +* **compiler:** allow ngIf to use the ngIf expression directly as a guard ([82bcd83](https://github.com/angular/angular/commit/82bcd83)) +* **router:** add "paramsInheritanceStrategy" router configuration option ([5efea2f](https://github.com/angular/angular/commit/5efea2f)), closes [#20572](https://github.com/angular/angular/issues/20572) - -## [5.0.0-beta.7](https://github.com/angular/angular/compare/5.0.0-beta.6...5.0.0-beta.7) (2017-09-13) + +## [5.1.2](https://github.com/angular/angular/compare/5.1.1...5.1.2) (2017-12-20) ### Bug Fixes -* **compiler:** emit preamble in generated files. ([b1055a5](https://github.com/angular/angular/commit/b1055a5)) -* **compiler:** fix bazel integration and make `perform-compile` more flexible ([a69172f](https://github.com/angular/angular/commit/a69172f)) -* **compiler:** lower variables with a closure by exporting the variable. ([5ef6e63](https://github.com/angular/angular/commit/5ef6e63)) -* **platform-browser:** run BLACK_LISTED_EVENTS outside of ngZone ([#18993](https://github.com/angular/angular/issues/18993)) ([d52f426](https://github.com/angular/angular/commit/d52f426)) -* **platform-browser:** simple version of zone aware addEventListener ([#18993](https://github.com/angular/angular/issues/18993)) ([ed1175f](https://github.com/angular/angular/commit/ed1175f)) -* **platform-server:** support setting innerText property ([831613a](https://github.com/angular/angular/commit/831613a)) -* **router:** adjust ChildActivation events to only fire when the child is actually changing ([#19043](https://github.com/angular/angular/issues/19043)) ([66f0ab0](https://github.com/angular/angular/commit/66f0ab0)), closes [#18942](https://github.com/angular/angular/issues/18942) -* **tsc-wrapped:** deduplicate metadata for re-exported modules ([c056b8c](https://github.com/angular/angular/commit/c056b8c)) -* **tsc-wrapped:** fix metadata symbol reference ([626555c](https://github.com/angular/angular/commit/626555c)) -* **upgrade:** add testability hook to downgraded component ([97cc6ca](https://github.com/angular/angular/commit/97cc6ca)) -* **upgrade:** remove code setting id attribute. ([b6833d1](https://github.com/angular/angular/commit/b6833d1)), closes [#18446](https://github.com/angular/angular/issues/18446) +* **common:** fix a Closure compilation issue. ([267ebf3](https://github.com/angular/angular/commit/267ebf3)) +* **compiler:** make tsx file aot compatible ([756dd34](https://github.com/angular/angular/commit/756dd34)), closes [#20555](https://github.com/angular/angular/issues/20555) +* **compiler:** report an error for recursive module references ([ced575f](https://github.com/angular/angular/commit/ced575f)) +* **compiler-cli:** do not emit invalid .metadata.json files ([a1d4c2d](https://github.com/angular/angular/commit/a1d4c2d)) +* **compiler-cli:** do not force type checking on .js files ([3b63e16](https://github.com/angular/angular/commit/3b63e16)) +* **service-worker:** check for updates on navigation ([a33182c](https://github.com/angular/angular/commit/a33182c)), closes [#20877](https://github.com/angular/angular/issues/20877) +* **upgrade:** replaces get/setAngularLib with get/setAngularJSGlobal ([66cc2fa](https://github.com/angular/angular/commit/66cc2fa)) -### Code Refactoring -* **router:** remove deprecated `RouterOutlet` properties ([a9ef858](https://github.com/angular/angular/commit/a9ef858)) -* update angular to support TypeScript 2.4 ([ca5aeba](https://github.com/angular/angular/commit/ca5aeba)) + +# [5.2.0-beta.0](https://github.com/angular/angular/compare/5.1.0...5.2.0-beta.0) (2017-12-13) ### Features -* **compiler:** deprecate i18n comments in favor of `ng-container` ([#18998](https://github.com/angular/angular/issues/18998)) ([66a5dab](https://github.com/angular/angular/commit/66a5dab)) -* **platform-server:** provide a way to hook into renderModule* ([#19023](https://github.com/angular/angular/issues/19023)) ([8dfc3c3](https://github.com/angular/angular/commit/8dfc3c3)) -* **router:** add ActivationStart/End events ([8f79150](https://github.com/angular/angular/commit/8f79150)) - - -### BREAKING CHANGES - -* - the Angular compiler now requires TypeScript 2.4.x. -* router: `RouterOutlet` properties `locationInjector` and `locationFactoryResolver` have been removed as they were deprecated since v4. +* **animations:** re-introduce support for transition matching functions ([#20723](https://github.com/angular/angular/issues/20723)) ([590d93b](https://github.com/angular/angular/commit/590d93b)), closes [#18959](https://github.com/angular/angular/issues/18959) +* **compiler:** add a pseudo $any() function to disable type checking ([#20876](https://github.com/angular/angular/issues/20876)) ([70cd124](https://github.com/angular/angular/commit/70cd124)) +* **compiler:** narrow types of expressions used in *ngIf ([#20702](https://github.com/angular/angular/issues/20702)) ([e7d9cb3](https://github.com/angular/angular/commit/e7d9cb3)) +* **core:** add source to `StaticInjectorError` message ([#20817](https://github.com/angular/angular/issues/20817)) ([b7738e1](https://github.com/angular/angular/commit/b7738e1)), closes [#19302](https://github.com/angular/angular/issues/19302) +* **forms:** allow nulls on setAsyncValidators ([#20327](https://github.com/angular/angular/issues/20327)) ([d41d2c4](https://github.com/angular/angular/commit/d41d2c4)), closes [#20296](https://github.com/angular/angular/issues/20296) - -## [5.0.0-beta.6](https://github.com/angular/angular/compare/5.0.0-beta.5...5.0.0-beta.6) (2017-09-03) + +## [5.1.1](https://github.com/angular/angular/compare/5.1.0...5.1.1) (2017-12-13) ### Bug Fixes -* **animations:** do not leak DOM nodes/styling for host triggered animations ([#18853](https://github.com/angular/angular/issues/18853)) ([fcadeb2](https://github.com/angular/angular/commit/fcadeb2)), closes [#18606](https://github.com/angular/angular/issues/18606) -* **common:** fix a duplicate case in the locale switch ([#18941](https://github.com/angular/angular/issues/18941)) ([fdd5010](https://github.com/angular/angular/commit/fdd5010)) -* **common:** fix improper packaging for [@angular](https://github.com/angular)/common/http ([#18613](https://github.com/angular/angular/issues/18613)) ([65e26d7](https://github.com/angular/angular/commit/65e26d7)) -* **common:** fix XSSI prefix stripping by using JSON.parse always ([#18466](https://github.com/angular/angular/issues/18466)) ([452a7ae](https://github.com/angular/angular/commit/452a7ae)), closes [#18396](https://github.com/angular/angular/issues/18396) [#18453](https://github.com/angular/angular/issues/18453) -* **common:** update closure-locale generation for tree shaking ([#18938](https://github.com/angular/angular/issues/18938)) ([946e5bd](https://github.com/angular/angular/commit/946e5bd)) -* **common:** use correct group separator for currency pipe ([#18932](https://github.com/angular/angular/issues/18932)) ([4ec5e28](https://github.com/angular/angular/commit/4ec5e28)) -* **common:** use v4 plurals when importing `DeprecatedI18NPipesModule` ([#18955](https://github.com/angular/angular/issues/18955)) ([30d53a8](https://github.com/angular/angular/commit/30d53a8)) -* **compiler:** always check summaries first before falling back to metadata from .d.ts files ([#18788](https://github.com/angular/angular/issues/18788)) ([f83b819](https://github.com/angular/angular/commit/f83b819)) -* **compiler:** always emit ngfactories with reexports ([#18788](https://github.com/angular/angular/issues/18788)) ([0262e37](https://github.com/angular/angular/commit/0262e37)) -* **compiler:** don’t emit stubs when we didn’t generate code for a file. ([#18788](https://github.com/angular/angular/issues/18788)) ([506d2e9](https://github.com/angular/angular/commit/506d2e9)) -* **compiler:** don’t reexport types in `.ngfactory` files ([#18788](https://github.com/angular/angular/issues/18788)) ([8c858d7](https://github.com/angular/angular/commit/8c858d7)) -* **compiler:** normalize the locale name ([#18963](https://github.com/angular/angular/issues/18963)) ([043f104](https://github.com/angular/angular/commit/043f104)) -* **compiler:** quote non identifiers in map keys. ([#18788](https://github.com/angular/angular/issues/18788)) ([2fbc92f](https://github.com/angular/angular/commit/2fbc92f)) -* **compiler:** treat absolute imports as package imports ([#18912](https://github.com/angular/angular/issues/18912)) ([fce7ae1](https://github.com/angular/angular/commit/fce7ae1)) -* **compiler:** use either summary or metadata information when reading .d.ts files ([#18912](https://github.com/angular/angular/issues/18912)) ([f1e526f](https://github.com/angular/angular/commit/f1e526f)) -* **compiler:** workaround bugs in TS when combining transformers ([#18912](https://github.com/angular/angular/issues/18912)) ([4059a72](https://github.com/angular/angular/commit/4059a72)) -* **compiler-cli:** fix memory leaks in watch mode ([#18961](https://github.com/angular/angular/issues/18961)) ([83e5deb](https://github.com/angular/angular/commit/83e5deb)) -* **compiler-cli:** use `--locale` parameter for transformers ([#18988](https://github.com/angular/angular/issues/18988)) ([22c4090](https://github.com/angular/angular/commit/22c4090)) -* **core:** complete EventEmitter in QueryList on component destroy ([#18902](https://github.com/angular/angular/issues/18902)) ([36d37cc](https://github.com/angular/angular/commit/36d37cc)), closes [#18741](https://github.com/angular/angular/issues/18741) -* **tsc-wrapped:** decouple bundle index host from tsickle dependency ([#18999](https://github.com/angular/angular/issues/18999)) ([d1afadb](https://github.com/angular/angular/commit/d1afadb)) -* **upgrade:** deprecate the dynamic version of `ngUpgrade` ([450a13d](https://github.com/angular/angular/commit/450a13d)) - - -### Code Refactoring - -* **core:** remove deprecated `OpaqueToken` ([#18971](https://github.com/angular/angular/issues/18971)) ([3c4eef8](https://github.com/angular/angular/commit/3c4eef8)) - - -### Features - -* **http**: deprecate @angular/http in favor of @angular/common/http ([#18906](https://github.com/angular/angular/issues/18906)) ([72c7b6e](https://github.com/angular/angular/commit/72c7b6e)) -* **common:** accept object map for HttpClient headers & params ([#18490](https://github.com/angular/angular/issues/18490)) ([1b1d5f1](https://github.com/angular/angular/commit/1b1d5f1)) -* **common:** generate `closure-locale.ts` to tree shake locale data ([#18907](https://github.com/angular/angular/issues/18907)) ([4878936](https://github.com/angular/angular/commit/4878936)) -* **compiler:** set `enableLegacyTemplate` to false by default ([#18756](https://github.com/angular/angular/issues/18756)) ([56238fe](https://github.com/angular/angular/commit/56238fe)) -* **compiler-cli:** add watch mode to `ngc` ([#18818](https://github.com/angular/angular/issues/18818)) ([cf7d47d](https://github.com/angular/angular/commit/cf7d47d)) -* **compiler-cli:** add watch mode to `ngc` ([#18818](https://github.com/angular/angular/issues/18818)) ([06d01b2](https://github.com/angular/angular/commit/06d01b2)) -* **compiler-cli:** lower metadata `useValue` and `data` literal fields ([#18905](https://github.com/angular/angular/issues/18905)) ([0e64261](https://github.com/angular/angular/commit/0e64261)) -* **compiler-cli:** lower metadata `useValue` and `data` literal fields ([#18905](https://github.com/angular/angular/issues/18905)) ([c685cc2](https://github.com/angular/angular/commit/c685cc2)) -* **platform-server:** provide a DOM implementation on the server ([2f2d5f3](https://github.com/angular/angular/commit/2f2d5f3)), closes [#14638](https://github.com/angular/angular/issues/14638) - - -### BREAKING CHANGES - -* core: `OpaqueToken` has been removed as it was deprecated since v4. Use `InjectionToken` instead. -* compiler: the compiler option `enableLegacyTemplate` is now disabled by default as the `