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