Skip to content

5.0.0-1140464

Compare
Choose a tag to compare
@joffrey-bion joffrey-bion released this 16 May 16:43

This version is a big milestone for Chrome DevTools Kotlin!

The library became multiplatform, with support for most Kotlin targets (JVM, JS, native desktop, iOS, watchOS, tvOS, etc.).

The page creation and navigation was reworked! You can now use newPage() and goto() more intuitively, and with some resemblance to the well known Puppeteer. A bunch of old helpers were deprecated in favor of just these 2, which simplifies the API surface and makes it easier to grasp.

The main session classes were also reworked by extracting and renaming their core interface. New session interfaces were generated for all types of target, and you can use the checked conversion functions from ChildSession to each of those target-specific sessions: asPageSession, asWorkerSession, asSharedWorker, etc.

Check out the updated README if the automated migrations aren't working or the deprecation messages aren't clear enough.

Breaking changes:

  • Use camelCase for enum values to make them compatible with Kotlin/JS #241

Deprecations:

  • Deprecate overload of awaitNodeBySelector using milliseconds #243

Fixed bugs:

  • Make CDP request consistently fail with the same exception if the WS is closed concurrently #247
  • awaitNodeBySelector can potentially throw IAE when cancelled #239

Implemented enhancements:

  • Rework page creation / navigation API #255
  • Rename ChromeBrowserSession -> BrowserSession #254
  • Rename ChromePageSession -> PageSession #253
  • Allow to connect to any target type #252
  • Rename RenderFrameTarget -> PageTarget #251
  • Extract interfaces for session types #250
  • Make AllDomainsTarget extend all target interfaces #248
  • Multiplatform support: JVM, JS, linux, windows, macOS, iOS, tvOS, watchOS #197
  • Add helper awaitNodeAbsentBySelector #240

Removals:

  • Remove deprecated captureScreenshotToFile with Request object #237
  • Stop transitively imposing the CIO Ktor engine #236
  • Stop transitively exposing Ktor dependencies aside from ktor\-client\-core #235

Upgraded dependencies: