Added - Microsoft Edge support
4.2.2 - February 17, 2020
4.2.1 - January 27, 2020
- FIXED Launcher throws ClassFoundException when wf-exec library is missing.
4.2.0 - January 22, 2020
- New - Added Vert.x WebSocket client support.
- New - Added a new process executor (wf-exec). This feature available only for Windows platform.
wf-exec help to kill all child processes when parent dies normally or abnormally. Sample usage: WfExecSample.java
- Update devtools protocol r726364
- New - Released cdp4j.jar to GitHub package. #118
- Dropped graalvm8 supports. cdp4j supports only graalvm11.
4.1.0 - November 26, 2019
4.0.1 - October 10, 2019
New - Added Session.getDOMSnapshot() method (Returns a document snapshot, including the full DOM tree of the root node).
New - Added initial GraalVM support (this feature is not ready to use, wait until version 4.1.0)
Fixed Fixed buggy TaskKillProcessManager implementation.
4.0.0 - October 1, 2019
New - Added non-blocking WebSocket support
List of supported WebSocket clients:
- async-http-client (Netty based)
- Eclipse Jetty
- JRE WebSocket Client (requires Java 11, default WebSocket client of cdp4j 4.x)
- JSR-356 WebSocket Client (Tomcat WebSocket Client & Tyrus is supported)
- TooTallNate WebSocket client
- Undertow WebSocket client
Beside these WebSocket clients implementations we still supports nv-websocket-client
which is default WebSocket client of cdp4j 3.x.
We highly recommended to use a non-blocking WebSocket client implemntation instead of nv-websocket-client.
nv-websocket-client use java.net.Socket which blocks reading & writing threads.
non-blocking WebSocket client examples: Netty, Jetty, JRE WebSocket Client, JSR-356 WebSocketClient, TooTallNateWebSocketFactory, Undertow WebSocket Client
New - Replaced dynamic proxy based
io.webfolder.cdp.command classes with concrete class implementations.
New - Added custom gson type adapter to improve json serialization & deserialization performance. cdp4j 4.x use stag-java to generate TypeAdapter classes. Default option still use reflection based TypeAdapter. Invoke
Options.useCustomTypeAdapter(true) to use reflectionless (de)serialization.
New - Move to flatten cdp protocol.
DevTools protocol is dropping nested targets and switching to flatten protocol. cdp4j 4.x will be incompatible with Chromium below version 72
3.0.15 - December 12, 2019
- Added connectionTimeout paramater to AbstractLauncher.launch()
3.0.14 - November 11, 2019
3.0.13 - October 11, 2019
- Removed WINP dependency from TaskKillProcessManager
3.0.12 - June 25, 2019
- Added Launcher.isChromeInstalled() method
3.0.11 - June 14, 2019
3.0.10 - June 14, 2019
3.0.9 - June 8, 2019
3.0.8 - January 14, 2019
- Updated copyright date
- Added missing getters
3.0.7 - November 29, 2018
- Update websocket client library (nv-websocket-client) to 2.6
- Roll devtools protocol to r608591
- retry to get cdp4jId more than once
- Selector.matches() return false instead of throwing exception
3.0.6 - August 15, 2018
- Added @JsFunction annotation
3.0.5 - July 31, 2018
- Fixed NullPointerException
3.0.4 - July 31, 2018
- Added Added a new Constructor to Launcher class
- Fixed ClassNotFoundException (org.jvnet.winp.WinProcess)
3.0.3 - July 26, 2018
- Added MacOsProcessManager
- Roll devtools protocol to r574367
- Added Dom.getClickablePoint() and Dom.scrollIntoViewIfNeeded() method
- Fixed Mouse.click() does not trigger click event if the element is not visible.
3.0.2 - July 9, 2018
- Fixed ElementNotFoundException for xpath expressions
- Fixed the wrong OS detection code and added human-readable error in case OS cannot be detected (ProcessManager)
3.0.1 - June 16, 2018
- Removed sizzle support
- Fixed concurrency bug (incognito mode)
- Added Session.navigateAndWait() method
- Added guard for Launcher.launch #95
- Removed NullProcessManager (AdaptiveProcessManager is the new default ProcessManager)
- Added Session.captureScreenshot(boolean hideScrollbar) method