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

SPFxNode.jsNPMTypeScriptReact
1.10.0LTS v10.xv5v3.3v16.8.5
1.9.1LTS v10.xv5v2.9v16.8.5
1.9.0LTS 8.x, LTS 10.xv5v2.9v16.8.5
1.8.2LTS 8.x, LTS 10.xv5v2.9v16.7.0
1.8.1LTS 8.xv5v2.7, v2.9, v3.xv16.7.0
1.8.0LTS 8.xv5v2.7, v2.9, v3.xv16.7.0
1.7.1LTS 8.xv5v2.4v16.3.2
1.7.0LTS 8.xv5v2.4v16.3.2
1.6.0LTS 6.x, LTS 8.xv5v2.4v15.x
1.5.1LTS 6.x, LTS 8.xv5v2.4v15.x
1.5.0LTS 6.x, LTS 8.xv3.xv2.4v15.x
1.4.1LTS 6.x, LTS 8.xv3.x, v4.xv2.4v15.x
1.4.0LTS 6.xv3.x, v4.xv2.4v15.x
1.2.0LTS 6.xv3.x, v4.xv2.4v15.x
1.1.0LTS 6.xv3.x, v4.xv2.4v15.x
1.0.0LTS 6.xv3.xv2.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

  • 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

Independent consultant. Certified SCRUM Master. SharePoint, Office 365 and Dynamics 365 are his favourite toys.

13 Comments

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

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

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

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

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

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

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

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

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

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

%d bloggers like this: