-
-
Save LayZeeDK/c822cc812f75bb07b7c55d07ba2719b3 to your computer and use it in GitHub Desktop.
Angular CLI version | Angular version | Node.js version | TypeScript version | RxJS version | |
---|---|---|---|---|---|
~16.0.0 | ~16.0.0 | ^16.13.0 || ^18.10.0 | >=4.9.5 <5.1.0 | ^6.5.5 || ^7.4.0 | |
~15.2.0 | ~15.2.0 | ^14.20.0 || ^16.13.0 || ^18.10.0 | >=4.8.4 <5.0.0 | ^6.5.5 || ^7.4.0 | |
~15.1.0 | ~15.1.0 | ^14.20.0 || ^16.13.0 || ^18.10.0 | >=4.8.4 <5.0.0 | ^6.5.5 || ^7.4.0 | |
~15.0.5 | ~15.0.4 | ^14.20.0 || ^16.13.0 || ^18.10.0 | ~4.8.4 | ^6.5.5 || ^7.4.0 | |
~14.3.0 | ~14.3.0 | ^14.15.0 || ^16.10.0 | >=4.6.4 <4.9.0 | ^6.5.5 || ^7.4.0 | |
~14.2.0 | ~14.2.0 | ^14.15.0 || ^16.10.0 | >=4.6.4 <4.9.0 | ^6.5.5 || ^7.4.0 | |
~14.1.3 | ~14.1.3 | ^14.15.0 || ^16.10.0 | >=4.6.4 <4.8.0 | ^6.5.5 || ^7.4.0 | |
~14.0.7 | ~14.0.7 | ^14.15.0 || ^16.10.0 | >=4.6.4 <4.8.0 | ^6.5.5 || ^7.4.0 | |
~13.3.0 | ~13.3.0 | ^12.20.2 || ^14.15.0 || ^16.10.0 | >=4.4.4 <4.7.0 | ^6.5.5 || ^7.4.0 | |
~13.2.6 | ~13.2.7 | ^12.20.2 || ^14.15.0 || ^16.10.0 | >=4.4.4 <4.6.0 | ^6.5.5 || ^7.4.0 | |
~13.1.4 | ~13.1.3 | ^12.20.2 || ^14.15.0 || ^16.10.0 | >=4.4.4 <4.6.0 | ^6.5.5 || ^7.4.0 | |
~13.0.4 | ~13.0.3 | ^12.20.2 || ^14.15.0 || ^16.10.0 | ~4.4.4 | ^6.5.5 || ^7.4.0 | |
~12.2.18 | ~12.2.17 | ^12.14.1 || ^14.15.0 | >=4.2.4 <4.4.0 | ^6.5.5 || ^7.0.1 | |
~12.1.4 | ~12.1.5 | ^12.14.1 || ^14.15.0 | >=4.2.4 <4.4.0 | ^6.5.5 | |
~12.0.5 | ~12.0.5 | ^12.14.1 || ^14.15.0 | ~4.2.4 | ^6.5.5 | |
~11.2.19 | ~11.2.14 | ^10.13.0 || ^12.11.1 | >=4.0.8 <4.2.0 | ^6.5.5 | |
~11.1.4 | ~11.1.2 | ^10.13.0 || ^12.11.1 | >=4.0.8 <4.2.0 | ^6.5.5 | |
~11.0.7 | ~11.0.9 | ^10.13.0 || ^12.11.1 | ~4.0.8 | ^6.5.5 | |
~10.2.4 | ~10.2.5 | ^10.13.0 || ^12.11.1 | >=3.9.4 <4.1.0 | ^6.5.5 | |
~10.1.7 | ~10.1.6 | ^10.13.0 || ^12.11.1 | >=3.9.4 <4.1.0 | ^6.5.5 | |
~10.0.8 | ~10.0.14 | ^10.13.0 || ^12.11.1 | ~3.9.4 | ^6.5.5 | |
~9.1.15 | ~9.1.13 | ^10.13.0 || ^12.11.1 | >=3.6.5 <3.9.0 | ^6.5.5 | |
~9.0.7 | ~9.0.7 | ^10.13.0 || ^12.11.1 | >=3.6.5 <3.8.0 | ^6.5.5 | |
~8.3.29 | ~8.2.14 | ^10.9.0 | ~3.5.3 | ^6.4.0 | |
~8.2.2 | ~8.2.14 | ^10.9.0 | ~3.4.5 | ^6.4.0 | |
~8.1.3 | ~8.1.3 | ^10.9.0 | ~3.4.5 | ^6.4.0 | |
~8.0.6 | ~8.0.3 | ^10.9.0 | ~3.4.5 | ^6.4.0 | |
~7.3.9 | ~7.2.15 | ^8.9.4 || ^10.9.0 | ~3.2.4 | ^6.3.3 | |
~7.2.4 | ~7.2.15 | ^8.9.4 || ^10.9.0 | ~3.2.4 | ^6.3.3 | |
~7.1.4 | ~7.1.4 | ^8.9.4 || ^10.9.0 | ~3.1.6 | ^6.3.3 | |
~7.0.7 | ~7.0.4 | ^8.9.4 || ^10.9.0 | ~3.1.6 | ^6.3.3 | |
~6.2.9 | ~6.1.10 | ^8.9.4 | ~2.9.2 | ^6.2.2 | |
~6.1.5 | ~6.1.10 | ^8.9.4 | ~2.7.2 | ^6.2.2 | |
~6.0.8 | ~6.0.9 | ^8.9.4 | ~2.7.2 | ^6.0.0 | |
~1.7.4 | ~5.2.11 | ^6.9.5 || ^8.9.4 | ~2.5.3 | ^5.5.12 | |
~1.6.7 | ~5.2.11 | ^6.9.5 || ^8.9.4 | ~2.5.3 | ^5.5.12 | |
~1.5.6 | >=5.0.5 <=5.1.3 | ^6.9.5 || ^8.9.4 | >=2.4.2 <2.6.0 | ^5.5.12 | |
~1.4.10 | >=4.2.6 <=4.4.7 | ^6.9.5 || ^8.9.4 | ~2.4.2 | ^5.0.3 | |
~1.3.2 | >=4.2.6 <=4.4.7 | ^6.9.5 | ~2.4.2 | ^5.0.3 | |
~1.2.7 | >=4.0.3 <=4.1.3 | ^6.9.5 | ~2.3.4 | ^5.0.3 | |
~1.1.3 | >=4.0.3 <=4.1.3 | ^6.9.5 | ~2.3.4 | ^5.0.3 | |
~1.0.6 | >=4.0.3 <=4.1.3 | ^6.9.5 | ~2.2.2 | ^5.0.3 | |
1.0.0-rc.4 | ~2.4.10 | ^6.9.5 | ~2.0.10 | ^5.0.3 | |
1.0.0-beta.30 | ~2.3.1 | ^6.9.5 | ~2.0.10 | ^5.0.3 | |
1.0.0-beta.22-1 (package name: angular-cli) | ~2.2.4 | ^6.9.5 | ~2.0.10 | ^5.0.3 | |
1.0.0-beta.20-1 (package name: angular-cli) | ~2.1.2 | ^6.9.5 | ~2.0.10 | ^5.0.3 | |
1.0.0-beta.17 (package name: angular-cli) | ~2.0.2 | ^6.9.5 | ~2.0.10 | ^5.0.3 |
Angular 14.0 uses TS v4.7.2, rxjs 6.6.7
Besides, I haven't found that angular12+ can use rxjs7+
That aligns with what's described in the compatibility matrix, @bigcreate 🙂
Node for Angular 14 in https://unpkg.com/browse/@angular/core@14.1.0/package.json
:
"engines": { "node": "^14.15.0 || >=16.10.0" }
@bigcreate
Angular 14.0 supports TypeScript 4.6 and 4.7.
Which issues have you had with RxJS 7 + Angular >=12.2?
Thanks @jameskentTX, Node.js 14.15.5 doesn't exist, it must have been a typo from my side.
What about Angular and Angular CLI 14.2.1, is it the same as 14.2.0?
@andreclerigo You can follow the changes from Angular here: https://github.com/angular/angular-cli/releases
Only CLI looks updated. Not Core.
CLI had no changes to Node.js, TypeScript or RxJS version.
Yes, @andreclerigo. Use @angular/cli@14.2.1
with @angular/core@14.2.0
.
The tilde character (~
) matches all patch versions.
The 4 public repositories maintained by the Angular team are grouped into the following release groups:
- angular/angular
- zone.js in the angular/angular repo
- angular/angular-cli + ng-packagr/ng-packagr
- angular/components
Thanks for that work
would love to see a Nx column
With angular 15.1.0 we can use newest typescript:
"peerDependencies": {
"@angular/compiler": "15.1.0",
"typescript": ">=4.8.2 <5.0"
},
Thank you, @jameskentTX. I have included this change.
Please help upvote the pull request to include this table on angular.io angular/angular#48753.
Hello LayZeeDK
I'm new to updating an existing Angular project (v11 currently & want to move to v14 or 15). Do you have steps that you recommend to perform this type of upgrade? We use Kendo Angular that has caused more peer dependency issues. Does anyone have experience or is there a compatibility matrix somewhere? Thank you for your excellent matrix!
@MommaRoo37
I wrote a book that contains an Angular migration and maintenance guide: Accelerating Angular Development with Ivy.
To look up peer dependencies for Kendo Angular, use something like unpkg or use the Code (Beta) tab on npm then open package.json
.
Hi, I need your help.
We have an angular v14 application with node.js v14 but now in order to publish to azure, I have to upgrade to node.js v18, are both compatibles or need to upgrade angular to a newer version? I'm getting erros in my compilation process.
@andresmru You don't need to upgrade to Node.js 18. Only the default Node.js version is set to that version. You can set your desired Node.js version in your pipeline:
- task: NodeTool@0
inputs:
versionSpec: '16.x'
displayName: 'Install Node.js'
@LayZeeDK Let's hope your PR gets merged soon. 🙏
Until then, I'm seeing a difference between the PR and here with RxJS minimal version ^6.5.5
, which should be ^6.5.3
.
Confirmed via https://unpkg.com/browse/@angular/core@15/package.json
Would you mind adding version 14.3.0 to the list, which appears to be the same as 14.2.0 (needs confirmation).
Would you mind adding version 14.3.0 to the list, which appears to be the same as 14.2.0 (needs confirmation).
Thanks, @jerone! 🙌 I added Angular 14.3 in this Gist and to the Angular pull request.
Until then, I'm seeing a difference between the PR and here with RxJS minimal version ^6.5.5, which should be ^6.5.3.
Yes, for this Gist my decision was to always list the latest patch version to encourage the community to patch their dependencies. In the Angular pull request, I matched the dependency version ranges listed in the package.json
files of the @angular/*
packages. I don't think it's worth changing this Gist at this point.
Good news. We can now refer to https://angular.io/guide/versions instead of this Gist.
hi, seems angular cli v15.2.6 needs node 16.14, got the following today
lru-cache@9.1.0: The engine "node" is incompatible with this module. Expected version "14 || >=16.14". Got "16.13.2"
that lead me through dependency graph to "@angular/cli@^15.2.6"
Angular CLI: 15.2.6
Node: 16.13.2
Package Manager: yarn 1.22.15
OS: win32 x64
Angular: 15.2.7
... animations, cdk, common, compiler, compiler-cli, core, forms
... language-service, material, material-moment-adapter
... platform-browser, platform-browser-dynamic, router
Package Version
---------------------------------------------------------
@angular-devkit/architect 0.1502.6
@angular-devkit/build-angular 15.2.6
@angular-devkit/core 15.2.6
@angular-devkit/schematics 15.2.6
@angular/cli 15.2.6
@schematics/angular 15.2.6
rxjs 6.5.5
typescript 4.9.5
@w11z
As seen in its package.json file, Angular CLI 15.2.x declares its Node.js version range as ^14.20.0 || ^16.13.0 || >=18.10.0
. lru-cache
9.1.x requires Node.js 14 || >=16.14
(package.json). Which dependency needs lru-cache
though?
@LayZeeDK I ckecked yarn.lock, the dependency path from lru-cache to angular cli is the following
lru-cache@^9.0.0:
version "9.1.0"
path-scurry@^1.6.1:
version "1.7.0"
glob@^9.3.0, glob@^9.3.1:
version "9.3.5"
read-package-json@^6.0.0:
version "6.0.1"
pacote@15.1.0:
version "15.1.0"
"@angular/cli@^15.2.6":
version "15.2.6"
Interesting. Of course, the fix is easy: yarn install --ignore-engines
or update Node.js.
Interesting. Of course, the fix is easy:
yarn install --ignore engines
or update Node.js.
@LayZeeDK thanks for the workaround. Anyway my initial comment was more about updating the table so it won't confuse people who would come after me :)
@w11z You might want to report this to Angular, so they can update their own minimum versions.
Please update the 16.0.0 row and add these additional rows:
~17.0.0,~17.0.0,^18.13.0 || ^20.9.0, >=4.9.3 <5.3.0,^6.5.3 || ^7.4.0
~16.2.0,~16.2.0,^16.14.0 || ^18.10.0, >=4.9.3 <5.2.0,^6.5.3 || ^7.4.0
~16.1.0,~16.1.0,^16.14.0 || ^18.10.0, >=4.9.3 <5.2.0,^6.5.3 || ^7.4.0
~16.0.0,~16.0.0,^16.14.0 || ^18.10.0, >=4.9.3 <5.1.0,^6.5.3 || ^7.4.0
See https://angular.io/guide/versions#actively-supported-versions
Thank you for maintaining this!
Hi @dangrussell,
This Gist is no longer maintained as it has been integrated into the official Angular documentation as per your link:
@JuanDMoreno04
Your issue is that Angular 9.1 only supports Node.js 10 and 12. You must downgrade to Node.js 12 and a package manager version compatible with whatever is used in that project. Then install node_modules from scratch in the project directory and hopefully you are good to go. Your global version of Angular CLI doesn't impact local versions except if you have an ancient global version. Your global version of TypeScript doesn't impact local versions.