For my 2c, the better internals are not going to motivate the majority of users to update to 3.0, features are. It might be different for plugin authors, but how many of those are there? My guess is a minuscule amount. I agree that 2.x should live for a long long time, and should be able to coexist with 1.x and 3.x.
Gary Gary On Mon, Apr 18, 2022, 14:56 Piotr P. Karwasz <piotr.karw...@gmail.com> wrote: > Hi Volcan, > > On Sun, 17 Apr 2022 at 22:42, Volkan Yazıcı <vol...@yazi.ci> wrote: > > > 1. I was working on LOG4J2-3082 (support external serializers, e.g., > > Jackson, in JTL) and there I needed `@RequiredClass`. Ralph already > > implemented this in `master`, I just need to copy it to `release-2.x`, > > after all it is just a `@ConstraintValidator`, right? Right... But it > > simply won't work. Because JTL, as `PatternLayout`, uses > > `PluginManager` to > > load plugins and that doesn't support `@ConstraintValidator` et al.?! > > I've > > discussed this with Matt and we came to the conclusion that porting > the > > new > > plugin infra from 3.x to 2.x is easier compared to fixing the problem > in > > 2.x. > > > > Maybe this can be solved in other ways. For example we could have a: > 1. `SerializerFactory` with multiple implementations each one in a separate > module, > 2. You use the `ServiceLoaderUtil` to find an implementation or you use the > internal one if there are none. > > I think that the dependency injector is a feature that should stay in 3.0 > to motivate people to move from 2.x. > > Piotr >