Hi,
Thanks for starting this Tomas.
CDI-Lite obviously takes up the bulk of the document, but nice to see the Other Updates section as well.
What might be an area for improvement as well is the way how Beans are created programmatically, and likewise how bean instances are being looked up programmatically.
For instance, there's no portable way to discover and apply interceptors to a bean returned from Bean#create(). For this Jakarta Security implementation Soteria, for instance, needs to define this SPI:
Which for Weld looks as follows:
For a Bean that is requested programmatically, specifically using CDI.current().select(), there's no way to provide it with an injection point. This means beans that depend on the injection point data can't be requested programmatically.
Programmatically adding an interceptor to a build-in bean is currently possible to do portably is possible, but takes a lot of ceremony. Specifically because there's no API or injection to get the "previous bean" from a producer. See
https://arjan-tijms.omnifaces.org/2017/08/dynamically-adding-interceptor-to-build.html
Really would love to see these things addressed and/or contribute towards that. Specifically to support Jakarta Security (which is completely CDI based) and Jakarta Faces (which is increasingly moving to CDI).
Kind regards,
Arjan Tijms