News - tagged as "release"

Weld 6.0.0.Beta1

2024-2-26   release   Matej Novotny

Weld Core 6.0.0.Beta1 along with Weld API 6.0.Beta2 are the latest two artifacts you’re going to need if you’re looking for an implementation of the CDI API 4.1.0.Beta1.

Changes based on CDI specification since last 6.x version:

  • The method invoker API in CDI has been simplified and the transformer functionality removed from the specification (WELD-2765)

    • Weld API introduced WeldInvokerBuilder which retains all of the transformers/wrappers that were originally present

    • We also added some more validation and other tweaks but the whole functionality is still being worked on as part of the follow up release

  • Support declaring @Priority on producers (WELD-2768)

    • This is also one of the features added by CDI API 4.1 and Beta1 of Weld supports it

  • BeanManager implementations in Weld now correctly extend ELAwareBeanManager from newly introduced CDI API module (WELD-2769)

    • There is no functionality change, this is just a step forward towards removing EL dependency from core CDI

  • Implemented programmatic access to assignability rules on BeanManager (WELD-2774)

    • BeanContainer/BeanManager now allow users to invoke #isMatchingBean() and #isMatchingEvent() methods

Other changes and bugfixes:

  • Correct inheritance of producer fields if there is an extension present (WELD-2773)

  • Make sure @Default qualifier is added to events fired via BeanManager#getEvent() where appropriate (WELD-2775)

  • Weld SE - manually registered portable extensions now reside in synthetic bean archive instead of their own (WELD-2776)

  • Updated CI setup to make sure bulk of our tests is running against JDK 21 (WELD-2777)

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

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.

Weld 5.1.2.Final

2023-10-5   release   Matej Novotny

Weld 5.1.2.Final has landed in Central and with it some new bufgixes.

Here is a summary of the changes:

  • Avoid creation of duplicated thread groups on application re-deploy (WELD-2755)

    • This could lead to a very tiny memory leak on repeated app re-deploy while on app servers (such as WildFly)

  • WeldInitialListener can no longer throw NullPointerException if the application failed to start properly (WELD-2752)

  • WeldManager#getContexts not properly returns empty collection when there is no context for given scope (WELD-2761)

  • Fix client proxy creation for @Typed beans with package-protected types (WELD-2758)

  • Weld project now uses unified and automatic formatting and import sorting that happens during build (WELD-2753)

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

Weld 5.1.1.SP2

2023-8-9   release   Matej Novotny

Another bug-smashing release has landed in Maven Central and this time it’s Weld 5.1.1.SP2.

This is a very small but important change which addresses possible memory leak scenario (WELD-2750). There are multiple conditions for this leak to occur and while most applications are unlikely to be affected, it is still recommended to upgrade to this latest version.

As always, if you find further issues with Weld 5, do let us know.

Weld 5.1.1.SP1

2023-7-11   release   Matej Novotny

A new SP release of Weld 5 is now avaiable.

Latest release, Weld 5.1.1.Final, has shown that one of the changes (WELD-2743) had unforseen and, sadly, untested consequences. Some of the integrators and some of community were using BeanManager#getReference in scenarios which were broken by this change. While the use cases aren’t explicitly backed by the specification or its TCKs, we decided we don’t want to break them, especially not in a micro release.

This SP release therefore aims to correct the above and only adds one other tiny change:

  • Revert the change of BeanManager#getReference and solve this issue differently (WELD-2745)

  • Modify how toString() is invoked on proxies of removed EJB beans (WELD-2747 )

Big thanks for (Laird Nelson) and (Arjan Tijms) for bringing these cases to my attention as well as helping to understand and resolve them!

As always, if you find further issues with Weld 5, do let us know.

Weld 5.1.1.Final

2023-6-12   release   Matej Novotny

It’s time for some minor updates and fixes, Weld 5.1.1.Final is now available!

Main highlights are as follows:

  • Fix bean type assignability for beans with recursive generic types (WELD-2738)

  • Failing validation for pasivation capability, Weld should throw DeploymentException instead of DefinitionException (WELD-2741)

  • Avoid firing ProcessInjectionTarget multiple times if a specialized bean was vetoed (WELD-2742)

  • BeanManager#getReference should not create a child CreationalContext instance (WELD-2743)

    • This should only affect scenarios in which beans were 'manually' created and destroyed in which case the destruction could end up incomplete

  • Fix how Weld defines proxies to avoid problems in JDK 17+ along with the newest JBoss Class File Writer (1.3.0.Final) (WELD-2744)

  • Correction to documentation which incorrectly suggested @ManagedBean was a bean defining annotation (WELD-2737)

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

Weld 5.1.0.Final

2022-10-3   release   Matej Novotny

Weld Core 5.1.0.Final and Weld API 5.0.SP3 are now availabe in Maven Central.

Most notable change, which is also the cause of a minor version bump, is the removal of Weld Probe from our codebase. Details are in this JIRA issue and were also communicated via weld-dev email.

In short, Probe hasn’t been maintained for a long time and its UI part is using outdated libraries and would need to be completely re-written which is something that we opted not to do at the moment. The JIRA issue has more information as to how we could re-integrate it in the future if there is interest from the community.

Probe removal affects any integrators that were using Probe up until now! This typically concerns EE integrators such as WildFly or Liberty.

As usual, here is a list of notable bugfixes in this version:

  • Made decorators more Groovy friendly (WELD-2713)

  • Updated Jandex and remove deprecated usages (WELD-2724)

  • Added tools to execute TCK lang model in EE container (using WildFly) (WELD-2725)

  • Introduced method to WeldManager which allows to obtain instances of all registered contexts regardless of whether they are active (WELD-2726)

  • Brought WildFly Arquillian dependency setup up to date and fix affected examples (WELD-2727)

  • AbstractResourceServices in Weld API now correctly take into consideration lookup value of @Resource (WELD-2728)

  • AbstractResourceServices now supports setter methods for @Resource where the name is defaulted (WELD-2732)

  • Corrected the implementation of WeldExpressionFactory#equals (WELD-2729)

  • Fixed BeanManager bean types to also include BeanContainer (WELD-2731)

  • Avoid logging information about non-bindings member when using BeanManager#isQualifier for annotations that aren’t qualifiers (WELD-2643)

  • Removal of Weld Probe (WELD-2733)

Weld 5.0.1.Final

2022-6-24   release   Matej Novotny

Weld Core 5.0.1.Final is now available and comes with Weld API 5.0.SP2.

Main highlights are as follows:

  • Updated all CDI related versions (API and TCKs) to their latest released variants and made sure we are passing

  • Updated many other EE 10 APIs to their latest releases

  • We are once again fully continuously testing against an EE container (nightly WildFly builds) which helped us polish more bumps in tests and code

  • Tomcat 10.1 is available and supports EE 10, so we have upgraded to test against that and can therefore confirm our support for servlets is working well

  • Jetty support is at the moment not verified as there is no public Jetty 12 release to test against

  • Reviewed Servlet related parts of our documentation and updated them

  • Reviewed Weld SE-Servlet cooperation and renewed continuous testing for it

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

Weld 5.0.0.SP2

2022-6-8   release   Matej Novotny

Another quick turnaround as more integrators adopt Weld 5 and help us squash bugs. Weld 5.0.0.SP2 is headed into Central as we speak.

The main reason for this service release is WELD-2721 which was a spec violation in how AfterBeanDiscovery methods were treated outside of lifecycle observer method invocations. Apart from that, there was also a corner case NPE during Weld Servlet and SE cooperation bootstrap (WELD-2720).

As always, if there are more problems with Weld 5, let us know and we’ll try to help.

Weld 5.0.0.SP1

2022-5-4   release   Matej Novotny

A new version of Weld core is now in Maven Central - 5.0.0.SP1.

There have been reports of a bytecode verification error in certain scenarios reported by GlassFish and WildFly trying to integrate Weld 5.0.0.Final. We have investigated the cause and identified the problematic change, you can read more about it in WELD-2719.

Weld 5.0.0.SP1 release reverts the offending change (WELD-2712) and otherwise keeps Weld intant in terms of changes. In case you identify any further issues, don’t hesitate to reach out.