Introducing browserslist.dev

Illustration: Introducing browserslist.dev

A while ago, we decided to update our browser support page that shows the list of browsers supported by PSPDFKit for Web. We wanted to add more data points to it because, although it listed the browsers we supported, it didn’t mention the exact versions of those browsers. We also took this opportunity to revisit the list of supported browsers.

Deciding on the Browsers

When deciding the browsers we wanted to support, we had to consider the following:

  • global usage data — we used Can I use data to determine the global usage of browsers.
  • browsers used by our customers — we had to make sure we keep supporting the browsers used by our customers.
  • the web view used by UWP — our UWP platform uses PSPDFKit for Web, which means we have to support the last non-Chromium version of Edge.

We don’t have to worry about WebAssembly support since we fall back to asm.js if a browser doesn’t support WebAssembly.

If your browser isn’t a part of the list, it doesn’t mean our SDK won’t work on that browser; it just means we’re focusing our development efforts and testing on the browsers listed. Additionally, we’re very careful when adopting the latest features so as to avoid breaking changes as much as possible.

Browserslist

Internally, we use Browserslist — which is used by various tools like Babel, Autoprefixer, and eslint-plugin-compat — to determine the browsers supported by our SDK. We wanted to use the same Browserslist configuration to generate the list of supported browsers on our website.

We realized this was a general use case faced by the community, since the frontend part of most web products use Browserslist to determine the browsers they want to support in their codebase. So we decided to come up with a solution that can help everyone.

The Solution

We made browserslist.dev to address the use case mentioned above. It takes the Browserslist configuration as a query parameter and shows a list of browsers that satisfy that configuration. Our plan is to keep browserslist.dev up to date so that you don’t have to worry about the latest browser usage ratio or browsers that satisfy your configuration. You can keep the static configuration on your website and let browserslist.dev show the dynamic list.

Browsers Supported by Older Versions

Each one of our SDK releases is tested against the current browser versions at the point of release. This means we needed to be able to “freeze” the list of browsers supported by a specific version, so that, for example, opening the Browserslist website for version 2020.2.5 of PSPDFKit for Web doesn’t show browser versions released after 2020.2.5’s release date.

We addressed this use case by adding additional parameters in the URL and fetching data from a JSON file present in the browserslist.dev repository. You can read more about how that’s done on GitHub.

Even when we show the old predefined list of supported browsers, the browser usage data will always be the most recent so that users can compare the browser usage between different versions.

Conclusion

We’d like to thank the contributors of Browserslist and Can I use for creating such amazing tools. We hope browserslist.dev proves as useful for you as it has been for us.

PSPDFKit for Web

PDF viewing, annotating, and collaboration for web apps.

Try Now