825 KiB
825 KiB
11.2.2 (2021-02-22)
Bug Fixes
- animations: error when setting position before starting animation (#28255) (f1c64b3)
- http: emit error on XMLHttpRequest abort event (#40786) (4a32579), closes #22324
- http: ignore question mark when params are parsed (#40610) (3b884ed), closes #28722
- platform-browser: ensure that Hammer loader is called only once (#40911) (f8055f6), closes #25995
Performance Improvements
- core: use
ngDevMode
to tree-shake warning (#40876) (c8a2e3a) - language-service: short-circuit LS operations when we know there is no Angular information to provide (#40946) (73a3ff1)
12.0.0-next.1 (2021-02-17)
Bug Fixes
- compiler-cli:
readConfiguration
existing options should override options in tsconfig (#40694) (b7c4d07) - compiler-cli: extend
angularCompilerOptions
in tsconfig from node (#40694) (5eb1954), closes #36715
Features
- common: support ICU standard "stand alone day of week" with
DatePipe
(#40766) (c56ecab), closes #26922 - forms: add
emitEvent
option for AbstractControl-based class methods (#31031) (4ec045e), closes #29662 - platform-server: allow shimming the global env sooner (#40559) (43ecf8a), closes #24551 #39950 #39950
BREAKING CHANGES
-
forms: The
emitEvent
option was added to the followingFormArray
andFormGroup
methods: -
FormGroup.addControl
-
FormGroup.removeControl
-
FormGroup.setControl
-
FormArray.push
-
FormArray.insert
-
FormArray.removeAt
-
FormArray.setControl
-
FormArray.clear
If your app has custom classes that extend FormArray
or FormGroup
classes and override the
above-mentioned methods, you may need to update your implementation to take the new options into
account and make sure that overrides are compatible from a types perspective.
11.2.1 (2021-02-17)
Bug Fixes
- compiler: handle
:host-context
and:host
in the same selector (#40494) (ab8ea87), closes #14349 - compiler: support multiple
:host-context()
selectors (#40494) (c20e304), closes #19199 - compiler: support multiple selectors in
:host-context()
(#40494) (fb0ce21) - compiler-cli: set TS original node on imported namespace identifiers (#40711) (87ac052)
- core: address Trusted Types bug in Chrome 83 (#40815) (b5f2070)
- http: complete the request on timeout (#40771) (a2a5b4a)
- router: fix load interaction of navigation and preload strategies (#40389) (4906bf6), closes #26557 #22842 #26557 #26557 #22842 #26557
- router: fix load interaction of navigation and preload strategies (#40389) (bba1981), closes #26557 #22842 #26557 #26557 #22842 #26557
12.0.0-next.0 (2021-02-10)
Bug Fixes
- bazel: update build tooling for latest changes in rules_nodejs (#40710) (696f7bc)
- bazel: update integration test to use rules_nodejs@3.1.0 (#40710) (34de89a)
- bazel: update type castings for JSON.parse usage (#40710) (2c90391)
- benchpress: update type castings for JSON.parse usage (#40710) (e721a5d)
- compiler: support multiple
:host-context()
selectors (#40494) (07b7af3), closes #19199 - compiler: update type castings for JSON.parse usage (#40710) (f728490)
- compiler-cli: update ngcc integration tests for latest changes in rules_nodejs (#40710) (d7f5755)
- compiler-cli: update type castings for JSON.parse usage (#40710) (b75d7cb)
- core: make DefaultIterableDiffer keep the order of duplicates (#23941) (a826926), closes #23815
- core: NgZone coaleascing options should trigger onStable correctly (#40540) (22f9e45)
- elements: update type castings for JSON.parse usage (#40710) (efd4149)
- http: complete the request on timeout (#39807) (61a0b6d), closes #26453
- http: emit error on XMLHttpRequest abort event (#40767) (3897265), closes #22324
- localize: update type castings for JSON.parse usage (#40710) (4b469c9)
- platform-browser: update type castings for JSON.parse usage (#40710) (7ecfd2d)
- router: update type castings for JSON.parse usage (#40710) (350dada)
- service-worker: update type castings for JSON.parse usage (#40710) (4f7ff96)
Features
- common: implement
appendAll()
method onHttpParams
(#20930) (575a2d1), closes #20798 - forms: introduce min and max validators (#39063) (8fb83ea), closes #16352
- http: expose a list of human-readable http status codes (#23548) (6fe3a1d), closes #23543
- language-service: add command for getting components for a template file (#40655) (5cde4ad)
- language-service: Add diagnostics to suggest turning on strict mode (#40423) (ecae75f)
- language-service: Implement
getRenameInfo
(#40439) (4e8198d) - language-service: initial implementation for
findRenameLocations
(#40140) (9a5ac47) - language-service: view template typecheck block (#39974) (d482f5c)
BREAKING CHANGES
- forms: Previously
min
andmax
attributes defined on the<input type="number">
were ignored by Forms module. Now presence of these attributes would trigger min/max validation logic (in caseformControl
,formControlName
orngModel
directives are also present on a given input) and corresponding form control status would reflect that.
11.2.0 (2021-02-10)
Bug Fixes
- animations: properly track listeners for a removed element (#40712) (74cb759)
- common: date is not correctly formatted when year is between 0 and 99 (#40448) (bf85f04), closes #40377
- compiler: include parenthesis in expression source spans (#40740) (e99c4e2), closes #40721
- compiler: throw error for duplicate template references (#40538) (7e0ff8c), closes #40536
- compiler-cli: don't crash when we can't resolve a resource (#40660) (95446fb), closes angular/vscode-ng-language-service#1079
- core: properly move embedded views of dynamic component's projectable nodes (#37167) (9ae21ee), closes #37120
- localize: improve invalid syntax in extraction error message (#40724) (24600ff)
- localize: support downleveled inlined helper localize calls (#40754) (415ad8d), closes #40702
- router: stop emitting to event observable on destroy (#40638) (737bc7a), closes #40502
11.2.0-rc.0 (2021-02-03)
This release contains the same set the of changes as 11.2.0-next.1.
11.2.0-next.1 (2021-02-03)
Bug Fixes
- common: parse
YYYY-MM
strings as UTC dates (#40620) (4c5f18d), closes #33944 - common: parse
YYYY
strings as UTC dates (#40629) (46d4326), closes #33944 #40620 - compiler: Don't set expression text to synthetic
$implicit
when empty (#40583) (9d396f8) - compiler: exclude trailing whitespace from element source spans (#40513) (7a6d1e2), closes #39148
- compiler-cli: preserve user line endings in diagnostic template parse (#40597) (caafac2)
- core: ensure the type
T
ofEventEmitter<T>
can be inferred (#40644) (5c54767), closes #40637 - core: remove duplicated EMPTY_ARRAY constant (#40587) (cabe8be)
Performance Improvements
11.1.2 (2021-02-03)
Bug Fixes
- common: parse
YYYY-MM
strings as UTC dates (#40620) (cafd4f5), closes #33944 - common: parse
YYYY
strings as UTC dates (#40629) (b823049), closes #33944 #40620 - compiler: Don't set expression text to synthetic
$implicit
when empty (#40583) (5dab521) - compiler: exclude trailing whitespace from element source spans (#40513) (726ec88), closes #39148
- compiler-cli: preserve user line endings in diagnostic template parse (#40597) (00eeebf)
- core: ensure the type
T
ofEventEmitter<T>
can be inferred (#40644) (8f9ba8e), closes #40637 - core: remove duplicated EMPTY_ARRAY constant (#40587) (abdf25c)
Performance Improvements
11.1.1 (2021-01-27)
Bug Fixes
- compiler-cli: handle pseudo cycles in inline source-maps (#40435) (566206b), closes #40408
- compiler-cli: use
Map
rather thanobject
for map of partial linkers (#40563) (33e0f2b) - core: fix possible XSS attack in development through SSR (#40525) (97ec6e4)
- core: improve injector debug information in
ngDevMode
(#40476) (4bb38c9) - forms: allow
patchValue()
method ofFormGroup
andFormArray
classes to skipnull
values (#40534) (2fab148), closes #36672 #21021 - forms: properly cleanup in cases when FormControlName has no CVA (#40526) (72fc6aa), closes #39235 #40521
- language-service: implement realpath to resolve symlinks (#40593) (77efc27)
- language-service: recognize incomplete pipe bindings with whitespace (#40346) (d88f18e)
- localize: include meaning in generated ARB files (#40546) (5661298), closes #40506
- router: always stringify matrix parameters (#25095) (a8a27ef), closes #23165
- router: Fix occasional error when creating url tree in IE 11 and Edge (#40488) (69fd942)
- service-worker: handle error with console.error (#40236) (37710b9)
Features
Performance Improvements
- compiler-cli: introduce fast path for resource-only updates (#40561) (156103c)
- core: simplify bloom bucket computation (#40489) (106734a)
11.1.0 (2021-01-20)
Bug Fixes
- animations: getAnimationStyle causes exceptions in older browsers (#29709) (66d863f)
- animations: replace copy of query selector node-list from "spread" to "for" (#39646) (bfa197f), closes #38551
- common: add
HttpParamsOptions
to the public api (#35829) (b33b89d), closes #20276 - common: Prefer to use pageXOffset / pageYOffset instance of scrollX / scrollY (#28262) (b1d300d)
- compiler: correct the
KeySpan
for animation events and properties (#40347) (524415e) - compiler: incorrectly interpreting some HostBinding names (#40233) (1045465), closes #40220 #40230 #18698
- compiler: recover event parse when animation event name is empty (#39925) (15b15be)
- compiler: avoid duplicate i18n blocks for i18n attrs on elements with structural directives (#40077) (caa4666), closes #39942
- compiler: handle strings inside bindings that contain binding characters (#39826) (dc6d40e), closes #39601
- compiler: disallow i18n of security-sensitive attributes (#39554) (c8a99ef)
- compiler: ensure that placeholders have the correct sourceSpan (#39717) (0462a61), closes #39671
- compiler: only promote Trusted Types to constants when necessary (#39554) (4916870)
- compiler: report better error on interpolation in an expression (#30300) (94e790d)
- compiler-cli: do not duplicate repeated source-files in rendered source-maps (#40237) (3158858)
- compiler-cli: remove classes in .d.ts files from provider checks (#40118) (973bb40)
- animations: implement getPosition in browser animation builder (#39983) (ca08625)
- compiler-cli: correct incremental behavior even with broken imports (#39923) (c7c5b2f)
- compiler-cli: remove the concept of an errored trait (#39923) (6d42954)
- compiler-cli: track poisoned scopes with a flag (#39923) (0823622)
- compiler-cli: report error when a reference target is missing instead of crashing (#39805) (453b32f), closes #38618 #39744
- core: fix possible XSS attack in development through SSR. (#40136) (47d9b6d)
- core: set
ngDevMode
tofalse
when callingenableProdMode()
(#40124) (70b4816) - core: Allow passing AbstractType to the inject function (#37958) (a1b6ad0)
- core: Ensure OnPush ancestors are marked dirty when events occur (#39833) (68d4a74), closes #39832
- core: meta addTag() adds incorrect attribute for httpEquiv (#32531) (ff0a90e)
- core: migration error if program contains files outside of the project (#39790) (1a26f6d), closes #39778
- core: not invoking object's toString when rendering to the DOM (#39843) (11cd37f), closes #38839
- core: remove duplicated noop function (#39761) (066126a)
- core: support
Attribute
DI decorator indeps
section of a token (#37085) (f5cbf0b), closes #36479 - core: remove application from the testability registry when the root view is removed (#39876) (df27027), closes #22106
- core: Support extending differs from root
NgModule
(#39981) (5fc4508), closes #25015 #11309 #18554 - core: unsubscribe from the
onError
when the root view is removed (#39940) (5a3a154) - core:
QueryList
should not fire changes if the underlying list did not change. (#40091) (76f3633) - core: fix fakeAsync() error messages (#40442) (ad2b50b)
- forms: error if control is removed as a result of another one being reset (#40462) (2c5ad5c), closes #33401
- forms: clean up connection between FormControl/FormGroup and corresponding directive instances (#39235) (a384961), closes #20007 #37431 #39590
- language-service: fix go to definition for template variables and references (#40455) (#40491) (3e134e4)
- language-service: Paths on Windows should be normalized (#40492) (b8e47e2), closes /github.com/angular/vscode-ng-language-service/blob/9fca9c66510974c26d5c21b31adb9fa39ac0a38a/server/src/session.ts#L594
- language-service: report non-template diagnostics (#40331) (4db89f4)
- language-service: diagnostic and definition should work for absolute url (#40406) (625d2c2)
- language-service: reinstate overridden compiler option after change (#40364) (811cacc)
- language-service: Support 'find references' for two-way bindings (#40185) (ebb7ac5)
- language-service: Support 'go to definition' for two-way bindings (#40185) (a9d8c22)
- language-service: Support completions of two-way bindings (#40185) (7d74853)
- language-service: Do not include $event parameter in reference results (#40158) (d466db8), closes #40157
- language-service: include compilerOptions.rootDir in rootDirs (#40243) (a62416c), closes angular/vscode-ng-language-service#1039
- language-service: LSParseConfigHost.resolve should not concat abs paths (#40242) (0264f76)
- language-service: return all typecheck files via getExternalFiles (#40162) (183fb7e)
- language-service: shorthand syntax with variables (#40239) (12cb39c)
- language-service: force compileNonExportedClasses: false in LS (#40092) (028e4f7)
- language-service: Prevent matching nodes after finding a keySpan (#40047) (1bf1b68)
- language-service: do not return external template that does not exist (#39898) (2b84882)
- language-service: do not treat file URIs as general URLs (#39917) (3b70098)
- localize: ensure extracted messages are serialized in a consistent order (#40192) (212245f), closes #39262
- ngcc: copy (and update) source-maps for unmodified source files (#40429) (e2e3862), closes #40358
- service-worker: handle error with ErrorHandler (#39990) (74e42cf), closes #39913
- router: correctly handle string command in outlets (#39728) (c33a823), closes #18928
- router: lazy loaded modules without RouterModule.forChild() won't cause an infinite loop (#36605) (6675b6f), closes #29164
- router: remove duplicated getOutlet function (#39764) (5fa7673)
- service-worker: correctly handle failed cache-busted request (#39786) (6046419), closes #39775 #39775
- upgrade: avoid memory leak when removing downgraded components (#39965) (6dc43a4), closes #26209 #39911 #39921
- upgrade: fix HMR for hybrid applications (#40045) (b4b21bd), closes #39935
Performance Improvements
- animations: use
ngDevMode
to tree-shake warning (#39964) (9ebe423) - common: use
ngDevMode
to tree-shake warnings (#39964) (f022efa) - core: use
ngDevMode
to tree-shakecheckNoChanges
(#39964) (e1fe9ec) - core: use
ngDevMode
to tree-shake warnings (#39959) (8b0cccc) - core: make DI decorators tree-shakable when used for
useFactory
deps config (#40145) (0664d75), closes #40143 - forms: use
ngDevMode
to tree-shake_ngModelWarning
(#39964) (7954c8d) - ngcc: do not copy files that have been processed (#40429) (798aae4)
Features
- common: allow any Subscribable in async pipe (#39627) (c7f4abf)
- compiler: recover expression parsing in more malformed pipe cases (#39437) (e336572)
- compiler: support recovery of malformed property writes (#39103) (e44e10b)
- compiler: add schema for Trusted Types sinks (#39554) (358c50e)
- compiler: support error reporting in I18nMetaVisitor (#39554) (bb70a9b)
- compiler: support tagged template literals in code generator (#39122) (ef89274)
- compiler: allow trailing comma in array literal (#22277) (8d613c1), closes #20773
- compiler-cli: implement partial directive declaration linking (#39518) (87e9cd6)
- compiler-cli: partial compilation of directives (#39518) (8c0a92b)
- compiler-cli: add support for using TypeScript 4.1 (#39571) (a7e7c21)
- compiler-cli: support for partial compilation of components (#39707) (e75244e)
- compiler-cli: expose function to allow short-circuiting of linking (#40137) (7dcf286)
- compiler-cli: JIT compilation of component declarations (#40127) (d4327d5)
- compiler-cli: JIT compilation of directive declarations (#40101) (9186f1f)
- core: add shouldCoalesceRunChangeDetection option to coalesce change detections in the same event loop. (#39422) (5e92d64), closes #39348 #39348
- core: adds get method to QueryList (#36907) (a965589), closes #29467
- core: Add schematic to fix invalid
Route
configs (#40067) (805b4f9) - language-service: log Angular compiler options (#40364) (6a9e328)
- language-service: autocomplete pipe binding expressions (#40032) (cbb6eae)
- language-service: autocompletion of element tags (#40032) (e42250f)
- language-service: autocompletion within expression contexts (#39727) (93a8326)
- language-service: complete attributes on elements (#40032) (66378ed)
- language-service: completions for structural directives (#40032) (2a74431)
- language-service: enable get references for directive and component from template (#40054) (973f797)
- language-service: Add "find references" capability to Ivy integrated LS (#39768) (06a782a)
- language-service: implement autocompletion for global properties (Ivy) (#39250) (28a0bcb)
- language-service: Implement go to definition for style and template urls (#39202) (563fb6c)
- localize: support Application Resource Bundle (ARB) translation file format (#36795) (5684ac5)
- platform-browser: add doubletap HammerJS support (#26362) (b5c0f9d), closes #23954
- router: add
relativeTo
as an input torouterLink
(#39720) (112324a), closes #13523
11.0.9 (2021-01-13)
Bug Fixes
- compiler: incorrectly inferring content type of SVG-specific title tag (#40259) (642c45b), closes #31503
- compiler-cli: prevent stack overflow in decorator transform for large number of files (#40374) (ff36485), closes #40276
- ngcc: compute the correct package paths for target entry-points (#40376) (584b78a), closes #40352 #40357
- router: better ngZone checking for warning (#25839) (adf42da), closes #25837
- service-worker: allow checking for updates when constantly polling the server (#40234) (a7befd5), closes #40207
- service-worker: ensure SW stays alive while notifying clients about unrecoverable state (#40234) (c01b5ea)
11.0.8 (2021-01-11)
Bug Fixes
- core: memory leak if view container host view is destroyed while view ref is not (#40219) (f691e85), closes #38648
- forms: handle standalone
<form>
tag correctly inNgControlStatusGroup
directive (#40344) (b3f322f), closes #38391 - router: Remove usage of
Object.values
to avoid the need for a polyfill (#40370) (c44dd84)
11.0.7 (2021-01-07)
Bug Fixes
- router: correctly deactivate children with componentless parent (#40196) (7060ae2), closes /github.com/angular/angular/blob/362f45c4bf1bb49a90b014d2053f4c4474d132c0/packages/router/src/operators/activate_routes.ts#L151-L158 #20694
- router: Remove usage of
Object.entries
to avoid the need for a polyfill (#40340) (6429be1)
11.0.6 (2021-01-06)
Bug Fixes
- compiler: don't report parse error for interpolation inside string in property binding (#40267) (7977509), closes #39826 #39601
- compiler: incorrectly encapsulating selectors with escape sequences (#40264) (1bfbfaa), closes #31844
- compiler-cli: handle
\r\n
line-endings correctly in source-mapping (#40187) (b865b32), closes #40169 #39654 - compiler-cli: ngcc - remove outdated link (#40285) (0b00d65), closes #39837
- core: Call
onDestroy
in production mode as well (#40120) (632fe60), closes #39876 #40105 - core: ensure sanitizer works if DOMParser return null body (#40107) (add7cbb), closes #39834
- core: error if detectChanges is called at the wrong time under specific circumstances (#40206) (ef13e83), closes #38611
- core: take @Host into account while processing
useFactory
arguments (#40122) (#40313) (45838c0) - router: apply redirects should match named outlets with empty path parents (#40029) (#40315) (f542e4e), closes #38379 #38379 #39952 #10726 #30410
- router: Ensure named outlets with empty path parents are recognized (#40029) (#40315) (c722c43)
- router: Router should focus element after scrolling (#40241) (a1dcfc5), closes #30067
11.0.5 (2020-12-16)
Bug Fixes
- compiler: handle strings inside bindings that contain binding characters (#39826) (f5aab2b), closes #39601
- core: fix possible XSS attack in development through SSR. (#40136) (0aa220b)
- core: set
ngDevMode
tofalse
when callingenableProdMode()
(#40124) (922f492) - upgrade: fix HMR for hybrid applications (#40045) (c4c7509), closes #39935
11.0.4 (2020-12-09)
Bug Fixes
- animations: implement getPosition in browser animation builder (#39983) (5a765f0)
- compiler-cli: correct incremental behavior even with broken imports (#39967) (adeeb84)
- compiler-cli: remove the concept of an errored trait (#39967) (0aa35ec)
- compiler-cli: track poisoned scopes with a flag (#39967) (178cc51)
- core: remove application from the testability registry when the root view is removed (#39876) (3680ad1), closes #22106
- core: unsubscribe from the
onError
when the root view is removed (#39940) (35309bb) - language-service: do not return external template that does not exist (#39898) (6b6fcd7)
- language-service: do not treat file URIs as general URLs (#39917) (829988b)
- service-worker: handle error with ErrorHandler (#39990) (588dbd3), closes #39913
- upgrade: avoid memory leak when removing downgraded components (#39965) (97310d3), closes #26209 #39911 #39921
Performance Improvements
- animations: use
ngDevMode
to tree-shake warning (#39964) (72aad32) - common: use
ngDevMode
to tree-shake warnings (#39964) (bf3de9b) - core: use
ngDevMode
to tree-shakecheckNoChanges
(#39964) (2fbb684) - core: use
ngDevMode
to tree-shake warnings (#39959) (1e3534f) - forms: use
ngDevMode
to tree-shake_ngModelWarning
(#39964) (735556d)
11.0.3 (2020-12-02)
Bug Fixes
- animations: getAnimationStyle causes exceptions in older browsers (#29709) (cb1d77a)
- animations: replace copy of query selector node-list from "spread" to "for" (#39646) (e95cd2a), closes #38551
- common: Prefer to use pageXOffset / pageYOffset instance of scrollX / scrollY (#28262) (5692607)
- compiler: ensure that placeholders have the correct sourceSpan (#39717) (8ec7156), closes #39671
- compiler: report better error on interpolation in an expression (#30300) (6dc74fd)
- compiler-cli: report error when a reference target is missing instead of crashing (#39805) (8634611), closes #38618 #39744
- core: Ensure OnPush ancestors are marked dirty when events occur (#39833) (01c1bfd), closes #39832
- core: meta addTag() adds incorrect attribute for httpEquiv (#32531) (3114b0a)
- core: migration error if program contains files outside of the project (#39790) (7dcc212), closes #39778
- core: not invoking object's toString when rendering to the DOM (#39843) (75e22ab), closes #38839
- core: remove duplicated noop function (#39761) (26a1337)
- core: support
Attribute
DI decorator indeps
section of a token (#37085) (aaa3111), closes #36479 - router: correctly handle string command in outlets (#39728) (50c19a2), closes #18928
- router: remove duplicated getOutlet function (#39764) (df231ad)
- service-worker: correctly handle failed cache-busted request (#39786) (7bf73d7), closes #39775 #39775
DEPRECATIONS
- forms: Mark the {[key: string]: any} type for the options property of the FormBuilder.group method as deprecated. Using AbstractControlOptions gives the same functionality and is type-safe.
11.0.2 (2020-11-19)
Bug Fixes
11.0.1 (2020-11-18)
Bug Fixes
- compiler-cli: incorrectly type checking calls to implicit template variables (#39686) (e05cfdd), closes #39634 * compiler-cli: setComponentScope should only list used components/pipes (#39662) (8d317df) * core: handle !important in style property value (#39603) (978f081), closes #35323 * core: not inserting ViewContainerRef nodes when inside root of a component (#39599) (20db90a), closes #39556 * core: remove deprecated wtfZoneSpec from NgZone (#37864) (e02bea8), closes #33949
- forms: more precise control cleanup (#39623) (050cea9)
- http: queue jsonp