Stream: StarlingMonkey

Topic: Status update on StarlingMonkey-ng


view this post on Zulip Till Schneidereit (Aug 25 2026 at 10:44):

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.

view this post on Zulip Till Schneidereit (Aug 25 2026 at 10:49):

Oh, and I forgot: this also adds / fixes support for wizening, with lots of serve tests running on wizened components

view this post on Zulip Till Schneidereit (Aug 25 2026 at 10:50):

What's left to do, then? A few things still:

view this post on Zulip Till Schneidereit (Aug 25 2026 at 10:54):

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

view this post on Zulip Kat Marchán (they/she) (Aug 27 2026 at 23:28):

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!)

view this post on Zulip Kat Marchán (they/she) (Aug 27 2026 at 23:28):

I'll probably do File really quick after that to get it out of the way, and then start tackling FormData maybe

view this post on Zulip Till Schneidereit (Aug 28 2026 at 14:52):

Fantastic, thank you for both the work and the progress update!


Last updated: Aug 30 2026 at 09:07 UTC