hypothesis / hypothesis/client
Clarify PDF.js version support policy
- Dominant language
- Mustache
- Stars
- 730
- Forks
- 224
- PR merge metrics
- No merged PRs in 30d
Description
The client internally has code paths to support different versions of PDF.js. We don't have a documented policy about which versions are supported nor do we know which versions of PDF.js are actually still in use with Hypothesis.
Versions of PDF.js we need to support:
1. The versions that ship with the browser extension and Via. We can update these ourselves.
2. The version of PDF.js that ships with the current version of Firefox. Mozilla updates this often - I'm not sure quite how often.
3. Versions of PDF.js that are used by publishers embedding PDFs with Hypothesis on their websites. These will often be copies of https://github.com/hypothesis/pdf.js-hypothes.is.
(1) is fairly easy to handle as we can control when the extension/Via ship a new version of PDF.js and make sure it is supported. (2) has occasionally caught us out due to breaking API changes in a new PDF.js release appearing in Firefox's internal viewer first. (3) might be the reason that we have to keep support for older PDF.js versions around longer than we'd like. It was unfortunately based on PDF.js [v1.1.114](https://github.com/mozilla/pdf.js/releases/tag/v1.1.114) from June 2015 until [November 2019](https://github.com/hypothesis/pdf.js-hypothes.is/commit/2528757dbca30ce2e9a9b11f382eb72a4e93b85d). That version is probably embedded on various websites which are not often updated, though we don't yet have metrics on this.
On the basis of the above, I propose that the oldest version of PDF.js that we support is v1.1.114. As long as it isn't especially painful to do so, and as long as there are still users of it, we should keep supporting that version for a while.
This task is done when it has been discussed internally and we have documented somewhere obvious in the code (and possibly user-facing documentation) what the supported versions of PDF.js are and how to test them.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.