- PLATFORM: Support for JDK13 (including
yield
in switch expressions, as well as delombok having a nicer style for arrow-style switch blocks, and text blocks). - PLATFORM: Support for JDK14 (including
pattern match
instanceof expressions). - FEATURE: In
lombok.config
it is possible to import other config files, even from a.zip
or.jar
. - FEATURE: You can now configure a builder's 'setter' prefixes via
@Builder(setterPrefix = "set")
for example. We discourage doing this, but if some library you use requires them, have at it. Pull Request #2174, Issue #1805. - FEATURE: If you use
@Builder
's@Singular
, a plural form is also generated, which has the effect of adding all elements in the passed collection. If you pass a null reference, this would result in a message-lessNullPointerException
. Now, it results in that exception but with a useful message attached (uses the same config as@NonNull
), or alternatively via a parameter on@Singular
, you can choose to ignore such a call (add nothing, return immediately); this can be useful when deserializing (e.g. Jackson JSON) and JPA/Hibernate code. Issue #2221. singular documentation. - FEATURE: Tired of being unable to use
@javax.annotation.ParametersAreNonnullByDefault
or@org.eclipse.jdt.annotation.NonNullByDefault
because then the equals method that lombok generates isn't valid? Fret no more; lombok can now add nullity annotations where relevant. Set the flavour of nullity annotation you prefer in yourlombok.config
. Applies to the return value oftoString
,withX
, chainablesetX
, static constructors,build
,builder
, etcetera, and the parameter ofequals
,canEqual
, and the plural form of@Singular
marked fields for builder classes. Issue #788 - BUGFIX: If using the sonarlint plugin in eclipse for projects bound to sonarcloud, you now no longer get internal errors on sonarlint processing. Issue #2351
- BUGFIX:
lombok.experimental.Wither
has been deprecated (it has been renamed tolombok.With
). However, the intent is that lombok still handles the old annotation in case you haven't updated your lombok dep yet. However, only a star import onlombok.experimental.*
worked; an explicit one would cause lombok to not generate any with method. Issue #2235 - BUGFIX: Referring to an inner class inside the generics on a class marked with
@SuperBuilder
would cause the errorwrong number of type arguments; required 3
Issue #2262; fixed by github user@Lekanich
- thank you! - BUGFIX: Some of the code generated by
@Builder
did not includethis.
prefixes when accessing fields. While semantically it didn't matter, if you use the 'add this prefix for field accesses' save action in eclipse, the save action would break. Issue #2327 - BUGFIX: When lombok copies javadoc from fields to relevant methods, it should generate an appropriate
@return this
line if lombok copies the javadoc to a generated setter that is chainable (returns itself). It didn't do that when generating the 'setters' in a@Builder
. Lombok also didn't generate an appropriate@return
item for@With
methods. The javadoc has also been updated slightly (thethis
reference in the javadoc is now rendered in a code tag).Issue #2323 - IMPROBABLE BREAKING CHANGE: Lombok now generates qualified types (so,
Outer.Inner
instead of justInner
) in most type signatures that it generates; this should avoid exotic scenarios where the types lombok puts in signatures end up referring to unintended other types, which can occur if your class implements an interface that itself defines a type with the same name as one defined in your source file. I told you it was exotic. Thanks to Hunter Anderson for doing some preliminary work on this change. Issue #2268 - IMPROBABLE BREAKING CHANGE: Running
java -jar lombok.jar config -v <files>
no longer shows which files do not mention the specified keys. Use--non-mentioned
or-n
to show them anyway.