Changes

Release History

Version Date Description
1.10.1 2017-01-23 v1.10.1
1.10 2017-01-16 v1.10
1.9.1 2017-01-11 v1.9.1
1.9 2016-12-19 v1.9
1.8 2016-07-28 v1.8
1.7 2015-11-12 v1.7
1.6 2015-07-24 v1.6
1.5.1 2015-02-12 v1.5.1
1.5 2015-01-05 v1.5
1.4 2014-12-10 v1.4
1.3 2014-12-01 v1.3
1.2 2014-10-10 v1.2
1.1 2014-08-07 v1.1
1.0.2 2014-07-17 v1.0.2
1.0.1 2014-06-27 v1.0.1
1.0 2014-06-26 v1.0
0.9.8 2014-05-12 v0.9.8
0.9.7 2014-03-04 v0.9.7
0.9.6 2014-02-13 v0.9.6
0.9.5 2014-02-11 v0.9.5
0.9.4 2014-02-07 v0.9.4
0.9.3 2014-01-28 v0.9.3
0.9.2 2014-01-27 v0.9.2
0.9.1 2014-01-20 v0.9.1
0.9.0 2013-12-14 v0.9.0
0.8.6 2013-11-06 v0.8.6
0.8.5 2013-10-22 v0.8.5
0.8.4 2013-10-14 v0.8.4
0.8.3 2013-10-09 v0.8.3
0.8.2 2013-10-04 v0.8.2
0.8.1 2013-10-03 v0.8.1
0.8 2013-09-30 v0.8
0.7.1 2013-07-22 v0.7.1
0.7 2013-02-20 v0.7
0.6.2 2013-01-21 v0.6.2
0.6.1 2013-01-08 v0.6.1
0.6 2012-03-12 v0.6
0.5 2011-10-27 v0.5
0.4.5 2011-10-05 v0.4.5
0.4.4 2011-09-08 v0.4.4
0.4.3 2011-07-26 v0.4.3
0.4.2 2011-07-26 v0.4.2
0.4 2011-06-03 v0.4
0.3.2 2011-04-06 v0.3.2
0.3 2010-12-13 v0.3
0.2.20101111 2010-11-11 v0.2.20101111
0.2 2010-06-30 Initial version

Release 1.10.1 – 2017-01-23

Type Changes By
JSON/binary serialization fails to read in a double[][] written with meta type. Fixes #147. jodastephen

Release 1.10 – 2017-01-16

Type Changes By
Allow mutable light beans to control constructor scope. Fixes #145. jodastephen
Generated factory methods do not have Javadoc @return. Fixes #146. jodastephen
Ensure light bean builder handles arbitrary meta property implementations. Fixes #144. jodastephen
Avoid generating methods that have no advantage in private builders. Fixes #143. jodastephen
Light bean setters fail to work via bean abstraction. Fixes #142. jodastephen
Light meta bean field should be final. Fixes #141. jodastephen

Release 1.9.1 – 2017-01-11

Type Changes By
Scope of meta bean and builder should match scope of main bean. Fixes #140. jodastephen

Release 1.9 – 2016-12-19

Type Changes By
Add deserializer providers, to allow more extensibility in deserialization. Fixes #128. jodastephen
Extend concept of "light" beans to mutable. Light beans generate minimal code - no meta bean or builder. Fixes #139. jodastephen
Avoid NPE for mutable beans with builder. Fixes #138. jodastephen
Allow clone methods on immutable beans. jodastephen
Allow clone methods to be skipped during generation. Fixes #135. bcamel
Enhance Guava deserialization when using certain immutable collection types. Fixes #131. jodastephen
Incorrect config file for JDK 6. Fixes #134. andreas-schilling
Provide integration with Kryo serialization. Fixes #130. jodastephen
Add generation of static factory method. Fixes #123. jodastephen

Release 1.8 – 2016-07-28

Type Changes By
Allow scope of meta-bean to be controlled. Fixes #127. jodastephen
Optional properties on light beans did not report the correct property type. This caused serialization to fail. Also fix field-based access problems due to lack of setAccessible. Fixes #126. jodastephen
Handle JSON parsing where integer can be converted safely to double or float. Fixes #122. jodastephen
Add support for EnumSet. Fixes #125. jodastephen

Release 1.7 – 2015-11-12

Type Changes By
Change equals/hashCode/toString to use fields, not getters, for immutable beans. Allow equals/hashCode/toString to be controlled , including selectively omitted. Fixes #118, #121. jodastephen
Provide ability to generate ConstructorProperties annotation. Fixes #120. jodastephen
Allow tolerance to be set when comparing beans using BeanAssert. Additional methods on JodaBeanUtils provides tools for manual equals() methods. Fixes #117. jodastephen
Make bean parser more lenient. Handle open brace immediately following Bean or ImmutableBean in an implements clause. Fixes #116. jodastephen
Use configured prefix for cachedHashCode and propertyChangeSupport. Fixes #115. jodastephen
Avoid null check in array clone getters where possible. Fixes #114. jodastephen
Fix light-weight immutable bean generation. Generation needs to add call to register the meta-bean. Constructor location logic is now more lenient to handle interface/class separation. Fixes #111. jodastephen
Fix XML to read/write interface base keys. Handle case where interface does note extend Bean interface. Fixes #119. jodastephen

Release 1.6 – 2015-07-24

Type Changes By
Add light-weight immutable bean generation. Light-weight code generation using reflection to implement the bean methods. No Meta class or Builder is generated. Fixes #111. jodastephen
Add basic support for bound properties. Implementation only handles non-final properties on mutable beans. Fixes #78. jodastephen
Support package, protected and public scoped immutable constructors. Fixes #107. jodastephen
Support package-scoped builder classes. Fixes #109. jodastephen
Support package-scoped getters/setters. Fixes #108. jodastephen
Allow immutable builder property type to be manually controlled. Fixes #103. jodastephen
Enhance generation of varargs builder methods. Support "List<? extends Foo>" and "List<?>" Fixes #104. jodastephen
Generate documentation for builder methods based on user-written docs. Fixes #106. jodastephen
Fix code generation for immutable beans where there are two generic types and the types are linked. For example, Foo<A, B extends Comparable<A>>. Fixes #110. jodastephen

Release 1.5.1 – 2015-02-12

Type Changes By
Enable better test coverage. Fixes #102. jodastephen
Optimise JodaBeanUtils for hotspot inlining. Fixes #101. jodastephen

Release 1.5 – 2015-01-05

Type Changes By
Optimise internals of generated builders to use immutable collections. This avoids unnecessary copying and object creation. Fixes #96. jodastephen
Provide details of files changed by code generation. This allows tooling, such as the maven plugin, to be enhanced. Fixes #99. jodastephen
Standard format for exceptions in code generation. Dedicated exception type allows tooling, such as the maven plugin, to be enhanced. Fixes #98. jodastephen
Add related projects page to website. jodastephen
Fixed parsing of verbose command line flag. Fixes #97. andreas-schilling

Release 1.4 – 2014-12-10

Type Changes By
Add ImmutablePreBuild annotation. This handles the case where a property needs to be defaulted from the value of another property. In most cases, ImmutableDefaults and/or ImmutableValidator are sufficient. Fixes #95. jodastephen
Generate serialization version id. If the class implements Serializable and there is no manual serialVersionUID, then one will be generated. Fixes #94. jodastephen
Support Optional properties in serialization. If an optional property is used, support it in serialization. This works for everything except collection types. Fixes #93. jodastephen
Support Optional return type for getters of nullable properties. Allows the instance variable of a property to remain nullable (as recommended for Java 8) but with the getter returning an Optional wrapper. Simply declare the PropertyDefinition with 'get="optional"'. Fixes #92. jodastephen
Avoid including derived properties in equals/hashCode. Fixes #91. jodastephen
Add support for protected scope getters and setters. Fixes #90. jodastephen

Release 1.3 – 2014-12-01

Type Changes By
Fix bean generation to handle a lack of spaces in field initializers. Fixes #87. jodastephen
Fix bean generation to handle a property of a wildcard list type. While the need for this is rare, better processing is needed. The fix requires use of the PropertyDefinition "type" attribute in certain cases. Fixes #88. jodastephen
The generated hash codes had a flaw and the algorithm has been changed. Previously, they used (h += h * 31 + value.hashCode). Now, they use (h = h * 31 + value.hashCode). The incorrect version failed to generate unique hash codes when a bean mostly contained null properties. This causes all beans to regenerate. Fixes #89. jodastephen
Add varargs overrides for collections in immutable builders. Fixes #85. jodastephen
Fix code generation of immutable package-scoped beans. Fixes #86. jodastephen

Release 1.2 – 2014-10-10

Type Changes By
Add ability to iterate over all the beans within a bean. Depth-first iteration handling collections. Fixes #84. jodastephen
Fix parsing of class name with extends clause union types. Generic parameters on second and subsequent union types are not supported. Fixes #83. jodastephen
Add alias support to PropertyDefinition. A simple mechanism to handle property renames. Fixes #82. jodastephen
Fix parsing of class name with extends clause generics of type with two generic parameters. Fixes #81. jodastephen
Add option to allow property values to be defaulted on immutable beans. New annotation @ImmutableDefaults allows default values to be set. Fixes #80. jodastephen
Add option to allow hash codes to be cached. New attribute on @BeanDefinition allows caching of hash codes. Fixes #79. jodastephen

Release 1.1 – 2014-08-07

Type Changes By
Reduce scope of serialization helper classes. MsgPack, MsgPackInput, MsgPackOutput and JodaBeanXml. Backwards incompatible, but should not have been used. jodastephen
Add JSON round-trip serialization. Fixes #75. jodastephen
Use effective type exposed by Joda-Convert. Joda-Convert v1.7 exposes the effective type of the converted string. This can be more useful to use in serialization than the value type. For example, where a public interface has the `FromString` annotation and non-public subclass has the `ToString`. Fixes #76. jodastephen
Better documentation. Fixes #74. jodastephen
Fix to add @Override annotation on toBuilder(). Fixes #73. jodastephen

Release 1.0.2 – 2014-07-17

Type Changes By
Fix serialization to handle subclasses of enums. Fixes #72. jodastephen

Release 1.0.1 – 2014-06-27

Type Changes By
Fix immutable beans with private builders. Meta-Bean builder() method returned the private buidler. Fixes #70. jodastephen
Fix immutable builder setString() method to actually convert from a string. Fixes #69. jodastephen
Add JodaBeansUtils.notEmpty(Collection) and JodaBeansUtils.notEmpty(Map). Fixes #71. jodastephen

Release 1.0 – 2014-06-26

Type Changes By
Update docs for v1.0. jodastephen
Provide @ImmutableValidator to allow immutable constructors to be manually validated. Fixes #65. jodastephen
Generate Javadoc param tags for generic types in meta/builder. Fixes #68. jodastephen
Add getter/setter style of "field". As all access is direct to the field, a weird getter/setter can be used. Fixes #67. jodastephen
Remove Bean.clone(). Clashes with generic union types. Immutable beans no longer generate a clone method. Use JodaBeanUtils.clone(bean) instead. Fixes #66. jodastephen
Block immutable beans from using EnumBiMap, EnumHashBiMap, HashBiMap, EnumMultiset, HashMultiset, LinkedHashMultiset, TreeMultiset, ArrayListMultimap, LinkedListMultimap, HashMultimap, LinkedHashMultimap, TreeMultimap, SortedSetMultimap SparseGrid, DenseGrid. Change Multimap interface to use ArrayListMultimap, not HashMultimap, because ImmutableMultimap is list based. Fixes #64. jodastephen

Release 0.9.8 – 2014-05-12

Type Changes By
Enable selective use of Override annotation. Fixes #63. jodastephen
Undo deprecation of BasicImmutableBeanBuilder. jodastephen
Fix immutable beans builder method comment. Fixes #62. jodastephen
Enhance and fix 2D array support in serialization. Fixes #61. jodastephen
Enhance and fix meta-type support in serialization. Fixes #60. jodastephen

Release 0.9.7 – 2014-03-04

Type Changes By
Add support for Joda-Collect Grid interface. Fixes #59. jodastephen
Add support for Guava BiMap interface. Fixes #58. jodastephen
Handle collections in clone(). Fixes #55. jodastephen
Do not clone in getters of mutable beans for arrays and java.util.Date. Fixes #57. jodastephen
Add mime types for serialized formats. Fixes #56. jodastephen
Add support for Guava Table interface. Fixes #54. jodastephen

Release 0.9.6 – 2014-02-13

Type Changes By
Immutable subclass builders do not work. Immutable and builder-based beans will regenerate. Fixes #53. jodastephen
Bean builder should have getters. Immutable and builder-based beans will regenerate. Fixes #52. jodastephen
Deprecate BasicImmutableBeanBuilder. jodastephen
Support three generic parameters. Fixes #51. jodastephen

Release 0.9.5 – 2014-02-11

Type Changes By
More secure XML parsing. jodastephen

Release 0.9.4 – 2014-02-07

Type Changes By
Add Joda-Bean binary serialization based on MessagePack. Fixes #49. jodastephen
More flexible XML parsing wrt Joda-Convert. Handle a bean that has Joda-Convert annotations added, or vice versa. Fixes #50. jodastephen
Invalid code generated for an abstract @ImmutableBean. Fixes #48. jodastephen
Guava MultiSet serialized incorrectly. Was serializing using the set size, not the unique elements size. Fixes #47. jodastephen

Release 0.9.3 – 2014-01-28

Type Changes By
Choose known types in serialization carefully. Reduce the set from v0.9.2 as that set of types was too large. Fixes #46. jodastephen
Fix BeanComparisonError. Fixes #45. jodastephen

Release 0.9.2 – 2014-01-27

Type Changes By
Remove encodeClass/decodeClass from main serialization API. Fixes #44. jodastephen
Handle refactored beans in deserialization. Fixes #43. jodastephen
BasicBeanBuilder get(String) returns builder rather than the requested data. Backwards incompatible, but the old code is useless so will never have been used. Fixes #42. jodastephen
Ensure XML reader property closed. Fixes #41. jodastephen
Handle type renames in deserialization. Fixes #40. jodastephen
Short types flag not being used in JodaBeanSer. Fixes #39. jodastephen

Release 0.9.1 – 2014-01-20

Type Changes By
Fix immutable collection copies to preserve comparators. Affects SortedSet and SortedMap. Fixes #37. jodastephen
Remove incorrect suppress unchecked in immutable generic beans. Fixes #38. jodastephen

Release 0.9.0 – 2013-12-14

Type Changes By
Support partially final beans and immutable subclasses. This support is complex and not recommended, but sometimes necessary. Fixes #24. jodastephen
Recreate XMLInputFactory each time due to JDK bug JDK-8028111. Fixes #36. jodastephen
Fix to ensure nested class constructors are private if the type is final. May cause beans to regenerate. Fixes #35. jodastephen
Extend notNull validation to collection properties. May cause beans to regenerate. Fixes #34. jodastephen
Enhance PropertyStyle. Add isReadOnly(). Fixes #33. jodastephen
Add 'equalIgnoring' utility to compare two beans ignoring one or more properties. Fixes #32. jodastephen

Release 0.8.6 – 2013-11-06

Type Changes By
XML generation of beans with no fields broken. Affected COMPACT mode, not PRETTY mode. Fixes #30. jodastephen
FlexiMap should retain the order of properties. Use LinkedHashMap not HashMap. Fixes #31. jodastephen

Release 0.8.5 – 2013-10-22

Type Changes By
Fix code generation unchecked annotation when no writable properties. jodastephen
Allow beans to have two generic type parameters. Fixes #21. jodastephen
Fix code generation of private immutable builders. Fixes #26. jodastephen
Parse trailing comments on property definitions. Fixes #27. jodastephen

Release 0.8.4 – 2013-10-14

Type Changes By
Add setting to allow immutable builders to be private. Fixes #26. jodastephen
Avoid code generating two lines next to one another. jodastephen
Handle extra spaces in class/extends definitions. Fixes #25. jodastephen
Fix code generation for properties of generic type array. Where bean is Foo<T> and property is T[]. Also where immutable bean and property is T. Fixes #22. jodastephen
Bean toString should process arrays correctly. Fixes #23. jodastephen
Enhance handling of non-null and non-empty fields especially in immutable beans. See #20. jodastephen

Release 0.8.3 – 2013-10-09

Type Changes By
Immutable beans should handle nullable fields. Fixes #20. jodastephen
Generate an immutable bean with no properties correctly. jodastephen
Handle classes that are loaded but not initialized. Fixes #19. jodastephen

Release 0.8.2 – 2013-10-04

Type Changes By
Fix XML parsing of complex map entries. jodastephen
Handle multi-line class definition. Fixes #17. jodastephen
Fix FlexiBean serialization. Fixes #18. jodastephen
SerIteratorFactory off by one bug. jodastephen

Release 0.8.1 – 2013-10-03

Type Changes By
XML format no longer encodes tabs and newlines in elements. jodastephen
Allow private getters/setters using PropertyDefinition. jodastephen
Rename XML format map items to 'entry'. Allow map keys to be beans, using two 'item' elements beneath 'entry'. jodastephen
Extend analysis of collection/map generic types. jodastephen
Allow short types to be switched off. jodastephen
Handle simple types better when defined by unknown interface. jodastephen
Generate correct Javadoc for builder static method with generics. jodastephen
Allow known types to be built up during serialization. jodastephen
Permit XML format to omit root type. jodastephen
Output Joda-Convert data whenever available. jodastephen

Release 0.8 – 2013-09-30

Type Changes By
Move to OSGi generation via Maven plugin. jodastephen
Add XML round-trip serialization. Fixes #16. Allows the bean to be converted to and from XML in a human readable format. jodastephen
Enhance FlexiBean and MapBean. Fixes #15. These now work more like the original intention. Properties are always created on demand. FlexiBean property names are now validated to a minimal format. jodastephen
Identify Derived and Immutable properties at runtime. Fixes #14. Rename readWrite() to style() and PropertyReadWrite to ProperyStyle. Some existing beans may regenerate. jodastephen
Generate final classes for final beans. Fixes #13. Some existing beans may regenerate. jodastephen
Parse annotations above @PropertyDefinition as well as those below. Fixes #10. Some existing beans may regenerate. jodastephen
Add support for clone on beans.. Fixes #12. All existing beans will regenerate. jodastephen
Add support for immutable beans. Fixes #11. All existing beans will regenerate. jodastephen
Move location of equals/hashCode/toString methods in generation. All existing beans will regenerate. jodastephen
Allow generated beans to implement interface, rather than extend class. Fixes #9. Move propertyGet/propertySet/validate into meta-bean All existing beans will regenerate. jodastephen
Generate toString() methods. Fixes #8. All existing beans will regenerate. jodastephen
Optimize performance of generated equals for primitive numbers. Some existing beans will regenerate. jodastephen
Home page at GitHub. jodastephen

Release 0.7.1 – 2013-07-22

Type Changes By
Adjust code generation so can reformat in Eclipse without changing generated code. Existing beans will regenerate, even though the only change is one blank line. jodastephen
Add checkstyle jodastephen
Change to use m2e Maven Eclipse jodastephen

Release 0.7 – 2013-02-20

Type Changes By
Fix indentation issue in metaPropertyMap field. Existing beans will regenerate, even though the only change is indentation. jodastephen
Refactor BeanCodeGen to allow it to be used from tools. jodastephen
Fix command line arguments - -v -> -verbose. jodastephen

Release 0.6.2 – 2013-01-21

Type Changes By
Add getString() and setString() overrides that take a StringConvert instance. cjkent

Release 0.6.1 – 2013-01-08

Type Changes By
Add metaXxx(Class) method to work around Eclipse/javac/Intellij generics compiler issues. Existing beans will need regenerating. jodastephen
Allow derived property to be abstract or final. jodastephen
Set correct read/write flag for final fields. jodastephen

Release 0.6 – 2012-03-12

Type Changes By
Make generics more correct. jodastephen
Add builder methods based on meta-property. jodastephen
Move example code to correct location. jodastephen
Allow a property to be named 'map'. jodastephen
Handle empty comments correctly. jodastephen
Extend builder to support setting by string. lega

Release 0.5 – 2011-10-27

Type Changes By
Update to Joda-Convert v1.2 and use new feature to improve string conversion. jodastephen
DirectBean no longer extends BasicBean to simplify the hierarchy. jodastephen
Add BeanQuery and comparator support. jodastephen

Release 0.4.5 – 2011-10-05

Type Changes By
Handle generic subclasses better in JodaBeanUtils collection/map type extraction. jodastephen
Handle arrays in JodaBeanUtils equals method. jodastephen

Release 0.4.4 – 2011-09-08

Type Changes By
Fix JodaBeanUtils to handle collections and sets as well as lists. jodastephen

Release 0.4.3 – 2011-07-26

Type Changes By
Fix generation of non-collection final properties. jodastephen

Release 0.4.2 – 2011-07-26

Type Changes By
Add JodaBeanUtils.clone(). jodastephen
Add JodaBeanUtils.metaBean(), to lookup meta-bean by class. This requires regeneration of direct beans. jodastephen
Improve generation of imports. This may require regeneration of direct beans. jodastephen
Handle write-only properties better. This requires regeneration of direct beans. jodastephen
Allow conversion to and from a standard format string from meta-property. jodastephen

Release 0.4 – 2011-06-03

Type Changes By
Add basic validation support. jodastephen
Add derived property annotation and support. jodastephen
Add BeanBuilder concept. jodastephen
Refactor to improve equals/hashCode performance. jodastephen
Fix property/meta-property equals/hashCode. jodastephen
Enhance meta-property map. jodastephen

Release 0.3.2 – 2011-04-06

Type Changes By
Minor fixes. jodastephen

Release 0.3 – 2010-12-13

Type Changes By
Handle generic subclass of a generic class. jodastephen

Release 0.2.20101111 – 2010-11-11

Type Changes By
Handle subclass of a generic class. jodastephen

Release 0.2 – 2010-06-30

Type Changes By
Initial version. jodastephen

Back to top

Version: 1.10.1. Last Published: 2017-01-23.

Reflow Maven skin by Andrius Velykis.