Coming from 0.1.x
While ducktape 0.2.x is not binary-compatible with ducktape 0.1.x it tries to be as source-compatible as possible with a few caveats (the following is a non-exhaustive list of source-incompatible changes that have a chance to be visible by the end users):
- instances of
TransformersandTransformer.Fallibleare NOT auto-deriveable anymore. Any code that relies on auto derivation of these should switch toTransformer.DerivedandTransformer.Fallible.Derived, - given definitions inside the companion of
TransformerandTransformer.Fallible(likeTransformer.betweenNonOptionOptionetc) are gone and should be replaced with calls toTransformer.deriveandTransformer.Fallible.derivewith appropriate types as the type arguments, -
the signature of
Mode[F]#traverseCollectionhas changed fromdef traverseCollection[A, B, AColl[x] <: Iterable[x], BColl[x] <: Iterable[x]](collection: AColl[A])(using transformer: FallibleTransformer[F, A, B], factory: Factory[B, BColl[B]] ): F[BColl[B]]to
def traverseCollection[A, B, AColl <: Iterable[A], BColl <: Iterable[B]]( collection: AColl, transformation: A => F[B] )(using factory: Factory[B, BColl]): F[BColl] BuilderConfig[A, B]is replaced by the union ofField[A, B]andCase[A, B], whileArgBuilderConfig[A, B]is replaced withField[A, B],FunctionMirroris gone with no replacement (it was pretty much a leaking impl detail).