Skip to content

v1.4.1

Compare
Choose a tag to compare
@ptrthomas ptrthomas released this 16 Oct 06:22
· 227 commits to master since this release

First, a big THANK YOU to all new contributors !

New Contributors

For those interested in participating in Hacktoberfest, you can find instructions here: Karate and Hacktoberfest

Fix List

Some notable improvements:

  • UI testing - driver.intercept() (Chrome only) now returns a mock, which opens up some advanced use-cases, see #2361
  • some teams reported a slow down in Karate 1.4.0 especially when a lot of JS re-use was involved, which should be fixed, see #2329

Here is a complete list of all issues fixed in this release.

Breaking Changes

The good news is that for most teams there should not be any breakages to existing test scripts. But there are a few things to note, read on below.

match each defaults to fail if array is empty

You can read a detailed description in the issue #2364. This may break existing test scripts only if you are extensively using the fuzzy matching short-cut #[] in enbedded schema validations. The good news is that if you see any of your existing tests break, you can do this to get back the old behavior.

* configure matchEachEmptyAllowed = true

if a match each fails now with Karate 1.4.1, ensure that any JsonPath expression on the LHS (Left Hand Side) is accurate. The reason for this change in Karate behavior is that previously - if you had an invalid JsonPath expression on the LHS of a match each, it would always return an empty array, and the match would always pass.

Docker image now in karatelabs organization

Until now, the karate-chrome Docker image was published at ptrthomas/karate-chrome. It has now moved to karatelabs/karate-chrome.

IDE debugging requires extra dependency

IDE debugging now requires an extra dependency on the classpath. Maven and Gradle users can use the io.karatelabs:karate-debugserver dependency. For details on how to use the new debug-server in IntelliJ or VS Code, please refer to this wiki page: Debug Server.

Experimental Distributed Testing Support Removed

Karate used to have a distributed-testing (experimental) option released in v0.9.5. This is no-longer available as part of karate-core

Heads Up

Karate 1.5.0 will require Java 17. This is a bit sooner than we expected, but reasons are explained in #2401 - mainly because of needing to address some CVEs. 1.4.1 may be the last release that supports Java 11.

Karate 1.5.0 will also change the Maven group-id from com.intuit.karate to io.karatelabs. Note that a 1.5.0.RC1 is available for teams to start trying this out. For a smoother transition, the Java APIs would be changed in a future release (most likely 1.6.0).

What's Changed

Full Changelog: v1.4.0...v1.4.1

Artifacts Released