> On Dec 16, 2019, at 12:59 PM, Raman Gupta <[email protected]> wrote:
>
> What is the point of releasing log4j 3.x if you only intend to make
> non-breaking changes? Is it just a marketing thing then?
We will be significantly impacting the implementation. We are breaking up core
into smaller modules. Until we upgraded 2.13.0 to Java 8 we had added stuff to
the API that couldn’t be implemented in Java 7. Since 2.13.0 is now on Java 8 a
lot of the new API stuff has been back ported, so I don’t expect much
difference there.
The main driver for 3.0 was always to break it up so that core didn’t have so
many optional dependencies. That dove-tailed with JPMS in Java 9 so that most
of Log4j could be proper JPMS modules.
I have also modified the plugin system to address problems that occur with JPMS
in finding them across modules - the plugin system no longer has a
Log4jPlugins.dat file. Instead it generates a class file containing the plugin
definitions which is loaded by the ServiceLoader.
So 3.0 really will be a significant change. But it should still support
anything that was compiled against 2.x.
Ralph