* Tested against Google Chrome 67.0.3396.99 Built on OSX, thanks Travis CI
* Tested against Google Chrome 78.0.3904.97, thanks Travis CI
* Tested against Chrome/75.0.3770.90 / Win64, thanks AppVeyor
* Windows tests
* Tested against Chromium HeadlessChrome/62.0.3202.94
* Tested against Chromium HeadlessChrome/63.0.3239.132
* Tested against Chromium HeadlessChrome/64.0.3282.119
* Tested against Chromium HeadlessChrome/65.0.3325.181
* Tested against Chromium HeadlessChrome/66.0.3359.139
* Tested against Chromium HeadlessChrome/67.0.3396.99
* Tested against Chromium HeadlessChrome/68.0.3440.84
* Tested against Chromium HeadlessChrome/69.0.3497.100
* Tested against Chromium HeadlessChrome/70.0.3538.102
* Tested against Chromium HeadlessChrome/71.0.3578.98
* Tested against Chrome HeadlessChrome/72.0.3626.96
* Tested against Chromium HeadlessChrome/73.0.3683.103
* Tested against Chromium HeadlessChrome/74.0.3729.131
* Tested against Chromium HeadlessChrome/75.0.3770.90
* Tested against Chromium HeadlessChrome/76.0.3798.0
* Tested against Chromium HeadlessChrome/77.0.3865.75
* Tested against Chromium HeadlessChrome/78.0.3904.70
* Tested against Chromium HeadlessChrome/79.0.3945.88
* Tested against Chromium HeadlessChrome/80.0.3969.0
* Tested against Chromium HeadlessChrome/81.0.4007.0
* Linux tests
* Tested against Chromium Chromium/65.0.3325.181
* Tested against Chromium Chromium/66.0.3359.139
* Tested against Chromium Chromium/67.0.3396.87
* Tested against Chromium Chromium/75.0.3770.100
* Tested against Chromium Chromium/77.0.3865.120
* Tested against Chromium Chromium/78.0.3904.108
* Tested against Chromium Chromium/80.0.3987.106
0.47 2020-04-08
* Add ->transport() accessor to WWW::Mechanize::Chrome
This currently just is ->driver->transport
* Deprecate ->driver()
You should use ->transport or ->target, depending on who you really
want to talk to (GH issue #52)
* Properly pass on events that get send before a click is generated and
after that event. This allows automatically generating focus events
when setting the value of an input field (GH issue #53).
0.46 2020-03-29
* Actually make transferring the cookies from/to Chrome work
* Add W:M:C:URLBlacklist to ease restricting what Chrome loads
* Document the `headless` option to run Chrome without showing a window
This option had been available a long time, but it only ever was
mentioned in passing.
0.45 2020-03-28
* The "secure" cookie attribute now gets forced into a JSON boolean
in ->set_cookie. Thanks to Rub3nCT for reporting this in GH issue #53.
* Added ->load_jar method to import a complete HTTP::Cookies cookie jar
into Chrome, suggested by Rub3nCT in GH issue #53.
0.44 2020-01-03
* Fix ->get_attribute('innerHTML') and ->get_attribute('outerHTML')
being broken in 0.42. Also add a test for that functionality. GH #48.
* Test suite stability
0.43 2019-12-26
* Fix number of tests skipped on test skipping
* Fix (and add a test for) ->text() method. This addresses RT #130999,
test provided by Chris Denley.
0.42 2019-12-23
* ->find_link() now uses the text() attribute, not the innerHTML. This means
that for example text_regex searches can't match HTML in link texts anymore.
* ->xpath (and all other querying functions) now properly filter on the
relevant subtree. This might change the results you get from the queries
as now elements are properly filtered. Fixes GH issue #48.
* Split longest wallclock time test into two tests, now running the
parallel test suite in 15s per browser per backend, from 20s.
* Silence the log output even in TRACE level. sendMessageToTarget and the
immediate Target.receivedMessageFromTarget replies to it will not show
up in the output anymore. If you need it, please speak up so I can make
the list of (un)suppressed messages configurable.
0.41 2019-12-22
* Actually respect the default backend class. This should mean we can
actually use a backend class. This closes GH issue #45
* Github Actions infrastructure improvements
* On MacOS, "Google Chrome.app" is now searched only in existing directories
* On MacOS, we also find Chromium now if Google Chrome is not installed
* Clarified documentation for ->click() based on feedback from Perlmonks.org
* Fixed incomplete documentation. This addresses GH issue #47
0.40 2019-11-15
* Keep any preset value in @Chrome::DevToolsProtocol::Transport::loops
* Keep any preset value in @Chrome::DevToolsProtocol::Transport::Pipe::loops
* Make the test suite leaner by only launching test servers if we're
actually going to run tests
* Fix a crash with the Mojo backend when Chrome crashed/was unavailable
* ->get_text() and ->get_attribute('innerText') used to return HTML. Now
they return the actual text content of nodes, using the Javascript
attribute 'textContent' or 'innerText' respectively. This changes the
behaviour as now for example the content of a TEXTAREA tag cannot be
fetched with ->get_text() anymore. Use ->get_attribute('value') for that.
* Attributes set on a node now can be re-fetched from the live instance
of the node. Use ->get_attribute('attribute_name', 1) to force a live
query to Chrome.
* The ->links() method now also finds A tags without an href= attribute
and returns these.
0.39 2019-11-08
* Skip tests on unsupported Chrome versions
* Switch default (prerequisite) backend to IO::Async
* We now have a dynamic configuration again, because on Windows we need
Win32::File::VersionInfo to determine the Chrome version without
launching it.
0.38 2019-11-01
* Added wait_file option to wait for a file to disappear so we know that
this Chrome instance has quit.
* Added ->close() method to disconnect the object. This is just parts of
DESTROY().
* The backend selection was improved. We now select the backend that is
already loaded.
* Some memory leaks/circular references eliminated
0.37 2019-09-30
* WWW::Mechanize::Chrome now asks Chrome for the URL. This allows the test
suite (and your programs) to run in parallel, each using their own
Chrome instance without them treading onto each others toes.
* WWW::Mechanize::Chrome can now talk to Chrome v72+ using pipes (fd 3 and
fd 4) on unixish OSes. In theory, using fd 3 and fd 4 is possible on
Windows as well but not yet implemented. Doing this allows you to
avoid sockets in the local communication.
Use
pipe => 1
in the constructor to switch to using pipes.
* API change: Use ->getTargets->get() instead of ->list_tabs()
->list_tabs() will be unsupported in the future.
* The following three Chrome versions are now unsupported, as they do
not allow reading the websocket URL from Chrome:
* Chrome/59.0.3071.115
* HeadlessChrome/60.0.3110.0
* HeadlessChrome/61.0.3141.0
If you really, really need them, please contact me so that I know that
I need to keep the old connection code around.
0.36 2019-09-27
* Added cleanup_signal option to select the signal which is used for
cleaning up Chrome instances. This is SIGKILL on Windows and SIGTERM
everywhere else by default. Proposed and prototyped by Chris Novakovic.
* First parts of talking to Chromium via IPC pipes instead of sockets
The real change will come in the next versions, but you can enable
using a pipe for communication already by using the
pipe => 1
option.
* More lenient timeouts
* Fix retrieving the Chrome version
There was a spurious call to ->log() when we didn't have a logger. This
resulted in empty Chrome versions.
0.35 2019-09-05
* Documented `intrapage` option to ->click()
* Added `chromium` to default list of browsers
0.34 2019-06-15
* Add ->remove_listener to $mech to explicitly remove event listeners.
The usual way is RAII-style, letting your event listener simply go out of
scope. This is for times where you can't let your event listener go out
of scope.
* Be more defensive to avoid (unweak) circular references. This should clean
out more memory leaks whenever a callback is set or a Future is returned
from W:M:C.
* Fix (partial code for) saving a page. I don't know how this test ever
passed. This adresses RT #129821.
0.33 2019-05-29
* Actually call waitpid to make sure our Chrome processes go away properly
and to not accumulate zombies. Sent by Felipe Sologuren. This fixes
RT #129805, thanks!
* Fix memory leak caused by non-weakening of references in ->add_listener
Diagnosed and reported by Felipe Sologuren. This fixes RT #129808,
thanks!
* Add ->event accessor to Chrome::DevToolsProtocol::EventListener, suggested
by Felipe Sologuren, thanks!
0.32 2019-05-29
* ->update_html now stringifies its argument. This allows to pass in objects
with stringification overload instead of having to do the stringification
yourself. Addresses GH #42.
* Rename HTTP::Cookies::Chrome to HTTP::Cookies::ChromeDevTools to avoid
the name clash.
0.31 2019-05-25
* Silence HTTP::Cookies::Chrome debug output left over
* ->eval() now takes options on whether object references or JSON-serialized
data should be returned. This allows you to reference the "window"
object, for example.
Currently, these object references are kept as hashrefs instead of
objects, and the handling needs to become more transparent with respect to
the Chrome API, but that is planned for later versions.
0.30 2019-05-17
* Disable the Host: header test for Chromer 76+, as this raises an error
in those versions instead of just not working.
I guess this is progress.
0.29 2019-04-23
* Add ->cookie_jar support, this adresses GH #40
* Document "autoclose" option
0.28 2019-01-07
* More test resiliency against fake domains / links injected by bad ISPs
(like frontier.com )
* Link to WWW::Mechanize::Chrome::Troubleshooting from main documentation
* Documentation improvements by SDONLEY
* Up Future prerequisite to 0.35, earlier versions lack the features
the module uses
0.27 2018-12-23
* Properly handle Page.navigatedWithinDocument instead of raising an error.
The synthetic response object doesn't help much, but on the other side,
it's much better than raising an error and stopping the script.
Reported by Steve Dondley, Github issue GH #34
0.26 2018-12-09
* Actually do something if we timeout when connecting to Chrome.
The main cause of the connetcion to Chrome failing is that there already
is a non-devtools instance of Chrome running and is brought to the
foreground instead of a new DevTools-enabled instance being launched.
The best workaround is to launch it as
use File::Temp 'tempdir';
# create a fresh Chrome every time
my $mech = WWW::Mechanize::Chrome->new(
data_directory => tempdir(CLEANUP => 1 ),
);
* More log output in Chrome::DevToolsProtocol
* Now testing up to Chrome 73
* ExtUtils::MakeMaker minimum version 5.52_01, contributed by LorenzoTa
* Fix the test skip counts for several tests
0.25 2018-11-23
* Added one stray test to the distribution
* Rework of the documentation, thanks to Harald Joerg
This is a result of the PRC, thank you very much!
* No code changes, no need to upgrade
0.24 2018-11-19
* Fix for ->setRequestInterception_future
and ->setRequestInterception, contributed by Enrique Pessoa
This addresses RT #127738
0.23 2018-10-20
* Spun off screencast client into Mojolicious::Plugin::PNGCast distribution
* Documentation fixes (thanks Hacktoberfest!)
* --enable-automation is now on by default
* Document PDF paper size options (Thanks Eugen Konkov)
* Slight logging improvements for the Net::Async backend
0.22 2018-09-23
. Logging improvements
. Documentation of the DevToolsProtocol class
. Convenience parameter to ->click() to click on text
. Developer tests now spawn a single Chrome test, speeding up the test run
0.21 2018-09-15
. Fix ->sendkeys() to actually work
. Fix crash in ->wait_until_visible()
. Fix ->block_urls() to actually work
. Make log output less verbose, log more information in onelines
. "extra_headers" constructor argument works as documented
. Added a (Mojolicious) receiver for screencasts to better observe
what a headless Chrome is currently doing
. Added a very experimental start of WWW::Mechanize::Edge for
Microsoft Edge, which happens to use the same protocol as Chrome. This
is largely undocumented.
0.20 2018-09-07
. Add better diagnostics when the Chrome binary is not found
. Better search logic for Chrome binary, also support chromium-browser
. ->sendkeys() method to type input into browser
. ->content_as_pdf() now can also save to a file (as documented)
. Docfix for screencast data
0.19 2018-08-25
. Make ->set_attribute() actually work
. Recognize more intra-page navigation events
. Tested against Chrome/59.0.3071.115
. Tested against HeadlessChrome/60.0.3110.0
. Tested against HeadlessChrome/61.0.3141.0
. Tested against HeadlessChrome/62.0.3202.94
. Tested against HeadlessChrome/63.0.3239.132
. Tested against HeadlessChrome/64.0.3282.119
. Tested against HeadlessChrome/65.0.3325.181
. Tested against HeadlessChrome/66.0.3359.139
. Tested against HeadlessChrome/67.0.3396.99
. Tested against HeadlessChrome/68.0.3435.0
. Tested against HeadlessChrome/68.0.3440.84
. Tested against HeadlessChrome/69.0.3496.0
. Tested against HeadlessChrome/70.0.3500.0
. Tested against HeadlessChrome/70.0.3509.0
. Tested against Chromium 65.0.3325.181 Built on Ubuntu, thanks Travis CI
. Tested against Google Chrome 67.0.3396.99 Built on OSX, thanks Travis CI
. Tested against Chrome/67.0.3396.99 / Win64, thanks AppVeyor
0.18 2018-08-03
. Properly handling moving between fragments, for example
from http://example.com/#1 to http://example.com#2
(reported via Perlmonks.org)
This kind of navigation does not work on Chrome 64 and Chrome 59.
. Disable the "save password" bubble by default.
You can re-enable this by passing a true value to the option
save_password_bubble in the constructor.
. Tested against Chrome/59.0.3071.115
. Tested against HeadlessChrome/60.0.3110.0
. Tested against HeadlessChrome/61.0.3141.0
. Tested against HeadlessChrome/62.0.3202.94
. Tested against HeadlessChrome/63.0.3239.132
. Tested against HeadlessChrome/64.0.3282.119
. Tested against HeadlessChrome/65.0.3325.181
. Tested against HeadlessChrome/66.0.3359.139
. Tested against HeadlessChrome/67.0.3396.99
. Tested against HeadlessChrome/68.0.3435.0
. Tested against HeadlessChrome/68.0.3440.84
. Tested against HeadlessChrome/69.0.3496.0
. Tested against HeadlessChrome/70.0.3500.0
. Tested against HeadlessChrome/70.0.3509.0
. Tested against Chromium 65.0.3325.181 Built on Ubuntu, thanks Travis CI
. Tested against Google Chrome 67.0.3396.99 Built on OSX, thanks Travis CI
. Tested against Chrome/67.0.3396.99 / Win64, thanks AppVeyor
0.17 2018-07-07
. Added installation instructions for MacOS / OSX, contributed by Sdonley
. Added default path on MacOS for using the default Chrome executable
. Automatic testing for OSX on Travis CI is now enabled
. We now always launch Chrome / Chromium with --no-zygote and --no-sandbox
This behaviour can be disabled by passing
no_zygote => 0,
no_sandbox => 0,
to the constructor
. Skip constructor failure tests for Perl < 5.014
$@ is not always preserved when a destructor calls eval{} on those
versions of Perl.
. Add ->infinite_scroll as experimental API, together with ->scroll_to_bottom
Added by sdondley
. Tested against Chromium 59.0.3071.115 / Win64 (some tests skipped)
. Tested against Chromium 60.0.3110.0 / Win64 (some tests skipped)
. Tested against Chromium 61.0.3141.0 / Win64 (some tests skipped)
. Tested against Chromium 62.0.3202.94 / Win64 (some tests skipped)
. Tested against Chromium 63.0.3239.132 / Win64
. Tested against Chromium 64.0.3282.119 / Win64 (some tests skipped)
. Tested against Chromium 65.0.3325.181 / Win64 (some tests skipped)
. Tested against Chromium 66.0.3359.139 / Win64 (some tests skipped)
. Tested against Chromium 67.0.3396.99 / Win64 (some tests skipped)
. Tested against Chromium 68.0.3435.0 / Win64 (some tests skipped)
. Tested against Chromium 69.0.3481.0 / Win64 (some tests skipped)
. Tested against Chromium 65.0.3325.181 Built on Ubuntu, thanks Travis CI
. Tested against Google Chrome 67.0.3396.99 Built on OSX, thanks Travis CI
. Tested against Chrome/67.0.3396.99 / Win64, thanks AppVeyor
0.16 2018-06-23
+ Added ->is_visible, ->wait_until_visible and ->wait_until_invisible
+ Better way to find the system browser by default
This can be overridden by explicitly specifying the executable to use
. Rename ->agent_async() to ->agent_future()
. Add ->callFunctionOn_future() and ->callFunctionOn()
! "start_url" now actually gets you the first URL
! Fixed ->viewport_size() to actually work
. Experimental prototype of self-implemented Save Page As feature
(undocumented)
0.15 2018-05-30
. Added ->links() method, pasted from WWW::Mechanize::PhantomJS
Thanks to Alain Rioux for spotting
+ Add some more command line switches to disable more background behaviour
of Chrome by default:
background_networking
client_side_phishing_detection
component_update
hang_monitor
prompt_on_repost
sync
web_resources
default_apps
infobars
default_apps
popup_blocking
You can re-enable this by passing a true value to the option in
the constructor
0.14 2018-05-27
+ The "tab" parameter to ->new() was documented
! The "reuse" parameter to reconnect to an existing Chrome instance is
not needed anymore if you pass in a true value for the "tab" parameter.
! Downloads are now detected in a better way on Chrome 66+
This needed some general rework in how responses are treated, so please
retest your scripts and send me failing tests if a case has now become
time-critical.
. Tested against Chromium 59.0.3071.115 / Win64 (some tests skipped)
. Tested against Chromium 60.0.3110.0 / Win64 (some tests skipped)
. Tested against Chromium 61.0.3141.0 / Win64 (some tests skipped)
. Tested against Chromium 62.0.3202.94 / Win64 (some tests skipped)
. Tested against Chromium 63.0.3239.132 / Win64
. Tested against Chromium 64.0.3282.119 / Win64 (some tests skipped)
. Tested against Chromium 65.0.3325.181 / Win64 (some tests skipped)
. Tested against Chromium 66.0.3359.139 / Win64 (some tests skipped)
. Tested against Chromium 67.0.3394.0 / Win64 (some tests skipped)
. Tested against Chromium 68.0.3417.0 / Win64 (some tests skipped)
. Tested against Chromium 69.0.3443.0 / Win64 (some tests skipped)
. Tested against Chromium 65.0.3325.181 Built on Ubuntu, thanks Travis CI
0.13 2018-04-24
. More test stability
. Actually exit() after a failed fork() call
This fixes RT 125162, diagnosed by Slaven Rezic
. Tested against Chromium 59.0.3071.115 / Win64 (some tests skipped)
. Tested against Chromium 60.0.3110.0 / Win64 (some tests skipped)
. Tested against Chromium 61.0.3141.0 / Win64 (some tests skipped)
. Tested against Chromium 62.0.3202.94 / Win64 (some tests skipped)
. Tested against Chromium 63.0.3239.132 / Win64
. Tested against Chromium 64.0.3282.119 / Win64 (some tests skipped)
. Tested against Chromium 65.0.3325.181 / Win64 (some tests skipped)
. Tested against Chromium 66.0.3346.0 / Win64 (some tests skipped)
. Tested against Chromium 67.0.3394.0 / Win64 (some tests skipped)
. Tested against Chromium 65.0.3325.181 Built on Ubuntu, thanks Travis CI
0.12 2018-04-21
. Fix erroneous use of IO::Async::Loop in the tests
This fixes RT 125156, diagnosed by Slaven Rezic
. Tested against Chromium 59.0.3071.115 / Win64 (some tests skipped)
. Tested against Chromium 60.0.3110.0 / Win64 (some tests skipped)
. Tested against Chromium 61.0.3141.0 / Win64 (some tests skipped)
. Tested against Chromium 62.0.3202.94 / Win64 (some tests skipped)
. Tested against Chromium 63.0.3239.132 / Win64
. Tested against Chromium 64.0.3282.119 / Win64 (some tests skipped)
. Tested against Chromium 65.0.3325.181 / Win64 (some tests skipped)
. Tested against Chromium 66.0.3346.0 / Win64 (some tests skipped)
. Tested against Chromium 67.0.3394.0 / Win64 (some tests skipped)
. Tested against Chromium 65.0.3325.181 Built on Ubuntu, thanks Travis CI
0.11 2018-04-14
+ Support ->reload on Chrome v66+ by adding --disable-prompt-on-repost
This globally disables the prompting on repost for the process. If you
need to test for these prompts, add
disable_prompt_on_repost => 0
to the options for the WWW::Mechanize::Chrome object. To my knowledge,
there is no way to programmatically find whether Chrome is prompting for
a repost or not. See also
https://bugs.chromium.org/p/chromium/issues/detail?id=804371
+ Support ->getRequestPostData() to retrieve the data when sending a POST
request
+ Support ->searchInResponseBody() to search in a response body without
retrieving the body to Perl space. This doesn't work reliably in my
experience, as Chrome seems to forget response bodies rather quickly.
+ outerHTML is now a gettable property
+ The User-Agent string can be set in the constructor
+ Fixes for Chrome v67 when retrieving file:// resources
These fixes might have unwanted side-effects for other versions of Chrome
and other protocols, but the test suite doesn't show any of them. If this
change breaks your workflow, please submit a (failing) test case.
. Tested against Chromium 59.0.3071.115 / Win64 (some tests skipped)
. Tested against Chromium 60.0.3110.0 / Win64 (some tests skipped)
. Tested against Chromium 61.0.3141.0 / Win64 (some tests skipped)
. Tested against Chromium 62.0.3202.94 / Win64 (some tests skipped)
. Tested against Chromium 63.0.3239.132 / Win64
. Tested against Chromium 64.0.3282.119 / Win64 (some tests skipped)
. Tested against Chromium 65.0.3325.181 / Win64 (some tests skipped)
. Tested against Chromium 66.0.3346.0 / Win64 (some tests skipped)
. Tested against Chromium 67.0.3394.0 / Win64 (some tests skipped)
. Tested against Chromium 65.0.3325.181 Built on Ubuntu, thanks Travis CI
0.10 2018-02-02
+ IO::Async / Net::Async support
This was mostly held back by me not understanding the API of
Net::Async::WebSocket::Protocol. This needs
Net::Async::WebSocket::Client 0.12 (or higher) installed.
+ Workarounds in tests for new, incompatible Chrome behaviour
. Tested against Chromium 59.0.3071.115 / Win64 (some tests skipped)
. Tested against Chromium 60.0.3110.0 / Win64 (some tests skipped)
. Tested against Chromium 61.0.3141.0 / Win64 (some tests skipped)
. Tested against Chromium 62.0.3202.94 / Win64 (some tests skipped)
. Tested against Chromium 63.0.3239.132 / Win64
. Tested against Chromium 64.0.3282.119 / Win64 (some tests skipped)
. Tested against Chromium 65.0.3317.0 / Win64 (some tests skipped)
. Tested against Chromium 66.0.3335.0 / Win64 (some tests skipped)
. Tested against Chromium 62.0.3202.94 Built on Ubuntu, thanks Travis CI
0.09 2018-01-04
! ->js_errors() now only returns error messages
! ->js_console_entries returns all entries in the browser console
! Errors in JS code from ->eval_in_page are now fatal errors in Perl too
+ The ->reload() method works now
. Tested against Chromium 59.0.3071.115 / Win64 (some tests skipped)
. Tested against Chromium 60.0.3110.0 / Win64 (some tests skipped)
. Tested against Chromium 61.0.3141.0 / Win64 (some tests skipped)
. Tested against Chromium 62.0.3202.94 / Win64 (some tests skipped)
. Tested against Chromium 63.0.3239.108 / Win64
. Tested against Chromium 64.0.3282.0 / Win64 (some tests skipped)
. Tested against Chromium 65.0.3311.0 / Win64 (some tests skipped)
. Tested against Chromium 62.0.3202.94 Built on Ubuntu, thanks Travis CI
0.08 2017-11-30
+ Implemented file downloads and their storage for v62 and v63
You can't find out the name a file was saved as, and you can't find out
when the download is done.
Chrome v64 doesn't notify us at all about downloads.
! Redid success/failure logic of responses
We try harder to associate a response with something that we actually
initiated.
! Selecting different backends now actually works
. Tested against Chromium 59.0.3071.115 / Win64
. Tested against Chromium 60.0.3110.0 / Win64
. Tested against Chromium 61.0.3141.0 / Win64 (some tests skipped)
. Tested against Chromium 62.0.3202.94 / Win64
. Tested against Chromium 63.0.3205.0 / Win64
. Tested against Chromium 64.0.3282.0 / Win64 (some tests skipped)
. Tested against Chromium 62.0.3202.94 Built on Ubuntu, thanks Travis CI
0.07 2017-09-02
! Fix timers firing or not
! Implement a workaround for Chrome (not) navigating
This workaround means sleeping 0.1s to see whether the notification comes
in from Chrome after the "navigation complete" message has arrived.
Ideally we will find a way to make Chrome tell us when it will perform
HTTP transactions instead of having to wait.
. Tested against Chromium 59.0.3071.115 / Win64
. Tested against Chromium 60.0.3110.0 / Win64
. Tested against Chromium 61.0.3141.0 / Win64
. Tested against Chromium 62.0.3189.0 / Win64
. Tested against Chromium 63.0.3205.0 / Win64
. Tested against Chromium 58.0.3029.110 Built on Ubuntu, thanks Travis CI
0.06 2017-08-06
. Correct the name of the examples module
. No code changes, no need to upgrade
0.05 2017-08-06
+ More robust handling of Chrome disconnects
It seems that Chromium 62+ disconnects all clients when a tab is closed
! ->get now always waits for an HTTP response
. Tested against Chromium 59.0.3071.115 / Win64
. Tested against Chromium 60.0.3110.0 / Win64
. Tested against Chromium 61.0.3140.0 / Win64
. Tested against Chromium 61.0.3141.0 / Win64
. Tested against Chromium 62.0.3178.0 / Win64
. Tested against Chromium 58.0.3029.110 Built on Ubuntu, thanks Travis CI
0.04 2017-07-01
+ Fix maximum websocket message size
This was "randomly" breaking transfers with large assets.
0.03 2017-06-30
! The "profile" option now really uses the profile, not the data directory.
+ New option "data_directory" to set the base data directory.
+ We run all tests with a temporary user now instead of the default user
that might be your current Chrome user
+ Tests now run headless by default
+ The backend event loop can be selected from the environment
. Tested against Chromium 59.0.3071.115 / Win64
. Tested against Chromium 60.0.3110.0 / Win64
. Tested against Chromium 61.0.3140.0 / Win64
. Tested against Chromium 61.0.3141.0 / Win64
. Tested against Chromium 58.0.3029.110 Built on Ubuntu, thanks Travis CI
0.02 2017-06-23
+ Many more functions
+ Screencast ability
+ ->stop() function
+ Handling of Javascript dialogs
. Tested against Chromium 60.0.3110.0 / Win64
. Tested against Chromium 61.0.3140.0 / Win64
. Tested against Chromium 58.0.3029.110 Built on Ubuntu, thanks Travis CI
0.01 2017-06-02
. Released unto an unsuspecting audience
. Tested against Chromium 60.0.3110.0 / Win64
. Tested against Chromium 58.0.3029.110 Built on Ubuntu, thanks Travis CI