Download Latest Version v26.5.31 source code.zip (2.3 MB)
Email in envelope

Get an email when there's a new version of Vibium

Home / v26.3.9
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2026-03-09 3.0 kB
v26.3.9 source code.tar.gz 2026-03-09 1.9 MB
v26.3.9 source code.zip 2026-03-09 2.1 MB
Totals: 3 Items   4.1 MB 0

Vibium 26.3

Three changes in this release — all focused on making the API cleaner and more consistent.


Unified Browser API: start() / stop()

browser.launch(), browser.connect(), and browser.close() are gone. Replaced by two methods: start() and stop().

Before:

:::javascript
const bro = await browser.launch()        // local browser
const bro = await browser.connect('ws://...') // remote browser
await bro.close()

After:

:::javascript
const bro = await browser.start()              // local browser
const bro = await browser.start('ws://...')    // remote browser
await bro.stop()

start() handles both local and remote — pass a WebSocket URL to connect to a remote browser, or call it with no arguments to launch a local one. stop() replaces close() / quit().

Same change across all targets:

:::python
# Python
bro = await browser.start()
bro = await browser.start("ws://remote:9222")
await bro.stop()

:::bash
# CLI
vibium start                          # local
vibium start --connect ws://remote:9222  # remote
vibium stop

"Tracing" is now "Recording"

All user-facing references to "tracing" have been renamed to "recording". The old names were borrowed from Playwright internals — "recording" is what the feature actually does.

  • ctx.tracingctx.recording
  • trace-start / trace-stop CLI commands → record-start / record-stop
  • MCP tools: browser_trace_start / browser_trace_stopbrowser_record_start / browser_record_stop

The internal zip format is unchanged — recordings are still compatible with Playwright's trace viewer.

:::javascript
// Before
await ctx.tracing.start({ screenshots: true })
const zip = await ctx.tracing.stop({ path: 'trace.zip' })

// After
await ctx.recording.start({ screenshots: true })
const zip = await ctx.recording.stop({ path: 'recording.zip' })

Record Player: player.vibium.dev

The Trace Viewer is now the Record Player, hosted at player.vibium.dev.

Open any .zip recording to get a full timeline with screenshots, DOM snapshots, network waterfall, and action markers. Also still compatible with trace.playwright.dev.


Other Changes

  • Auto-scroll elements into view when found via CSS or semantic selectors
  • Capture after-snapshots for click-like actions in recordings
  • Record element bounding box in recording entries
  • Lower default recording screenshot quality from 0.8 to 0.5 (smaller files)
  • Fix route.fulfill() deadlock caused by dispatch mutex serialization
  • Fix semantic element resolution in state queries
  • Fix race condition in sync bridge callback signaling
  • Fix remote browser BiDi session creation
  • Flatten Chrome for Testing install layout for standalone chromedriver

Full Changelog: https://github.com/VibiumDev/vibium/compare/v26.2.28...v26.3.9

Source: README.md, updated 2026-03-09