Skip to content

Latest commit

 

History

History
317 lines (196 loc) · 12 KB

CHANGELOG.md

File metadata and controls

317 lines (196 loc) · 12 KB

Changelog

Unreleased

2.9.4.2 (CUSTOM INGENERATOR RELEASE) (2024-10-17)

  • Some minor connection enhancements #19
  • Support flushing localstorage for domain #22

2.9.4.1 (CUSTOM INGENERATOR RELEASE) (2024-09-30)

  • Fully resets our fork back to the unreleased version of upstream, plus adds PHP8.3 support. The majority of our changes are now present in upstream (either exactly, or in a slightly different / superseded form).

  • REMOVES our custom implementation for handling native javascript dialogs (2.7.0.2) in favour of tackling this with the built-in methods to acknowledge a JS dialog after it has fired. This will require changes to projects that were relying on our custom method to register a callback handler.

2.7.0.8 (CUSTOM INGENERATOR RELEASE) (2023-08-09)

  • Bring in selected changes from upstream package to fix various minor bugs, new test requirements from the core mink driver testsuite, and PHP 8.2 support - see #16

  • Advertise supported php versions and run tests on php8.2

  • Switch from textalk/websocket to the more-maintained fork phrity/websocket.

2.7.0.7 (CUSTOM INGENERATOR RELEASE) (2022-10-31)

  • Bring in selected changes from upstream package to reintroduce CI & fix support for PHP 8.1. Note the change from urlencode to rawurlencode when setting cookies through the driver (I don't think we actually do this).

2.7.0.6 (CUSTOM INGENERATOR RELEASE) (2022-02-23)

  • Don't fake the timestamps on click events - resolves issues with javascript frameworks ignoring events due to incorrect timestamps.

2.7.0.5 (CUSTOM INGENERATOR RELEASE) (2021-11-25)

  • Update handling of ConnectionException to handle the change to how textalk/websocket provides the stream metadata since v1.5.0 - it no longer json-encodes the stream status in the exception message.

2.7.0.4 (CUSTOM INGENERATOR RELEASE) (2021-11-25)

  • Add debugging output to try and understand why we have started getting fatal Trying to access array offset on value of type null in some cases following a ConnectionException.

2.7.0.3 (CUSTOM INGENERATOR RELEASE) (2021-10-12)

  • Fix PHP8 deprecation warning as optional constructor args can't be before required ones

2.7.0.2 (CUSTOM INGENERATOR RELEASE) (2020-10-29)

  • [BREAKING] Rewrite how native dialogs (alert, prompt, confirm, beforeunload) are handled. You must now register a callback in advance to handle any dialog that the browser shows. If you do not explicitly handle the dialog, an UnexpectedJavascriptDialogException will be thrown. #4

2.7.0.1 (CUSTOM INGENERATOR RELEASE) (2020-10-16)

  • Fix change event not bubbling after input value set #3

Unreleased

  • Test using zenika/alpine-chrome instead of custom build(s) (#155)
  • Fix returned value of isTextTypeInput (#149)
  • Session reset should close non-main windows (#152, !178)

2.9.3

  • Switch to phrity/websocket package - successor to textalk/websocket which is no longer maintained (#144, !167)
  • Error handling for invalid form values (#140)
  • Introduce code coverage in CI (!154, !160)
  • Add make commands for development tasks (!159)
  • Fix event dispatch and input type handling for all HTML input types (#92, #95, #111, #139, !166)
  • Remove broken StreamReadException & canDevToolsConnectionBeEstablished timeout/retry logic (!168)
  • Fix tests leaving orphaned tabs in Chrome (!165)
  • Don't fake event timestamps when clicking elements (!164)
  • Improve setValue() validation for unexpected inputs (#143, !171)
  • Remove docker tag from CI jobs (!172)
  • Refactor ChromeDriver::setValue (#125)

2.9.2

2.9.1

  • Use correct default values for domWaitTimeout and socketTimeout when unset (#133, !143)

2.9.0

  • Throw DriverException if file to be uploaded is not found (#12, !128)
  • ConnectionException / StreamReadException handling improvements (!133, #68, #99, #119)
  • Test coverage for accented character value handling (#105)
  • Fix for file upload handling (behat-chrome-extension#12, !128)
  • Test improvements (#124, !129)
  • Documentation improvements (!127)
  • Coding standards fixes (!115, !132, !136)

2.8.1

  • Cookie encoding bugfix (#86)
  • Use upstream Mink test suite (#116)
  • Tests cover PHP versions 7.4 to 8.1 (#108)
  • Documentation improvements (!125)
  • Coding standards fixes (!115)

2.8.0

  • Improved support for Behat 1.8.x, fixes to CI (!93, #94, #104)
  • Support obtaining event listeners for elements (!91)
  • Correctly use configured DevTools connection URL (!90, #93)
  • Re-throw dead connection exceptions (!88)
  • Support setValue() on 'url' input types (!87)
  • Support clearing and retrieval of messages from console.log (!86, #97)
  • Support multiple file attachments (!83)
  • Support non-HTML responses (!78)
  • Updated Event dispatching for input change to add support for React components (!74)
  • Full page and screen screenshot functionality (!72, !79)
  • Improve exception message on Chrome error (!71)
  • Handle experimental Page.navigatedWithinDocument (!70)

2.7.0

  • Support setValue() on 'number' input types (!81)
  • Correct types for printToPDF() method (!68)
  • Add function handling for evaluated JS return values (!67, #67)
  • PHP7.3 fixes and test coverage (!66)
  • Add ext-json to requirements in composer.json (!64)
  • Set Host header for compatibility with Chrome 66+ (!63)
  • Non-strict comparison of radio button values (!62)
  • Add method to retrieve all cookies (!61)
  • Replace deprecated method to ignore SSL certificate errors (!60, #57)
  • Remove event.key code to fix conflict with non-printable chars (!57)

2.6.4

  • Fixed StreamReadException not being caught when browser fails to respond on stop

2.6.3

  • Make DOM wait timeout configurable - Nikita Nefedov
  • Dispatch javascript keyup/keydown on top of devtools Input.dispatchKeyEvent - Florent Ruard-Dumaine
  • Improved click handling for elements with non-zero border radius - Carl Wiedemann
  • Remove headless chrome check from captureScreenshot() - Eric Jenkins
  • Fixed handling of dialogs on click - Arturas Smorgun
  • Improved error handling when chrome Connection cannot be established - Peter Rehm

2.6.2

  • Fixed wrongful assumption that chrome has crashed when it was waiting for a long page load.

2.6.1

2.6

  • Add click on radio element when selected - Peter Rehm
  • Added support to capture screenshots and to render PDFs - Peter Rehm
  • Socket timeout defaults now to 10 seconds - Matthew Hotchen
  • Set pierce argument to TRUE if currently in an iframe - Sascha Grossenbacher
  • Added verification if an element can be focused - Sascha Grossenbacher
  • Fixed password fields not being focused before key presses

2.5

2.4.3

2.4.2

  • Removed dependency on symfony/options-resolver:3 due to conflicts with Symfony2 projects

2.4.1

  • Added support for enabling certificate override Arturas Smorgun

  • Fixed numeric passwords being treated as integers

2.4.0

  • Fixed support for Chrome 62 - Peter Rehm

  • Implemented download behavior (Chrome 62+ only) - Peter Rehm

2.3.1

  • Fixed 'Server sent invalid upgrade response' when switching windows, in some cases

2.3.0

  • Fixed getWindowNames incompatibility with Selenium2Driver

  • Fixed mouseover sometimes moving the mouse outside the element - Mark Nielsen

  • Fixed inability to switchToWindow for some tabs which were opened with window.open() - Mark Nielsen

  • Throw DriverException instead of \Exception - Mark Nielsen

  • Throw NoSuchFrameException instead of generic \Exception when the frame is removed after being switched to - Mark Nielsen

  • Fixed clicking on an option tag which is inside an optgroup - Mark Nielsen

  • Fixed isVisible when the element is hidden using negative offsets or 'visibility: hidden' - Mark Nielsen

  • Fixed NoSuchElement exception when textbox is removed by javascript onchange - Mark Nielsen

  • Fixed browser resizing - Mark Nielsen

  • Added support for setting the value of a input type="search" - Raphaël Droz

  • Added support for setting the value of an element with contenteditable=true - Mark Nielsen

2.2.0

  • Implemented isolation between multiple instances running against the same browser, if the browser is running with --headless

  • Fixed isVisible when an element only has children which are floating, fixed, or absolute

  • Fixed setValue on fields with limited length

  • Fixed getStatusCode and getResponseHeaders timing out when the page has been loaded before the websocket was opened

  • Fixed setValue for multibyte unicode

  • Fixed some elements not receiving click

  • Sped up animations and added sleep until they complete

  • Fixed timeout when page loading takes longer than 5 seconds

  • Fixed deadlock when a request fails

  • Fixed deadlock when chrome crashes

  • Fixed fields not showing autocomplete on setValue, due to unnecessary blur

  • Fixed fatal error when restarting without --headless

2.1.1

  • Fixed compatibility with 5.6 and 7.0

2.1.0

  • Added support for switching to popups which chrome turned opened as tabs

  • Improved findElementXpaths to get the shortest xpath possible

  • Fixed xpath queries not always returning the elements in the correct order

  • Fixed setValue not always triggering keyup/keydown

  • Fixed popup blocker stopping popups triggered by click

  • Fixed deadlock when javascript prompt/alert is shown

  • Fixed double click not dispatching an event for the first click

  • Fixed double click not bubbling

  • Fixed page load timing out after 5 seconds

2.0.1

  • Removed behat dependency

2.0.0

1.1.3

  • Fixed timeout when checking for the status code of a request served from cache

1.1.2

  • PHP 5.6 support

  • Fixed websocket timeout when visit() was not the first action after start() or reset()

1.1.1

  • Licensed as MIT

1.1.0

  • Added support for basic http authentication

  • Added support for removing http-only cookies

  • Added support for file upload

  • Fixed getContent() returning htmldecoded text instead of the outer html as is

1.0.1

  • Fixed back() and forward() timing out when the page is served from cache.