News - tagged as "release"

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.

Warning
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.


Weld 5.0.0.Final

2022-4-29   release   Matej Novotny

CDI 4 has passed its Final ballot and is now available in Maven Central. Some of you may have played with it already, but where is the fun in it, if you don’t have a Final implementation, right? Have no fear, Weld 5 Final is here!

As usual, there is Weld 5.0.Final API as well as Weld 5.0.0.Final core impl.

It is very much the same as CR2, with some additional tweaks and fixes that came to light when working on integrations within EE servers. That’s right, EE servers are already making progress towards integrating CDI 4 and Weld 5. Folks over at Open Liberty did their Weld 5 homework about a week ago and WildFly now has a pending pull request that adds missing bits for CDI 4 support. It might still be a while before there is a Beta WildFly release, but if you have the nerves, you can build the SNAPSHOT at least.

Back on the topic of changes, here is a list of fixes from CR2 to Final:

  • Self-interception can now be used on protected methods, params and return types (WELD-2712)

  • Rewieved Weld examples and made sure they run for EE 10 (WELD-2708)

  • Review Weld 5 documentation (WELD-2696)

    • Note that the servlet part is still outdated and being worked on as we need to see if there is workable EE 10 variant, see WELD-2716

    • We expect that this will be sorted by the time we ship 5.0.1.Final

  • Firing of the Startup event for web modules can happen too early (WELD-2717)

  • Synthetic beans coming from Build Compatible extension should be registered under their respective extensions (WELD-2718)

  • Exceptions thrown during execution of Build Compatible extensions now correctly preserve their cause (WELD-2710)

  • Some of our SE testing was being skipped ever since Groovy dependency update, this is now corrected (WELD-2714)


Weld 5.0.0.CR2

2022-3-23   release   Matej Novotny

Final ballot of CDI 4 has uncovered untested and unimplemented area in the newly added Startup and Shutdown events.

Our previous release was guilty of not supporting this properly, hence here comes Weld API 5.0.CR2 and Weld Core 5.0.0.CR2.

Weld now automatically fires these events and the JIRA issue for this can be seen here (WELD-2709). However, integrators can choose to override this behavior and fire both events themselves in case there is more bootstrapping logic that needs to come together before the container is deemed ready. The API interface org.jboss.weld.bootstrap.api.Environment allows implementors to override a specific method which will then prevent Weld from handling these events.


Weld 5.0.0.CR1

2022-2-23   release   Matej Novotny

Weld 5 now has its first candidate release; Weld API 5.0.CR1 and Weld Core 5.0.0.CR1 are headed towards Maven Central.

This release has only minor differences from the Beta but it is a testable basis for Final specification release. Here is a quick overview:

  • Correct default package detection inside ProxyFactory (WELD-2704)

  • Use secure actions when obtaining constructors via reflection in LiteExtensionTranslator (WELD-2705)

  • Dozens of dependabot updates for various dependencies

  • Updated to the latest released CDI version (4.0.0-RC5) and latest CDI TCK version (4.0.0.RC6)


Weld 4.0.3.Final and 3.1.9.Final

2022-2-16   release   Matej Novotny

Weld 3.1.9.Final for Jakarta EE 8 and Weld 4.0.3.Final for Jakarta EE 9 are now available.

Note
Weld 3.1 and Weld 4.0 now enter a maintenance mode - there will be no further active development on these branches. Instead, the focus will be on Weld 5/EE 10 and beyond.

Here is a brief list of notable changes; all of these are present in both Weld versions:

  • Gracefully handle non-existing classpath entries in SE (WELD-2605)

  • Proxies for classes starting with jakarta.* now have Weld proxy prefix instead (WELD-2684)

  • WeldInstance.Handle#get() could incorrectly return the same instance even after destroying underlying contextual reference (WELD-2687)

  • Fixed BeanConfigurator#produceWith() leaking dependent bean under certain conditions (WELD-2693)

  • Correct default package detection inside ProxyFactory (WELD-2704)

  • Several minor changes with regard to testing setup and update configurations (WELD-2706 and WELD-2707)

Last but not least, for those using WildFly, I would recommend taking a look into their release plan for 2022. It details which WildFly is the last for EE 8 and EE 9 and what happens going onwards. Weld is of course going to keep up the pace and we are working on integrating Weld 5 into Wildfly.