Release History

Version Date Description
2.10.0 2023-09-11 v2.10.0
2.9.2 2023-05-29 v2.9.2
2.9.1 2023-05-25 v2.9.1
2.9.0 2023-05-24 v2.9.0
2.8.3 2022-08-02 Version 2.8.3
2.8.2 2022-04-20 Version 2.8.2
2.8.1 2020-10-20 Version 2.8.1
2.8.0 2020-02-26 Version 2.8.0
2.7.1 2019-06-04 Version 2.7.1
2.7.0 2019-06-03 Version 2.7.0
2.6.2 2019-05-15 Version 2.6.2
2.6.1 2019-05-08 Version 2.6.1
2.6.0 2019-04-05 Version 2.6.0
2.5.0 2019-02-28 Version 2.5.0
2.4.0 2019-01-17 Version 2.4.0
2.3 2018-08-10 Version 2.3
2.2.2 2018-06-13 Version 2.2.2
2.2.1 2018-06-08 Version 2.2.1
2.2 2018-03-13 Version 2.2
2.1 2018-02-19 Version 2.1
2.0.2 2017-10-05 Version 2.0.2
2.0.1 2017-09-26 Version 2.0.1
2.0 2017-09-20 Version 2.0
1.14 2017-09-20 Version 1.14
1.13 2017-05-04 Version 1.13
1.12 2017-04-10 Version 1.12
1.11 2017-03-29 Version 1.11
1.10.1 2017-01-23 Version 1.10.1
1.10 2017-01-16 Version 1.10
1.9.1 2017-01-11 Version 1.9.1
1.9 2016-12-19 Version 1.9
1.8 2016-07-28 Version 1.8
1.7 2015-11-12 Version 1.7
1.6 2015-07-24 Version 1.6
1.5.1 2015-02-12 Version 1.5.1
1.5 2015-01-05 Version 1.5
1.4 2014-12-10 Version 1.4
1.3 2014-12-01 Version 1.3
1.2 2014-10-10 Version 1.2
1.1 2014-08-07 Version 1.1
1.0.2 2014-07-17 Version 1.0.2
1.0.1 2014-06-27 Version 1.0.1
1.0 2014-06-26 Version 1.0
0.9.8 2014-05-12 Version 0.9.8
0.9.7 2014-03-04 Version 0.9.7
0.9.6 2014-02-13 Version 0.9.6
0.9.5 2014-02-11 Version 0.9.5
0.9.4 2014-02-07 Version 0.9.4
0.9.3 2014-01-28 Version 0.9.3
0.9.2 2014-01-27 Version 0.9.2
0.9.1 2014-01-20 Version 0.9.1
0.9.0 2013-12-14 Version 0.9.0
0.8.6 2013-11-06 Version 0.8.6
0.8.5 2013-10-22 Version 0.8.5
0.8.4 2013-10-14 Version 0.8.4
0.8.3 2013-10-09 Version 0.8.3
0.8.2 2013-10-04 Version 0.8.2
0.8.1 2013-10-03 Version 0.8.1
0.8 2013-09-30 Version 0.8
0.7.1 2013-07-22 Version 0.7.1
0.7 2013-02-20 Version 0.7
0.6.2 2013-01-21 Version 0.6.2
0.6.1 2013-01-08 Version 0.6.1
0.6 2012-03-12 Version 0.6
0.5 2011-10-27 Version 0.5
0.4.5 2011-10-05 Version 0.4.5
0.4.4 2011-09-08 Version 0.4.4
0.4.3 2011-07-26 Version 0.4.3
0.4.2 2011-07-26 Version 0.4.2
0.4 2011-06-03 Version 0.4
0.3.2 2011-04-06 Version 0.3.2
0.3 2010-12-13 Version 0.3
0.2.20101111 2010-11-11 Version 0.2.20101111
0.2 2010-06-30 Initial version

Release 2.10.0 – 2023-09-11

Type Changes By
The jar file is now a multi-release jar file, with the module-info file moved. jodastephen
The classic jar file (without module-info.class) is no longer produced. jodastephen

Release 2.9.2 – 2023-05-29

Type Changes By
Allow generics in metaImplements. jodastephen

Release 2.9.1 – 2023-05-25

Type Changes By
Remove erroneous assertj dependency. jodastephen

Release 2.9.0 – 2023-05-24

Type Changes By
Add 'metaImplements' bean definition option that allows meta beans to implement an interface. jodastephen
Allow IDEs to generate @Override tags without Joda-Beans removing them on regeneration. jodastephen
Switch master to main. jodastephen
Switch LGTM to CodeQL. jodastephen

Release 2.8.3 – 2022-08-02

Type Changes By
Fix bug in referencing deserialization. Fixes #235. martynassateika
Update dependencies. jodastephen

Release 2.8.2 – 2022-04-20

Type Changes By
Avoid NPE in `MetaBeans`. jodastephen
Update Guava dependency. jodastephen

Release 2.8.1 – 2020-10-20

Type Changes By
Add 'eol' command line argument to control the end-of-line character. Fixes #227. biteytech
Ensure meta-bean only registered once. Fixes #226. jodastephen

Release 2.8.0 – 2020-02-26

Type Changes By
Provide ability to copy a bean to a builder of a different type. See JodaBeanUtils.copy(Bean, Class). jodastephen
Add MetaBeanProvider annotation for more flexible meta-bean lookup. cjkent
Fix mutable beans where the subclass has no properties. Fixes #210, #221. jodastephen
Fix binary serialization of Joda-Convert types with intermediate interfaces in referencing format. Fixes #224. wjnicholson
Fix toString() to include derived properties. Fixes #220. wjnicholson
Handle repeated annotations more cleanly. Fixes #211. jodastephen
Call JodaBeansUtils.toString() on all properties, not just the last. jodastephen

Release 2.7.1 – 2019-06-04

Type Changes By
Fix manual builders when used with minimal style. jodastephen

Release 2.7.0 – 2019-06-03

Type Changes By
Add smart reader, that dynamically works out the format of the input. jodastephen
Provide the ability to manually write a builder. jodastephen
New command line flag -generated to add @Generated annotation. Fixes #209, #149 jodastephen
Change XML parsing to share factory. The JDK bug was fixed many years ago now, please use JDK 8u20 or later to avoid issues. jodastephen
Fix referencing binary format for serialized nulls. Fixes #207. wjnicholson

Release 2.6.2 – 2019-05-15

Type Changes By
Fix referencing binary format for serialized nulls. Fixes #205. wjnicholson

Release 2.6.1 – 2019-05-08

Type Changes By
Fix referencing binary format for interfaces serialized via Joda-Convert. Fixes #204. wjnicholson
Update Joda-Convert version. jodastephen

Release 2.6.0 – 2019-04-05

Type Changes By
Add referencing binary format that typically uses less space. Fixes #203. wjnicholson
Ensure that annotations are parsed correctly on fields. jodastephen
Ensure that all annotations are available at runtime. jodastephen

Release 2.5.0 – 2019-02-28

Type Changes By
Ensure that builders on mutable beans are handled correctly. Create `toBuilder()` methods and fix case where empty parent bean didn't compile. Fixes #200. jodastephen
Fix handling of deprecated properties. Ensure that Javadoc tag is not output twice. Move the tag to be output last, after other tags. Fixes #201. jodastephen

Release 2.4.0 – 2019-01-17

Type Changes By
Add ability to serialize XML to an `Appendable`. Deprecate existing `writeToBuffer()` methods. See #196. wjnicholson
Add Tidelift commercial support and security policy. jodastephen

Release 2.3 – 2018-08-10

Type Changes By
Allow deserializers to be registered in config files. jodastephen
Avoid NullPointerException in finally block. jodastephen

Release 2.2.2 – 2018-06-13

Type Changes By
Parse class headers spread over multiple lines. Fixes #191. jodastephen
Update Guava and Joda-Collect versions. jodastephen

Release 2.2.1 – 2018-06-08

Type Changes By
Allow primitive integral types to be deserialized into floating point properties. Fixes #190. jodastephen

Release 2.2 – 2018-03-13

Type Changes By
Ensure tests and functionality work correctly on Java 9. jodastephen
Fix light and minimal beans to respect aliases. Aliases are useful for handling the rename of properties. Fixes #187. jodastephen
Add classic jar file for those that can't handle module-info.class. Fixes #188. jodastephen

Release 2.1 – 2018-02-19

Type Changes By
Remove integration projects - Freemarker, Kryo, Mongo. These are now available as separate Maven artifacts, see jodastephen
Add module-info for Java 9. Fixes #180. jodastephen
Allow serialization of derived properties. Use JodaBeanSer::withIncludeDerived(true). Fixes #183. jodastephen
Change serialization format of simple JSON. Primitive arrays are now output in standard JSON format, not as a string. Any byte arrays are still output as base-64. Simple map format was also changed to retain the arrays. Fixes #186. jodastephen
Handle double space in field definitions. Fixes #182. jodastephen
Handle wildcards better when looking up generic types. Fixes #185. jodastephen
Avoid NPE when parsing JSON. If the generic type of the key could not be decoded, NPE could result. Fixes #184. jodastephen
Fix error message for table/grid. Fixes #179. jodastephen
Fix serialization issues for collections. ImmutableSortedMap now works. Collections where the generic is `Comparable` now work. jodastephen
Update and redesign build to support Java 9. jodastephen

Release 2.0.2 – 2017-10-05

Type Changes By
Fix cached hash code to be transient. It must not be serialized. Fixes #177. jodastephen

Release 2.0.1 – 2017-09-26

Type Changes By
Fix minimal and light beans. Code erroneously assumed reflection returns fields in source code order. Fixes #176. jodastephen
Ensure that properties stay in order. Use LinkedHashMap instead of HashMap where necessary. jodastephen

Release 2.0 – 2017-09-20

Type Changes By
Move to Java 8. Change light beans from reflection to method handles. Change minimal beans to not have generated meta-bean class and disallow subclasses. Fixes #155. jodastephen
Use diamond operators in generated code. Fixes #5. jodastephen
Add @SafeVarargs annotation. Fixes #156. jodastephen
Change BeanBuilder.get to use meta property type. Fixes #152. hackmann
Remove comments for Clover ON/OFF. Use the AUTOGENERATED START/END comments instead. Fixes #157. jodastephen
MetaBean must pass type of bean to builder. This is needed when the meta-bean is not generated. Fixes #158. jodastephen
Ensure light beans default empty collections. Fixes #148. jodastephen
Remove deprecated methods. jodastephen
Additional meta-bean methods - isBuildable(), of(Class), annotations(), annotation(Class). Fixes #161. jodastephen
Register meta-beans via MetaBean.register(). Deprecate old way on JodaBeanUtils. Fixes #166. jodastephen
Add methods to assist with test coverage. Force coverage of Joda-Beans branches so the coverage percentage is more meaningful. jodastephen
Add `Automatic-Module-Name` into `MANIFEST.MF`. Locks in module name for Java SE 9. Fixes #175. jodastephen

Release 1.14 – 2017-09-20

Type Changes By
Generate property change as `final transient`. Fixes #173. mediahype
Handle multi-line annotations after `@PropertyDefinition`. This simply looks for a comma at the end of the previous line, which isn't perfect but better than nothing. Fixes #174. jodastephen

Release 1.13 – 2017-05-04

Type Changes By
Add lenient mode for deserialization, see `SerDeserializers`. This allows unknown properties and some invalid types to be ignored. Fixes #170. jodastephen

Release 1.12 – 2017-04-10

Type Changes By
Support derived properties on light and minimal beans. Fixes #169. jodastephen
Avoid warnings with generated code setString() and setAll(). Fixes #168. jodastephen
Add notBlank validation. Fixes #167. jodastephen

Release 1.11 – 2017-03-29

Type Changes By
Ensure builder calls super constructor in hierarchy. Fixes #150. hackmann
Rename config file from "jdk6" to "jdk". Fixes #163. jodastephen
ToString style of 'omit' did not affect builder. Fixes #164. jodastephen
Serialize to/from a Map of Maps. Fixes #159. jodastephen
Deprecate PropertyMap, use JodaBeanUtils.flatten(bean) or BasicPropertyMap.of(bean). jodastephen
Deprecate BeanQuery, use functional interfaces in Java SE 8. jodastephen
Deprecate BeanBuilder methods - setString() and setAll(). jodastephen
Redesign reflective meta-bean. Fixes #160. jodastephen

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: 2.10.0. Last Published: 2023-09-11.

Reflow Maven skin.