Skip to content

v2.1.2

Latest

Choose a tag to compare

@ptrthomas ptrthomas released this 14 Aug 04:26
· 65 commits to main since this release

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: v2.1.1...v2.1.2

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

Artifacts