- try to support disconnected event for browser
- fix page lifecycle in the pool
- fix document.hidden/visibilityState and style during prerendering.
- switch to webDriverBiDi protocol, to avoid bug with CDP and chromium: puppeteer/puppeteer#12219
- Fix pools map
- Stop recycling pages, it's impossible with current bugs in puppeteer
- Fix browsers lifecycle in case of disconnection.
- Switch to puppeteer.
- Drop media plugin, breaks webDriverBiDi and is somewhat useless.
- Support using firefox or chrome through the "browser" setting. Defaults to chrome.
- Rename "scale" to "devicePixelRatio".
- The cookies plugin only sets cookies in online phase, thus it only exposes online.cookies settings.
- pages are recycled instead of being destroyed and recreated.
Use req.host instead of req.headers.host.
This might break some things, however it shouldn't, and it's better at supporting proxies and X-Forwarded-Host.
Better short name detection for CSP policies object. One case use the long name without risks.
equivs: better support for comma-separated fields, and for arrays of headers.
equivs keeps meta node when the name is listed in the equivs option array.
Revert partially the change in ManualRequest. Supports an absolute url, or an object with headers: {host}, or an object with { url, body }.
- Plugins can now change headers of page response.
- Use that to fix languages plugin.
Fix ManualRequest handler. Now expects an object with url and headers: { host }, or an absolute url.
Drops browser-pool in favor of a simpler pooling solution.
Switch to new headless chrome.
Support "manual" modes.
- Dom.executable can be set to a custom value. Otherwise, when null, it uses available chromium or google-chrome in that order.
- Dom.executable defaults to /usr/bin/chromium
- inner requests are now made using a standard HTTP request header, and no longer uses ?develop query parameter. Proxies must support Vary.
- separation between configuration of routes and requests
- and other api changes...