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
转自 https://github.com/angular/angular/blob/master/CHANGELOG.md