BUGFIX: Version 1.18.14 could not be installed in Eclipse, it would break Eclipse.
BREAKING CHANGE: mapstruct users should now add a dependency to lombok-mapstruct-binding. This solves compiling modules with lombok (and mapstruct).
IMPROBABLE BREAKING CHANGE: The generated hashcode has changed for classes that include both primitive fields and reference fields.
FEATURE: Similar to @Builder, you can now configure a @SuperBuilder's 'setter' prefixes via @SuperBuilder(setterPrefix = "set") for example. We still discourage doing this. [Pull Request #2357](rzwitserloot/lombok#2357).
FEATURE: If using @Synchronized("lockVar"), if lockVar is referring to a static field, the code lombok generates no longer causes a warning about accessing a static entity incorrectly. [Issue #678](rzwitserloot/lombok#678)
FEATURE: The checkerframework support has been updated; the relevant annotations were renamed in checkerframework's APIs, lombok now generates the annotations according to their current API names.
PLATFORM: Improved support for recent JVM/javac versions (14 and 15) and new language features.
PERFORMANCE: Several performance improvements during parsing/compilation, both using javac and Eclipse. Thanks @Rawi01!
PERFORMANCE: The generated equals method will first compare primitives, then primitive wrappers and then reference fields. Manual re-ordering is possible using @Include(rank=n). [Pull Request #2485](rzwitserloot/lombok#2485), [Issue #1543](rzwitserloot/lombok#1543)
BUGFIX: Using val in combination with values whose generics include wildcards that reference themselves would cause a StackOverflowError in javac. [Issue #2358](rzwitserloot/lombok#2358).
Don't use this version. It is broken. Changes are listed under 1.18.16
v1.18.12
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](rzwitserloot/lombok#2174), [Issue #1805](rzwitserloot/lombok#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-less NullPointerException. 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](rzwitserloot/lombok#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 your lombok.config. Applies to the return value of toString, withX, chainable setX, static constructors, build, builder, etcetera, and the parameter of equals, canEqual, and the plural form of @Singular marked fields for builder classes. [Issue #788](rzwitserloot/lombok#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](rzwitserloot/lombok#2351)
BUGFIX: lombok.experimental.Wither has been deprecated (it has been renamed to lombok.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 on lombok.experimental.* worked; an explicit one would cause lombok to not generate any with method. [Issue #2235](rzwitserloot/lombok#2235)
BUGFIX: Referring to an inner class inside the generics on a class marked with @SuperBuilder would cause the error wrong number of type arguments; required 3 [Issue #2262](rzwitserloot/lombok#2262); fixed by github user @Lekanich - thank you!
BUGFIX: Some of the code generated by @Builder did not include this. 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](rzwitserloot/lombok#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 (the this reference in the javadoc is now rendered in a code tag).[Issue #2323](rzwitserloot/lombok#2323)
IMPROBABLE BREAKING CHANGE: Lombok now generates qualified types (so, Outer.Inner instead of just Inner) 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](rzwitserloot/lombok#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.
PLATFORM: using lombok.config files when compiling with sbt 1.4 now works again. [Issue #2645](rzwitserloot/lombok#2645)
v1.18.16 (October 15th, 2020)
BUGFIX: Version 1.18.14 could not be installed in Eclipse, it would break Eclipse.
BREAKING CHANGE: mapstruct users should now add a dependency to lombok-mapstruct-binding. This solves compiling modules with lombok (and mapstruct).
IMPROBABLE BREAKING CHANGE: The generated hashcode has changed for classes that include both primitive fields and reference fields.
FEATURE: Similar to @Builder, you can now configure a @SuperBuilder's 'setter' prefixes via @SuperBuilder(setterPrefix = "set") for example. We still discourage doing this. [Pull Request #2357](rzwitserloot/lombok#2357).
FEATURE: If using @Synchronized("lockVar"), if lockVar is referring to a static field, the code lombok generates no longer causes a warning about accessing a static entity incorrectly. [Issue #678](rzwitserloot/lombok#678)
FEATURE: The checkerframework support has been updated; the relevant annotations were renamed in checkerframework's APIs, lombok now generates the annotations according to their current API names.
PLATFORM: Improved support for recent JVM/javac versions (14 and 15) and new language features.
PERFORMANCE: Several performance improvements during parsing/compilation, both using javac and Eclipse. Thanks @Rawi01!
PERFORMANCE: The generated equals method will first compare primitives, then primitive wrappers and then reference fields. Manual re-ordering is possible using @Include(rank=n). [Pull Request #2485](rzwitserloot/lombok#2485), [Issue #1543](rzwitserloot/lombok#1543)
BUGFIX: Using val in combination with values whose generics include wildcards that reference themselves would cause a StackOverflowError in javac. [Issue #2358](rzwitserloot/lombok#2358).
Don't use this version. It is broken. Changes are listed under 1.18.16
v1.18.12 (February 1st, 2020)
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](rzwitserloot/lombok#2174), [Issue #1805](rzwitserloot/lombok#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-less NullPointerException. 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](rzwitserloot/lombok#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 your lombok.config. Applies to the return value of toString, withX, chainable setX, static constructors, build, builder, etcetera, and the parameter of equals, canEqual, and the plural form of @Singular marked fields for builder classes. [Issue #788](rzwitserloot/lombok#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](rzwitserloot/lombok#2351)
BUGFIX: lombok.experimental.Wither has been deprecated (it has been renamed to lombok.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 on lombok.experimental.* worked; an explicit one would cause lombok to not generate any with method. [Issue #2235](rzwitserloot/lombok#2235)
BUGFIX: Referring to an inner class inside the generics on a class marked with @SuperBuilder would cause the error wrong number of type arguments; required 3 [Issue #2262](rzwitserloot/lombok#2262); fixed by github user @Lekanich - thank you!
BUGFIX: Some of the code generated by @Builder did not include this. 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](rzwitserloot/lombok#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 (the this reference in the javadoc is now rendered in a code tag).[Issue #2323](rzwitserloot/lombok#2323)
IMPROBABLE BREAKING CHANGE: Lombok now generates qualified types (so, Outer.Inner instead of just Inner) 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](rzwitserloot/lombok#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.
v1.18.10 (September 10th, 2019)
PROMOTION: @Wither has been promoted to the main package, renamed to @With. Otherwise, no changes have been made to the annotation. The old experimental annotation will remain for a few versions as a deprecated annotation. If you had lombok.config configuration for this annotation, the configuration keys for this feature have been renamed.
FEATURE: You can now configure a custom logger framework using the new @CustomLog annotation in combination with the lombok.log.custom.declaration configuration key. See the log documentation for more information. [Pullrequest #2086](rzwitserloot/lombok#2086) with thanks to Adam Juraszek.
ENHANCEMENT: Thanks to Mark Haynes, the staticConstructor will now also be generated if a (private) constructor already exists. [Issue #2100](rzwitserloot/lombok#2100)
... (truncated)
Commits
b9f1f50 [versioning] pre-release version bump of the changelog as well
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
Bumps lombok from 1.18.2 to 1.18.18.
Release notes
Sourced from lombok's releases.
Changelog
Sourced from lombok's changelog.
... (truncated)
Commits
b9f1f50
[versioning] pre-release version bump of the changelog as well56d54bf
[versioning] pre-release version bumpe6d8665
[trivial] [build] .gitignore the jvm locations cachefileeecd1a3
Validate positions during testsa234a8e
[fixes #2691] Add end positions to all generated nodes04f17f4
Add to AUTHORS.648a56c
Improve Javadoc and consistently use SourceVersion.latest().4f36080
Fix inconsistency in lombok.toString.callSuper doc2e5ea51
[fixes #2443] Remove multiline Javadoc tagsb8d49a8
[fixes #2695] Create void literal properlyDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Automerge options (never/patch/minor, and dev/runtime dependencies) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)