Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 50 million developers.Sign up
- Issue #130, OpenPojo should now be able to be loaded and run in jdk > 1.8.
- Issue #132, Testing Serializable now supports strict as well as non-strict serialization validation.
- If you set Strict to true, and have an interface in your pojo, that interface must also extend serializable.
- Default serialization is not strict (useStrictValidation = false).
- PojoClass now supports getEnclosingClass if for nested classes, will return null if class isn't nested.
- Issue #119, OpenPojo was failing to construct non static nested class when class had declared constructor with non-generic parameters. (Thank to myron0815)
- Issue #127 Support for JUnit 5 @test annotation (Thanks to @icenfrosty)
- Issue #125 Support for ASM 7.0 (Thanks to @the4dk).
- Issue #113 Support for randomly generating BufferedImage. (Thanks to panosgit)
- Issue #95 AttributeHelper was stripping out the prefixes from fields regardless of registration scope (causing exceptions). Will now allow you to use the AttributeHelper registering Prefix as guidance not given, enabling you to migrate out of your prefix architecture if needed. (Thanks to Yky)
- Better version detection for ASM versions, there was a corner case when ASM pre-5.0 was loaded causing unexpected failure due to changes in ASM pre-5. OpenPojo will now throw appropriate exception if ASM pre-5.0 is detected or 6.0 or higher.
- Removed an accidental include of Log4J logger in SerializableTester, now its logging appropriately to OpenPojo's logging framework.
- Fixed an issue when abstract classes were failing generation for testing.
- Minor fixes to PrincipleName random generation to make it more robust on JDK 1.5.
- Serializable tester, now you can test all your serializables by adding "SerializableTester" to the validator, did you know you can also enumerate all serializables in your code with this one call:
PojoClassFactory.enumerateClassesByExtendingType("your.top.level.package", Serializable.class, null);
- OpenPojo will now generate stub methods for all abstract methods in an abstract class being tested. Those methods will return random values based on the return type.
- Issue #102 Now you can pull the PojoClass if you have the PojoField.
- Issue #89 If an abstract class was being tested and during one of the methods being tested a call toString() was made and toString() was declared abstract, an error used to be thrown, now OpenPojo will dispatch the toString() to BusinessIdentity.toString() to print the class name and memory address per standard. While trouble shooting this issue also fixed an issue when an abstract class under testing had constructor(s) defined that had parameters in them was throwing errors. (Thanks to Michel W.)
- Issue #107 When a erroneously detecting serialVersionUID was a shadowed field. (Thanks to Henrik V.)
- Issue #112 Failure for OpenPojo to randomly generate appropriate XMLGregorianCalendar object.
- Issue #109, OpenPojo will now initialize all @BusinessKey fields when generating a Pojo that declares such fields.
- Issue #83, EqualsAndHashCodeMatchRule a new rule that ensures that either both equals & hashCode are implemented or neither is. (Thanks to Eulbobo)
- Issue #86, Validator now returns a list of classes validated when calling by "packageName" so caller can inspect and ensure validation has actually occurred and against which classes.
- Issue #109, OpenPojo will no longer throw errors when attempting to test Pojo's that have Set fields with that hold Pojo's that utilize BusinessKeys.
- Issue #108, OpenPojo will no longer depend on just "sun.boot.class.path" nor will it throw null pointers if it is not set. (Thanks to JohnZavyn)
- Issue #100, OpenPojo will successfully create dynamic subclasses from an abstract class. (Thanks to lennartnederstigt)
- Issue #88, GetterMustExist now skips synthetic fields. (Thanks to mkonstantinou)
- Issue #92, OpenPojo's NoFieldShadowingRule rule will now not erroneously detect serialVersionUID as a field being shadowed. Additionally, NoFieldShadowingRule now supports list of fieldNames to skip. (Thanks to sixcorners)
- OpenPojo now has the ability to enumerate classes from java BootClassLoader.
- Issue #98, support for java.util.TimeZone random generation added (Thanks to Ignacio L.)
- Issue #84, support for sun.security.krb5.Credentials random generation added.
- Issue #96 Support for generating random values for java.time.Instant added (Thanks to sixcorners)
- Issue #85, OpenPojo now correctly handles a single dimension array when the array type is primitive (Thanks to Todd C.)
- BusinessIdentityTester is now thread safe.
- Issue #78, PojoClass, PojoMethod & PojoField now all support isPackagePrivate() as well as isPrivate(), isProtected(), isPublic().
- Issue #79, PojoField now supports getGetter() & getSetter(). (Thanks to Chris D.)
- When attempting to generate subclass for Abstract class, OpenPojo was throwing class not found instead of the friendly message about including asm to the classpath.
- Issue #81, inability to load all classes from a package recursively when a method or field was linking to missing class, now OpenPojo will warn about the missing class but will return the list of classes it was able to load.
- Issue #82, support for randomly generating ZonedDateTime class from Java8. (Thanks to Shawn S.)
- Issue #82, support for randomly generating ZonedId class from Java8. (Thanks to Shawn S.)
- EnumSetRandomGenerator classes which had been deprecated as the functionality had been moved to Set generators.