How programmatic recordings work

Replay currently maintains three runtimes (Firefox, Chromium, and Node). Firefox supports Mac, Linux, and Windows (Alpha). Node is currently in beta for Mac and Linux. Chromium is currently in beta for Linux.
Replay can also integrate Playwright and Puppeteer by configuring each to use the appropriate binary. See our docs on Recording Playwright and Recording Puppeteer for more details. Replay also has alpha support for recording Cypress tests via @replayio/cypress.

Versions and rebasing

Rebasing our runtimes is less a question of merge conflicts and more a question of new non-determinism. This is because the diffs of our runtimes are fairly small (~3k lines of code) and each time we rebase the runtimes have changed quite a bit. We plan on rebasing our runtimes in November and going forward staying in sync with the browser releases.
Staying up-to-date with Playwright and Puppeteer in theory is fairly straightforward. We do not change their APIs and they do not introduce that much new nondeterminism. Going forward, we plan on adding automation so that we can stay up-to-date here as well.