- Add PHP 8.3 support
- Auto-detect Chromium too
- Fixed encoding bugs in
XPathSelector
- Add
Add Node::setHTML
method - Add
Page::setScriptExecution
method - Allow usage of XPath in
Page::waitForElement
- Enable removal of Chrome flags via
excludedSwitches
option - Add support for
webp
format
andoptimizeForSpeed
option inPage::screenshot
- Add support for using Symfony 7 components
- Fix rare crash in
Page::getHtml
- Fix whitespace character handling in
Keyboard::typeText()
- Added some additional life-cycle event constants
- Added support for disabling browser notifications
- Fixed issue where Chrome 111 and later have different default allowed origins
- Add helper function to find target
- Add
--crash-dumps-dir
option - Allow passing the event name to wait for in
setHtml
- Dropped PHP 7.3 support
- Fix case where the timeout in
setHtml()
isn't respected - Fix hard coded timeout in
Dom
class - Fix hard coded timeout in
ResponseReader
class - Stop process when an error occurs during startup
- Stop process on
waitForStartup
if dev tools failed to start - Disconnect socket on
sendCloseMessage
- Fix command execution in
AutoDiscover
- Use
command
to guess the chrome executable in Linux - Officially support PHP 8.2
- Fix extra HTTP headers
- Fix intermittency in
Mouse::findElement()
- Fix scroll with values higher than possible
- Support Monolog 3
- Officially support PHP 8.1
- Added
Browser::getPages
method - Added
Page::waitUntilContainsElement()
method - Added
Page::setHtml()
method - Added support for XPath by introducing
Selector
- Added
Mouse::findElement()
method - Switch to flatten mode
- Added fallback to css layout metrics
- Added missing destroyed setting
- Prevent
Node::querySelector
from returning nodeId0
- Fixed "What's new" page opening on startup
- More fixes to enable eventual PHP 8.1 support
- Added support for
--no-proxy-server
and--proxy-bypass-list
- Added timeout option to
Page::getHtml
- Added
Node::sendFiles
method
- Fixed issues with
Keyboard::typeText
with multibyte strings - Fixed issues with retina and scaled displays
- Fixed issues with timeouts if system time changes
- Fixed
Mouse::find()
after cursor has moved
- Added support for setting HTTP headers
- Added support for
psr/log
2 and 3
- Partial PHP 8.1 support
- Dropped
--disable-default-apps
and--disable-extensions
by default - Added API for interacting with the DOM
- Added a way to set the timezone
- Reworked
PagePdf
class to improve validation
- Fix mouse element position
- Add DOM element locator
- Fix mouse scroll maximum distance
- Switched over to
chrome-php/wrench
- Add support for keyboard key combinations
- Fix scroll method returning prematurely
- Added support for proxy servers as a direct option
- Added support for passing environment variables
- Added support for Symfony 6
- Removed broken
getChromeVersion
function - Implemented more robust auto-discovery
- Added
Page::getHtml
- Added keyboard API
- Added mouse scrolling
- Attempt to auto-detect chrome binary path
- Added support for
setDownloadPath
- Added support for
captureBeyondViewport
- Support PHP 8.0
- Increase default sync timeout to 5 seconds
- Set
--font-render-hinting=none
in headless mode - Fixed keep alive option
- Fixed various phpdoc issues
- Fixed sending params to newer Chrome
- Fixed
Wrench::connect()
return value - Avoid non-thread-safe getenv function
- Fixed issues with
Browser::close
- Support PHP 7.3 and 7.4
- Added
Page::pdf
- Added timeout for PageEvaluation methods
- Added support for Symfony 5
- Added
Browser::close
- Escaping custom flags for
BrowserFactory
is now automatic - Added timeout for
Page::getFullPageClip
- Added timeout for method
getBase64
- Added options
headerTemplate
andfooterTempalte
forPage::pdf
- Added options
scale
for Page::pdf - Handle gracefully all pages failing to close
- Fixed deprecation from Symfony