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
Release 8.0.0: upgrade to Puppeteer 21, require Node 16+ #204
Conversation
@Krinkle, hey, how are you? Are the tests failing since now we are requesting a node version ≥16? Maybe we should update these tests. I opened an issue cause I'm facing a problem when installing Puppeteer and I think that you have the solution here! :D |
package.json
Outdated
@@ -18,12 +18,12 @@ | |||
"dependencies": { | |||
"eventemitter2": "^6.4.9", | |||
"p-each-series": "^2.2.0", | |||
"puppeteer": "^19.7.0" | |||
"puppeteer": "^20.9.0" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We already have the version 21.1.1 for Puppeteer
package.json
Outdated
}, | ||
"devDependencies": { | ||
"difflet": "^1.0.1", | ||
"grunt": "^1.6.1", | ||
"grunt-contrib-connect": "^3.0.0", | ||
"grunt-contrib-connect": "^4.0.0", | ||
"grunt-contrib-internal": "^8.0.2", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is the version 9.0.0 to grunt-contrib-internal as well
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ack, I created this release at gruntjs/grunt-contrib-internal#57 after drafting this PR. The PR was blocked on 9.0.0 being released first, because grunt-contrib-internal is what manages our CI configuration. This PR raises the Node requirement to Node 16, which thus needs a change to the CI config to drop the Node 14 jobs.
From grunt-contrib-connect 4.0.0: > gruntjs/grunt-contrib-connect#282 > * Fix deprecation warning about `opn@6`. From puppeteer 20: > https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-v20.0.0 > * switch from Chromium to "Chrome for Testing". From puppeteer 20.9.0: > https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v20.9.0 > * roll to Chrome 115 From puppeteer 21.1.0: > https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v21.1.0 > * roll to Chrome 116 General "Chrome for Testing" announcement at [1]. Based on reading the linked design document [2] [3], I believe "Chrome for Testing" continues to be a build of open-source Chromium. It is not compiled from or with proprietary Google Chrome components. Rather, it is a Chromium build that is 1) compiled feature flags and defaults settings as similar to Google Chrome as possible, and 2) built and published from the same Chromium revisions and at the same cadence as Chrome releases. This means, that anytime a Google Chrome release happens for Stable or Beta channel, there is also a Chrome for Testing release. Having said that, the design document does acknowledge that a previous proposal (nicknamed "Chrome-", meaning start with Chrome and subtract unwanted features) did exist. This was rejected in favour of "Chromium+" which works as above with the Chrome-like app icon injected from their build system from outside the Chromium source tree. [1] https://developer.chrome.com/blog/chrome-for-testing/ [2] https://docs.google.com/document/d/1XJvxyqAQjhPfJ0rX84PjfXXb5sBx3m8DXzMxR0ipQNs/edit [3] http://web.archive.org/web/20230503104427/https://docs.google.com/document/d/1XJvxyqAQjhPfJ0rX84PjfXXb5sBx3m8DXzMxR0ipQNs/edit From puppeteer 19.11: > https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v19.11.0 > * add warning for `headless: true` There is no more pretending that Chrome Headless wasn't actually "Chrome but headless" (like Firefox Headless), but a separate browser implementation [4]. "Fake it until you make it". Starting in Chrome 112, there is a "new" headless mode, which is now claimed to actually be "Chrome, but headless". I propose that in grunt-contrib-qunit 8.0, with the switch to "Chromium for Testing", we also switch to this mode at the same time. If we don't, Puppeteer prints the following warning on every CI build: > Puppeteer old Headless deprecation warning: > In the near feature `headless: true` will default to the new Headless mode > Consider opting in early by passing `headless: "new"` to `puppeteer.launch()` [4] https://developer.chrome.com/articles/new-headless/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks great to me, thanks! Do you have any idea when we gonna have a new npm version available for this package?
It's up on npm now :) |
From grunt-contrib-connect 4.0.0:
From puppeteer 20:
From puppeteer 20.9.0:
From puppeteer 21.1.0:
General "Chrome for Testing" announcement at [1].
Based on reading the linked design document [2] [3], I believe
"Chrome for Testing" continues to be a build of open-source Chromium.
It is not compiled from or with proprietary Google Chrome components.
Rather, it is a Chromium build that is 1) compiled feature flags and
defaults settings as similar to Google Chrome as possible, and 2)
built and published from the same Chromium revisions and at the same
cadence as Chrome releases. This means, that anytime a Google Chrome
release happens for Stable or Beta channel, there is also a
Chrome for Testing release.
Having said that, the design document does acknowledge that a previous
proposal (nicknamed "Chrome-", meaning start with Chrome and subtract
unwanted features) did exist. This was rejected in favour of "Chromium+"
which works as above with the Chrome-like app icon injected from their
build system from outside the Chromium source tree.
[1] https://developer.chrome.com/blog/chrome-for-testing/
[2] https://docs.google.com/document/d/1XJvxyqAQjhPfJ0rX84PjfXXb5sBx3m8DXzMxR0ipQNs/edit
[3] http://web.archive.org/web/20230503104427/https://docs.google.com/document/d/1XJvxyqAQjhPfJ0rX84PjfXXb5sBx3m8DXzMxR0ipQNs/edit
From puppeteer 19.11:
There is no more pretending that Chrome Headless wasn't actually
"Chrome but headless" (like Firefox Headless), but a separate browser
implementation [4]. "Fake it until you make it". Starting in Chrome 112,
there is a "new" headless mode, which is now claimed to actually be
"Chrome, but headless". I propose that in grunt-contrib-qunit 8.0,
with the switch to "Chromium for Testing", we also switch to this
mode at the same time.
If we don't, Puppeteer prints the following warning on every CI build:
[4] https://developer.chrome.com/articles/new-headless/