Hi,
I've recently been working on PRs to bring support for JSpecify nullability standards into Lombok, and it's been entertaining.
Lombok is an amazing tool, and so many projects have a lot to thank Roel and Reinier for. So, thank you both.
From my experience and looking at the number of issues that don't have PRs - and PRs that are not engaged with, I think Lombok needs to become simpler to work with.
The key difficulties I found were getting up and running in a modern IDE, and having to indulge in some nostalgia by installing and using Eclipse when I needed to debug.
I propose that future contributions can be made notably simpler via a Lombok 2.0 release with the following changes:
- Support only non-LTS releases since the last LTS. i.e. at the moment we'd support JDK 26 and JDK 27-ea
- Drop support before JDK 17.
- Migrate the build to Gradle
This would:
- Allow use of all modern IDEs
- Allow the use of modern APIs within the JDK
- Allow some code paths to be simplified
- Provide a foundation for support around notable language changes coming such as value types and explicit nullability.
How open are you Roel and Reinier to a bold step like this?
Thanks,
Neale