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 VersionSupported SPFx versionNotes
SharePoint OnlineAll versions
SharePoint Server 2019v1.4.1 or lower
SharePoint Server 2016v1.1Requires 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.

SPFxNode.jsNPMTypeScriptReact
1.11.0LTS 10.xv5, v6v3.3v16.8.5
1.10.0LTS 10.x, LTS 8.xv5, v6v3.3v16.8.5
1.9.1LTS 10.x, LTS 8.xv5, v6v2.9v16.8.5
1.8.2LTS 8.x, LTS 10.xv5, v6v2.9v16.7.0
1.8.1LTS 8.xv5, v6v2.7, v2.9, v3.xv16.7.0
1.8.0LTS 8.xv5, v6v2.7, v2.9, v3.xv16.7.0
1.7.1LTS 8.xv5, v6v2.4v16.3.2
1.7.0LTS 8.xv5, v6v2.4v16.3.2
1.6.0LTS 6.x, LTS 8.xv3 (w/ Node.js 6.x),
v5 (w/ Node.js 8.x)
v2.4v15.x
1.5.1LTS 6.x, LTS 8.xv3 (w/ Node.js 6.x),
v5 (w/ Node.js 8.x)
v2.4v15.x
1.5.0LTS 6.x, LTS 8.xv3 (w/ Node.js 6.x),
v5 (w/ Node.js 8.x)
v2.4v15.x
1.4.1LTS 6.x, LTS 8.xv3, v4v2.4v15.x
1.4.0LTS 6.xv3, v4v2.4v15.x
1.3.0LTS 6.xv3, v4v2.4v15.x
1.1.0LTS 6.xv3, v4v2.4v15.x
1.0.0LTS 6.xv3v2.4v15.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 SP Dev Docs repo and hope the community will help me keep my compatibility matrix accurate?

Thanks

Updates

  • October 5, 2020: Added links to download LTS versions of Node.js directly.
  • September 11, 2020: Thanks to Don Kirkham 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 David Warner II for pointing out that Andrew Connell 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.
Author

Microsoft MVP and PnP Team Member. Independent consultant. Certified SCRUM Master. SharePoint, Office 365 and Dynamics 365 are his favourite toys.

16 Comments

  1. Pingback: Using NVM and Ubuntu on Windows to Manage Node Version Collisions | SharePoint Lessons

  2. Pingback: Setup WSL2 for SPFx development - M365 Dev Blog

  3. 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.

  4. Pingback: SharePoint Framework Community Call Recording - 13th of February 2020 - Microsoft 365 Developer Blog

  5. Pingback: SharePoint Framework Community Call Recording - 30th of January 2020 - Microsoft 365 Developer Blog

  6. Pingback: SharePoint Framework Community Call Recording - 16th of January 2020 - Microsoft 365 Developer Blog

  7. Ronald Borman Reply

    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.

    • Hugo Bernier Reply

      Thanks for doing this! I’ll definitely update the list with your feedback. I really appreciate it

      • Ronald Borman

        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 https://github.com/microsoft/TypeScript/issues/30032 for some history.

  8. Pingback: SharePoint Dev Weekly - Episode 65 - Microsoft 365 Developer Blog

  9. Pingback: SharePoint Framework Community Call Recording - 2nd of January 2020 - Microsoft 365 Developer Blog

  10. 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?

    • Hugo Bernier Reply

      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

  11. Pingback: SharePoint PnP Dev SPFx JS SIG Call – January 2nd, 2020 – Screenshot Summary - Warner Digital

How can I help?

This site uses Akismet to reduce spam. Learn how your comment data is processed.