| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| karate-2.1.1.jar | 2026-07-15 | 12.1 MB | |
| cve-sbom-report.html | 2026-07-15 | 48.2 kB | |
| README.md | 2026-07-15 | 3.5 kB | |
| v2.1.1 source code.tar.gz | 2026-07-15 | 1.8 MB | |
| v2.1.1 source code.zip | 2026-07-15 | 2.6 MB | |
| Totals: 5 Items | 16.5 MB | 4 | |
Important Fixes
karate.match()inside a closure passed across feature files resolves variables in the calling scope, not the defining scope [#2966]karate.remove()now removes nested JSON fields [#2953]get[0]with a JsonPath filter on a missing property degrades to#notpresentinstead of erroring [#2950]call/calloncewithread()no longer returns the entire caller scope in the result [#2949]callonceinside acall read()no longer caches globally across invocations [#2941]- Escaped pipe
\|inExamplestables is treated as a literal pipe character [#2943] paramwith a null value omits the query parameter instead of failing [#2942]afterFeaturenow fires as expected when running with multiple threads [#2939]karate.set(callSingle())withcall read()inBackgroundno longer freezes Scenario Outline row values [#2934]karate.set(callSingle())with the disk cache no longer wipes config-levelJava.type()variables [#2933]- Feature calls made from JS helper files show up in the summary report again [#2928]
- Gatling: feature errors are logged, ANSI escapes are stripped from log files, and
--no-coloris accepted [#2937] --no-coloris applied and stripped before subcommand parsing [#2936]- Gatling: a scenario that fails before any HTTP request emits a synthetic KO instead of vanishing from the report
- Gatling: feature chaining repaired — the mutable
__karatemap is matched on read - A non-SSE GET against
HttpServeris rejected with a real status (405/404) rather than hanging - DOM nodes render as XML text instead of crashing json-smart
- Driver: page-load waits are bound to the navigation's
loaderId, closing a class of races on redirects and replaced loaders - Driver: each pooled slot gets its own browser context, and tab enumeration is scoped to the driver's own context
New Features & Enhancements
- The HTML report opens far faster and uses much less memory on large features — syntax highlighting is deferred until a block is viewed [#2938]
- Failures pinpoint the feature-file location, with a richer failure console [#2952]
- Driver:
select()fires the full real-selection event sequence (input,change,blur,focusout) - Driver: new
CdpDriver.objectId(locator)for locator to CDP-node resolution - CDP: named init-script registry, plus
DOM.getFrameOwner/describeNodeand script/binding injection wrappers - WebSocket: subprotocol negotiation support in
WsClient - HTTP: bind-host support on
HttpServerfor localhost-only hardening BootLoader.bootOnly,BootBinding.getGlobals()andConfigLoader.configOnly— evaluate boot and config without running features- Report: kind-labelled embed badges, skipped tiles, and Scenario Outline badges
- Dependency bumps: Selenium, the Scala / Gatling plugins, and central-publishing-maven-plugin
View the complete list of all issues fixed in this release.
Full Changelog: https://github.com/karatelabs/karate/compare/v2.1.0...v2.1.1
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)