Skip to content

Releases: BenWoodworth/Parameterize

v0.3.3

18 Sep 04:15
Compare
Choose a tag to compare

Fixes

  • Fix skipped iterations counting towards the total in ParameterizeFailedError's message

Changes

  • Add skipCount and successCount to the onComplete handler

v0.3.2

29 Aug 21:29
Compare
Choose a tag to compare

Fixes

  • Fix KProperty.equals on Wasm when validating declared parameters

v0.3.1

29 Aug 18:22
Compare
Choose a tag to compare

Changes

  • Update Kotlin to v2.0.20
  • Enable wasmJs and wasmWasi targets (#28)
  • Update the multi-failure summary to include the parameters for each failure (#30)

v0.3.0

29 Feb 21:36
Compare
Choose a tag to compare

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

v0.2.1

28 Nov 23:32
Compare
Choose a tag to compare

Changes

  • #4 Add a decorator configuration option, enabling shared "before each" and "after each" logic
  • #13 Better failure tooling on JVM, with multiple failures and expect/actual comparison
  • #12 More consistent and debuggable arguments, in case their computation fails

Dependencies

  • Kotlin updated to 1.9.21

v0.2.0

20 Nov 04:55
Compare
Choose a tag to compare

Changes

  • #11 Compute arguments iterator immediately, instead of on first use
  • #10 Support captured parameters being used after the iteration completes
    • A parameter's argument combinations will now always be iterated through, when previously unused parameters would be ignored

Fixes

  • With nested parameterize calls, ParameterizeException from the inner parameterize would also abort the unrelated outer parameterize

Breaking Changes From v0.1

  • No binary or source breaking changes
  • Only behavioral changes with the order parameter arguments are lazily computed

v0.1.0

06 Nov 21:15
Compare
Choose a tag to compare

First release!

With the core parameterize DSL, and configurable onFailure and onComplete handlers enabling failures to be recorded and a comprehensive error to be thrown afterwards.