v0.6.14
Features
-
execpersistent REPL: Theexeccommand now runs in a persistent, session-scoped REPL. Helper functions and variable bindings defined in oneexeccall are available in subsequent calls on the same session. A newframeglobal (the active page's main frame) is also available. Top-levelreturnis no longer supported — use expression syntax instead (e.g.await page.title()rather thanreturn await page.title()). -
libretto cloudcommand group: Hosted Libretto Cloud commands (auth,deploy,billing) have moved fromlibretto experimental ...tolibretto cloud .... Theexperimentalnamespace is no longer present. -
libretto opendefaults toabout:blank: Runninglibretto openwithout a URL now opensabout:blankinstead of failing.about:blankis also accepted as an explicit URL argument.
Fixes
-
Windows daemon IPC: Daemon IPC endpoints now use Windows named pipe paths on Windows, removing the dependency on
process.getuid()which is unavailable on that platform. Unix socket file cleanup is skipped for named pipe paths. -
cloud deployAPI key error guidance:cloud deploynow fails immediately whenLIBRETTO_API_KEYis missing, with tailored guidance depending on whether a local session already exists — directing users to sign up, log in, or issue an API key as appropriate. A broken~/.libretto/auth.jsonno longer blocks deploys whenLIBRETTO_API_KEYis set.
Improvements
- Libretto Cloud queued session support: The Libretto Cloud provider now polls for a CDP URL when a browser session is initially queued (waiting for capacity), instead of failing immediately. Startup status messages are surfaced in the CLI while waiting. Queued sessions are automatically cleaned up if startup is cancelled (e.g. via Ctrl-C or parent disconnect). The startup timeout for Libretto Cloud is extended to 10 minutes to accommodate queue wait times.