Skip to content

4.0.0

Compare
Choose a tag to compare
@bjuric bjuric released this 14 Nov 21:41
· 25 commits to master since this release
  • Introduce profiles to support multiple launch configurations
    • -p|--profile option
  • Internal engine enhancements
  • Replace redundant multi scoped data caches with one single scoped cache
  • Manage settings internally without exposing them as system properties
  • Manage implicits at lifecycle level using boundary level caching
  • Require Java 17+ instead of Java 11+
  • Use logback instead of log4j for logging
  • Support empty literal in DSLs wherever blank is accepted
  • Make all input data read only by default
  • Add --repl option to open REPL regardless of batch and feature options
  • Change ignore placeholder syntax in template matcher from !{} to @{*}
  • Add @{**} placeholder to template matcher to support ignoring multiple lines
  • Print gwen launch arguments on startup
  • Synchronise system process bindings when resolving value from output stream
  • Do not permit scope attribute on results file configuration when logging with annoation or DSL
  • Only log results file records if results format is specified in launch options
  • Skip logging to result file if the scope or status don't match
    • and disable calling step when logged via DSL
  • Log unresolved field value if interpolation fails during result file logging
  • Support relative file locations in @Import and @Examples annotations
  • Load all associative meta if features are specified with --repl option
  • Auto discover associative meta only
  • Update dependencies
    • Update scala from v3.5.0 to v3.5.2
    • Update gherkin from v29.0.0 to v30.0.0
    • Update jline from v3.26.3 to v3.27.1
    • Update logback-core from v1.5.9 to v1.5.12
    • Update logback-classic from v1.5.9 to v1.5.12
    • Update jackson-databind from v2.17.2 to v2.18.1
  • Add settings(s):
    • gwen.input.data.readOnly
  • Add implicit variable(s):
    • gwen.profile.name
  • Add environment variable(s)
    • GWEN_PROFILE
  • Add DSL step(s):
    • I attach "<filepath>"
      • For attaching files to Gwen reports (where the name of the attachment will be the name of the file)
    • I log record to <resultsFileId> file
      • For explicitly logging records to configured results files
  • Raise deprecations as errors by default instead of logging them as warnings
    Setting Old default New default
    gwen.logLevel.deprecations warn error
  • Deprecated Settings Use this instead
    gwen.cli.options.batch gwen.launch.options.batch
    gwen.cli.options.format gwen.launch.options.format
    gwen.cli.options.inputData gwen.launch.options.inputData
    gwen.cli.options.dryRun gwen.launch.options.dryRun
    gwen.cli.options.features gwen.launch.options.features
    gwen.cli.options.parallel gwen.launch.options.parallel
    gwen.cli.options.meta gwen.launch.options.meta
    gwen.cli.options.report gwen.launch.options.report
    gwen.cli.options.tags gwen.launch.options.tags
    Removed Settings Use this instead
    :----------------------------- :--------------------------
    gwen.auto.discover.data.csv `-i
    gwen.auto.discover.data.json `-i
    gwen.auto.discover.meta `-m
    gwen.associative.meta This is now always on
  • Deprecated Implicit values Use this instead
    gwen.eval.status.keyword gwen.feature.eval.status.keyword
    gwen.eval.status.keyword.upperCased gwen.feature.eval.status.keyword.upperCased
    gwen.eval.status.keyword.lowerCased gwen.feature.eval.status.keyword.lowerCased
    gwen.eval.status.keyword.isPassed gwen.feature.eval.status.keyword.isPassed
    gwen.eval.status.keyword.isFailed gwen.feature.eval.status.keyword.isFailed
    gwen.eval.status.message gwen.feature.eval.status.message
    gwen.eval.status.message.escaped gwen.feature.eval.status.message.escaped
    gwen.eval.status.message.csvEscaped gwen.feature.eval.status.message.csvEscaped
    gwen.eval.duration gwen.feature.eval.duration
    gwen.eval.duration.msecs gwen.feature.eval.duration.msecs
    gwen.eval.duration.secs gwen.feature.eval.duration.secs
    data record number gwen.data.record.number
    data.record.number gwen.data.record.number
    data.record.index gwen.data.record.index
    record.number gwen.table.record.number
    record.index gwen.table.record.index
    iteration.number gwen.iteration.number
    iteration.index gwen.iteration.index
  • Drop deprecated features:
    • Gwen Workspaces warning
    • -p|--properties option
    • Report portal integration
    • Matrix tables
    • Core DSL steps
      • I wait <duration> second[s] when <element> is <actioned>
      • I wait until <condition> when <element> is <actioned>
    • Core DSL steps in favour of base step with @Timeout and @Delay annotations
      • <step> <until|while> <condition> using <delay> <delayUnit> delay
      • <step> <until|while> <condition> using <timeout> <timeoutUnit> timeout
      • <step> <until|while> <condition> using <delay> <delayUnit> delay and <timeout> <timeoutUnit> timeout
      • <step> <until|while> <condition> using no delay and <timeout> <timeoutUnit> timeout
      • <step> <until|while> <condition> using no delay
      • <step> <until|while> <condition> using no delay and <timeout> <timeoutUnit> timeout