849 KiB
12.0.0-next.7 (2021-04-01)
Bug Fixes
- common: temporarily re-export and deprecate
XhrFactory
(#41393) (7dfa446) - compiler: handle case-sensitive CSS custom properties (#41380) (e112e32), closes #41364
- compiler: include used components during JIT compilation of partial component declaration (#41353) (ff9470b), closes #41104 #41318
- language-service: Only provide Angular property completions in templates (#41278) (0226a11)
- platform-browser: configure
XhrFactory
to useBrowserXhr
(#41313) (e0028e5), closes #41311
Features
- core: add migration for
XhrFactory
import (#41313) (95ff5ec) - language-service: add perf tracing to LanguageService (#41319) (90f85da)
BREAKING CHANGES
- platform-browser:
XhrFactory
has been moved from@angular/common/http
to@angular/common
.
Before
import {XhrFactory} from '@angular/common/http';
After
import {XhrFactory} from '@angular/common';
11.2.8 (2021-04-01)
Bug Fixes
12.0.0-next.6 (2021-03-24)
Bug Fixes
- animations: cleanup DOM elements when the root view is removed (#41059) (c49b280)
- compiler-cli: add
useInlining
option to type check config (#41043) (09aefd2), closes #40963 - core: detect synthesized constructors that have been downleveled using TS 4.2 (#41305) (274dc15), closes #41298
- ngcc: detect synthesized constructors that have been downleveled using TS 4.2 (#41305) (8d3da56), closes #41298
- router: fragment can be null (#37336) (b555160), closes #23894 #34197
Features
BREAKING CHANGES
- animations: DOM elements are now correctly removed when the root view is removed. If you are using SSR and use the app's HTML for rendering, you will need to ensure that you save the HTML to a variable before destorying the app. It is also possible that tests could be accidentally relying on the old behavior by trying to find an element that was not removed in a previous test. If this is the case, the failing tests should be updated to ensure they have proper setup code which initializes elements they rely on.
- router: Strict null checks will report on fragment potentially being null. Migration path: add null check.
11.2.7 (2021-03-24)
Bug Fixes
- compiler: correctly process multiple rules containing
:host
selectors (#41261) (f358d6b), closes #41237 - compiler-cli: add
useInlining
option to type check config (#41268) (57644e9), closes #40963 - core: remove obsolete check for [class] and [className] presence (#41254) (8a53b54)
- language-service: show suggestion when type inference is suboptimal (#41072) (18cd7a0), closes angular/vscode-ng-language-service#1155 #41042
12.0.0-next.5 (2021-03-17)
Bug Fixes
Features
- compiler-cli: introduce HttpContext request context (#25751) (1644d64)
- core: drop support for TypeScript 4.0 and 4.1 (#41158) (fa04894)
- core: support TypeScript 4.2 (#41158) (59ef409)
- ngcc: support
__read
helper as used by TypeScript 4.2 (#41201) (66e9970), closes microsoft/TypeScript#41523 - ngcc: support
__spreadArray
helper as used by TypeScript 4.2 (#41201) (7b1214e), closes microsoft/TypeScript#41523 #40394
Performance Improvements
BREAKING CHANGES
- core: Switching default of
emitDistinctChangesOnlyDefaultValue
which changes the default behavior and may cause some applications which rely on the incorrect behavior to fail.
emitDistinctChangesOnly
flag has also been deprecated and will be
removed in a future major release.
The previous implementation would fire changes QueryList.changes.subscribe
whenever the QueryList
was recomputed. This resulted in an artificially
high number of change notifications, as it is possible that recomputing
QueryList
results in the same list. When the QueryList
gets recomputed
is an implementation detail, and it should not be the thing that determines
how often change event should fire.
Unfortunately, fixing the behavior outright caused too many existing
applications to fail. For this reason, Angular considers this fix a
breaking fix and has introduced a flag in @ContentChildren
and
@ViewChildren
, that controls the behavior.
export class QueryCompWithStrictChangeEmitParent {
@ContentChildren('foo', {
// This option is the new default with this change.
emitDistinctChangesOnly: true,
})
foos!: QueryList<any>;
}
For backward compatibility before v12
emitDistinctChangesOnlyDefaultValue
was set to false. This change changes the default to
true`.
11.2.6 (2021-03-17)
Bug Fixes
- core: remove duplicated EMPTY_OBJ constant (#41153) (fa97166)
- forms: properly handle the change to the FormGroup shape (#40829) (60ac964), closes #13788
- localize: render correct closing tag placeholder names in XLIFF 2 (#41152) (7dbb550), closes #41142
- localize: trim extracted
equiv-text
values (#41180) (ed6c09a), closes #41176 - ngcc: do not compile JavaScript sources if typings-only processing is repeated (#41209) (be050b2), closes #41198
Performance Improvements
- forms: avoid direct references to the
Validators
class (#41189) (#41220) (804b6b6) - forms: make
FormBuilder
class tree-shakable (#41126) (ffc93e0) - forms: make
RadioControlRegistry
class tree-shakable (#41126) (6414590) - forms: make built-in ControlValueAccessors more tree-shakable (#41146) (#41197) (5908eda)
12.0.0-next.4 (2021-03-10)
Bug Fixes
- common: cleanup location change listeners when the root view is removed (#40867) (38524c4), closes #31546
- core: remove duplicated EMPTY_OBJ constant (#41066) (bf158e7)
Features
- compiler: emit @PURE or @pureOrBreakMyCode annotations in the generated code (#41096) (9c21028)
- compiler-cli: support producing Closure-specific PURE annotations (#41021) (fbc9df1)
- core: manually annotate de-sugarred core tree-shakable providers with @pureOrBreakMyCode (#41096) (03d47d5)
- core: more precise type for
APP_INITIALIZER
token (#40986) (ca721c2), closes #40729 - localize: add scripts to migrate away from legacy message IDs (#41026) (1735430)
BREAKING CHANGES
- common: Methods of the
PlatformLocation
class, namelyonPopState
andonHashChange
, used to returnvoid
. Now those methods return functions that can be called to remove event handlers. - core: The type of the
APP_INITIALIZER
token has been changed to more accurately reflect the types of return values that are handled by Angular. Previously, each initializer callback was typed to returnany
, this is nowPromise<unknown> | Observable<unknown> | void
. In the unlikely event that your application uses theInjector.get
orTestBed.inject
API to inject theAPP_INITIALIZER
token, you may need to update the code to account for the stricter type.
Additionally, TypeScript may report the TS2742 error if the APP_INITIALIZER
token is used in an expression of which its inferred type has to be emitted
into a .d.ts file. To workaround this, an explicit type annotation is needed,
which would typically be Provider
or Provider[]
.
11.2.5 (2021-03-10)
Bug Fixes
- bazel: fix incorrect rollup plugin method signature (#41101) (925746b)
- language-service: Only provide dom completions for inline templates (#41078) (a05eb13)
Performance Improvements
- compiler-cli: avoid module resolution in cycle analysis (#40948) (532ae73)
- compiler-cli: detect semantic changes and their effect on an incremental rebuild (#40947) (e35ecea), closes #34867 #40635 #40728
- compiler-cli: ensure module resolution cache is reused for type-check program (#39693) (16f90ca)
- compiler-cli: use bound symbol in import graph in favor of module resolution (#40948) (2035b15)
12.0.0-next.3 (2021-03-03)
Bug Fixes
- animations: cleanup DOM elements when the root view is removed (#41001) (a31da48)
- common: allow number or boolean as http params (#40663) (91cdc11), closes #23856
- core: remove duplicated EMPTY_ARRAY constant (#40991) (e12d9de)
- language-service: Add plugin option to force strictTemplates (#41062) (e9e7c33)
- language-service: use single entry point for Ivy and View Engine (#40967) (e986a97)
Features
- animations: add support for disabling animations through BrowserAnimationsModule.withConfig (#40731) (29d8a0a)
- router: Add more fine-tuned control in
routerLinkActiveOptions
(#40303) (6c05c80), closes #13205
BREAKING CHANGES
- common: The methods of the
HttpParams
class now acceptstring | number | boolean
instead ofstring
for the value of a parameter. If you extended this class in your application, you'll have to update the signatures of your methods to reflect these changes. - router: The type of the
RouterLinkActive.routerLinkActiveOptions
input was expanded to allow more fine-tuned control. Code that previously read this property may need to be updated to account for the new type.
11.2.4 (2021-03-03)
Bug Fixes
- compiler: allow binding to autocomplete property on select and textarea elements (#40928) (20fb638), closes #39490
- compiler: ensure JIT compilation of ɵɵngDeclarePipe() works (#40929) (55eb7b5)
- compiler: recover from an incomplete open tag at the end of a file (#41054) (c675acd)
- compiler-cli:
readConfiguration
existing options should override options in tsconfig (#40694) (#41036) (2f3e2df) - compiler-cli: ensure ngcc can handle wildcard base-paths (#41033) (27d55f6), closes #41014
- compiler-cli: extend
angularCompilerOptions
in tsconfig from node (#40694) (#41036) (e3ccd56), closes /github.com/microsoft/TypeScript/blob/b346f5764e4d500ebdeff7086e43690ea533a305/src/compiler/commandLineParser.ts#L2603-L2628 #36715 - language-service: Add plugin option to force strictTemplates (#41063) (95f748c)
- language-service: Always attempt HTML AST to template AST conversion for LS (#41068) (6dd5497), closes angular/vscode-ng-language-service#1140
- language-service: can't provide the Input and Output custom binding property name (#41005) (1b1b65e)
- language-service: don't show external template diagnostics in ts files (#41070) (9322e6a), closes #41032
- language-service: only provide template results on reference requests (#41041) (ef87953)
- language-service: provide element completions after open tag < (#41068) (f09e7ab), closes angular/vscode-ng-language-service#1140
- ngcc: do not fail hard when a format-path points to a non-existing or empty file (#40985) (06ff277), closes /github.com/angular/angular/blob/3077c9a1f89c5bd75fb96c16e/packages/compiler-cli/ngcc/src/main.ts#L124 #40965
12.0.0-next.2 (2021-02-24)
Bug Fixes
- common: avoid mutating context object in NgTemplateOutlet (#40360) (d3705b3), closes #24515
- core: allow EmbeddedViewRef context to be updated (#40360) (a3e1719), closes #24515
Features
- core: drop support for zone.js 0.10.x (#40823) (aaf9b31), closes angular/angular-cli#20034
- core: support APP_INITIALIZER work with observable (#33222) (ca17ac5), closes #15088
- router: Allow for custom router outlet implementations (#40827) (a82fddf)
BREAKING CHANGES
- core: Minimum supported
zone.js
version is0.11.4
11.2.3 (2021-02-24)
Performance Improvements
- language-service: Skip Angular analysis when quick info requested outside a template (#40956) (0dd1fac)
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