| Name | Modified | Size | Downloads / 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
methodkeyword 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/calloncewithread()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]
afterScenariohook scope is no longer frozen to the first scenario whenBackgroundusescalloncewith HTTP [#2988]setaccepts a multi-line docstring expression [#2978]text/plainresponses 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 deeprespects element multiplicity instead of matching differing multisets [#2975]- Numeric
match ==no longer equates distinct integers above 2^53 [#2974] karate.callSingle/karate.callarguments are passed consistently toclasspath: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 duringkarate-config.jsresolution [#2967]
New Features & Enhancements
- JS engine:
async/await/ Promise runtime withsetTimeoutsupport - JS engine: private class fields, methods and accessors;
WeakMap/WeakSet; labeled statements withbreak/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,tomlandmarkdownare recognized named content-types - Mocks: a Karate mock discloses itself on the wire via a
Karate-Mockresponse 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.jsis 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
- Maven artifacts
- Standalone JAR (download below)
- CVE / SBOM report (download below)