v1.4.1
First, a big THANK YOU to all new contributors !
New Contributors
- @kang-mansher made their first contribution in #2315
- @MohabMohie made their first contribution in #2318
- @lucarota made their first contribution in #2325
- @dvargas46 made their first contribution in #2343
- @barathraju-43 made their first contribution in #2354
- @dersvenhesse made their first contribution in #2368
- @dovikos made their first contribution in #2370
- @byd-android-2017 made their first contribution in #2375
- @GeorgeLBS1 made their first contribution in #2376
- @tstanczak made their first contribution in #2392
- @luanapassis made their first contribution in #2400
- @ksola made their first contribution in #2409
- @bharath2203 made their first contribution in #2415
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
- update java versions to 11 since 1.8 no longer supported by @ericdriggs in #2307
- Added changes for self signed cert generation by @kang-mansher in #2315
- Update Demo01JavaRunner.java by @MohabMohie in #2318
- Update README.md by @bischoffdev in #2323
- Fix #2324 - karate.callSingle caching fails on Windows using different keys by @lucarota in #2325
- fix retry with setup by @jkeys089 in #2335
- add support for NTLM authentication by @dvargas46 in #2343
- Bump docker/login-action from 2.1.0 to 2.2.0 by @dependabot in #2339
- fixed mouse(x, y) to accept Number type by @barathraju-43 in #2354
- Bump docker/login-action from 2.1.0 to 2.2.0 by @dependabot in #2355
- Bump h2 from 2.1.210 to 2.2.220 in /karate-demo by @dependabot in #2359
- Bump docker/login-action from 2.1.0 to 2.2.0 by @dependabot in #2360
- Bump com.linecorp.armeria:armeria from 1.22.0 to 1.24.3 in /karate-core by @dependabot in #2369
- chore: use fragment expression by @dersvenhesse in #2368
- Use Netty HttpPostRequestEncoder with "HTML5" encoder mode to prevent… by @dovikos in #2370
- chore: use updated thymeleaf syntax by @dersvenhesse in #2372
- Update README.md by @byd-android-2017 in #2375
- Fix: Resolves #2259 doubleClick and rightClick issue by @GeorgeLBS1 in #2376
- Bump actions/checkout from 3 to 4 by @dependabot in #2391
- Http using RuntimeHook by @tstanczak in #2392
- Bump docker/login-action from 2.2.0 to 3.0.0 by @dependabot in #2395
- retry on invoke exception by @ericdriggs in #2397
- Description by @luanapassis in #2400
- 2408 Allow retries to be enabled on default Apache HTTP client by @ksola in #2409
- Fix: XML whitespace trims while pretty print by @bharath2203 in #2415
Full Changelog: v1.4.0...v1.4.1
Artifacts Released
- Maven artifacts
- Standalone JAR (download below)
- Karate-Robot JAR (download below)
- Docker Image