In general, I agree. Moving to newer Java versions is a must, and also a requirement to upgrade Guava, Guice, and Gson to newer versions, which are the main dependencies we have.
Guava and Gson were challenging because there were some backward-incompatible changes with OSGi, as they made some packages we heavily use, unexpected. That was one of the main blockers for us upgrading that (although we hacked that somehow by shading what we needed). The other major upgrade is Guava. I recall trying to upgrade it and having some JDK-related issues that are fixed in Java 9+, but builds failed with Java 9 for other reasons. It's not an easy task, and something I think we should to in one shot. To that end, I'd propose the following actionable steps: * Identify what is the minimum Java version we want to support. I think we could even drop Java 8 and require 9+, but I'm a bit outdated in the Java world EOLs, etc, so I really can't have an informed say there. * Figure out to which versions we can upgrade our dependencies. This is a modernization change for our codebase and it will be a major release. We can break backward compatibility if needed, so let's pick the most recent versions we can. * Implement it :P Even the first two will require some research time and (honestly) I can't commit to that. I have very limited time to help these efforts beyond code reviews, helping mentor anyone from the community, or running sporadic tests, but I'll try to do my best to help. I. On Sun, May 3, 2020 at 8:42 PM Andrew Phillips <aphill...@qrmedia.com> wrote: > Given the comments so far, would it make sense to consider: > > 1. Move to (only) Java 8 > 2. Update library dependencies > > as the top 2 issues to focus on? > > Regards > > ap >