Skip to content

Latest commit

 

History

History
119 lines (74 loc) · 7.22 KB

CHANGELOG.md

File metadata and controls

119 lines (74 loc) · 7.22 KB

cdp4j Release Notes

4.1.0 - November 26, 2019

4.0.1 - October 10, 2019

🆕 Added Session.getDOMSnapshot() method (Returns a document snapshot, including the full DOM tree of the root node).

🆕 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

🆕 Added non-blocking WebSocket support

List of supported WebSocket clients:

  1. async-http-client (Netty based)
  2. Eclipse Jetty
  3. JRE WebSocket Client (requires Java 11, default WebSocket client of cdp4j 4.x)
  4. JSR-356 WebSocket Client (Tomcat WebSocket Client & Tyrus is supported)
  5. TooTallNate WebSocket client
  6. 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

🆕 Replaced dynamic proxy based io.webfolder.cdp.command classes with concrete class implementations.

🆕 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.

🆕 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

  • Fixed xpath selector bug

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