Skip to content

v0.6.10

Choose a tag to compare

@github-actions github-actions released this 30 Apr 20:45
dfc8299

libretto@0.6.10 generate-changelog /home/runner/work/libretto/libretto/packages/libretto
tsx scripts/generate-changelog.ts v0.6.10

What's New in v0.6.10

Features

  • Unified browser daemon IPC: All session commands (exec, readonly-exec, pages, snapshot) now route through a persistent browser daemon process over a Unix domain socket. This preserves Playwright's page state — including aria-ref selectors — across consecutive exec calls in the same session, and ensures console.log output from user code is always captured and printed even when errors occur.

  • Hosted platform auth commands: New libretto experimental auth command group for the Libretto Cloud hosted platform, including signup, login, logout, invite, accept-invite, whoami, and api-key issue/list/revoke.

  • Hosted platform billing commands: New libretto experimental billing portal and libretto experimental billing status commands let organization owners open the Libretto plans page and inspect current plan, usage, and period-end date.

  • --auth-profile option on open: The libretto open command now accepts --auth-profile <domain> to load a saved auth profile from a different domain than the target URL (e.g. use the login.example.com profile when opening app.example.com).

  • create-libretto initializes a Git repository: Projects scaffolded with npm create libretto@latest now automatically get a git init when created outside of an existing Git repository. Next-step instructions are also printed after scaffolding.

Fixes

  • .env loaded before CLI command dispatch: Environment variables from the workspace .env file are now loaded at the CLI entrypoint before any command runs. Previously, commands like open --provider browserbase could fail with missing-credential errors when keys were only defined in .env.

  • CDP fallback for daemonless failed-run sessions: exec now falls back to a direct CDP connection when a session has no daemon socket (e.g. sessions created by a failed run before the daemon was introduced), preserving the ability to inspect failed workflow sessions.

  • page.evaluate callbacks no longer throw __name is not defined: tsx/esbuild injects __name() wrappers into compiled TypeScript functions. A no-op __name polyfill is now installed into every browser page via addInitScript, preventing ReferenceError when those callbacks are serialized into the browser context.

  • Fixed file descriptor leak in libretto open: The file descriptor opened for the child process log was not closed in the parent process after spawning the browser daemon. This is now correctly closed with closeSync.

  • Removed false-positive obfuscation detection in DOM snapshots: A regex that matched short CSS class names like h2, p2, and d3 as obfuscated was incorrectly stripping legitimate class names from snapshot analysis. The overly broad heuristic has been removed.

  • create-libretto template export fixed: The example star-repo.ts workflow was re-exported incorrectly as a named binding. The template now uses export { default as starRepo } so the export resolves correctly in generated projects.

Improvements

  • docs/ directory now included in the npm package: The docs/ folder ships alongside src/ and dist/ in the published package, making documentation accessible directly from node_modules/libretto/docs/.