NOTE: This matrix can now be found in the SharePoint Framework Developer documentation where I hope that the community will continue to help me maintain it.
Introduction
A while ago, I was looking for an official list of which version of SPFx is compatible with each SharePoint version, but I couldn’t find what I wanted.
I kinda forgot about it until today, when someone reached out to me and asked me if I had a SPFX/SharePoint compatibility matrix handy.
As I turns out, I had created such a matrix when I wrote my SPFX timeline.
So, as I am the world’s laziest developer, I figured it would be very little effort to put such a matrix together by leveraging work I had already done.
The list in this post is not an official list; it is based on my interpretation of the SPFx release notes. If you find an error in it, please let me know and I’ll fix it.
SPFx Version Compatibility
SharePoint Version | Supported SPFx version | Notes |
---|---|---|
SharePoint Online | All versions | |
SharePoint Server 2019 | v1.4.1 or lower | |
SharePoint Server 2016 | v1.1 | Requires Feature Pack 2 |
SPFx Development Environment Compatibility
PRO TIP: If you need to download a previous of Node.js, use the previous releases page from their download section. You can also use links in the table below to download the LTS versions of Node.js directly.
SPFx | Node.js | NPM | TypeScript | React |
---|---|---|---|---|
1.11.0 | LTS 10.x | v5, v6 | v3.3 | v16.8.5 |
1.10.0 | LTS 10.x, LTS 8.x | v5, v6 | v3.3 | v16.8.5 |
1.9.1 | LTS 10.x, LTS 8.x | v5, v6 | v2.9 | v16.8.5 |
1.8.2 | LTS 8.x, LTS 10.x | v5, v6 | v2.9 | v16.7.0 |
1.8.1 | LTS 8.x | v5, v6 | v2.7, v2.9, v3.x | v16.7.0 |
1.8.0 | LTS 8.x | v5, v6 | v2.7, v2.9, v3.x | v16.7.0 |
1.7.1 | LTS 8.x | v5, v6 | v2.4 | v16.3.2 |
1.7.0 | LTS 8.x | v5, v6 | v2.4 | v16.3.2 |
1.6.0 | LTS 6.x, LTS 8.x | v3 (w/ Node.js 6.x), v5 (w/ Node.js 8.x) |
v2.4 | v15.x |
1.5.1 | LTS 6.x, LTS 8.x | v3 (w/ Node.js 6.x), v5 (w/ Node.js 8.x) |
v2.4 | v15.x |
1.5.0 | LTS 6.x, LTS 8.x | v3 (w/ Node.js 6.x), v5 (w/ Node.js 8.x) |
v2.4 | v15.x |
1.4.1 | LTS 6.x, LTS 8.x | v3, v4 | v2.4 | v15.x |
1.4.0 | LTS 6.x | v3, v4 | v2.4 | v15.x |
1.3.0 | LTS 6.x | v3, v4 | v2.4 | v15.x |
1.1.0 | LTS 6.x | v3, v4 | v2.4 | v15.x |
1.0.0 | LTS 6.x | v3 | v2.4 | v15.x |
Conclusion
If I made any mistakes in the list above, please do not hesitate to write in the comments. I’ll gladly update my matrix.
I still think that there should be an official compatibility list something in the SharePoint Documentation.
Maybe I should just submit a PR to the and hope the community will help me keep my compatibility matrix accurate?
Thanks
- Thanks to for the inspiration for this post and for helping fix my mistakes
- While doing my research for this post, I found has also written a handy article.
Updates
- October 5, 2020: Added links to download LTS versions of Node.js directly.
- September 11, 2020: Thanks to for suggesting that we add the link to Node.js previous versions page.
- March 20, 2020: Moved this article to the SharePoint Framework Developer documentation where I hope that the community will continue to help me maintain it.
- January 12, 2020: I love it when people take the time to write in comments to help me keep content up-to-date! Thank you Ronald Borman for the many corrections to my matrix. Keep ’em coming!
- January 2, 2020: Thanks to for pointing out that has an awesome article on how to use NVM as a better Node package manager. It is a great solution if you need to run multiple versions of Node.js on the same environment.
16 Comments
Pingback: Using NVM and Ubuntu on Windows to Manage Node Version Collisions | SharePoint Lessons
This is awesome hugo! can we add a column for supported or recommended fabric versions?
That’s a great idea!
Pingback: Setup WSL2 for SPFx development - M365 Dev Blog
Hi Hugo, which version 10.x.x LTS version are you currently using ? I tried a few “nvm use 10.x.x” versions, and ended up in going with 10.15.3 as it definitely plays nicely with yeoman. Vesa, recently mentioned on one of the calls that there would soon be support for Node LTS 12.x.x but not seen this reflected in the docs as yet.
Pingback: SharePoint Framework Community Call Recording - 13th of February 2020 - Microsoft 365 Developer Blog
Pingback: SharePoint Framework Community Call Recording - 30th of January 2020 - Microsoft 365 Developer Blog
Pingback: SharePoint Framework Community Call Recording - 16th of January 2020 - Microsoft 365 Developer Blog
Hi Hugo, last year I did an experiment with updating the React version in a 1.8.2 project to take advantage of Hooks (which were introduced in React 16.8.0). So the React version used in SPFx 1.8.2 was definitely lower than 16.8.
It looks like the release notes don’t tell the hole story regarding the React versions, so I installed every SPFx generator version mentioned above, except 1.8.0 which was retracted, and generated a project with the –skip-install parameter to only generate the source and settings files. Based on package.json these are the React versions used:
1.10.0 => 16.8.5;
1.9.1 => 16.8.5;
1.8.2 => 16.7.0;
1.8.1 => 16.7.0;
1.8.0 => 16.7.0;
1.7.1 => 16.3.2;
1.7.0 => 16.3.2;
1.6.0 => 15.6.2;
1.5.1 => 15.6.2;
1.5.0 => 15.6.2;
1.4.1 => 15.6.2;
1.4.0 => 15.6.2;
1.2.0 => 15.4.2;
1.1.0 => 15.4.2;
1.0.0 => 15.4.2.
Thanks for doing this! I’ll definitely update the list with your feedback. I really appreciate it
You’re welcome! BTW I said 1.8.0 was retracted, but of course it was 1.9.0.
Regarding the TypeScript versions, since 1.8.0. tsconfig.json does also give some info based on the relation between the rush-stack-compiler and TypeScript versions. In that case the default installed TypeScript versions since 1.7.0 are:
1.10.0 => 3.3
1.9.1 => 2.9
1.8.2 => 2.9
1.8.1 => 2.7
1.8.0 => 2.7
You can however upgrade the rush-stack-compiler and the TypeScript version will be upgraded also as a dependency.
Fun fact: TypeScript 3.3 is actually installed as version 3.3.4000. The TypeScript team did a prank where they released version 3.3.3333 but this backfired so they had to publish a still higher subdigit version. See for some history.
Pingback: SharePoint Dev Weekly - Episode 65 - Microsoft 365 Developer Blog
Pingback: SharePoint Framework Community Call Recording - 2nd of January 2020 - Microsoft 365 Developer Blog
hi Hugo. I’ve noticed that SPFx projects require very specific range of NodeJs and we had many issues with that. To the point that it’s easier to just upgrade your SPFx project than install the old NodeJs.That’s if you are targeting SPO. But I am curius about NPM: did anyone have an issue with having an npm that’s too new? I personnaly never encountered any issues here. Was I just lucky?
I’ve had issues where I got a message saying that my version of Node being too new, but I can’t say I had the issue with npm
Pingback: SharePoint PnP Dev SPFx JS SIG Call – January 2nd, 2020 – Screenshot Summary - Warner Digital