Another pain point will be what are we going to run the TCK against? IMHO we really need to have at least one container passing the TCK to give us confidence that things are correct. In the past this would have been the RI, but I certainly don't have time (or any inclination) to work on Grizzly and I am pretty sure everyone doing the work will be in a similar boat (we have our own containers to work on). Does anyone know what the new requirements are here? Do we need to have Glassfish + Grizzly passing the TCK in order to release a new version?
I'm pretty sure we don't necessarily need to pass on Glassfish. If any other container/runtime can pass, that's fine too. There needs to be at least 1 compatible implementation, and it doesn't have to be GF.
That said, in Piranha we're using Grizzly by default, so that would give me inclination to work on that. I'm also a Grizzly comiter, though admittedly somewhat inactive.
As for the TCK, we could consider creating new tests as junit/arquillian ones by default. I've been moving a handful of existing Servlet TCK tests to that combination, and for now it works quite well:
https://github.com/javaee-samples/jakartaee8-tck