It's been a while, and a lot of things have happened in the new version of StarlingMonkey. Specifically, as of a few minutes ago, we have full support for outgoing and incoming HTTP requests using fetch and FetchEvent, respectively.
This took a long time to get into landable shape, because I wanted to make sure that the implementation is really robust, and the architecture efficient. We have dramatically more test coverage than old StarlingMonkey, in particular for incoming requests: WPT coverage has always been thin there, because the Service Workers spec tests rely on lots of stuff that we don't (want to) support, including the full Service Workers lifecycle, but also iframes and other browser DOM things. What I did for the new test suite is to instead harvest the WPT tests for scenarios and creating tests for a custom Rust tests based harness.
As for everything else so far, all of this also works both on WASIp3 and native, with identical spec test pass rates, so that's nice.
I also added all the request/response processing shortcuts and optimizations the old version had, plus some additional (albeit more niche) ones. That doesn't necessarily mean that things will be fast out of the box though: I haven't done meaningful performance testing and profiling at all yet, so I fully expect there to be some sources of overhead to eliminate before we're at parity with (or faster than) the old version.
Oh, and I forgot: this also adds / fixes support for wizening, with lots of serve tests running on wizened components
What's left to do, then? A few things still:
Blob and FormData (which @Kat Marchán (they/she) is working on, plus a couple of TransformStream things (Text{En,De}coderStream, which @Karthik Ganeshram is working on, and {Dec,C}ompressionStream)and in addition/parallel to all this, we can work on expanding the feature set to new things. @Karthik Ganeshram has done some work towards Node.js API support and on URLPattern support
Update on Blob:
All I need at this point is TextDecoderStream to be available (en route), and to figure out why exceptions aren't propagating right in a couple of tests, which are making 6 out of 105 WPTs fail (that's all that's left!)
I'll probably do File really quick after that to get it out of the way, and then start tackling FormData maybe
Fantastic, thank you for both the work and the progress update!
Last updated: Aug 30 2026 at 09:07 UTC