Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[api-minor] Update minimum supported browser versions (PR 13361 follow-up) #13379

Merged
merged 1 commit into from May 15, 2021

Conversation

Snuffleupagus
Copy link
Collaborator

With the changes in PR #13361, we're now using the CanvasPattern.setTransform() method when rendering certain Shadings/Patterns.
Note that while CanvasPattern itself has been supported since basically "forever", its setTransform method is a slightly newer addition to the specification; please refer to https://developer.mozilla.org/en-US/docs/Web/API/CanvasPattern#browser_compatibility

Rather than trying to re-write PR #13361 to not use, or possibly spending time/effort (if possible) polyfilling, CanvasPattern.setTransform() this patch thus suggests that we simply update the minimum supported browser versions instead.

According to the compatibility data linked above, the minimum supported browser versions in the PDF.js library are now as follows:

(Given that the PDF.js contributors cannot realistically test a bunch of old browsers, it's not unimaginable that some older browser versions are already not working with the PDF.js library.)

Based on these changes, which we should ensure are reflected in the Wiki as well, we can also remove a number of now redundant polyfills. Furthermore we'll no longer "claim" to support Windows XP, note the gulpfile.js changes, which should definitely not be an issue given that it's no longer officially supported.[3]


[1] According to https://en.wikipedia.org/wiki/Google_Chrome_version_history

[2] According to https://en.wikipedia.org/wiki/Safari_version_history#Safari_11

[3] According to https://en.wikipedia.org/wiki/Windows_XP#End_of_support

…w-up)

With the changes in PR 13361, we're now using the `CanvasPattern.setTransform()` method when rendering certain Shadings/Patterns.
Note that while `CanvasPattern` itself has been supported since basically "forever", its `setTransform` method is a slightly newer addition to the specification; please refer to https://developer.mozilla.org/en-US/docs/Web/API/CanvasPattern#browser_compatibility

Rather than trying to re-write PR 13361 to not use, or possibly spending time/effort (if possible) polyfilling, `CanvasPattern.setTransform()` this patch thus suggests that we simply update the *minimum* supported browser versions instead.

According to the compatibility data linked above, the *minimum* supported browser versions in the PDF.js library are now as follows:
 - Chrome >= 68, which was released on 2018-07-24.[1]
 - Firefox ESR, see https://wiki.mozilla.org/Release_Management/Calendar.
 - Safari >= 11.1, which was release on 2018-03-29.[2]

(Given that the PDF.js contributors cannot realistically test a bunch of old browsers, it's not unimaginable that some older browser versions are already not working with the PDF.js library.)

Based on these changes, which we should ensure are reflected in the Wiki as well, we can also remove a number of now redundant polyfills. Furthermore we'll no longer "claim" to support Windows XP, note the `gulpfile.js` changes, which should definitely *not* be an issue given that it's no longer officially supported.[3]

---
[1] According to https://en.wikipedia.org/wiki/Google_Chrome_version_history

[2] According to https://en.wikipedia.org/wiki/Safari_version_history#Safari_11

[3] According to https://en.wikipedia.org/wiki/Windows_XP#End_of_support
@Snuffleupagus
Copy link
Collaborator Author

/botio-linux preview

@pdfjsbot
Copy link

From: Bot.io (Linux m4)


Received

Command cmd_preview from @Snuffleupagus received. Current queue size: 0

Live output at: http://54.67.70.0:8877/937b2ac1db26459/output.txt

@pdfjsbot
Copy link

From: Bot.io (Linux m4)


Success

Full output at http://54.67.70.0:8877/937b2ac1db26459/output.txt

Total script time: 4.35 mins

Published

@Snuffleupagus
Copy link
Collaborator Author

/botio unittest

@pdfjsbot
Copy link

From: Bot.io (Linux m4)


Received

Command cmd_unittest from @Snuffleupagus received. Current queue size: 0

Live output at: http://54.67.70.0:8877/6ca7a3b91bdaeb4/output.txt

@pdfjsbot
Copy link

From: Bot.io (Windows)


Received

Command cmd_unittest from @Snuffleupagus received. Current queue size: 0

Live output at: http://3.101.106.178:8877/35f6cb9af42fd42/output.txt

@pdfjsbot
Copy link

From: Bot.io (Linux m4)


Success

Full output at http://54.67.70.0:8877/6ca7a3b91bdaeb4/output.txt

Total script time: 3.89 mins

  • Unit Tests: Passed

@pdfjsbot
Copy link

From: Bot.io (Windows)


Success

Full output at http://3.101.106.178:8877/35f6cb9af42fd42/output.txt

Total script time: 5.34 mins

  • Unit Tests: Passed

@timvandermeij timvandermeij merged commit 438cf1e into mozilla:master May 15, 2021
@timvandermeij
Copy link
Contributor

This looks very reasonable to me. Those versions are significantly old enough to not be supported anymore.

@timvandermeij
Copy link
Contributor

The browser support FAQ entry is also updated now.

@Snuffleupagus Snuffleupagus deleted the update-compat branch May 15, 2021 10:12
@Snuffleupagus
Copy link
Collaborator Author

The browser support FAQ entry is also updated now.

Thank you, that looks much better already!

If I may suggest some additional clean-up of the Wiki:

  • Since I don't believe that we know all that much about the compatibility situation of iOS, except that there may be some issues e.g. related to canvas-sizes, I wonder if we should drop the For mobile only iOS 10 and higher are supported. sentence?
  • Should we perhaps also remove the Support was dropped after stable version 2.6.347. sentence, from the IE/Edge section, since I don't believe that we want to actively steer users towards older releases?

@timvandermeij
Copy link
Contributor

Good points! I have made both changes now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants