Weld 6.0.0.Alpha1

2023-10-26   release   Matej Novotny

Looking for a CDI 4.1 implementation? We’ve got you covered! Weld Core 6.0.0.Alpha1 is now available and comes along with CDI API 4.1.0.Alpha1. Note that this version also uses latest version (2.2.0-RC1) of the Jakarta Interceptors specification.

CDI/CDI TCK related additions:

  • Create first implementation of CDI method invokers using MethodHandles (WELD-2764)

    • If you want to read up more about the original CDI API design and PR, take a look (here)

    • Note that this feature is still being improved on both, CDI side and (Weld side) but the general shape of it is already carved out

  • Support standardized means of getting interceptor bindings from InvocationContext (WELD-2756)

    • This was already possible via set of methods in WeldInvocationContext as well as the String key under which we stored these bindings in InvocationContext

    • Both of the above are no deprecated (but still working) and users are expected to use the standardized approach

  • Support inspectable CreationalContext and Contextual in CDI TCK SPI (WELD-2757)

Other bugfixes and project QoL features:

  • Fix proxy creation for beans using @Typed and having package-protected types split across packages (WELD-2758)

  • Correct how we determine proxy package for beans with unassignable types in their bean type set (WELD-2763)

    • This was only problematic in environments using WeldDefaultProxyServices to define their proxies (such as Weld SE)

  • WeldManager#getContexts now correctly returns an empty set when there are no contexts for given scope (WELD-2761)

  • Fix possible memory leak with repetitive thread group creation (WELD-2755)

  • WeldInitialListener can no longer throw NPE is application fails to start (WELD-2752)

    • Only possible in some EE containers on repeated re-deployment of Weld applications

  • LazySessionBeanStore no longer swallows exceptions happening when attempting to initiate HTTP session (WELD-2762)

  • Weld Core and Weld API are now using formatter plugin and impsort instead of checkstyle (WELD-2753)

  • Jandex version was bumped to 3.x across the project (WELD-2754)

As always, if you find further issues with Weld 6, let us know and we’ll try to help.