Changelog

This is an automatic changelog based on notable changes to this project, check release notes for additional information.

0.6.0 (2026-05-20)

Release notes: release v0.6.0

Features

  • (ConstructorAssertion) Asserting property assignment and unit state #131 (a50afa)
  • (hasSetters) Support having with-prefix setters like builders #129 (0663b4)
  • Ability to set field- and method-exclusions during assertions #127 (947e6c)

Fixed

  • (UnitAssertion) IsImmutable should not require getters #128 (ba3ebf)

Refactor

  • Moving core.internal.reflection to common.reflection #123 (8de1dd)

0.5.0 (2026-05-03)

Release notes: release v0.5.0

Features

  • Ability to register temporary support during assertion #118 (dc9dc9)

0.4.0 (2026-04-19)

Release notes: release v0.4.0

Features

  • Ensuring full code coverage when testing equals-method #113 (2be797)
  • Users can now register their own support if needed #112 (120a88)
  • Support for immutable models with recursive/copy constructor #107 (397236)

Fixed

  • (HasGetters) Getter result should be compared with current value #109 (f4f770)
  • (HasSetters) Skip immutable fields in mixed models #108 (2704a6)

0.3.0 (2026-04-11)

Release notes: release v0.3.0

Features

  • Support JSON-like toString and multi-dimensional array values #103 (7baa8b)

0.2.1 (2026-04-06)

Release notes: release v0.2.1

Fixed

  • (ToString) Records toString with arrays differs from standard Arrays.toString (c171e9)

Documentation

  • CHANGELOG and assertions in github pages (9a902e)

0.2.0 (2026-04-06)

Release notes: release v0.2.0

Features

  • Support asserting immutable units and Java records #101 (8bbd36)
  • (ImplementsToString) More flexible, now accepts semicolon like JSON #100 (c4c66f)
  • (values) Support for internal java.util.concurrent package #98 (23c55f)
  • (values) Support for Java internal java.net package #97 (13b798)

Refactor

  • Break out utility for hash code #96 (3b0819)
  • Internal tests should extend AbstractUnitTest (6e36f1)

Other

  • Spotless and publish plugin (9a4821)

0.1.0 (2025-05-25)

Release notes: release v0.1.0

Features

  • Support for java internal java.time package #86 (b4ff7b)
  • Handling argument constructors with configurable dependency depth #63 (59c073)
  • Make reflective operations throw unchecked exception #53 (e1fd9f)
  • Making proxies from InterfaceValueGenerator comparable #51 (eb1567)
  • PlainObjectAssertion and needed refactor and tests #50 (f0f18e)
  • Prevent field-method collisions when booleans are involved #49 (8c4c7d)
  • ImplementsToString unit test #44 (b40e3c)
  • ImplementsHashCode unit test #37 (bb26bd)
  • (values) ValueGenerator supporting array values (450bc4)
  • (values) ValueGenerator supporting enum values (292ea7)
  • (values) Ability to handle recursive object constructors (8d2609)
  • (values) ValueGenerator generating from parameter constructors (d3339d)
  • More reflection tests to ensure functionality (4ae536)
  • ImplementsEquals unit test to check logic of equals method (069bf6)
  • HasGetters unit test (399e1b)
  • HasSetters test for asserting working setters (cfdb48)

Fixed

  • Setting null for recursive and cyclic parameters again (dab82f)
  • Field -> ReflectionException message (8f2138)
  • Error-prone tests when caching unit instances #38 (33b241)
  • HasGetters had unnecessary extra loop (7789a8)
  • Handle both nullable and non nullable objects in recursion (72dcf7)
  • Support recursive parameter regardless of helping generator (a0066f)

Refactor

  • Reviewing and finishing modules for first publish #92 (01bb69)
  • To accommodate performance and performance testing with JMH #65 (8dde68)
  • Clean up (6ec630)
  • Members have owning unit’s name in toString() already (f02dd1)
  • ImplementsEquals unit test #54 (13c688)
  • Reflection classes and setup, being more functional (99dd83)
  • Method reflection and tests (02456d)
  • Field reflection with tests (3b3d40)
  • (api) Exception -> error on blocking types (5dbacc)
  • (api and value) Api unsupported exception -> error and value module update (a3940a)