Weld 4.0.1.SP1 and 3.1.7.SP1
Thanks to your reports, several flaws were discovered in the new class defining for JDK 11+. We have addressed those issues and because we reckon they are potentially blocking, we have released Weld 3.1.7.SP1 and 4.0.1.SP1.
Two main issues were:
-
Producers returning an interface type could sometimes try to define a proxy class with invalid name (WELD-2662)
-
Similar thing could happen for inner classes which should now work as well
-
-
Proxy class names for hierarchical type structures of interfaces could lead to a jumbled combination of package and name (WELD-2666)
-
Part of this fix is also an improvement wherein Weld actively tries to define new proxies into non-java packages making sure it uses
MethodHandles.Lookup
whenever applicable
-
Apart from that, this release also addresses a problem with Undertow servlet integration in which (Weld tried too eagerly to provide it’s own instances of Listener
).