Rodney v0.4.0

Rodney v0.4.0 (https://github.com/simonw/rodney/releases/tag/v0.4.0) My Rodney (https://github.com/simonw/rodney) CLI tool for browser automation attracted quite the flurry of PRs since I announced

Rodney v0.4.0 (https://github.com/simonw/rodney/releases/tag/v0.4.0)

My Rodney (https://github.com/simonw/rodney) CLI tool for browser automation attracted quite the flurry of PRs since I announced it last week (https://simonwillison.net/2026/Feb/10/showboat-and-rodney/#rodney-cli-browser-automation-designed-to-work-with-showboat). Here are the release notes for the just-released v0.4.0:

• Errors now use exit code 2, which means exit code 1 is just for for check failures. #15 (https://github.com/simonw/rodney/pull/15)

• New rodney assert command for running JavaScript tests, exit code 1 if they fail. #19 (https://github.com/simonw/rodney/issues/19)

• New directory-scoped sessions with –local/–global flags. #14 (https://github.com/simonw/rodney/pull/14)

• New reload –hard and clear-cache commands. #17 (https://github.com/simonw/rodney/pull/17)

• New rodney start –show option to make the browser window visible. Thanks, Antonio Cuni (https://github.com/antocuni). #13 (https://github.com/simonw/rodney/paull/13)

• New rodney connect PORT command to debug an already-running Chrome instance. Thanks, Peter Fraenkel (https://github.com/pnf). #12 (https://github.com/simonw/rodney/pull/12)

• New RODNEY_HOME environment variable to support custom state directories. Thanks, Senko Rašić (https://github.com/senko). #11 (https://github.com/simonw/rodney/pull/11)

• New –insecure flag to ignore certificate errors. Thanks, Jakub Zgoliński (https://github.com/zgolus). #10 (https://github.com/simonw/rodney/pull/10)

• Windows support: avoid Setsid on Windows via build-tag helpers. Thanks, adm1neca (https://github.com/adm1neca). #18 (https://github.com/simonw/rodney/pull/18)

• Tests now run on windows-latest and macos-latest in addition to Linux.

I’ve been using Showboat (https://github.com/simonw/showboat) to create demos of new features - here those are for rodney assert (https://github.com/simonw/rodney/tree/v0.4.0/notes/assert-command-demo), rodney reload –hard (https://github.com/simonw/rodney/tree/v0.4.0/notes/clear-cache-demo), rodney exit codes (https://github.com/simonw/rodney/tree/v0.4.0/notes/error-codes-demo), and rodney start –local (https://github.com/simonw/rodney/tree/v0.4.0/notes/local-sessions-demo).

The rodney assert command is pretty neat: you can now Rodney to test a web app through multiple steps in a shell script that looks something like this (adapted from the README (https://github.com/simonw/rodney/blob/v0.4.0/README.md#combining-checks-in-a-shell-script)):

#!/bin/bash set -euo pipefail

FAIL=0

check() { if ! “$@”; then echo “FAIL: $*” FAIL=1 fi }

rodney start rodney open “https://example.com” rodney waitstable

Assert elements exist

check rodney exists “h1”

Assert key elements are visible

check rodney visible “h1” check rodney visible “#main-content”

Assert JS expressions

check rodney assert ‘document.title’ ‘Example Domain’ check rodney assert ‘document.querySelectorAll(“p”).length’ ‘2’

Assert accessibility requirements

check rodney ax-find –role navigation

rodney stop

if [ “$FAIL” -ne 0 ]; then echo “Some checks failed” exit 1 fi echo “All checks passed”

Tags: browsers (https://simonwillison.net/tags/browsers), projects (https://simonwillison.net/tags/projects), testing (https://simonwillison.net/tags/testing), annotated-release-notes (https://simonwillison.net/tags/annotated-release-notes), rodney (https://simonwillison.net/tags/rodney)
No comments yet.