Over the break I *may* get some time to work on the tooling improvements that Robert, Hervé and I identified for the jump to 4.0.0 (namely a better way to ensure api binary compatibility for the APIs that core exposes to plugins)
If I do get a chance to work on this, it’ll be in a branch until we think it’s “good enough”. The idea is to enable large scale lambdafication and other Java 8 improvements in core without breaking plugins. If we have good reliable tooling, then we hope to be able to encourage contributions (as you don’t need a CLA for an “obvious” ~10-15 line patch - intent to submit is sufficient) and get the code base more energised. -Stephen P.S. the existing api checker tools do not meet our needs as they check too much, we only want those classes exposed to plugins and extensions. I think animal sniffer might be closest to what we need - as it allows defining the signature scope - but it needs a different execution mode to do what we need: check that the signature is still valid for a specific classpath. P.P.S. I also might need to think about Java modules... eg would it make sense to use modules for Maven 5.0 as an alternative to classworlds? -- Sent from my phone