Release Notes
v0.8.2-alpha.1
July 5, 2026
- Added Guida Node setup bundle import/export, giving operators a copy/paste onboarding path between Guida Node and Guida Control.
- Added
Copy Control Node Recordso Node can generate a ready-to-use Guida Control node configuration record. - Improved the Node Control setup experience with clearer Guida Control URL state, Remote Ops readiness, restart-required messaging, and endpoint status.
- Added setup bundle preview/apply validation, including schema/kind checks, invalid URL/port/bind-address handling, busy-port diagnostics, and launch-argument-controlled field protection.
- Exposed the configured Guida Control/observer URL through dashboard status and snapshot data.
- Updated Node and Remote Ops docs around the
9631Node default, setup bundles, bind diagnostics, and Control pairing.
v0.8.1-alpha.1
July 4, 2026
- Improved the Guida Node first-run and setup experience with a unified Node control window for setup, status, settings, activity, Remote Ops URLs, and endpoint tests.
- Removed the duplicated standalone Node settings window; Node configuration now lives in the main Node control window.
- Remote Ops now starts before browser initialization, making Node control endpoints available earlier and surfacing startup failures more clearly.
- Fresh Guida Node defaults now use Remote Ops port
9631instead of the older9315default. - Added explicit Remote Ops port diagnostics so Node can check the configured port, explain bind failures, and suggest an available port without silently changing settings.
- Improved Hosted API bind errors for “port already in use” and Windows excluded TCP port ranges, including the
netsh interface ipv4 show excludedportrange protocol=tcprecovery hint. - Fixed Node status and setup reporting so disabled Remote Ops still shows the Node-configured URL rather than falling back to Complete/MCP defaults.
v0.8.0-alpha.1
July 4, 2026
- Guida Node is now a first-class headed executor for Remote Ops, browser automation, workers, queues, and workspace runtime.
- Guida Node no longer carries raw MCP or
ModelContextProtocol.*by default. - Remote Ops moved out of MCP and is now Guida's JSON-RPC control plane for Complete, Node, and future control surfaces.
- Hosted API/Kestrel hosting is now its own layer, with raw MCP plugged in only as an optional protocol module.
- Remote Ops gained schema discovery, compatibility checks, telemetry, audit browsing, workspace file access, runtime reload, captured results, and active workflow recovery.
- Heavy script integrations were split so Node can report unavailable connectors instead of carrying MongoDB, PostgreSQL, Elasticsearch, S3, Ollama, and HTML conversion packages by default.
- Browser/WebView runtime ownership was cleaned up so Complete-only features stay out of Node.
- Product versioning is now centralized so Complete and Node report the same release version.
v0.7.7-alpha.0
June 22, 2026
- Reduced the public Windows installer size by shipping a framework-dependent Release package with documented .NET and WebView2 prerequisites.
- Added release packaging validation with installer smoke checks and dependency reports to catch packaging regressions.
v0.7.6-alpha.0
June 21, 2026
- Added the Workflow Control Console, a workspace-level view for understanding crawl operations, runbooks, preflight status, queues, ledger state, and workflow relationships.
- Added the Remote Ops API, enabling external tools to inspect and control Guida nodes over a configurable RPC-style surface.
- Added dedicated Remote Ops settings for enabling the API and configuring bind address/port.
- Added Remote View over CDP/WebSocket, allowing remote clients to stream and control browser tabs.
- Added initial mobile Remote View support, including touch input and touch scrolling.
- Expanded automated coverage for Remote Ops, Workflow Control, and Remote View behavior.
v0.7.4-alpha.0
June 15, 2026
- Clarified MCP navigation safety around a default-on domain whitelist requirement.
- Added optional auto-approval for `Navigate` / `CreateTab` only when the target URL is explicitly whitelisted.
- Ensured disabled domain whitelisting never counts as explicit trust.
- Updated MCP settings UI and help docs to distinguish whitelist enforcement from tool approval convenience.
- Added focused tests for whitelisted, unlisted, malformed, disabled-whitelist, and non-navigation approval behavior.
v0.7.3-alpha.0
June 14, 2026
- Added automation mode for test harnesses, including workspace preload, isolated WebView2 profile support, and token-protected
/api/automation/*endpoints. - Added WebView2 CDP passthrough through
--cdp-portfor Playwright-style browser automation checks. - Expanded dashboard status and SSE payloads with richer workspace, worker, degraded/error, version, and node metadata.
- Added website and in-app help coverage for Dashboard API and Automation Mode.
v0.7.2-alpha.2
May 24, 2026
- Added the read-only Operational Dashboard API for status, snapshots, SSE updates, queues, workers, runs, failures, attention, and run reconciliation.
- Made operational state reactive across queues, workers, tasks, workspace, and workflow ledger views.
- Added dashboard node identity and semantic application version metadata for private-network observers.
- Added workflow run reconciliation for fetch-to-parse handoff visibility.
- Fixed a DOM wait crash caused by observing an invalid
MutationObservertarget.
v0.7.1-alpha.1
May 24, 2026
- Added workspace backups for full workspaces and managed Guida state under
%APPDATA%/Guida/backups. - Made Workflow Ledger reporting scalable with aggregate summaries, paged item browsing, full-run stage/state counts, reconciliation rollups, and matching MCP tools.
- Hardened workflow-backed queue workers so pooled execution preserves workflow envelopes, validates queue/ledger consistency, and dead-letters invalid checked-out work.
v0.7.0-alpha.1
May 18, 2026
- Added a dedicated Workflow Ledger Console for run management, readable item triage, recovery actions, events, artifacts, metadata, and graph/debug inspection.
- Compressed the old Workflow Ledger pane into a lightweight launcher and status surface.
- Added a dedicated Queue Console for queue counts, pending and dead-letter inspection, payload details, worker controls, bulk triage, and ledger links.
- Compressed the old Queues pane into a lightweight queue launcher and status surface.
- Added the MCP Approval Center so pending AI-triggered approvals are visible and manageable without blocking modal dialogs.
- Added
g.dom.selectOptionand an MCP-only native select helper for real browser select controls. g.page.executeJS()now decodes the WebView2 result envelope once and returns structured values directly when browser code returns objects, arrays, or primitives.- Fixed URL and
searchParamsmutation parity in the scripting runtime. - Improved ClearScript marshalling for string-keyed dictionaries such as
Dictionary<string,string>. - Hardened queue and workflow ledger recovery semantics, including requeue/retry behavior and operator-facing recovery errors.
- Fixed Run One cancellation and made robots crawl-delay waits stoppable.
v0.6.0-alpha.0
May 10, 2026
- Added workflow ledger storage, scripting APIs, MCP tools, and UI for tracking workflow runs, items, events, artifacts, failures, retries, and retention.
- Added Workflow Ledger pane with run/item inspection, flow evidence, completion/failure actions, retry/dead-letter tooling, and cleanup controls.
- Improved queue and review workflows, including queue processor fixes and better review-mode handling.
- Added script role labeling and collapsible Workspace Dashboard sections for easier workflow navigation.
- Upgraded workspace store documents to BSON-backed payloads and added batch store MCP support.
- Removed legacy // #include preprocessing and the redundant editor Includes: toolbar.
v0.5.1-alpha.2
April 30, 2026
- Added Elastic search example script
- Fixed logic that generates TS definitions: TTS namespace was broken
v0.5.1-alpha.1
April 30, 2026
- Allow connections to elasticsearch through self signed certificates
- g.log() now JSON stringifies input
v0.5.0-alpha.5
April 30, 2026
- Guida now outputs API manifest artifact through the CLI
v0.5.0-alpha.4
April 26, 2026
- Introducing proper installers instead of self extracting archives - no other changes
v0.5.0-alpha.3
April 26, 2026
- S3 client API now handles protocol in endpoint.
- Fixed clipping issue affecting 'Add S3 connection' window.
v0.5.0-alpha.2
April 25, 2026
- Fixed marshalling of C# Dictionaries to ClearScript V8 equivalent in Postgres and MongoDB methods.
v0.5.0-alpha.1
April 23, 2026
- Integrated Janet language support via JanetSharp https://github.com/andreamancuso/Janet-CSharp
- Completed the implementation of all remaining Lua namespaces for full API surface coverage.
- [BREAKING] Resolved inconsistencies in Lua return logic.
- Fixed marshalling issues within the ClearScript V8 engine for more reliable data handling.
- Expanded the reference library with additional example scripts to assist with implementation.
v0.4.3-alpha.7
April 11, 2026
- [BREAKING] Modernized the scripting ecosystem by replacing legacy #include preprocessor references with standard ES6 import and Lua require() across all templates, help documentation, and MCP tool metadata.
v0.4.3-alpha.6
April 11, 2026
- Hardened the Lua environment by wrapping 100+ API bindings in graceful nil, error return handlers to prevent debugger crashes and enabled full workspace integration with a custom module loader for require()
- Implemented recursive C# to Lua type conversion for nested store data
- Updated the Workspace pane to support .lua file discovery, templates, and extension-aware renaming
v0.4.3-alpha.5
April 10, 2026
- Fixed custom MCP tools following the switch to ClearScript
v0.4.3-alpha.4
April 9, 2026
- Standard library now available in ClearScript V8
v0.4.3-alpha.3
April 8, 2026
- It is now possible to debug worker scripts by clicking the 'Debug 1' button - applies to JS scripts only for now.
v0.4.3-alpha.2
April 8, 2026
- Fixed g.worker.getContext() following the switch to ClearScript
- V8 errors no longer include full internal stack trace
v0.4.3-alpha.1
April 7, 2026
- Added native Elasticsearch support
v0.4.2-alpha.1
April 7, 2026
- Speech recognition improvements
- It is now possible to choose your input hardware from a new dropdown menu.
- Real-Time "Visual Pulse": The main toolbar's "🎙 Voice" button now features an integrated VU meter (a subtle green bar). This bar reacts to your voice in real-time while recording.
- Silence detection.
- Mic test sandbox: A new "Test" button in the Settings window allows you to safely verify your microphone levels without triggering an AI workflow or navigating the browser.
- Stability & Architecture
- Fixed a crash that occurred when closing the application while the Whisper STT engine was active in the background.
- The entire application lifecycle has been upgraded to support asynchronous disposal (IAsyncDisposable), ensuring native AI models and memory are safely released upon exit.
v0.4.1-alpha.1
April 6, 2026
- Added Whisper.net integration
- New Features
g.sttScripting API: A new namespace for developers to build voice-driven workflows.g.stt.listen(ms): Record and transcribe user input directly into a script variable.g.stt.transcribeFile(path): Process existing audio files for data extraction.- Speech Recognition Settings: A dedicated tab in the Settings modal allows you to configure your preferred Whisper GGML model path and toggle "Load model on startup" to balance between RAM usage and instant availability.
- UX & Accessibility Improvements
- Dynamic Voice Button: The main toolbar "🎙 Voice" button is now state-aware (Loading..., Load Voice, Stop).
- Friendly Error Nudges: Replaced cryptic technical socket errors ("target machine actively refused it") with helpful troubleshooting advice when Ollama is not responding.
- Local-First Privacy: Your voice and commands never leave your machine. Transcription and reasoning happen entirely on your local hardware.
v0.4.0-alpha.1
April 3, 2026
- [BREAKING] JavaScript Engine: ClearScript V8 replaces Jint
- The JavaScript scripting engine has been completely replaced. Guida now uses Microsoft ClearScript V8 — the same V8 engine that powers Chrome and Node.js.
- Instant script termination — clicking Stop kills the script immediately via
V8ScriptEngine.Interrupt() - Native async/await — C# Tasks automatically convert to JS Promises and back
- ES module imports —
import { foo } from "lib/bar.js"works fine - Chrome DevTools debugging — click Debug on a
.jsfile and Chrome opens with full DevTools (breakpoints, stepping, variable inspection, console)
v0.3.4-alpha.6
April 1, 2026
- Custom Dequeue Strategies
- Custom dequeue strategies now work correctly for both file-based definitions (via
queues.json) and inline registration (viag.queue.registerStrategy()). - Strategy files using function declarations no longer fail with "Strategy source must evaluate to a callable function"
- Strategies returning
null(e.g. all groups on cooldown) now correctly signal "nothing available" — previously this silently fell back to FIFO - Inline
g.queue.registerStrategy(name, fn)now works — previously the function could not be serialized to a new engine
- Custom dequeue strategies now work correctly for both file-based definitions (via
- Jint Upgrade (4.6.3 → 4.7.0)
- Fixes
await+continueinside async loops and adds publicIsCallable()/IsConstructor()APIs. - Known issue:
constdestructuring combined withawait+continuein async loops still throwsReferenceErrorin Jint 4.7.0. This is a confirmed Jint bug (works correctly in V8/Node). Workaround: use if/else instead of continue after await.
- Fixes
v0.3.4-alpha.5
April 1, 2026
- Strategy Visibility in UI
- Workers pane — pool rows now show the dequeue strategy next to the script name (e.g.,
process-page.js · round-robin). Pools using the default FIFO show just the script name. - Workspace pane — registered strategies appear as a tree node listing each strategy with its source (file name or "inline"). Strategy count shows in the status bar.
- Workers pane — pool rows now show the dequeue strategy next to the script name (e.g.,
- Bug Fix: Opening a workspace with a corrupt or incompatible database file (e.g., an old LiteDB
queue.dbfrom before the StratQueue migration) no longer crashes the entire workspace initialization. The error is logged to the Console pane and the affected service is disabled.
v0.3.4-alpha.4
April 1, 2026
- Declarative DequeueStrategies in queues.json
- Custom dequeue strategies can now be declared alongside worker pools in
queues.json. They are auto-registered when the workspace or workflow opens — no manualregisterStrategy()script execution needed. - Strategy file paths are resolved relative to the workspace root (or workflow folder for workflow-scoped configs). Workflow-scoped strategies are cleared when the workflow is deactivated.
- The
queues.schema.jsonhas been updated — use Tools → Developer → Save Queues Schema to get IntelliSense for the new strategies section.
- Custom dequeue strategies can now be declared alongside worker pools in
- Bug Fix: Fixed
queues.jsonexamples in Help articles using "workers" instead of the correct "pools" key.
v0.3.4-alpha.3
March 31, 2026
- Dequeue Strategy in Workers
- Workers and
queues.jsonnow support thedequeueoption, closing the gap where round-robin and custom strategies were only usable viag.queue.dequeue()but not through the worker framework. - Works with built-in strategies (
fifo,round-robin) and custom strategies registered viag.queue.registerStrategy(). Both RunOne and the worker loop now pass the strategy through to the queue. - IntelliSense:
WorkerConfigshows the dequeue option. Strategy descriptions updated to mention custom strategies.
- Workers and
v0.3.4-alpha.2
March 31, 2026
- Custom Scripted Dequeue Strategies
- Users can now define their own dequeue strategies as JavaScript functions via
g.queue.registerStrategy(). Strategy scripts are lightweight "group pickers" — they receive{ groupName: itemCount }and return which group to dequeue from next. ctx.statepersists across calls — enables cooldowns, weights, history tracking- Strategies can also be loaded from workspace files:
g.queue.registerStrategy("cooldown", "strategies/cooldown.js") - Each strategy runs in its own private engine — no access to
g.*APIs, no side effects - Returns
nullor an invalid group name to fall back to FIFO - Strategy instances are cached and reused across dequeue calls; cleared on workspace close
- Users can now define their own dequeue strategies as JavaScript functions via
v0.3.4-alpha.1
March 31, 2026
- Queue System Migration: StratQueue
- Replaced the internal queue engine (LiteDB/LiteQueue) with StratQueue, a new standalone NuGet package built for this project. In-memory work queue with pluggable dequeue strategies and SQLite persistence.
- Round-robin dequeue — cycle across a
groupfield so one large burst doesn't starve other groups - Async dequeue without polling —
g.queue.waitForItem()blocks efficiently using a semaphore instead of polling - Crash recovery — checked-out items are automatically reset to pending on restart (SQLite WAL mode)
- Simpler API —
commit()andabort()no longer require the queue name (just the checkout ID)
- Breaking Changes
g.queue.commit("myqueue", item.id)→g.queue.commit(item.id)g.queue.abort("myqueue", item.id, err)→g.queue.abort(item.id, err)- Checkout IDs are now strings (were numbers)
waitForItempollIntervaloption replaced bystrategyoption
- Queue data is now stored in SQLite (
queue.dbin workspace root — new format, not backward-compatible with old LiteDB files). Updated MCP tools, Help articles, tours, example scripts, and IntelliSense definitions.
v0.3.3-alpha.2
March 31, 2026
- Removed unnecessary debug artifact from self-extracting archive
v0.3.3-alpha.1
March 31, 2026
- HTTP Request Interception (Burp-style Proxy)
- Intercept Pane — pause, inspect, modify, and mock HTTP requests before they leave the browser. Uses CDP Fetch domain via WebView2 — no external proxy or certificate installation needed.
- Pause-all mode: enabling intercept holds every outgoing request for manual review
- Forward, Drop, or Mock individual requests with keyboard shortcuts (F / D)
- Forward All / Drop All for batch operations
- Per-request response interception: "Forward + Intercept ↩" captures the response in place
- Rules tab: persistent URL-pattern rules with Pause, Continue, Block, or Mock actions
g.intercept.*scripting namespace — 11 methods for programmatic interception:enable,disable,addRule,removeRule,clearRules,listRules,getRequest,continue,respond,abort,isEnabled. Script-action rules run a JS file per intercepted request with fullg.*API access.
- Intercept Pane — pause, inspect, modify, and mock HTTP requests before they leave the browser. Uses CDP Fetch domain via WebView2 — no external proxy or certificate installation needed.
- HTTP Client (Postman-style Request Editor)
- Right-click any request in History → Network and choose "Send to HTTP Client" to replay it
- Edit method, URL, headers (editable grid), and body before sending
- Response viewer with status, headers, and body (automatic JSON pretty-printing)
- Request history dropdown to revisit and compare previous sends
- Empty state hint guides new users to the right-click workflow
- UI Improvements
- Selection preservation — selecting a request in History, MCP History, or Intercept panes no longer loses selection when new items arrive via live updates
- Pane title sync — renaming a pane in code now takes effect immediately even with saved workspace layouts
- Documentation
- New help articles: HTTP Intercept (interception, rules, full
g.intercept.*API reference) and HTTP Client (sending, editing, response viewing) - Cross-linked with existing HTTP Requests & Secrets and Network Capture articles
- New help articles: HTTP Intercept (interception, rules, full
v0.3.2-alpha.1
March 30, 2026
- Task Observability — complete diagnostic system for tracing what happened during any script execution
- Per-Task Log Persistence — every
g.log()call is now automatically tagged with its task ID and persisted to SQLite. No script changes required — logging works exactly as before, but each task keeps its own searchable log history. - Task Manager Detail Panel — click any task in the Task Manager pane to open a split-view detail panel showing:
- Task metadata (name, ID, origin, status, duration, timestamps)
- Error details for failed tasks
- Context info: queue name/item/worker index for workers, tool name for MCP, trigger type/pattern for events
- Full log viewer with Time, Level, and Message columns
- Live-updating logs for running tasks
- Cross-Task Search — search box in the Task Manager toolbar searches across all task logs. Press Enter to search, clear and Enter to return to the selected task.
- Level Filtering — filter logs by level (All / LOG / INFO / WARN / ERROR) in the detail panel.
- Export — two options: "Copy Logs" for plain text, "Copy Report" for a full JSON report including task metadata, context, and all log entries.
- MCP Audit Linking — MCP audit entries now carry a TaskId linking them to the script task they spawned. ScriptTools and custom workspace tools set the tool name on tasks (e.g., "ExecuteScript", "ExecuteScriptFile").
- Auto-Retention — task logs older than 7 days are automatically cleaned up on app startup. Configurable via the
TaskLogRetentionDayssetting.
- Per-Task Log Persistence — every
- Bug Fixes
- Worker task logs missing from Task Manager —
QueueWorkerService.RunOne()andRunWorkerLoop()were not stamping TaskId and Origin on the script context before engine execution, sog.log()calls inside worker scripts only reached the Console pane. Fixed.
- Worker task logs missing from Task Manager —
- Documentation
- Updated the Task Manager help article with full coverage of the detail panel, per-task logs, context info, search, filtering, export, and retention.
v0.3.1-alpha.5
March 29, 2026
- Fix MCP Click/EnterText/PressKey/ScrollTo — pass all BrowserAutomationService deps
v0.3.1-alpha.4
March 28, 2026
- Fix MutationObserver wait methods returning 'Failed to parse result'
v0.3.1-alpha.3
March 27, 2026
- Fix NRE when opening workspace scripts in editor tabs
v0.3.1-alpha.2
March 27, 2026
- Bugfix, MCP server service did not have access to settings service
v0.3.1-alpha.1
March 26, 2026
- DOM Wait Methods (MutationObserver-based)
- Replaced polling-based DOM wait methods with MutationObserver-powered alternatives that detect changes instantly
g.dom.waitForElement(selector, options?)— instant element detection via MutationObserver. Supports visible and selectorType options. Replaces g.dom.waitForVisible.g.dom.waitForDomStable(options?)— page-side debounce timer resolves when no mutations occur for the quiet period. Replaces g.page.waitForDomSettled.g.dom.waitForReady(selector, options?)— two-phase wait: element appears, then DOM settles. The go-to method for SPA pages.- The old waitForVisible and waitForDomSettled methods have been removed. All help articles and Lua code generator updated to use new names.
- Navigation Stealth Patches
g.nav.navigateToUrl()now supports two new options:stealth: true— injects anti-detection patches (webdriver, chrome runtime, permissions, plugins, languages) before page scripts run via AddScriptToExecuteOnDocumentCreatedAsync. Patches removed after navigation.detectRedirects: true— detects JS-based redirects and meta http-equiv="refresh" by comparing final vs requested URL.- Both options also available on the MCP Navigate tool.
- DOM Mutation Event Trigger
- New dom-mutation event type for events.json enables reactive DOM watching
- MutationObserver injected into WebView2 pages watches for specified DOM changes
- Triggered scripts receive mutation context (old/new values, attribute names, selectors) via g.trigger.getContext()
- Three Rx-based backpressure strategies: exhaust (skip while running), buffer (batch), sample (throttle) — prevents script flooding from busy DOMs
- Designed for long-running observation without keeping Jint engines alive
- New
g.trigger.*scripting namespace for accessing event trigger context - MCP tool descriptions improved for better LLM discoverability
- 28 new tests (DomMutationObserver, DomMutationService, DomMutationStream, ScriptEventDispatcher, StealthPreamble)
- New help example: watch_prices.js
v0.3.0-alpha.1
March 25, 2026
- MongoDB Scripting (
g.mongodb.*)- Full MongoDB scripting namespace with connection pooling
- Phase 1 covers core connection and query operations, with advanced operations including aggregation and bulk writes
- S3 Scripting (
g.s3.*)- New namespace for Amazon S3-compatible storage (AWS S3, MinIO, etc.), with bucket listing, object copy, and presigned URL generation
- S3 secret types are now supported in the Secrets pane
- PostgreSQL Integration (
g.postgres.*)- Full PostgreSQL support via the Npgsql driver
- Connections are stored as typed secrets in the Secrets pane and referenced by name from scripts
- 14 methods cover the full workflow:
- Core CRUD
query,queryOne,execute,scalarwith $1, $2, ... parameterized queries (SQL injection prevention built in)
- Schema introspection
listDatabases,listSchemas,listTables,describeTable,listIndexes,listConstraints
- Transactions
executeBatchfor atomic multi-statement execution;transactionwith callback-based auto-commit/rollback
- Bulk I/O
copyFrom/copyTovia PostgreSQL's COPY protocol, delivering 10–100× faster data loading than row-by-row INSERT
- Claude Code Integration
- Shell out to Claude Code directly from within Guida
- MCP Script Return Values
- AI tools using MCP can now receive script return values directly from
ExecuteScriptAwait, eliminating the round-trip throughg.store.* - A single call like
ExecuteScriptAwait("return (await g.dom.extractContent('h1'))[0]")returns the page heading inline - Controlled by a Return Script Results to AI toggle in Settings → MCP Server (default: on) — disable to prevent AI tools from reading page content directly
- AI tools using MCP can now receive script return values directly from
- Improvements
- Navigation API —
g.nav.navigateToUrl()now always returns response metadata; blocked redirect info is surfaced fromg.navigate() - Search Index — Documents persisted into Lucene now include
createdAtandindexedAtfields - Workspace UI — New workflow flow diagram tab in WorkspacePane; improved tab switcher
- Help System — 3 new articles (PostgreSQL Basics, MongoDB Basics, S3 Storage Basics) and 8 new script examples: Scrape to PostgreSQL, MongoDB CRUD, S3 Upload & Download, Bulk Import with COPY, DOM Interactions, Multi-Tab Scrape, Schema Explorer, and HTTP & Parse JSON. Corrected outdated API references across ~20 help files (
g.navigate()→g.nav.navigateToUrl(),g.log("level", "msg")→g.log("msg"),g.http.get()→g.http.makeHttpRequest(), and others)
- Navigation API —
v0.2.3-alpha.2
March 23, 2026
- HTTP responses containing Unicode line/paragraph separators (U+2028, U+2029) no longer cause JSON.parse to fail with "Unexpected end of JSON input." These characters appear in real-world API responses (e.g., job posting descriptions) and are valid in JSON per RFC 8259, but were mishandled by the JavaScript engine's parser. Affected g.http.makeHttpRequest responses only.
v0.2.3-alpha.1
March 23, 2026
- Adding support for external queue management.
- Adding initial standard library.
v0.2.2-alpha.1
March 23, 2026
- Moved network traffic bodies from SQLite BLOBs to gzip-compressed files on disk, with SQLite storing only path references and sizes.
- Added support for 'load-ahead' to queue processors, allowing them to fetch and prepare the next item while processing the current one.
- Added support for 'review mode' to queue processors, allowing the user to review the results of up to several items at a time through advanced layouts such as side-by-side or quad view.
- Enabled action buttons directly within browser tabs.
- Added @require-context pragma for scripts that require a worker context (queue processor or worker pool). Scripts with this pragma fail immediately with a clear error when run standalone (F5, MCP, event triggers).
v0.2.1-alpha.1
March 22, 2026
- Workflow-relative path resolution: config script paths now resolve from their containing folder, not workspace root.
- Navigation history, MCP audit, network traffic are now stored in 3 separate SQLite files (instead of LiteDB).
- The application is now distributed as a self extracting archive.
v0.2.0-alpha.1
March 22, 2026
- Workflows — organize workspaces into named workflow subfolders with scoped configuration:
- Toolbar dropdown and Workspace pane dashboard for switching workflows
- Per-workflow event triggers, queue workers, MCP tools, and views
- Templates, export/import, and enable/disable toggle
- Cross-workflow queue sharing
- MCP tools:
WorkflowList,WorkflowGet,WorkflowSwitch,WorkflowCreate,WorkflowDelete,WorkflowRename,WorkflowToggle - Scripting namespace:
g.workflows.getActive(),g.workflows.list(),g.workflows.switch(name) - Guided tour and help articles
- Scripting API reorganized — 55 top-level methods moved into namespaced groups:
g.dom.*— click, enterText, scrollTo, pressKey, highlight, waitForVisible, extractContent, getElementXPaths, countElements, getElementsg.page.*— getUrl, getDom, getPageSource, getPageElements, executeJS, waitForDomSettled, ocrg.nav.*— navigateToUrl, blockRedirects, allowRedirectsg.tabs.*— 16 tab management methodsg.viewport.*— setViewport, getViewport, getViewportPresetsg.http.*— makeHttpRequestg.screenshot.*— screenshot, screenshotElement, screenshotFullPageg.sequences.*— getSequences, getSequenceForUrl, runSequence, runSequenceByName, runSequenceByUrlg.llm.*— promptLocalLlm, abortLocalLlm, getLocalLlmModelsg.secrets.*— getSecret- 3 methods remain top-level:
g.log,g.wait,g.generateApiDocs - Help articles and example scripts updated throughout
- Removed
g.setVar()/g.getVar()— use local variables org.storefor persistence - Custom MCP tool parameters moved from global
argstog.tool.args:- New
g.toolnamespace withargsproperty (null when not running as a tool) - Eliminates all non-
g.*globals from the scripting environment
- New
- Script editor: collapsible API reference sidebar for browsing, searching, and inserting
g.*methods
v0.1.1-alpha.4
March 19, 2025
- App wouldn't start due to inconsistency in XAML
v0.1.1-alpha.3
March 19, 2025
- Unified g.worker.getContext() for Queue Processor — scripts use the same API as Workers instead of __item/__meta.
- Added "stay" effect — actions can keep the current item selected. Unknown effects log a warning.
- Added onSelect lifecycle hook — auto-runs a script when a queue item is selected, with cancellation on re-select.
- Added ScriptPreprocessor to Queue Processor — #include and @timeout now work in queue processor scripts.
- Added global redirect blocking — g.blockRedirects() / g.allowRedirects() with a red "NO REDIRECT" toolbar badge. Uses WebView2's IsRedirected on NavigationStarting to cancel server-side redirects.
v0.1.1-alpha.2
March 18, 2025
- Fixed issue where clicking the 'Run' button in the Workers pane would freeze the app.
v0.1.1-alpha.1
March 17, 2025
- Added Workers pane.
- Added queues.json support for declaratively defining queues and their processing scripts.
- Added relevant MCP tools.
- Within the Workers pane, you can view how many items are in queue.
- Within the Workers pane, you have the option to trigger a full run or individual job processing.
v0.1.0-alpha.4
March 17, 2025
- Improved logging of queue processing.
v0.1.0-alpha.3
March 16, 2025
- Improved support for the
#includesyntax at the top of script files: paths to included scripts no longer need to be wrapped in double quotes, and if a file isn't found, a proper error is now thrown instead of a silent failure.
v0.1.0-alpha.2
March 15, 2025
- Renamed local LLM API methods for clarity:
g.promptOllama()→g.promptLocalLlm()g.abortOllama()→g.abortLocalLlm()g.getOllamaModels()→g.getLocalLlmModels()
v0.1.0-alpha.1
March 15, 2025
- Initial release.