Release Notes
6.1.0
Conditionalaction — A new composite action that evaluates aPredicate<Context>before executing its body. When the predicate returnsfalse, the entire body subtree reportsSKIPPEDwith a configurable reason message. Build withConditional.builder(name, predicate).body(action).reason("...").build().@BeforeAlland@AfterAllannotations — New runner lifecycle hooks discovered during classpath scanning.@BeforeAllmethods execute once before any discovered test actions;@AfterAllmethods execute once after all tests complete. Both returnAction/Builder, same signature as@Factory. Hooks are ordered by@Priorityon their declaring class. When hooks are present, the root action is wrapped in aStaticwith before/after sequences.
Unreleased
Untilaction -- A new decorator action that executes a body repeatedly until aPredicate<Context>returnstrue, the body passes, ormaxIterationsis exhausted. Individual iteration failures do not terminate the loop. Whenuntil()is configured, onlyABORTEDor predicate satisfaction causes early termination; exhaustion reportsFAILED. Whenuntil()is absent, the loop stops when the body passes and reportsPASSED. Build withUntil.builder(name).body(action).until(predicate).maxIterations(n).build().
6.1.0 documentation baseline
These docs reflect the current source tree:
- Java 17+ core API under
org.paramixel.api. - Action trees are composable execution units executed by
Runner. - Configuration uses
paramixel.properties, JVM system properties, and programmaticConfigurationobjects. - Maven plugin artifact is
org.paramixel:maven-pluginwith goal prefixparamixeland goaltest. - Gradle usage is via a
JavaExectask that runsorg.paramixel.api.Runner. - Reports are enabled with
paramixel.report.file.
Migration guides are available for upgrading from 1.x, 2.x, 3.x, 4.x, 5.0.x, and 5.1.x directly to 6.x.