angular · GitHub

Loading...
angular / angular angular / CHANGELOG.md

master

Find file

alexeagle docs: add changelog for 6.0.0-beta.0

Copy path

8503cc1 Jan 18, 2018

71 contributors

and others

2688 lines (1832 sloc) 266 KB

6.0.0-beta.0 (2018-01-17) Bug Fixes animations: fix increment/decrement aliases example (#18323) (d2aa8ac) benchpress: should still support selenium_webdriver < 3.6.0 (#21477) (9b84a32) common: set correct timezone for ISO8601 dates in Safari (#21506) (05208b8), closes #21491 compiler: cache external reference resolution (#21359) (e3e2fc0) compiler: make .ngsummary.json files idempotent (#21448) (e64b1e9) core: fix chained http call (#20924) (7e3f9a4), closes #20921 ivy: Add workaround for AJD in google3 (#21488) (6af3672) language-service: Clear caches when program changes (#21337) (43e1520), closes #19405 service-worker: properly handle invalid hashes in all scenarios (#21288) (3951098)

Features bazel: allow ng_module rules to control whether type checking is enabled (#21460) (cffa0fe) core: add binding name to content changed error (#20352) (d3bf54b) forms: handle string with and without line boundary on pattern validator (#19256) (54bf179)

Performance Improvements ivy: add missing dom element in render3_function tree benchmark (#21476) (9b5a485)

5.2.1 (2018-01-17) Bug Fixes animations: fix increment/decrement aliases example (#18323) (48c1898) benchpress: should still support selenium_webdriver < 3.6.0 (#21477) (3c6a506) common: set correct timezone for ISO8601 dates in Safari (#21506) (8e9cd57), closes #21491 compiler: cache external reference resolution (#21359) (c32e833) compiler: make .ngsummary.json files idempotent (#21448) (a931a41) core: fix chained http call (#20924) (54e7576), closes #20921 language-service: Clear caches when program changes (#21337) (cc9419d), closes #19405 service-worker: properly handle invalid hashes in all scenarios (#21288) (51eb3d4)

Features core: add binding name to content changed error (#20352) (4556532) forms: handle string with and without line boundary on pattern validator (#19256) (75f8522)

5.2.0 (2018-01-10) Bug Fixes bazel: Give correct module names for ES6 output (#21320) (9728dce), closes #21022 benchpress: forward compat with selenium_webdriver 3.6.0 (#21399) (6040ee3) benchpress: work around missing events from Chrome 63 (#21396) (fa03ae1) common: export currencies via getCurrencySymbol (#20983) (fecf768) Note: Due to an animation fix back in 5.1.1 (c2b3792) which allows for nested :leave queries to work within animation sequences, all elements that are dynamically inserted (*ngIf, *ngFor, etc…) now contain the special CSS class: “ng-starinserted”. This may cause failures within unit tests if there are any assertions that match against element.className directly. (An easy fix for this is to match using a regular expression instead of asserting the className string directly.)

5.2.0-rc.0 (2018-01-04) Bug Fixes animations: avoid infinite loop with multiple blocked sub triggers (#21119) (86a36ea) animations: renaming issue with DOMAnimation. (#21125) (871ece6) common: handle JS floating point errors in percent pipe (#20329) (07b81ae), closes #20136 language-service: ignore null metadatas (#20557) (3e47ea2), closes #20260 router: fix wildcard route with lazy loaded module (again) (#18139) (5ba1cf1), closes #13848

5.1.3 (2018-01-03) Bug Fixes animations: avoid infinite loop with multiple blocked sub triggers (#21119) (3e34fa8) animations: renaming issue with DOMAnimation. (#21125) (d1f4500) common: handle JS floating point errors in percent pipe (#20329) (fa0e8ef), closes #20136 language-service: ignore null metadatas (#20557) (48a1f32), closes #20260 router: fix wildcard route with lazy loaded module (again) (#18139) (8c99175), closes #13848

5.2.0-beta.1 (2017-12-20) Bug Fixes compiler: generate the correct imports for summary type-check (d91ff17) forms: avoid producing an error with hostBindingTypeCheck (d213a20)

Features compiler: allow ngIf to use the ngIf expression directly as a guard (82bcd83) router: add "paramsInheritanceStrategy" router configuration option (5efea2f), closes #20572

5.1.2 (2017-12-20) Bug Fixes common: fix a Closure compilation issue. (267ebf3) compiler: make tsx file aot compatible (756dd34), closes #20555 compiler: report an error for recursive module references (ced575f) compiler-cli: do not emit invalid .metadata.json files (a1d4c2d) compiler-cli: do not force type checking on .js files (3b63e16) service-worker: check for updates on navigation (a33182c), closes #20877 upgrade: replaces get/setAngularLib with get/setAngularJSGlobal (66cc2fa)

5.2.0-beta.0 (2017-12-13) Features animations: re-introduce support for transition matching functions (#20723) (590d93b), closes #18959 compiler: add a pseudo $any() function to disable type checking (#20876) (70cd124) compiler: narrow types of expressions used in *ngIf (#20702) (e7d9cb3) core: add source to StaticInjectorError message (#20817) (b7738e1), closes #19302 forms: allow nulls on setAsyncValidators (#20327) (d41d2c4), closes #20296

5.1.1 (2017-12-13) Bug Fixes animations: ensure multi-level route leave animations are queryable (#20787) (d09d497), closes #19807 animations: ensure the web-animations driver properly handles empty keyframes (#20648) (c3e8731), closes #15858 animations: properly recover and cleanup DOM when CD failures occur (#20719) (e6a2805), closes #19093 animations: support webkit-based vendor prefixes for prop validations (#19055) (501f01e), closes #18921 bazel: don't equate moduleName with fileName (#20895) (0c9f7b0) compiler: support referencing enums in namespaces (#20947) (d6da798), closes #18170 compiler-cli: disable checkTypes in emit. (#20828) (160a154) compiler-cli: fix swallowed Error messages (#20846) (6727336) compiler-cli: merge @fileoverview comments. (#20870) (be9a737) router: NavigationError and NavigationCancel should be emitted after resetting the URL (#20803) (baeec4d)

5.1.0 (2017-12-06) Bug Fixes animations: ensure DOM is cleaned up after multiple @trigger leave animations finish (#20740) (b78ada1), closes #20541 service-worker: initialize in browser only (#20782) (7cabaa0), closes #20360 service-worker: esm2015 points to wrong path (#20800) (da3563c)

5.1.0-rc.1 (2017-12-01) Bug Fixes compiler-cli: propagate ts.SourceFile moduleName into metadata (f841fbe) service-worker: allow disabling SW while still using services (65f4fad) service-worker: don't crash if SW not supported (b9a91a5) service-worker: send initialization signal from the application (3fbcde9) service-worker: use relative path for ngsw.json (f582620)

5.0.5 (2017-12-01) Bug Fixes compiler-cli: propagate ts.SourceFile moduleName into metadata (a2ff4ab) service-worker: allow disabling SW while still using services (f99335b) service-worker: don't crash if SW not supported (ee37d4b) service-worker: send initialization signal from the application (6bf07b4) service-worker: use relative path for ngsw.json (56c98f7)

5.1.0-rc.0 (2017-12-01) Bug Fixes animations: ensure multi-level enter animations work (#19455) (dd6237e) animations: ensure multi-level enter animations work (#19455) (b2a586c) animations: ensure multi-level leave animations work (#19455) (1366762) animations: ensure multi-level leave animations work (#19455) (c2b3792) bazel: produce named AMD modules for codegen (#20547) (6e83204), closes #19422 common: accept falsy values as HTTP bodies (#19958) (15a54df), closes #19825 #19195 common: don't strip XSSI prefix for if error isn't JSON (#19958) (aafa75d) common: remove useless guard in HttpClient (#19958) (eb01ad5), closes #19223 common: treat an empty body as null when parsing JSON in HttpClient (#19958) (503be69), closes #18680 #19413 #19502 #19555 compiler: correctly detect when to serialze summary metadata (#20668) (8bb42df) compiler-cli: fix memory leak in program creation (#20692) (71e5de6), closes #20691 compiler-cli: normalize sourcepaths for i18n extracted files (#20417) (de78307), closes #20416 core: should use native addEventListener in ngZone (#20672) (65a2cb8) language-service: Allow empty templates (#20651) (3203069), closes #19406 language-service: Fix crash when no script files are found (#20550) (54bfe14), closes #19325

Features common: add locale id parameter to registerLocaleData (#20623) (24bf3e2) compiler-cli: improve error messages produced during structural errors (#20459) (8ecda94)

5.0.4 (2017-12-01) Bug Fixes animations: ensure multi-level enter animations work (#19455) (22bbd6e) animations: ensure multi-level leave animations work (#19455) (c7b211c) common: accept falsy values as HTTP bodies (#19958) (66fd1f8), closes #19825 #19195 common: don't strip XSSI prefix for if error isn't JSON (#19958) (ead7596) common: remove useless guard in HttpClient (#19958) (e099911), closes #19223 common: treat an empty body as null when parsing JSON in HttpClient (#19958) (bdaee50), closes #18680 #19413 #19502 #19555 compiler-cli: fix memory leak in program creation (#20692) (38be44d), closes #20691 compiler-cli: normalize sourcepaths for i18n extracted files (#20417) (2b0c896), closes #20416

5.1.0-beta.2 (2017-11-22) Bug Fixes animations: always fire inner trigger callbacks even if blocked by parent animations (#19753) (0e012c9), closes #19100 animations: always fire start and done callbacks in order for noop animations (#20570) (ffb6dbe) animations: validate against trigger() names that use @ symbols (#20326) (1861e41) benchpress: Allow ignoring navigationStart events in perflog metric. (#20312) (717ac5a) common: return ISubscription from Location.subscribe() (#20429) (437a044), closes #20406 compiler: emit correct type-check-blocks with TemplateRef's (#20463) (68b53c0) compiler: support event bindings in fullTemplateTypeCheck (#20490) (4ed0439) core: fix #20532, should be able to cancel listener from mixed zone (#20538) (a740e4f) core: should support event.stopImmediatePropagation (#20469) (997336b) forms: updateOn should check if change occurred (#20358) (69c53c3), closes #20259

Features platform-browser-dynamic: export JitCompilerFactory (#20478) (d7a727c), closes #20125

5.0.3 (2017-11-22) Bug Fixes animations: always fire inner trigger callbacks even if blocked by parent animations (#19753) (814f062), closes #19100 animations: validate against trigger() names that use @ symbols (#20326) (15795d0) benchpress: Allow ignoring navigationStart events in perflog metric. (#20312) (9ca6ee9) common: return ISubscription from Location.subscribe() (#20429) (bc904b1), closes #20406 compiler: emit correct type-check-blocks with TemplateRef's (#20463) (81f1d42) compiler: support event bindings in fullTemplateTypeCheck (#20490) (b53ead4) core: fix #20532, should be able to cancel listener from mixed zone (#20538) (0feba49) core: should support event.stopImmediatePropagation (#20469) (82aace6) forms: updateOn should check if change occurred (#20358) (f9f2c20), closes #20259

5.1.0-beta.1 (2017-11-16) Bug Fixes animations: always fire inner trigger callbacks even if blocked by parent animations (#19753) (d47b2a6), closes #19100 animations: ensure final state() styles are applied within @.disabled animations (#20267) (20aafff), closes #20266 bazel: adjust mock of tsconfig for ng_module rule unit test (#20175) (c2a24b4) compiler: fix corner cases in shadow CSS (c32f5fd) compiler: recognize @NgModule with a redundant @Injectable (#20320) (c33a576) compiler: show explanatory text in template errors (#20313) (3257fcd) core: ensure init lifecycle events are called (#20258) (24cf8b3) language-service: pass compilerOptions.paths to ReflectorHost (#20222) (eb8013e) router: 'merge' queryParamHandling strategy should be able to remove query params (#19733) (a622e19), closes #18463 #17202 Update test code to type-check under TS 2.5 (#20175) (5ec1717)

Features typescript: support TypeScript 2.5 (a9f3e2b), closes #20175 Note, if you do Injector.get(Token) where Token has static members, you'll run into https://github.com/Microsoft/TypeScript/issues/20102 where the returned type is {} rather than Token . Use Injector.get(Token) to work around.

5.0.2 (2017-11-16) Bug Fixes animations: ensure final state() styles are applied within @.disabled animations (#20267) (8b1a6b1), closes #20266 compiler: fix corner cases in shadow CSS (5d1cd57) compiler: recognize @NgModule with a redundant @Injectable (#20320) (4cc6abb) compiler: show explanatory text in template errors (#20313) (424a323) router: 'merge' queryParamHandling strategy should be able to remove query params (#19733) (b732fb9), closes #18463 #17202

5.1.0-beta.0 (2017-11-08) Bug Fixes compiler: don't overwrite missingTranslation's value in JIT (#19952) (799cbb9) compiler: report a reasonable error with invalid metadata (#20062) (da22c48) compiler-cli: don't report emit diagnostics when --noEmitOnError is off (#20063) (8639995) core: __symbol__ should return __zone_symbol__ without zone.js loaded (#19541) (678d1cf) core: should support event.stopImmediatePropagation (#19222) (7083791) platform-browser: support Symbols in custom jasmineToString() method (#19794) (5a6efa7)

Features compiler: introduce TestBed.overrideTemplateUsingTestingModule (a460066), closes #19815

5.0.1 (2017-11-08) Bug Fixes compiler: don't overwrite missingTranslation's value in JIT (#19952) (799cbb9) compiler: report a reasonable error with invalid metadata (#20062) (da22c48) compiler-cli: don't report emit diagnostics when --noEmitOnError is off (#20063) (8639995) core: __symbol__ should return __zone_symbol__ without zone.js loaded (#19541) (678d1cf) core: should support event.stopImmediatePropagation (#19222) (7083791) platform-browser: support Symbols in custom jasmineToString() method (#19794) (5a6efa7)

5.0.0 pentagonal-donut (2017-11-01) Features animations: allow @.disabled property to work without an expression (#18713) (2159342) animations: report errors when invalid CSS properties are detected (#18718) (409688f), closes #18701 animations: support :increment and :decrement transition aliases (6f45519) animations: support negative query limit values (86ffacf), closes #19259 common: accept object map for HttpClient headers & params (#18490) (1b1d5f1) common: drop use of the Intl API to improve browser support (#18284) (079d884), closes #10809 #9524 #7008 #9324 #7590 #6724 #3429 #17576 #17478 #17319 #17200 #16838 #16624 #16625 #16591 #14131 #12632 #11376 #11187 common: generate closure-locale.ts to tree shake locale data (#18907) (4878936) common: mark NgTemplateOutlet API as stable (0a73e8d) compiler-cli: add watch mode to ngc (#18818) (06d01b2) compiler-cli: lower metadata useValue and data literal fields (#18905) (0e64261) compiler: add representation of placeholders to xliff & xmb (b3085e9), closes #17345 compiler: allow multiple exportAs names (#18723) (7ec28fe) compiler: enabled strict checking of parameters to an @Injectable (#19412) (dfb8d21) compiler: make .ngsummary.json files portable (2572bf5) compiler: reuse the TypeScript typecheck for template typechecking. (#19152) (996c7c2) compiler: set enableLegacyTemplate to false by default (#18756) (56238fe) compiler: use typescript for resolving resource paths (43226cb) core: Create StaticInjector which does not depend on Reflect polyfill. (d9d00bd) core: add option to remove blank text nodes from compiled templates (#18823) (b8b551c) core: support for bootstrap with custom zone (#17672) (344a5ca) forms: add default updateOn values for groups and arrays (#18536) (ff5c58b) forms: add options arg to abstract controls (ebef5e6) forms: add status to AbstractControlDirective (233ef93) forms: add updateOn and ngFormOptions to NgForm (0d45828) forms: add updateOn blur option to FormControls (#18408) (333a708), closes #7113 forms: add updateOn submit option to FormControls (#18514) (f69561b) forms: add updateOn support to ngModelOptions (1cfa79c) platform-server: add an API to transfer state from server (#19134) (cfd9ca0) platform-server: provide a DOM implementation on the server (2f2d5f3), closes #14638 platform-server: provide a way to hook into renderModule* (#19023) (8dfc3c3) router: add ActivationStart/End events (8f79150) router: add events tracking activation of individual routes (49cd851) service-worker: introduce the @angular/service-worker package (#19274) (d442b68) upgrade: propagate touched state of NgModelController (59c23c7) upgrade: support lazy-loading Angular module into AngularJS app (30e76fc) update angular to support TypeScript 2.4 (ca5aeba)

Performance Improvements animations: reduce size of bundle by removing AST classes (#19539) (d5c9c5f) compiler: don’t emit summaries for jit by default (b086891) compiler: fix perf issue in loading aot summaries in jit compiler (fbc9537) compiler: make the creation of ts.Program faster. (#19275) (edd5f5a) compiler: only emit changed files for incremental compilation (745b59f) compiler: only type check input files when using bazel (#19581) (0b06ea1) compiler: only use tsickle if needed (#19275) (8f95b75) compiler: skip type check and emit in bazel in some cases. (#19646) (a22121d) compiler: speed up loading of summaries for bazel. (#19581) (81167d9) compiler: speed up watch mode (#19275) (6665d76) core: Remove decorator DSL which depends on Reflect (cac130e) core: add option to remove blank text nodes from compiled templates (d2c0d98) core: use native addEventListener for faster rendering. (#18107) (6279e50) core switch angular to use StaticInjector instead of ReflectiveInjector (fcadbf4), closes #18496 latest tsickle to tree shake: abstract class methods & interfaces (#18236) (b7a6f52)

BREAKING CHANGES compiler: Angular now requires TypeScript 2.4.x. compiler: split compiler and core. @angular/platform-server now additionally depends on @angular/platformbrowser-dynamic as a peer dependency. (#18683) (0cc77b4) platformXXXX() no longer accepts providers which depend on reflection. Specifically the method signature went from Provider[] to StaticProvider[] .

Example: Before: [ MyClass, {provide: ClassA, useClass: SubClassA} ]

After: [ {provide: MyClass, deps: [Dep1,...]}, {provide: ClassA, useClass: SubClassA, deps: [Dep1,...]} ]

NOTE: This only applies to platform creation and providers for the JIT compiler. It does not apply to @Component or @NgModule provides declarations. Benchpress note: Previously Benchpress also supported reflective provides, which now require static providers. I18n Changes (@angular/common) Because of multiple bugs and browser inconsistencies, we have dropped the intl api in favor of data exported from the Unicode Common Locale Data Repository (CLDR). Unfortunately we had to change the i18n pipes (date, number, currency, percent) and there are some breaking changes. I18n pipes:

Breaking change: By default Angular now only contains locale data for the language en-US , if you set the value of LOCALE_ID to another locale, you will have to import new locale data for this language because we don't use the intl API anymore. Features: you don't need to use the intl polyfill for Angular anymore. all i18n pipes now have an additional last parameter locale which allows you to use a specific locale instead of the one defined in the token LOCALE_ID (whose default value is en-US ). the new locale data extracted from CLDR are now available to developers as well and can be used through an API (which should be especially useful for library authors). you can still use the old pipes for now, but their names have been changed and they are no longer included in the CommonModule . To use them, you will have to import the DeprecatedI18NPipesModule after the CommonModule (the order is important): import { NgModule } from '@angular/core'; import { CommonModule, DeprecatedI18NPipesModule } from '@angular/common'; @NgModule({ imports: [ CommonModule, // import deprecated module after DeprecatedI18NPipesModule ] }) export class AppModule { }

Don't forget that you will still need to import the intl API polyfill if you want to use those deprecated pipes. Date pipe

Breaking changes: the predefined formats ( short , shortTime , shortDate , medium , ...) now use the patterns given by CLDR (like it was in AngularJS) instead of the ones from the intl API. You might notice some changes, e.g. shortDate will be 8/15/17 instead of 8/15/2017 for en-US . the narrow version of eras is now GGGGG instead of G , the format G is now similar to GG and GGG . the narrow version of months is now MMMMM instead of L , the format L is now the short standalone version of months. the narrow version of the week day is now EEEEE instead of E , the format E is now similar to EE and EEE . the timezone z will now fallback to O and output GMT+1 instead of the complete zone name (e.g. Pacific Standard Time ), this is because the quantity of data required to have all the zone names in all of the existing locales is too big. the timezone Z will now output the ISO8601 basic format, e.g. +0100 , you should now use ZZZZ to get GMT+01:00 . Field type

Format

Example value

v4

v5

Eras

Narrow

A for AD

G

GGGGG

Months

Narrow

S for September

L

MMMMM

Week day

Narrow

M for Monday

E

EEEEE

Timezone

Long location

Pacific Standard Time

z

Not available

Timezone

Long GMT

GMT+01:00

Z

ZZZZ

Features new predefined formats long , full , longTime , fullTime . the format yyy is now supported, e.g. the year 52 will be 052 and the year 2017 will be 2017 . standalone months are now supported with the formats L to LLLLL . week of the year is now supported with the formats w and ww , e.g. weeks 5 and 05 . week of the month is now supported with the format W , e.g. week 3 . fractional seconds are now supported with the format S to SSS . day periods for AM/PM now supports additional formats aa , aaa , aaaa and aaaaa . The formats a to aaa are similar, while aaaa is the wide version if available (e.g. ante meridiem for am ), or equivalent to a otherwise, and aaaaa is the narrow version (e.g. a for am ). extra day periods are now supported with the formats b to bbbbb (and B to BBBBB for the standalone equivalents), e.g. morning , noon , afternoon , .... the short non-localized timezones are now available with the format O to OOOO . The formats O to OOO will output GMT+1 while the format OOOO will be GMT+01:00 . the ISO8601 basic time zones are now available with the formats Z to ZZZZZ . The formats Z to ZZZ will output +0100 , while the format ZZZZ will be GMT+01:00 and ZZZZZ will be +01:00 . Bug fixes the date pipe will now work exactly the same across all browsers, which will fix a lot of bugs for safari and IE. eras can now be used on their own without the date, e.g. the format GG will be AD instead of 8 15, 2017 AD . Currency pipe

Breaking change: the default value for symbolDisplay is now symbol instead of code . This means that by default you will see $4.99 for en-US instead of USD4.99 previously. Deprecation: the second parameter of the currency pipe ( symbolDisplay ) is no longer a boolean, it now takes the values code , symbol or symbol-narrow . A boolean value is still valid for now, but it is deprecated and it will print a warning message in the console. Features: you can now choose between code , symbol or symbol-narrow which gives you access to more options for some currencies (e.g. the canadian dollar with the code CAD has the symbol CA$ and the symbol-narrow $ ). Percent pipe

Breaking change if you don't specify the number of digits to round to, the local format will be used (and it usually rounds numbers to 0 digits, instead of not rounding previously), e.g. {{ 3.141592 | percent }} will output 314% for the locale en-US instead of 314.1592% previously.

Deprecated code compiler: The method ngGetContentSelectors() has been removed as it was deprecated since v4. Use ComponentFactory.ngContentSelectors instead. compiler: the compiler option enableLegacyTemplate is now disabled by default as the