- simplified the generated structure (potentially breaking)
- added build option, default is true
- beans: support for setterless collections
- beans: default step order is now alphabetic (breaking)
- remove field goal option (breaking)
- allow inheritance for beans
- beans: bugfix setterless collection w/generics
- beans/setterless collection: fix corner case with iterables
- beans: allow all-caps goal names (breaking)
- beans: fix generics bug
@Stepvalue now optional- added null checking via
@Step(nonNull = true)
- add goal-level nonNull option
- beans: add @Ignore annotation
- bugfix: elements of setterless collection should only be null-checked if nullCheck = true
- fields in bean builders are now PRIVATE
- detect and correct possible name collisions of local variables in generated code
- beans: remove null checking option of collection elements (breaking)
- beans: remove singleton list shortcut for lone getters (breaking)
- rename
collection()toemptyCollection()(beans) (lone getters) (breaking)
emptyCollection()convenience forjava.util.Setandjava.util.List
- allow package-visible beans
- add
builderAccessandtoBuilderAccessflags
- split off zerobuilder-api. api versions will be synchronous
- fix API inconsistency in RegularParameter.create
- GoalOptions: access level is now PUBLIC by default (api)
- remove guava dependency (api)
- add Access.PRIVATE (api)
- change nonNull attribute to nullPolicy (breaking)
- verify parameter match (api)
- forbid declared exeptions in accessors and projections (bugfix)
- forbid abstract bean (bean) (bugfix)
- forbid constructor goal in abstract class (bugfix)
- handle overloaded setters correctly (bean) (bugfix)
- replace booleans with enums (breaking) (api)
- add DtoProjectionInfo (breaking) (api)
- simplify the return type of Generator.generate (breaking) (api)
- allow projections to declare exceptions (value)
- changes to the generated structure: throw UnsupportedOperationException in unused constructors, use final fields where possible
- rename
toBuilder->updater(breaking) - rename
build()->done()(breaking)
- add ref counter (recycle) (issues-3)
- forbid updater=true for instance-method goal (bugfix)
- modulize the Java API
- ref tracking via boolean (recycle) (issues-3)
- free memory (recycle) (issues-1)
- add generics support for instance goals and static goals (issues-2)
- fix bugs in goals with type parameters
- allow constructor + type parameters (issues-2)
- allow generic update (issues-2)
- bugfix: updater was ignoring checked exception
- bugfix: generics + void
- remove emptyFoo convenience (breaking)
- bugfix generic instance
- allow goals with no parameters
- allow update for instance goals
- instance-update: rename static method fooBuilder -> fooBuilderFactory
- make @Builders annotation optional
- major change of the public interface (breaking)
- bugfix generic instance
- rename @Ignore -> @BeanIgnore (breaking)
- maintenance release
- update javadoc
- potentially fix a problem where references were not cleared in instance goal (recycle)
- preserve ordering of typevars (if any)
- bugfix generic instance
- bugfixes related to null checking
- updater: eager null checking in projections
- updater: null checking only in done method
- rename bean annotations (breaking)
- rename StepGetter -> GetterOrder (breaking)
- maintenance release after refactoring in module-generics
- add @Builder(style) option
- simplified the code generated by immutable/generics builder
- immutable builder: make step constructors private
- repeating 1.622 release (it did not sync to central)
- repeating 1.622 release (it did not sync to central)
- improved "missing projection" message
- null checking feature removed (use auto-value for this)
@Recyclewill fail the compilation, if not possible
- specify projection precedence
- consider isFoo projection only for boolean parameters (bugfix)
- rename @GetterOrder -> @Getter
- split into separate artifacts zerobuilder and zerobuilder-compiler
- also include annotation classes in compiler jar
- relocate the shaded javapoet classes
- bugfix where the return type of projection method was not validated