Skip to content

v0.3.0

Compare
Choose a tag to compare
@BenWoodworth BenWoodworth released this 29 Feb 21:36
· 13 commits to main since this release

Changes

  • Re-license Parameterize under Apache 2.0
  • Redesign parameterize {} to be an inline function
    • Now supports use with colored functions
      • #20 Support use with suspend code
      • @Composable functions in Jetpack Compose
    • Can now be used within Kotest DSLs
    • Cleaner stack traces
    • Non-local returns
  • Re-worked parameterize overloads to avoid instantiating configurations where the default configuration could be reused instead
  • Change default behavior to match that of normal loops
    • #21 Change default onFailure to not catch failures
  • #22 Replace contextual parameterize configuration with a better alternative
  • Change onFailure to run after the decorator has completed
    • Eliminates interaction between them, making it easier to reason about
  • Reorder the configuration options, so they're listed in the order they're executed
  • Expose the parameterize overload that takes only a configuration
  • Add parameter overloads that take a Sequence for arguments
  • Enable the parameter() API to be extended
    • Expose Parameter's constructor and arguments

Breaking Changes From v0.2

Contains breaking changes, and is incompatible with previous versions

Binary/source

  • ParameterizeContext and the contextual parameterize {} have been removed
  • decorator is now a suspend lambda
    • Accommodates parameterize being inline
    • Likely not a source-breaking change
  • parameterize(...) {} options have been re-ordered
    • Only source-breaking if unnamed arguments were used
  • parameter(Iterable) function is now top-level

Behavioral

  • onFailure no longer catches failures by default
  • decorator now completes before onFailure is invoked