---
title: "Playwright's exciting new page.screencast API"
publication: "Node Weekly"
issue: 621
published_at: "2026-04-23"
canonical_url: "https://nodeweekly.com/issues/621"
---

Plus NodeConf EU is back, writing Node addons in C#, and a new, faster package manager.        

#​621 — April 23, 2026 

[Read on the Web](https://nodeweekly.com/issues/621)   

🎥 Playwright has added a new feature I thought was neat, so I've written a bit about it at the end of this issue – check it out!
__
_Peter Cooper, your editor_ 

Together with [![Frontend Masters logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_300,h_70/e_make_transparent/co_white,e_outline:5/nk0tfdvalivacz8rw7rt.png)](https://frontendmasters.com/courses/prompt-engineering/?utm_source=email&utm_medium=nodeweekly&utm_content=promptengineering)  

![Node.js Weekly](https://res.cloudinary.com/cpress/image/upload/v1653576619/lgfqinzbdqttwmhvljxb.png) 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ebnru5mx0iiqlp0qmorn.jpg)](https://aube.en.dev/)  

[aube: A New Node.js Package Manager](https://aube.en.dev/) — Yes, another one! What’s noteworthy is it comes from the developer of [mise](https://mise.en.dev/), a tool that makes managing numerous languages so much easier. aube’s selling points are [raw performance](https://aube.en.dev/benchmarks.html) and being a drop-in replacement. [Its defaults](https://aube.en.dev/package-manager/configuration.html) are also security-focused. 

Jeff Dickey   [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/62f4e709.webp)](https://frontendmasters.com/courses/prompt-engineering/?utm_source=email&utm_medium=nodeweekly&utm_content=promptengineering) 

[Write Better Prompts](https://frontendmasters.com/courses/prompt-engineering/?utm_source=email&utm_medium=nodeweekly&utm_content=promptengineering) — Join GitHub's Sabrina Goldfarb for this detailed video course on generating higher quality code with AI. Learn practical prompting techniques that work consistently across tools and transform your project ideas into reality. 

Frontend Masters sponsor   

[Writing Node.js Addons with .NET Native AOT](https://devblogs.microsoft.com/dotnet/writing-nodejs-addons-with-dotnet-native-aot/) — You can now write native Node addons in .NET languages like C#. _Native AOT_ compiles programs to shared libraries (or executables) which can expose N-API entry points for Node to call into, much like a C/C++ extension. 

Drew Noakes (Microsoft)   

**IN BRIEF:** 

- 🇪🇺 [NodeConf EU](https://www.nodeconf.eu/) is back. It's in Bologna, Italy this September 29-30. Tickets are on sale, and [here's the CFP](https://docs.google.com/forms/d/e/1FAIpQLSdhxLUxB5kW8NU5Dv6PM7vvQqKLcKed45AXvsXPGN8tIkzfkg/viewform) if you want to speak.
- Maël Nison, the maintainer of Yarn, is working on [a new Node feature to support _package maps_](https://github.com/nodejs/node/pull/62239) where Node can resolve packages using a static JSON file instead of walking`node_modules`.   

[TypeScript 7.0 Beta: A 10x Faster TypeScript Compiler](https://devblogs.microsoft.com/typescript/announcing-typescript-7-0-beta/) — The first beta of the Go-powered native port of TypeScript boasting _“about 10 times faster”_ performance. [TypeScript 6.0](https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/) remains important as a transitional release in your upgrade process, as TS 7.0 shares [6.0’s default config changes](https://devblogs.microsoft.com/typescript/announcing-typescript-7-0-beta/#updates-since-5.x-and-new-behaviors-from-6.0) and 6.0’s deprecations are now hard errors. There are also [changes to how to write your code](https://devblogs.microsoft.com/typescript/announcing-typescript-7-0-beta/#javascript-differences) to take into account. 

Microsoft   

[Build Durable AI Agents That Won’t Break in Production (Webinar)](https://orkes.io/webinars/the-4-layer-production-stack-every-ai-agent-needs?utm_campaign=Node%20weekly&utm_source=Newsletter&utm_medium=email) — Learn the open-source 4-layer stack and run durable AI agents with Agentspan across LangGraph, OpenAI, and Google SDKs. 

Orkes sponsor   

📄 [Delivering a Dynamic Hexagonal World Map in 10KB](https://calibreapp.com/blog/building-our-beloved-hex-map) – How a developer built a hexagon-based SVG world map using a Node-based pipeline with [Turf.js](https://turfjs.org/) to simplify GeoJSON. Ben Schwarz 

📄 [Features Everyone Should Steal From `npmx`](https://nesbitt.io/2026/04/16/features-everyone-should-steal-from-npmx.html) – [npmx](https://npmx.dev/) is a fantastic way to browse the npm package registry. Andrew Nesbitt    

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/efwmqi5yf7qstwu2evdl.jpg)](https://optique.dev/)  

[Optique 1.0: Type-Safe Combinatorial CLI Parser](https://optique.dev/) — Build composable parsers for CLIs with type safety, type inference, and built-in shell completion support, plus config file integration and `man` page generation from the same definitions. [v1.0](https://github.com/dahlia/optique/blob/main/CHANGES.md#version-100) is the first stable release and Hong [compares it to Commander.js and explains why you'd use Optique.](https://hackers.pub/@hongminhee/2026/optique-10-discriminated-unions-for-cli) 

Hong Minhee   

[DocMD: Build Production-Ready Docs from Markdown](https://docmd.io/) — A Node-powered zero-config documentation site generator with a focus on producing lean, fast output ([its own docs](https://docs.docmd.io/) are a good example). It has i18n and versioning built-in and, as of this week, [a `deploy` command](https://github.com/docmd-io/docmd/releases/tag/0.7.2) to produce ready-to-deploy files for Docker, Nginx, and Caddy. 

docmd   

[rocksdb-js: New RocksDB Bindings for Node](https://www.harper.fast/resources/new-rocksdb-binding-for-node-js) — It’s been messy using Facebook’s [RocksDB](https://github.com/facebook/rocksdb) key-value store from Node in recent years, but finally there’s a new, modern native addon for the task. [GitHub repo.](https://github.com/HarperFast/rocksdb-js) 

Chris Barber (Harper)   

[Bun v1.3.13: Smarter Testing and Less Memory Usage](https://bun.com/blog/bun-v1.3.13) — The alternative runtime enhances `bun test` with options for test environment isolation, parallelization, and to run only those tests affected by recent changes. The runtime [uses 5% less memory](https://bun.com/blog/bun-v1.3.13#bun-s-runtime-uses-5-less-memory) and `bun install` gets faster, among other things. 

Jarred Sumner   

- [`pnpm/action-setup@v6`](https://github.com/pnpm/action-setup) – The GitHub Action to install/configure pnpm adds [pnpm v11](https://github.com/pnpm/pnpm/releases/tag/v11.0.0-rc.0)support.
- [node-mssql 12.5](https://github.com/tediousjs/node-mssql) – Microsoft SQL Server client library. You can now set per-request timeouts.
- [type-flag 4.2](https://github.com/privatenumber/type-flag) – Strongly typed command-line arguments parser.
- [MongoDB Node.js Driver v7.2.0](https://github.com/mongodb/node-mongodb-native/releases/tag/v7.2.0) – The official MongoDB driver.
- [Mongoose 9.5](https://github.com/Automattic/mongoose/releases/tag/9.5.0) – MongoDB object modeling library for Node.
- [pg-boss 12.16](https://timgit.github.io/pg-boss/) – Postgres-backed job queue for Node apps.
- [xero-node 15.0](https://github.com/XeroAPI/xero-node) – Node SDK for [Xero](https://www.xero.com/) accounting software.
- [np 11.2](https://github.com/sindresorhus/np) – Feature-packed alternative to `npm publish`.      

📰 Classifieds   

Skip the README archaeology. Flox delivers reproducible dev environments with no system pollution. One command, zero friction. [Try it free](https://fandf.co/3O1srzw). 

--- 

[Gauntlet](https://apply.gauntletai.com/register/champions?utm_source=Third%20Party&utm_campaign=Node%20Weekly&utm_medium=newsletter&utm_content=). A 10-week no-cost fellowship building the AI skills companies need. Learn to ship faster with AI. Land a $200K+ job. [Apply now](https://apply.gauntletai.com/register/champions?utm_source=Third%20Party&utm_campaign=Node%20Weekly&utm_medium=newsletter&utm_content=). 

--- 

⚙️ [Build AI agents like you build APIs. Orchestrate not just LLMs — but Claude Code, Codex & full coding harnesses](https://agentfield.ai/github/?utm_source=node&utm_medium=newsletter&utm_campaign=node-0604&utm_id=node-060423-github-cta&utm_content=github-cta). Open-source TypeScript SDK.[agentfield.ai](https://agentfield.ai/?utm_source=node&utm_medium=newsletter&utm_campaign=node-0604&utm_id=node-060424-home-cta&utm_content=home-cta).    

🎥 Playwright's `page.screencast` API  

[The newest version](https://github.com/microsoft/playwright/releases/tag/v1.59.0) of the popular Playwright Web testing and automation library ([v1.59.0](https://github.com/microsoft/playwright/releases/tag/v1.59.0)) boasts a new `page.screencast` API to make recording videos more flexible. I took it for a spin and liked what I saw. 

You can now start and stop video recording in a more granular way than `recordVideo` allowed:  

```
await page.screencast.start({ path: 'video.webm' });
// do stuff here
await page.screencast.stop();
```  

But the real fun begins when you use its new visual annotation and custom HTML overlay features. 

I created a basic HTML form and a Playwright script to test out the new features and you can basically create full screencast style videos with it:  

![](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/nzdmofwqfrltr3qxvri8.jpg) 

![](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/fzxobegz35z6hfni1dfp.jpg)  

Here's the code for the section above:  

```
await page.screencast.showChapter('Step 4 — Interests', {
  description: 'Multiple checkboxes',
  duration: 1400,
});
await page.locator('#interests input[value="testing"]').check();
await page.locator('#interests input[value="tooling"]').check();
```  

Read [the full release notes](https://github.com/microsoft/playwright/releases/tag/v1.59.0) for what you can do, but this strikes me as a fantastic way to automatically generate good-looking videos you can slot into your documentation. 

There's also a new `playwright-cli show` command that brings up a dashboard where you can see all the currently running browsers, interact with them, and open DevTools to inspect what's going on.    

**Got a link for us?** Reply and tell us. We can't include everything but we'll look at anything you send. _Thanks!_ 

--- 

**Sponsorship:** Email `[kristina@cooperpress.com](mailto:kristina@cooperpress.com)` for details. 

--- 

Published by Cooper Press Ltd.
Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

[Cancel your subscription](https://nodeweekly.com/leave/*|UID|*) or [change your address](https://nodeweekly.com/edit_subscription/*|UID|*).
