Changes
Release History
Version | Date | Description |
---|---|---|
2.11.1 | 2024-08-01 | v2.11.1 |
2.11.0 | 2024-05-23 | v2.11.0 |
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.11.1 – 2024-08-01
Type | Changes | By |
---|---|---|
Allow deserialization to handle numbers greater than the capacity of an int. | jodastephen |
Release 2.11.0 – 2024-05-23
Type | Changes | By |
---|---|---|
Add `PropertyPath` class, allowing multi-stage property lookups. | jodastephen | |
New methods on MetaBean and MetaProperty to query an annotation, returning Optional. | jodastephen | |
DirectBean annotation lookup now handles derived properties correctly. | jodastephen |
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 https://github.com/JodaOrg/joda-beans-integrate. | 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 |