Skip to content

Releases: slabbdev/navette

v1.4.1 — --help / --version

Choose a tag to compare

@slabbdev slabbdev released this 04 Oct 18:46

A distributed CLI without --help is a broken first impression: unknown arguments used to silently start a serve. Now:

  • navette --help — usage, modes, routes
  • navette --version / -V / version

Binaries attached for macOS arm64, Windows x64, Linux x64.

v1.4.0 — upload, scroll, 16 tools

Choose a tag to compare

@slabbdev slabbdev released this 04 Oct 15:39

The agent loop is complete: upload, scroll, and every previous primitive, on all three OSes.

  • POST /upload: fills a file input with in-memory content through a page-side DataTransfer — no OS dialog, identical JS on WKWebView, WebView2 and WebKitGTK. The CI smoke now proves a full round-trip: upload a 5-byte file, let the page's own JS read it, assert name:size.
  • POST /scroll: absolute Y offset or scrollIntoView (centered).
  • 16 MCP tools: hover, key, scroll, upload, viewport joined the original set.
  • eval_js fix worth the release on its own: the evaluation wrapper discarded its value on Windows/Linux — every /evaluate and /read call silently returned undefined. CI now tests evaluate explicitly. (navigate → read through the fold path was never affected.)
  • bench workflow (workflow_dispatch): 30-page corpus, median/p95 for navigate+read, /read and /screenshot per engine, results in the step summary.

Known gaps, stated plainly: OS-level keyboard/mouse input (synthetic events today), request/response network interception, OS file-dialog automation.

Binaries attached for macOS arm64, Windows x64, Linux x64.

v1.3.0 — full platform parity

Choose a tag to compare

@slabbdev slabbdev released this 04 Oct 15:11

navette now does everything on every OS it runs on.

  • Screenshots everywhere: WKWebView snapshot (macOS), PrintWindow PW_RENDERFULLCONTENT on the WebView2 render widget (Windows), X11 capture of the on-screened ghost window under a GTK pump (Linux). CI verifies a valid PNG on all three OSes.
  • Cookie state everywhere: export/import with one JSON schema across OSes — an authenticated session saved on macOS restores on Linux. The Playwright storageState equivalent, no Chromium attached.
  • Viewport control per session (screenshot dimensions follow it).
  • Resident daemon on every platform: LaunchAgent (macOS), schtasks ONLOGON (Windows), systemd user unit (Linux).
  • JS dialogs auto-handled in-page — alert no-ops, confirm accepts, prompt returns its default. Agents can no longer deadlock on a hidden modal.
  • hover and key events join the API. 14 MCP tools now.
  • Fixed a macOS cookie-import deadlock along the way (raw multi-argument msg_send replaced with typed Foundation APIs).

Binaries for macOS arm64, Windows x64 and Linux x64 are attached. One binary, ~630 KB, no Chromium download. Install: drop the file anywhere, run navette serve, or point your MCP host at it. CI green on all three OSes with the full smoke (navigate, read, screenshot, cookie round-trip).

v1.2.1 — cross-platform smoke green

Choose a tag to compare

@slabbdev slabbdev released this 04 Oct 13:28

The hardening release: navette now passes the same runtime smoke on all three OSes.

  • CI green on macOS (WKWebView), Windows (WebView2) and Linux (WebKitGTK) — health, navigate, fold, read on every push.
  • Five root-cause fixes behind the wry smoke failures:
    1. the fold result had no route back to the HTTP caller (pending consumed twice)
    2. page-load completion was not URL-matched — the initial about:blank load swallowed a cold-start navigate
    3. the fold wrapper discarded the extraction expression's return value
    4. gtk_init blocked on the missing D-Bus session bus in headless CI (gdb-proven)
    5. WebView2 stalls ~45 s on file:// URLs on GPU-less CI VMs — loopback http it is
  • Boot-time session pre-warm (parity with the macOS backend): first navigate on the CI VM went 38 s → 83 ms.
  • macOS remains the fully-featured platform: screenshots, cookie state export/import, resident daemon. wry parity lands next.

One binary, 626 KB, no Chromium attached.

v1.2.0 — Windows/Linux backends + 3-OS CI

Choose a tag to compare

@slabbdev slabbdev released this 02 Oct 10:28

New: Windows and Linux backends.

  • One Rust binary, now building on macOS (WKWebView), Windows (WebView2) and Linux (WebKitGTK) via wry/tao — the 8 agent primitives are engine-agnostic by design.
  • CI on all three OSes: build + runtime smoke (health, navigate, read) on every push. macOS smoke green; Windows/Linux compile green, runtime verification in progress (tracked in issues).
  • macOS remains the fully-featured platform today: screenshots, cookie state export/import (state_export/state_import), click auto-wait, resident daemon.

Install: cargo build --release (rustup). Binary ≈ 610 KB.

Roadmap: Windows/Linux runtime hardening, long-tail primitives (uploads, hover, network), screenshots via CapturePreview/snapshot on Win/Linux.

Full benchmarks: BENCHMARKS.md — the article: dev.to

v1.1.0 — cookie sessions & navigation wait

Choose a tag to compare

@slabbdev slabbdev released this 01 Oct 19:47
  • state_export / state_import: cookie JSON round-trip — save a logged-in state and restore it (HTTP routes + MCP tools state_export / state_import)
  • click auto-wait: wait_navigation: true settles form-POST navigations deterministically after a click
  • Known caveat: cookie-import sync to the network layer can lag on some WebKit builds — verify with a quick /evaluate (tracked)
  • Binary: 610 KB