Skip to main content
Version: v1.1.x

v1.0.x

v1.0.29

Bug Fixes

  • Fix generating empty String with @Size annotation

v1.0.28

Features

  • Add support for hashCode, equals, toString in anonymous object
  • Add enableLoggingFail option to dismiss the failed logging in FixtureMonkeyBuilder
  • Add supporting for the is prefix boolean within javaGetter

v1.0.27

Features

  • Add enableLoggingFail option as a constructor argument in FailoverIntrospector

v1.0.26

Features

  • Add PriorityConstructorArbitraryIntrospector
  • Add korean method in MonkeyStringArbitrary

v1.0.25

Bug Fixes

  • Fix concurrency issue with string generation
  • Fix seed setting as annotated

v1.0.24

Features

  • Add new APIs that generates the unique value by Values.unique(Supplier) or CombinableArbitrary.unique()
  • Add @Seed to reproduce the randomly populated object in fixture-monkey-junit-jupiter module
.set("$[*]", Values.unique(() -> Arbitraries.integers().between(0, 3).sample()))
.<List<Integer>>customizeProperty(typedRoot(), CombinableArbitrary::unique)

Deprecations

  • Deprecate ElementJsonSubTypesObjectPropertyGenerator, PropertyJsonSubTypesObjectPropertyGenerator in fixture-monkey-jackson module. Please use the ElementJsonSubTypesConcreteTypeResolver, PropertyJsonSubTypesConcreteTypeResolver instead

v1.0.23

Features

  • Add the flexible option for complex usage in InterfacePlugin

Bug Fixes

  • Fix for generating Kotlin self-reference with default arguments

v1.0.22

Features

  • Add compatibility with ObjectPropertyGenerator and CandidateConcretePropertyResolver
  • Add regenerate when container is filtered

Deprecations

  • Deprecate the pushExactTypePropertyCandidateResolver option. Use InterfacePlugin instead

v1.0.21

Bug Fixes

  • Fix set ZoneId in Kotlin JDK21
  • Fix collection generation not throw exception
  • Fix decompose Java Kotlin functional interface

Deprecations

  • Deprecate the ObjectPropertyGenerator that modify child properties (e.g., InterfaceObjectPropertyGenerator, SealedTypeObjectPropertyGenerator, SingleValueObjectPropertyGenerator). Use ConcreteTypeCandidateConcretePropertyResolver, SealedTypeCandidateConcretePropertyResolver instead

v1.0.20

Features

  • Add support for multi-level inheritance of sealed class and sealed interface

Bug Fixes

  • Fix generation of enum implementations as a sealed class in JDK17
  • Fix JdkVariantOptions having higher priority than custom options

v1.0.19

Bug Fixes

  • Fix a SimpleValuePlugin "out of byte range" error when generate Byte

v1.0.18

Bug Fixes

  • Fix SimpleValueJqwikPlugin mismatching order with constructor and field

v1.0.17

Features

  • Add supporting Supplier type
  • Add a new Plugin SimpleValueJqwikPlugin for beginners, it provides a readable String, limited scope of Number and Date. It can customize them as well

Bug Fixes

  • Fix sealedInterface set not working after thenApply

Improvements

  • Modify the way a value class is used to output arbitrary value

v1.0.16

Features

  • Add resolve the candidate concrete type of container type

Bug Fixes

  • Fix register working on assignable type

v1.0.15

Features

  • Add ConcreteTypeDefinition in ArbitraryProperty
  • Add KotlinDurationIntrospector supporting generating a Duration type in Kotlin
  • Add a new Kotlin Exp expression for referencing root. e.g., set(String::root, "expected")

Bug Fixes

  • Fix setting a child of a concrete type to an abstract type

Deprecations

  • Deprecate getChildPropertiesByResolvedProperty and getChildPropertyListsByCandidateProperty (added in 1.0.14)

v1.0.14

Features

  • Add supporting value class with the private constructor
  • Add supporting for sealed class and sealed interface

Deprecations

  • Deprecate nullInject and childPropertyListsByCandidateProperty properties in ObjectNode. They would be moved to ArbitraryProperty

v1.0.13

Features

  • Add InterfacePlugin supports abstract classes through abstractClassExtends option

Bug Fixes

  • Fix setLazy with value wrapped by Just would not be manipulated
  • Fix missing required PropertyGenerator within introspectors

v1.0.12

Bug Fixes

  • Fix generating an object with the value class property

v1.0.11

Bug Fixes

  • Fix mutation of a generated object by FieldReflection, BeanArbitraryIntrospector

v1.0.10

Features

  • Add handling when using an ArbitraryIntrospector that does not match the property type. Add a log entry if the property is of a container type, and throw an exception if the property is of a concrete type
  • Add better support Kotest by modifying giveMeArb more Kotlin-like, by adding setArb API

Bug Fixes

  • Fix setting object field by any other type

Improvements

  • Refactor does not throw exception when it cannot generate, the next ArbitraryIntrospector will be used

v1.0.9

Features

  • Add customizing Wildcard type in an option

Bug Fixes

  • Fix the addExceptGenerateClass to be unaffected by the specific ArbitraryIntrospector used

Experimental

  • Add customizeProperty API in ArbitraryBuilder to customize generated value

v1.0.8

Bug Fixes

  • Fix setting child type when generating parent type

Improvements

  • Improve the error message with specific details about the failed type when generation fails

v1.0.7

Bug Fixes

  • Fix the fixture-monkey-kotlin module to be compatible with JDK 8

v1.0.6

Features

  • Fixture Monkey now infers properties when generating a type using a specific ArbitraryIntrospector that requires certain types of properties (Refer to the comment in ArbitraryGenerator#getRequiredPropertyGenerator)
  • Support generating an instance of a Kotlin type with a private constructor
  • Introduce InterfacePlugin featuring detailed interface options (interfaceImplements, useAnonymousArbitraryIntrospector option)

Deprecations

  • The interfaceImplements option in FixtureMonkeyBuilder is now deprecated. It will be moved in InterfacePlugin

v1.0.5

Bug Fixes

  • Fix ConstructorPropertiesArbitraryIntrospector to be able to generate a type that does not use Lombok
  • Fix FailoverIntrospector catching an exception thrown by declaring a CombinableArbitrary

v1.0.4

Improvements

  • Record types are generated using the canonical constructor by default

v1.0.3

Features

  • Introduce a new option pushJavaConstraintGeneratorCustomizer to customize the JavaConstraintGenerator option
  • Parallel execution is now supported with the jqwik engine

Bug Fixes

  • Fix the generation of decimal values, ensuring a minimum of 0, with the kotest-property engine

v1.0.2

Bug Fixes

  • Fix generating a record instance with 2 or more constructors

v1.0.1

Features

  • Add Exp DSL resolving an array element at a specific index

v1.0.0

Features

  • Add instantiate as stable API
  • Kotlin object generation with instantiateBy constructor, now utilizes the provided Kotlin constructor

Experimental

  • Add a new property selector javaGetter replacing String expression with type-safe method reference