Weld 3.0.5.Final

2018-7-26   release   Matej Novotny

Weld 3.0.5.Final is here and hand in hand with it comes Weld API 3.0.SP4. And in case you missed it, there was CDI 2.0.SP1 release as well. It comes with few security manager related fixes and Weld is of course compliant with it. If you are running on a servlet or in SE, you may need to update it yourself, in case of EE it usually falls to the server to update this dependency for you.

This time around we are not providing a patch for WildFly 13 as there were major changes blocking us from doing so. However, Wildfly 14 will contain all of the above updates - Weld core, Weld API, CDI API - so keep an eye out for its release!

As for updates and fixes, we keep looking at JDK 11 and have done another round of fixing to keep up with adjustments and removals going on in JDK. There is a bunch of interceptor/decorator fixes for those of you who indulge in using complex class hierarchies with abstractions, generics and default methods. So let’s take a look at them all, shall we?

Fixes and improvements:

  • Weld Core

    • Fixed possible race condition appearing during bean index creation (WELD-2492)

    • Avoid creating unnecessary bean metatada for anonymous and local classes (WELD-2498)

    • Corrected decorator subclass creation when said decorator overrides only default method (WELD-2501)

    • Avoid optimizing self invocation of private methods in order to avoid IllegalAccessError (WELD-2506)

    • Allow interception of abstract, package-private classes with public methods (WELD-2507)

    • Fix interception of overriden generic methods invoked via superclass (WELD-2514)

    • Implement reflection fallback for qualifier loading when there are multiple instances of the class in the deployment (WELD-2250)

    • Make conversation ID parameter detection more robust (WELD-2512)

  • Weld SE

    • Make default StartMain more container friendly by exiting with error code should an exception appear (WELD-2502)

      • There is also a follow-up custom exception handling proposal if you want to glance at it (WELD-2503)

    • Fix possible NPE coming from beans.xml merging in complex Weld SE deployment scenarios (WELD-2515)

  • JDK 9/10 and onwards

    • WeldProvider moved to servlet core module to align it with how Jigsaw handles services (WELD-2435)

    • Fixed SE/Servlet resource loading behavior when ForkJoinPool is used on JDK 9+ (WELD-2494)

    • Review executability of Weld examples on JDK 10+ (WELD-2495)

    • Update to JBoss Classfilewriter 1.2.3.Final which is JDK 11 compliant (WELD-2509)

    • If running in JPMS, remove dependency on java.desktop to shrink the footprint (WELD-2504)

  • Probe development tool

    • Probe now recognizes BeforeDestroyed event (WELD-2500)

  • Other

    • We are now looking at testing Weld with JDK 11 on a regular basis and have taken steps to ensure it works (WELD-2516)

    • Updated patching profiles for Weld 3 and WFLY, the process is now more automated and configurable (WELD-2491)

    • OSGi bundle now import BCEL only optionally (WELD-2499)