Download Latest Version v2.1.2 source code.zip (3.3 MB) Google Add to Preferred Sources
Home / v2.1.2
Name Modified Size InfoDownloads / Week
Parent folder
cve-sbom-report.html 2026-08-14 46.3 kB
karate-2.1.2.jar 2026-08-14 12.2 MB
README.md 2026-08-14 3.1 kB
v2.1.2 source code.tar.gz 2026-08-14 2.3 MB
v2.1.2 source code.zip 2026-08-14 3.3 MB
Totals: 5 Items   17.9 MB 10

Important Fixes

  • ##(schema) optional-marker semantics now apply to schema references — a null value passes [#3006]
  • The method keyword resolves variables again (v2 regression) [#2997]
  • karate.sort(list) works with a single argument as documented — the key function is optional [#2996]
  • get[0] with a JsonPath filter returns [] instead of erroring when the path traverses a null node [#2995]
  • call / callonce with read() no longer drops a callee-defined key that shares a name with a caller variable [#2991]
  • NDJSON response bodies are kept as raw text instead of being silently truncated by JSON parsing [#2990]
  • afterScenario hook scope is no longer frozen to the first scenario when Background uses callonce with HTTP [#2988]
  • set accepts a multi-line docstring expression [#2978]
  • text/plain responses are no longer parsed as JSON just because the body starts with a brace [#2977]
  • #(!^part) schema macro no longer false-passes on a list of objects [#2976]
  • match contains only deep respects element multiplicity instead of matching differing multisets [#2975]
  • Numeric match == no longer equates distinct integers above 2^53 [#2974]
  • karate.callSingle / karate.call arguments are passed consistently to classpath: JS functions across scenarios [#2973]
  • OOM under parallel execution fixed — embedded-expression processing no longer deep-copies every variable in scope on every step [#2972]
  • Report keeps per-step / HTTP detail for karate.callSingle() calls made during karate-config.js resolution [#2967]

New Features & Enhancements

  • JS engine: async / await / Promise runtime with setTimeout support
  • JS engine: private class fields, methods and accessors; WeakMap / WeakSet; labeled statements with break / continue
  • JS engine: significant performance work — slot-frame resolution for function locals, token caches, static binary operators
  • Image: new pixelmatch comparison engine with cluster verdict and ignoredBoxes [#2987]
  • HTTP: csv, yaml, toml and markdown are recognized named content-types
  • Mocks: a Karate mock discloses itself on the wire via a Karate-Mock response header
  • Gatling: failure detail aligned across the KO message and log output [#2998]
  • Memory: a step's captured logs and embeds are released at feature end, and suite-exit no longer re-ships the whole run
  • A dry run no longer prints as a green pass, and its result says so
  • A missing karate-config.js is logged at INFO instead of WARN
  • Dependency bumps: jackson-bom 2.22.1

View the complete list of all issues fixed in this release.

Full Changelog: https://github.com/karatelabs/karate/compare/v2.1.1...v2.1.2

Important: refer 2.0.0 release notes for those upgrading from 1.X

Artifacts

Source: README.md, updated 2026-08-14