fix(deps): update dependency @angular/core to v11 [security] #20
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
~9.0.7->~11.0.0GitHub Vulnerability Alerts
CVE-2021-4231
A vulnerability was found in Angular up to 11.0.4/11.1.0-next.2. It has been classified as problematic. Affected is the handling of comments. The manipulation leads to cross site scripting. It is possible to launch the attack remotely but it might require an authentication first. Upgrading to version 11.0.5 and 11.1.0-next.3 is able to address this issue. The name of the patch is ba8da742e3b243e8f43d4c63aa842b44e14f2b09. It is recommended to upgrade the affected component.
Release Notes
angular/angular
v11.0.5Compare Source
Bug Fixes
ngDevModetofalsewhen callingenableProdMode()(#40124) (922f492)v11.0.4Compare Source
Bug Fixes
onErrorwhen the root view is removed (#39940) (35309bb)Performance Improvements
ngDevModeto tree-shake warning (#39964) (72aad32)ngDevModeto tree-shake warnings (#39964) (bf3de9b)ngDevModeto tree-shakecheckNoChanges(#39964) (2fbb684)ngDevModeto tree-shake warnings (#39959) (1e3534f)ngDevModeto tree-shake_ngModelWarning(#39964) (735556d)v11.0.3Compare Source
Bug Fixes
AttributeDI decorator indepssection of a token (#37085) (aaa3111), closes #36479DEPRECATIONS
v11.0.2Compare Source
Bug Fixes
v11.0.1Compare Source
Bug Fixes
Performance Improvements
v11.0.0Compare Source
Blog post "Version 11 of Angular Now Available".
Bug Fixes
--stampflag is used (#39392) (84e09a0)DatePipe(#38009) (26f2820), closes #37989paramsandreportProgressoptions toHttpClient.put()overload (#37873) (dd8d8c8), closes #23600KeyValuePipe(#37447) (4dfe0fa)AsyncPipe(#37447) (5f815c0)I18nPluralPipe(#37447) (3b919ef)SlicePipe(#37447) (4744c22)null(#37447) (c7d5555), closes #36259r->Y(#39495) (feda78e)this.$eventandthis.$anyaccesses in expressions (#39323) (a8e0db7), closes #30278letstatements in ES2015+ mode (#38775) (123bff7)setClassMetadatacall in ES5 for class with custom decorator (#39527) (b0bbc1f), closes #39509fullTemplateTypeCheckis disabled (#39320) (67ea7b6), closes #38195CollectionChangeRecordsymbol (#38668) (fdea180)TestBedis not instantiated before override provider (#38717) (c8f056b)createNamedArrayType()(#39209) (f6d5cdf)ngDevModefor undefined. (#36055) (f541e5f)ngDevModeis undeclared (#39415) (cc32932)LViewrather than inTView(#39233) (0992b67), closes #37021 #38144 #38073markDirty()should only mark flags when really scheduling tick. (#39316) (3b6497b), closes #39296SkipSelf(#39464) (7cb9e19)OnPushcomponent when inputs change (#39452) (dd28855), closes #38948statusChangeson subsequent value update/validations (#38354) (d9fea85), closes #20424 #14542NG_VALUE_ACCESSORinjection token as array (#29723) (2b1b718), closes #29351nullin.parentof abstract control (#32671) (f4f1bcc), closes #16999BoundAttribute(#38995) (323be39)baseUrl(#39334) (b4e8399)shouldReuseRoute(#26949) (3817e5f), closes #16192relativeLinkResolutiontocorrectedby default (#25609) (837889f)ExtraOptionstoRouterinRouterTestingModule(#39096) (d8c0534), closes #23347routerLink(#39151) (b0b4953)preserveQueryParams(#38762) (93ee05d)preserveQueryParamssymbol (#38762) (783a5bd)createUrlTree(#39347) (161b278)Features
formatDate(#38828) (984ed39)DatePipe(#37447) (daf8b7f)keySpantoVariablenode (#38965) (239968d)TemplateTypeCheckeroperation to getSymbolfrom a template node (#38618) (c4556db)SymbolofTemplates andElements in component template (#38618) (cf2e8b9)Symbolof AST expression in component template (#38618) (f56ece4)TemplateTypeChecker(#38618) (9e77bd3)asyncwithwaitForAsync(#39212) (5ce71e0)ViewEncapsulation.Native(#38882) (0e733f3)initialNavigationschematic (#36926) (0ec7043)Functionconstructor (#39209) (5913e5c)ViewEncapsulation.Native(#38882) (4a1c12c)AbstractControl.parentaccesses (#39009) (aeec223), closes #32671getDefinitionAndBoundSpan(go to definition) (#39101) (3975dd9)getSemanticDiagnosticsfor external templates (#39065) (63624a2)getTypeDefinitionAtPosition(go to type definition) (#39145) (a84976f)navigateByUrlandcreateUrlTreewith invalid parameters (#38825) (7849fdd)relativeLinkResolutionmigration to update default value (#38698) (15ea811)initialNavigationoptions to replace legacy (#37480) (c4becca)UnrecoverableStateError(#36847) (036a2fa), closes #36539Performance Improvements
ngDevModeto tree-shake error messages in router (#38674) (db21c4f)BREAKING CHANGES
The locale data API has been marked as returning readonly arrays, rather than mutable arrays, since these arrays are shared across calls to the API.
If you were mutating them (e.g. calling
sort(),push(),splice(), etc.) then your code will no longer compile.If you need to mutate the array, you should now make a copy (e.g. by calling
slice()) and mutate the copy.When passing a date-time formatted string to the
DatePipein a format that contains fractions of a millisecond, the milliseconds will now always be rounded down rather than to the nearest millisecond.Most applications will not be affected by this change.
If this is not the desired behaviour then consider pre-processing the string to round the millisecond part before passing it to the
DatePipe.The
slicepipe now returnsnullfor theundefinedinput value, which is consistent with the behavior of most pipes.If you rely on
undefinedbeing the result in that case, you now need to check for it explicitly.The typing of the
keyvaluepipe has been fixed to report that for input objects that havenumberkeys, the result will contain the string representation of the keys.This was already the case and the types have simply been updated to reflect this.
Please update the consumers of the pipe output if they were relying on the incorrect types.
Note that this does not affect use cases where the input values are
Maps, so if you need to preservenumbers, this is an effective way.The signatures of the number pipes now explicitly state which types are accepted.
This should only cause issues in corner cases, as any other values would result in runtime exceptions.
The signature of the
datepipe now explicitly states which types are accepted.This should only cause issues in corner cases, as any other values would result in runtime exceptions.
The
asyncpipe no longer claims to returnundefinedfor an input that was typed asundefined.Note that the code actually returned
nullonundefinedinputs.In the unlikely case you were relying on this, please fix the typing of the consumers of the pipe output.
The case conversion pipes no longer let falsy values through.
They now map both
nullandundefinedtonulland raise an exception on invalid input (0,false,NaN) just like most "common pipes".If your code required falsy values to pass through, you need to handle them explicitly.
TypeScript 3.9 is no longer supported, please upgrade to TypeScript 4.0.
Expressions within ICUs are now type-checked again, fixing a regression in Ivy.
This may cause compilation failures if errors are found in expressions that appear within an ICU.
Please correct these expressions to resolve the type-check errors.
CollectionChangeRecordhas been removed, useIterableChangeRecordinstead.If you call
TestBed.overrideProviderafter TestBed initialization, provider overrides are not applied.This behavior is consistent with other override methods (such as
TestBed.overrideDirective, etc) but they throw an error to indicate that, when the check was missing in theTestBed.overrideProviderfunction.Now calling
TestBed.overrideProviderafterTestBedinitialization also triggers an error, thus there is a chance that some tests (whereTestBed.overrideProvideris called afterTestBedinitialization) will start to fail and require updates to moveTestBed.overrideProvidercalls beforeTestBedinitialization is completed.In v10, IE 9, 10, and IE mobile support was deprecated.
In v11, Angular framework removes IE 9, 10, and IE mobile support completely.
Supporting outdated browsers like these increases bundle size, code complexity, and test load, and also requires time and effort that could be spent on improvements to the framework.
For example, fixing issues can be more difficult, as a straightforward fix for modern browsers could break old ones that have quirks due to not receiving updates from vendors.
ViewEncapsulation.Nativehas been removed. UseViewEncapsulation.ShadowDominstead.Existing usages will be updated automatically by
ng update.Previously if
FormControl,FormGroupandFormArrayclass instances had async validators defined at initialization time, the status change event was not emitted once async validators completed.After this change the status event is emitted into the
statusChangesobservable.If your code relies on the old behavior, you can filter/ignore this additional status change event.
Directives in the
@angular/formspackage used to haveany[]as a type ofvalidatorsandasyncValidatorsarguments in constructors.Now these arguments are properly typed, so if your code relies on directive constructor types it may require some updates to improve type safety.
Type of
AbstractFormControl.parentnow includesnull.nullis now included in the types of.parent.If you don't already have a check for this case, the TypeScript compiler might complain.
A v11 migration exists which adds the non-null assertion operator where necessary.
In an unlikely case your code was testing the parent against
undefinedwith strict equality, you'll need to change this to=== nullinstead, since the parent is now explicitly initialized withnullinstead of being leftundefined.If you use
useAbsoluteUrlto setupplatform-server, you now need to also specifybaseUrl.We are intentionally making this a breaking change in a minor release, because if
useAbsoluteUrlis set totruethen the behavior of the application could be unpredictable, resulting in issues that are hard to discover but could be affecting production environments.@angular/platform-webworker and @angular/platform-webworker-dynamic have been removed as they were deprecated in v8.
This change corrects the argument order when calling
RouteReuseStrategy#shouldReuseRoute.Previously, when evaluating child routes, they would be called with the future and current arguments would be swapped.
If your
RouteReuseStrategyrelies specifically on only the future or current snapshot state, you may need to update theshouldReuseRouteimplementation's use of "future" and "current"ActivatedRouteSnapshots.While the new parameter types allow a variable of type
NavigationExtrasto be passed in, they will not allow object literals, as they may only specify known properties.They will also not accept types that do not have properties in common with the ones in the
Pick.To fix this error, only specify properties from the
NavigationExtraswhich are actually used in the respective function calls or use a type assertion on the object or variable:as NavigationExtras.This commit changes the default value of
relativeLinkResolutionfrom'legacy'to'default'.If your application previously used the default by not specifying a value in the
ExtraOptionsand uses relative links when navigating from children of empty path routes, you will need to update yourRouterModuleto specifically specify'legacy'forrelativeLinkResolution.See https://angular.io/api/router/ExtraOptions#relativeLinkResolution for more details.
The
initialNavigationproperty for the options inRouterModule.forRootno longer supportslegacy_disabled,legacy_enabled,true, orfalseas valid values.legacy_enabled(the old default) is insteadenabledNonBlocking.enabledis deprecated as a valid value for theRouterModule.forRootinitialNavigationoption.enabledBlockinghas been introduced to replace it.preserveQueryParamshas been removed, usequeryParamsHandling: "preserve"instead.If you were accessing the
RouterLinkvalues ofqueryParams,fragmentorqueryParamsHandlingyou might need to relax the typing to also acceptundefinedandnull.Code Refactoring
navigateByUrlandcreateUrlTreeto be more accurate (#38227) (e4f4d18), closes #18798v10.2.5Compare Source
v10.2.4Compare Source
v10.2.3Compare Source
v10.2.2Compare Source
v10.2.1Compare Source
v10.2.0Compare Source
v10.1.6Compare Source
v10.1.5Compare Source
v10.1.4Compare Source
v10.1.3Compare Source
v10.1.2Compare Source
v10.1.1Compare Source
v10.1.0Compare Source
v10.0.14Compare Source
v10.0.13Compare Source
v10.0.12Compare Source
v10.0.11Compare Source
v10.0.10Compare Source
v10.0.9Compare Source
v10.0.8Compare Source
v10.0.7Compare Source
v10.0.6Compare Source
v10.0.5Compare Source
v10.0.4Compare Source
v10.0.3Compare Source
v10.0.2Compare Source
v10.0.1Compare Source
v10.0.0Compare Source
v9.1.13Compare Source
v9.1.12Compare Source
v9.1.11Compare Source
v9.1.10Compare Source
v9.1.9Compare Source
v9.1.8Compare Source
v9.1.7Compare Source
v9.1.6Compare Source
v9.1.5Compare Source
v9.1.4Compare Source
v9.1.3Compare Source
v9.1.2Compare Source
v9.1.1Compare Source
v9.1.0Compare Source
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.