Skip to content

v2.0.10

Latest

Choose a tag to compare

@ptrthomas ptrthomas released this 04 Jun 08:26
· 43 commits to main since this release

Important Fixes

  • screenshotOnFailure: true works again; added onStepFailure hook + ErrorRunEvent #2845
  • configure headers no longer leaks Background-set headers across requests #2846
  • Type-hint ! with an angle-bracket type in a doc-string no longer throws an NPE #2847
  • call read('f.feature') { key: #(var) } no longer throws ReferenceError: # is not defined #2849
  • startTime / endTime in the report JSON are correct again #2850
  • Java.type() resolves classes on the JUnit Platform classpath (--cp) again #2855
  • karate.tagValues aggregates all tags #2859
  • Gatling karateFeature("path", "@tag") applies the tag filter instead of treating it as a path #2870
  • Scenario Outline Example vars no longer mishandled when callonce is used in Background #2874
  • ApacheHttpClient proxy CONNECT TLS handshake uses the target host for SNI #2877
  • StackOverflowError on circular-reference variables fixed #2880
  • Regression on the left side of set for JSON keys with special characters fixed #2886
  • geckodriver starts again in standalone mode #2884
  • StackOverflowError when an afterScenario hook calls a feature with a circular reference fixed #2887
  • match $.field == '#notpresent' no longer throws when the field is missing #2892
  • #() / ##() schema references inside a doc-string match parse correctly #2893
  • [*] wildcard works inside karate.match() with $ JsonPath #2894
  • set keyword works with hyphenated key paths #2896
  • Embedded expressions in feature call args are evaluated as in v1 #2897
  • configure logging mask is applied to the scenario that triggers a callonce #2898
  • def var = $.missing yields #notpresent instead of throwing #2899
  • JUnit no longer runs the wrong tests when calling other feature files #2900
  • outputJunitXml exposed on io.karatelabs.junit6.Karate #2901
  • Type-hint suffix in an Examples table works in a match statement #2902

New Features & Enhancements

  • New karate-image extension — pixel image-comparison as its own ext module with a primitives API and an interactive diff lightbox in HTML reports
  • HTML report redesigned on Tailwind — timeline view, donut summary, filter chips, JSON syntax-highlighting of request/response bodies #2895
  • karate-js: ES6 classes (inheritance, super, instance/static fields), runtime strict mode, destructuring, logical-assignment (||=, &&=, ??=), RegExp named capture groups
  • Ext SPI — pluggable extensions contributing CLI subcommands, channel factories, ext globals, and report assets
  • Multi-part karate.embed object form + defer-until-visible embed rendering
  • Driver: out-of-process iframe (OOPIF) support for CDP; W3C driver mouse via the Actions API
  • Gatling: protocol-scoped callSingle / callOnce / setupOnce caches + protocol.runner exposure
  • JUnit 6: outputJunitXml / outputCucumberJson on the builder
  • Resource.bytes(byte[]) in-memory binary factory; CSV from byte[] support #2873
  • Runner.Builder.getResolvedFeatures() exposed #2876

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

Full Changelog: v2.0.9...v2.0.10

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

Artifacts