- FEATURE: Private no-args constructor for
@Data
and @Value
to enable deserialization frameworks (like Jackson) to operate out-of-the-box. Use lombok.noArgsConstructor.extraPrivate = false
to disable this behavior.
- FEATURE: Methods can now be marked for inclusion in
toString
, equals
, and hashCode
generation. There is a new mechanism to mark which fields (and now, methods) are to be included or excluded for the generation of these methods: mark the relevant member with for example @ToString.Include
or @EqualsAndHashCode.Exclude
. ToString documentation EqualsAndHashCode documentation
- FEATURE:
@Getter
and @Setter
also allow onMethod
and onParam
when put on a type.
- FEATURE:
@FieldNameConstants
is a new feature that generates string constants for your field names. Docs on @FieldNameConstants.
- PLATFORM: Lombok can be compiled on JDK10, and should run on JDK10.
- PLATFORM: lombok now counts as an incremental annotation processor for gradle. Should speed up your gradle builds considerably!
- PLATFORM: Fix for using lombok together with JDK9+'s new
module-info.java
feature.
- BUGFIX: Solved some issues in eclipse that resulted in error 'A save participant caused problems'.
- BUGFIX: Netbeans on jdk9.
- BUGFIX: Netbeans < 9.
- PROMOTION:
var
has been promoted from experimental to the main package with no changes. The 'old' experimental one is still around but is deprecated, and is an alias for the new main package one. var documentation.
- OLD-CRUFT:
lombok.experimental.Builder
and lombok.experimental.Value
are deprecated remnants of when these features were still in experimental. They are now removed entirely. If your project is dependent on an older version of lombok which still has those; fret not, lombok still processes these annotations. It just no longer includes them in the jar.