New in the 0.4.0-SNAPSHOT development line — everything listed here landed after the 0.3.0 release and is not part of it. Every entry links to the section that documents it, and those sections carry the NEW badge. Each brick of the suite keeps its own page of this kind; the ecosystem index gathers them. When the next release train ships, this page is frozen with it and restarts empty on the dev line.

CDI

  • The request context is active for each request — when FoyChappeBoot is given a BeanManager, Foy activates the CDI request context around each request, through the standard RequestContextController, so @RequestScoped beans work in servlets, filters and listeners, and the container fires the request context events. 0.3.0 activated it under no container, Vauban included: a @RequestScoped bean failed with ContextNotActiveException (BUG-20261010-01). The session context is not activated. Other CDI containers. Under Vauban too, since Vauban provides the built-in RequestContextController (vauban#147): concurrent requests each get their own request-scoped instances.

  • Proven on Weld SE — the new foy-it-weld module, never published, runs Foy on Chappe with Weld SE 6.0 without foy-cdi-vauban: servlets, filters and listeners get injection, request-scoped beans live per request (foy#18). Other CDI containers.

  • @SessionScoped on Vauban — the session context is active for each request: @SessionScoped beans live in the HttpSession and are destroyed with it, with the @Initialized, @BeforeDestroyed and @Destroyed(SessionScoped.class) events. Vauban’s new vauban-webcontexts provides the context and foy-cdi-vauban drives it; nothing to configure. A session-scoped bean used to fail with ContextNotActiveException (foy#21). Other CDI containers.

  • CdiContextListeners, a service for the adapters of CDI implementations — Foy registers the listeners a provider gives for the BeanManager it is given, ahead of the application’s listeners. Other CDI containers.

  • Weld’s servlet integration runs on Foy — weld-servlet-core’s initializer starts Weld, which manages the request and session contexts itself. `foy-it-weld-servlet uses it as the reference for the session scope, and foy-it-vauban-session runs the same scenarios on Vauban. Other CDI containers.