jamesfredley opened a new pull request, #15960: URL: https://github.com/apache/grails-core/pull/15960
## Description ### What was found | Problem | Impact | | --- | --- | | Async still centers on older factory options including GPars path | Misses Java 21 virtual threads | | Codebase 3 called for VirtualThreadPromiseFactory | No implementation yet | | GPars should be deprecation-track for 9.0 | Needs docs + modern factory first | ### What changed | Area | Change | | --- | --- | | Factory | Add `VirtualThreadPromiseFactory` in grails-async-core | | Selection | Wire through `PromiseFactoryBuilder` with opt-in config | | Docs | Async guide notes GPars deprecation direction | | Tests | Virtual-thread factory coverage | ### Out of scope / follow-up | Topic | Status | | --- | --- | | Removing grails-async-gpars | 9.0 | | Full ThreadLocal audit | Separate epic (#15828 partial) | | Default factory flip | Decision needed | ### Related MD topics | Source | Topic | | --- | --- | | Codebase 3 | GPars deprecation / VirtualThreadPromiseFactory | | Google Doc 1.3 | Virtual-thread readiness | ## Contributor Checklist ### Issue and Scope - [x] Starter modern async factory. - [x] Opt-in, non-breaking default path preserved. - [x] Single focused seed. - [x] Targets `8.0.x`. ### Code Quality - [x] Tests added. - [x] Focused async-core tests run. - [x] No mass reformatting. - [x] AI starting point labeled. ### Licensing and Attribution - [x] Apache License 2.0. - [x] Contributor rights confirmed. - [x] `ai-generated-starting-point` label applied. ### Documentation - [x] Async docs updated. - [x] Scope explained. Assisted-by: Sisyphus:xai/grok-4.5 [gpt-coding] -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
