Fork me on GitHub

Changes in Pojomatic

Release 2.2.1 (2018-11-15)

  • Fix GitHub issue #16, which prevented Pojomatic from running on Java versions earlier than 9.

Release 2.2.0 (2018-11-04)

  • Move to using ASM 7, so that classes with nested classes compiled under JDK 11 or later can still be processed. Fixes GitHub issue #14.

Release 2.1.0 (2018-10-14)

  • Pojomatic now relies on ASM directly, instead of the repacked org.kohsuke:asm5 library. In particular, this means it is now compatible with Java versions 7 through 11. Moreover, as newer Java releases come out, it should be possible to upgrade to a newer ASM version without a new release of pojomatic. Fixes GitHub issue #10.
  • Pojomatic has been modularized under the name org.pojomatic. It can of course continue to be used as a jar, as well as now using it as a module. GitHub issue #13.
  • Fix GitHub issue #11 - generated doEquals method only considers properties also selected for hashCode.

Release 2.0.1 (2014-07-12)

  • Upgrade to ASM 5 to fix GitHub issue #4: Under Java8 ASM classreader fails.

Release 2.0 (2014-06-29)

Release 1.0 (2010-04-25)

Release 1.0-RC3 (2009-12-06)

  • Pojomatic.equals() now properly handles inheritance, including comparing instances of two separate child classes of a parent class (bug 2845939).
  • A Pojomator can now be created for an interface.
  • New annotations, OverridesEquals and SubclassCannotOverrideEquals SubclassCannotOverrideEquals help control how inheritance is handled.
  • Properties from the parent class now come before those of the child in equals calculations and in the toString() representation.
  • Pojomatic will no longer add a method property multiple times if it is overridden (even if the overridden method is explicitly annotated).
  • Pojomatic.diff no longer requires a non-null first argument.

Release 1.0-RC2 (2009-04-07)

  • A new method, Pojomatic.diff, will show top-level differences between two instances of a pojomated class.
  • The property name derived from a method such as getFoo() is now "foo" instead of "getFoo" in the default toString() representation.
  • Names of properties in the default toString() representation can be overridden via the name attribute on the Property annotation.
  • Static fields and methods are no longer picked up by @AutoProperty (bug 2739467)

Release 1.0-RC1 (2009-01-01)

  • Initial Release