v0.1.3373 Oct 2026·JavaScript & JIT, Web APIs & DOM, Networking, DevTools
Sites load like they do in the reference browser: every test site runs its scripts cleanly
We test Floati against twelve busy, real websites and count every script error the reference browser does not have. Four of them were clean a week ago; now all twelve are (a CSS framework's docs, the heaviest, sometimes still run out of time). Getting there meant building web platform pieces properly rather than patching each site: the full Streams standard, the stages a document loads in, exact numbers of any size, cancelling that really cancels, and the exact shape of every interface a page can inspect, generated from the web standards themselves and checked against the reference browser value by value. A Q&A site's a large network provider security check now runs to the end instead of stopping with an error, and error messages point at the exact spot in minified code.
Every site in our live test set (a code-hosting site, a developer-docs site, two news sites, a large encyclopedia, a framework's docs site, a CSS framework's docs, a browser-support site, a Q&A site and more) now runs without a script error that the reference browser does not also show. A week ago it was 4 of 12. The Web APIs and DOM score rises from 1 to 26: it is the lowest of three measured checks, and the other two now read 91.
Web APIs & DOM
Streams, written from scratch to the standard: readable streams with the byte variant and bring-your-own-buffer reads, writable and transform streams, piping, splitting a stream in two, async iteration, and text encoding streams. A page's downloads (response.body) and files (Blob.stream) are real streams. Matched against the reference browser line by line, plus ReadableStream.from, which the reference browser does not ship yet. This is what modern sites like a CSS framework's docs use to stream a page in.
Web APIs & DOM
A document now loads in the same stages as in the reference browser (loading, then interactive, then complete, with an event at each step), and a script can still see which script element it is while its own follow-up work runs. Sites that time their start-up on those stages, such as every Next.js site, now start up correctly.
Web APIs & DOM
Scripts marked nomodule, a fallback meant only for old browsers, no longer run. Floati used to run them too, and they replaced built-in functions on most modern sites (this alone broke a news site and a CSS framework's docs).
JavaScript & JIT
Every web interface a page can inspect now has the reference browser's exact shape: its name, its prototype, its constants and its members. 256 element attributes (sizes, URLs, numbers with their limits) are generated from the HTML standard's own definitions and give the same 4,216 answers the reference browser gives, and every event constructor (new MouseEvent and friends) gives the reference browser's 951 default values. Where the reference browser itself differs from the standard, we follow the reference browser and publish the list.
Networking
BigInt numbers of any size are exact. Values past 128 bits used to wrap around silently (2n ** 128n came out as 0n), and a 512-bit hash in a large network provider's code failed to read at all. x++ on a BigInt also works now.
DevTools
Cancelling really cancels: AbortController fires its abort event, calls onabort and carries an AbortError reason, with AbortSignal.any and AbortSignal.timeout. A blocked request now fails the way the reference browser reports it (Failed to fetch), with the reason in the console.
JavaScript & JIT
Promises keep their internals hidden and get their methods from Promise.prototype, so code that adds to or wraps Promise.prototype.then (zone.js in Angular, for one) reaches every promise. Wrapping built-in constructors in a Proxy or building them with Reflect.construct (Error, Map, Promise, Date, URL and the rest) behaves as in the reference browser, including building a subclass.
DevTools
Error messages point at the exact place. A minified script is one long line, so every error used to say line 1, column 1; now each frame names its column, inline scripts give their line in the page, and an error from a timer or a click handler prints its full stack, as the reference browser's console does.
Networking
Frames inside a page answer everything a window answers (navigator, screen, performance, their own eval, the frames inside them). A large network provider's security check reads exactly those, which is why it stopped on Floati; on a Q&A site it now runs to the end.
JavaScript & JIT
Fixed: a rare crash on a developer-docs site when a loop in code a page builds at run time met the just-in-time compiler. Code built that way now keeps its own compiled loops.