Releases
v0.3.0
Compare
Sorry, something went wrong.
No results found
What's New
Attachments & Ctx Wrapper
Step handlers now receive Ctx (wrapping args, scenario, step, value) instead of raw Array[StepArg]
ctx.attach(), ctx.attach_bytes(), ctx.attach_url() for embedding attachments
Attachment and ExternalAttachment envelopes emitted in Cucumber Messages stream
DocString and DataTable support as step arguments
Hook Attachments
Hooks expanded to 6 variants (BeforeAll, AfterAll, BeforeScenario, AfterScenario, BeforeStep, AfterStep)
Hook contexts (RunHookCtx, CaseHookCtx, StepHookCtx) implement Attachable
Full Cucumber Expression Parameter Types
StepArg struct with StepValue enum for type-safe parameter access
Transformer support for custom parameter types
Setup.add_param_type methods for registration
Test Case Retry
@retry(N) tag on scenarios for automatic retry on failure
RunOptions.retries(N) for global retry configuration
Retry count tracked in RunSummary.retried
Only Failed scenarios are retried (not Skipped/Undefined)
Dry-Run Mode & Skip Tags
RunOptions.dry_run(true) — validates step definitions without executing handlers or hooks
@skip / @ignore tags with optional reasons: @skip("not-ready")
Configurable skip tags via RunOptions.skip_tags([...])
Skipped(String?) carries optional reason through results and messages
Config System
skip_tags field in moonspec.json5 config, wired through codegen into generated test code
Auto-discovers both moonspec.json and moonspec.json5 (both parsed as JSON5, merged with .json5 precedence)
Other
CLI version derived from embedded moon.mod.json
Cucumber Messages streaming pipeline with envelope compliance
Setup facade and ParameterType envelopes
Stats
286 tests
12 PRs merged since v0.2.0
You can’t perform that action at this time.