QANode Logo

Community Edition

Escolha sua versão

Selecione o sistema operacional para baixar o instalador.

macOSmacOS (Arm64)

Instalador disponível para Apple com processador Arm64.

Baixar para macOS

Changelog

v0.5.0Latest2026-04-10

Added

  • **New `Load Test` node**: QANode now includes a dedicated performance node for HTTP-based load and stress validation directly in the flow builder.
  • **Multiple performance test profiles**: the new node supports `smoke`, `load`, `stress`, `spike`, `soak`, and `breakpoint` modes to cover fast validation, gradual ramp, aggressive pressure, sudden bursts, endurance testing, and breakpoint discovery.
  • **Custom stage configuration**: performance runs can now be driven either by automatic VU/duration presets or by fully custom stage definitions with per-stage duration and target VUs.
  • **Native performance metrics**: executions now calculate and expose `totalRequests`, `errorCount`, `errorRate`, `rps`, `avgDuration`, `minDuration`, `maxDuration`, `p50`, `p90`, `p95`, and `p99` as structured outputs for downstream use.
  • **Threshold-based validation**: the node now supports pass/fail rules over key performance metrics such as latency, RPS, and error rate, allowing performance assertions to fail the step automatically.
  • **Visual performance evidence**: each load-test execution now generates dedicated summary and timeline charts as run artifacts, making throughput, latency, and error behavior visible in the report without external tooling.
  • **Performance node properties panel**: the editor now includes dedicated configuration fields for VUs, duration, timeout, think time, thresholds, and stage customization, with a distinct visual identity for the node on the canvas.
v0.4.22026-04-09

Added

  • **Built-in performance audit for web nodes**: `Web Flow` and `Smart Locators` now support native performance analysis directly inside the active Playwright session, without requiring a separate performance node.
  • **Thresholds in node properties**: web nodes now expose `Performance Audit`, `Max Page Load (ms)`, `Max API Response (ms)`, and `Fail on Request Errors` to turn performance checks into execution criteria.
  • **Per-screen checkpoints**: web executions now split performance evidence by navigated screen, generating a dedicated checkpoint for each detected page transition with screen name, URL, originating step, and request window.
  • **Visual performance artifacts**: each audited execution now includes a global performance summary chart plus per-screen charts showing page-load metrics, request counts, slow APIs, and API errors for that page.
  • **Structured performance outputs**: audited nodes now expose performance results in outputs, including request counters, error totals, pass/fail status, and a simplified structured summary for downstream use.

Changed

  • **Project document storage**: new project documents now use the shared storage abstraction, so they can follow the configured backend (`local` or `s3`) instead of being tied to the API container filesystem. Legacy local documents remain downloadable through the previous route.
  • **Configurable API bootstrap**: container startup now supports `QANODE_RUN_BOOTSTRAP`, `QANODE_RUN_DB_PUSH`, `QANODE_RUN_SEED`, and `QANODE_RUN_TEMPLATE_BOOTSTRAP`, making it possible to keep local zero-friction startup while moving bootstrap work to a dedicated init task in multi-replica environments.
  • **Managed Redis compatibility**: queue execution now accepts optional `REDIS_USERNAME`, `REDIS_PASSWORD`, `REDIS_DB`, `REDIS_TLS`, and `REDIS_TLS_REJECT_UNAUTHORIZED` variables without changing the existing host/port-only behavior used by local Docker setups.
  • **Chrome Extension scroll capture**: recorded web scroll steps now store the real scroll delta (`scroll by`) instead of the absolute page position, avoiding exaggerated playback that jumped too far down long pages and produced repeated screenshots.
  • **Smart Locators hover heuristics**: automatic pre-click hover recording became more conservative, ignoring hidden/pointer-disabled ancestors and checkbox/radio interactions so reveal-hover steps are kept only when there is a real visible reveal layer.
  • **Web evidence highlight overlays**: `Web Flow` and `Smart Locators` overlays now render in viewport coordinates, fixing highlight displacement after scrolls.
  • **Click evidence behavior**: `after` screenshots for `click`/`dblclick` steps no longer force a stale target highlight when the UI changes immediately after the interaction, preventing orphan or misleading evidence boxes.

Fixed

  • **Suite modal selected-list layout**: the drag-handle grip in the Suite editor no longer steals horizontal space from the scenario name, keeping the selected list aligned correctly with a fixed grip column, a proper text column, and the remove action anchored at the end.
v0.4.12026-04-02

Added

  • **"Conclude manually" action**: runs with `failed` status that belong to a project now expose a new action in the three-dots menu of the runs panel inside the canvas editor. Clicking it opens a modal where the executor can describe how the test was performed and attach a mandatory PDF as evidence.
  • **Mandatory evidence PDF**: the attached PDF is saved directly to the project's document library, providing an auditable evidence trail accessible from the project's Documents tab.
  • **`manual_success` status**: a new run status that reflects a scenario concluded outside the automated execution pipeline. No database migration is required — the existing `status` field is a plain string.
  • **Symmetric manual actions menu**: the previous standalone "Fail" button was replaced by a three-dots action menu per run row. The menu shows "Fail manually" on successful runs and "Conclude manually" on failed runs (project-only), keeping both actions consistent and discoverable in one place.
  • **Audit log export**: the Audit Log screen now supports Excel export by period, with presets for the last 24 hours, 7 days, 30 days, and a custom interval, including all audit-log fields in the spreadsheet.

Changed

  • **Dashboard metrics**: success rate and daily stats now count `manual_success` alongside `success`, so manually concluded scenarios contribute to KPIs without requiring separate tracking.
  • **Reports**: pass rate, scenario completion, and daily run stats in project reports also count `manual_success` as a successful execution.
  • **Status display**: the `manual_success` status renders with a distinct purple badge ("Concluído manualmente" / "Concluded manually" / "Concluido manualmente") across the runs panel, the project scenario list, the dashboard recent-runs widget, and anywhere else status badges appear.
  • **Dashboard tab names**: system dashboards such as "Main Panel" now pass through the i18n layer and are displayed in the user's selected language.
v0.4.02026-03-30

Added

  • **Integration Tokens**: new Enterprise settings section to generate machine tokens for pipelines without human sessions. Tokens support optional expiration, revocation, last-used tracking, audit trail, and a global expiration policy controlled by administrators.
  • **CI/CD permissions**: new role permissions for CI/CD administration (`settings.integration_token` and `settings.integration_token_all`), allowing separation between users who can manage their own tokens and users who can view/revoke all tokens and define the global token expiration policy.
  • **Official CLI**: new `@qanode/cli` package for pipeline execution and automation, with commands for token validation (`auth me`), running scenarios and suites, polling runs, and downloading run artifacts.
  • **Dedicated CI routes**: new `/api/ci/*` endpoints for machine-driven execution, designed for CLI and pipeline integrations without relying on browser session flows.
  • **Execution overrides**: CI runs now support per-execution overrides for variables and credential fields, so pipelines can inject environment-specific values without overwriting persisted configuration in QANode.
  • **Execution targeting by name**: CI execution can resolve scenarios and suites by `id` or by `project + name`, reducing friction when teams copy identifiers from the UI or use project-scoped names in pipeline definitions.
  • **CI/CD help in Settings**: Integration Tokens now include a built-in help modal with usage guidance and working examples for GitHub Actions and Azure DevOps.
  • **Table View help**: role editing now includes a contextual help modal for `Table View`, explaining what the dashboard query-builder profile controls and which tables are visible by default for each profile level.
  • **Copy helpers for Enterprise resources**: Enterprise list views now expose quick copy actions for `Name` and `ID` on projects, suites, scenarios, variables, and credentials to make CI/CD and operational integrations easier.

Changed

  • **CLI output for pipelines**: when commands wait for completion without `--json`, the CLI now prints only the terminal status (`success`, `failed`, or `cancelled`) while preserving machine-friendly JSON output behind `--json`.
  • **CLI artifact download behavior**: `runs artifacts` now prioritizes the consolidated PDF execution report and downloads it with a unique `report_<runId>.pdf` filename instead of using a generic `report.pdf`.
  • **Settings UX — token policy**: the global Integration Token expiration policy now saves automatically when the mode or day count changes, removing the extra save button.
  • **Settings UX — action menus**: secondary actions across Enterprise lists were consolidated into the three-dots menu, while scenario blocking inside projects remained as a direct lock action for faster access.
  • **Documentation and website**: Enterprise documentation and marketing copy were expanded to cover CI/CD integrations, CLI usage, integration tokens, execution overrides, and the bug workflow/sandbox model.

Fixed

  • **Bug module visibility leak**: Community Edition no longer exposes bug-module navigation, run actions, project scenario blockers, or backend-related bug data that should remain Enterprise-only.
  • **Local desktop permissions**: the local Community user no longer receives `bug.*` permissions implicitly through the desktop skip-auth path.
  • **Initial workflow routing**: bug creation now correctly applies the `defaultRoleId` of the initial workflow status when no manual assignee or queue was explicitly provided.
  • **Owned queue behavior**: after a bug is claimed, other users from the same queue can no longer re-claim, reassign, or transition that bug through the normal flow while direct ownership is active.
  • **Workflow consistency**: bug workflow handling now preserves direct ownership when transitioning into the same destination queue and only returns the bug to queue ownership when routing actually leaves direct assignment behind.
  • **Attachment history and permissions**: attachment lifecycle rules were aligned and validated across normal users, privileged users, and super admins, including auditable attachment-added and attachment-removed history records.
  • **Token hash comparison**: integration-token validation now uses timing-safe comparison when checking stored token hashes.
  • **CI route protection**: CI execution endpoints now reuse the centralized permission helpers and include rate limiting on run-creation routes.
  • **CLI auth consistency**: `qanode auth me` now uses the same API error-handling path as the other CLI commands instead of bypassing the shared client.
v0.3.02026-03-27

Added

  • **Bug module**: new Enterprise module that connects failed test runs to a formal defect lifecycle. Bugs can be opened directly from a failed run or created manually, and go through triage, assignment, investigation, and closure with a full auditable history trail.
  • **Configurable workflow**: each instance defines its own bug statuses and transitions. The default workflow is seeded automatically when no active workflow exists. Workflow and custom fields are managed from the new Settings sections.
  • **Queues and assignment**: bugs can be routed to team queues or assigned directly to a user. Claiming a bug removes it from the queue and establishes direct ownership. Only members of the assigned queue can claim or investigate in the normal flow; `bug.transition_any` is the administrative bypass for any transition or status.
  • **Ownership-based transitions**: normal transitions require the bug to be claimed by the acting user. A user with only `bug.transition` cannot act on bugs owned by someone else without first claiming them.
  • **Investigation sandbox**: investigation runs on a disposable copy of the original flow, keeping official executions and KPIs clean. Sandbox is blocked on terminal statuses.
  • **Custom fields**: instance-level configurable fields, editable via a dedicated route with `bug.edit` permission.
  • **Comments, attachments and history**: commenting and attaching files requires `bug.view`. Attachment deletion follows authorship — the uploader can delete their own file; users with `bug.delete_attachment_any` can delete any attachment. Every transition note and comment is recorded in the full history.
  • **Bug key**: each bug receives a unique instance-scoped reference key (`BUG-N`).
  • **Integration with runs**: failed runs show a button to open a bug directly, preserving the link to the run, flow, and originating step.
  • **Integration with projects**: the project detail screen shows bug counts and the list of linked bugs.
  • **Integration with dashboard**: SQL dashboard queries can target bug module data.
  • **Role permissions**: roles now include granular bug module permissions (`bug.view`, `bug.create`, `bug.edit`, `bug.assign`, `bug.transition`, `bug.transition_any`, `bug.run_sandbox`, `bug.delete_attachment_any`).
  • **Stacked Bars chart**: new widget type that stacks multiple data series vertically, with automatic color assignment per series and rounded top corners on the uppermost bar.
  • **Horizontal Bars chart**: new widget type that renders bars horizontally, suitable for ranked or categorical comparisons.
  • **CTE / WITH queries**: SQL widgets now accept queries starting with `WITH` (Common Table Expressions). Writable CTEs remain blocked by the existing DML/DDL blocklist.
  • **Bug metrics — general view**: when no project is selected, the report now includes a row with Total Scenarios, Total Suites, Total Bugs, Open Bugs, and Closed Bugs.
  • **Bug metrics — project view**: when a specific project is selected, the report includes Total Bugs, Bug Rate, Open Bugs, Closed Bugs, and Blocked Scenarios.
  • **Report language**: PDF and email reports are now generated in the language of the user downloading or sending the report.

Fixed

  • **Desktop macOS — OAuth callback URI in packaged app**: the callback URI shown in Email Credentials and SMTP settings was being built from `window.location.origin`, which becomes `file://` in the packaged macOS desktop app and produced invalid values such as `file:///api/.../oauth/callback`. The UI now resolves the callback URI from the real API base URL used by the app.
  • **Reports — email not sending with OAuth2 SMTP**: report emails were built with a hardcoded password-only transport, causing `Missing credentials for "PLAIN"` errors when SMTP was configured with OAuth2. The report endpoint now uses the shared OAuth2-aware transporter.
  • **Reports — stale data on filter change**: switching project, start date, or end date now immediately clears the displayed data, preventing results from a previous query from remaining visible until the next generate click.
  • **Reports — PDF label overflow**: long translated labels such as "CENÁRIOS BLOQUEADOS" were wrapping across two lines in PDF metric boxes. Font size now auto-shrinks based on label length.
  • **Reports — garbled character in email and PDF subtitle**: the separator between project name and date range was stored as U+FFFD (replacement character), rendering as `ÿÿ` or a diamond symbol in some clients. Replaced with a plain ` - `.
  • **Reports — email metric labels overflowing cells**: metric title labels used `white-space: nowrap`, causing long Portuguese and Spanish labels to overflow the 20%-width table cells. Labels now wrap correctly.
v0.2.72026-03-19

Added

  • **Onboarding tour** for Community Edition: first-time users are guided through creating a project, a scenario, and running their first flow. During execution the canvas remains visible with a floating card on the left so nodes executing can be watched in real time.

Fixed

  • **SMTP OAuth2 — email/from auto-fill**: after completing the OAuth2 browser flow, the authorized email is now automatically filled in the Email and From Address fields, so the user does not need to type them manually.
  • **SMTP OAuth2 — data loss on navigation**: settings were cleared when navigating away because the Save button was disabled after OAuth connect. Config is now persisted to the database immediately after a successful OAuth connection.
  • **SMTP OAuth2 — all outgoing emails**: invite emails and password-reset emails were failing when SMTP was configured with OAuth2 because the transport was built using only password-based auth. All email-sending functions now use the shared OAuth2-aware transporter, including automatic access-token refresh.
  • **Password reset email — broken characters**: Portuguese template had corrupted special characters (ç, ã, ê, ©). All strings are now correctly encoded as UTF-8.
  • **Email credential — provider switch/defaults**: switching between Gmail, Outlook, and Custom IMAP now correctly applies provider defaults. Outlook now swaps to `outlook.office365.com`, and Custom IMAP clears the inherited host instead of keeping the previous provider value.
  • **Email credential — Gmail app password hint**: the Gmail app-password help card is now shown only when the selected provider is Gmail, avoiding incorrect hints on other providers.
  • **Email credential — Outlook password mode removed**: Outlook email credentials no longer offer password/app-password mode in the UI, and backend validation now enforces OAuth2/Modern Auth for Outlook IMAP connections.
  • **Email credential — clearer IMAP errors**: IMAP auth failures that previously surfaced as generic `Command failed` messages are now normalized to human-readable authentication errors.
  • **Email credential — Custom IMAP OAuth2 flow**: Custom IMAP now supports a real browser OAuth flow with configurable `Authorize URL`, `Token URL`, and visible callback URI, instead of exposing incomplete token fields without the required OAuth endpoints.
  • **Mobile Flow — session storage behavior**: Mobile Flow now supports `inMemory` and `persisted` session storage inside the same execution. `inMemory` closes the app and Appium session when the node ends, while `persisted` keeps the mobile session open for later nodes in the same run.
  • **Mobile Inspector — force app close on exit**: disconnecting, saving recorded steps, or closing the Mobile Inspector now forces the app to terminate before the Appium session is released, reducing stale app state on the next connection.
v0.2.62026-03-18

Added

  • Mobile Inspector now shows the real Appium error message when a session fails to start (e.g. device offline, wrong capabilities, SDK not found), replacing the generic "Internal Server Error".
  • Mobile Inspector network errors (API server unreachable, database down) now display a human-readable message instead of "Failed to fetch".

Changed

  • Mobile Inspector and Mobile Flow now default to resetting app data on session start for both iOS and Android — no longer preserves previous state by default. Use the **Sem Reset** toggle to opt out.
  • Mobile Inspector iOS app reset now also clears the app keychain (`mobile: clearKeychains`) in addition to `mobile: clearApp`, ensuring apps that store first-launch flags in the keychain start in a clean state.

Fixed

  • **iOS Mobile Inspector — inspect overlay positioning**: source node overlays were rendered using logical point coordinates while the screenshot is in pixel space (3× on retina devices). Overlays are now scaled by the detected pixel ratio and correctly overlay the screenshot.
  • **iOS Mobile Inspector — element selection highlight**: selected element highlight was using logical-point bounds. A `pixelBounds` field is now returned by the `element-at` endpoint and used for the inspector highlight.
  • **iOS Mobile Inspector — "Add Touch" wrong coordinates**: tap/double-tap from the inspect panel was using logical-point center coordinates as pixel inputs. Fixed to use `pixelBounds` for center calculation.
  • **iOS Mobile Inspector — scroll view off-screen content**: XCUITest includes elements scrolled outside the visible area in the page source. These elements (marked `visible="false"`) are now filtered out from both the overlay grid and the element-at hit test, preventing phantom grid lines and incorrect element matches on scrollable screens.
  • **iOS Mobile Inspector — backspace/delete key**: the `/keycode` endpoint used the Android-only `press_keycode` API, which is not supported by XCUITest. iOS now uses W3C key actions with the Unicode DELETE character (`\uE003`).
  • **iOS Mobile Flow — SDK version mismatch**: session creation now auto-retries with the available simulator SDK version when Appium reports "does not exist in the list of simctl SDKs", matching the existing retry logic in the inspector.
  • **iOS Mobile Flow — evidence highlight wrong position**: evidence screenshot highlights were drawn in logical point coordinates against a pixel-space PNG. The pixel ratio is now detected at session creation and applied when drawing highlight overlays.
  • **Android Mobile Inspector — app not resetting**: UiAutomator2 sessions now correctly respect `noReset: false` by default — the previous `noReset: true` default was preventing app data from being cleared.
  • **Custom JavaScript expanded editor — global variables duplicated**: global variables were appearing in both the "Global" and "Flow" sections of the variable panel. The "Flow" section now filters out any variable that is already listed under "Global".
v0.2.52026-03-12

Added

  • `Web Flow` and `Smart Locators` now support built-in accessibility scanning on the current Playwright session, without requiring a separate node.
  • Accessibility scans now support severity-based failure thresholds (`Do Not Fail`, `Minor+`, `Moderate+`, `Serious+`, `Critical+`) directly in the node properties.
  • Accessibility evidence now includes visual overlays on step screenshots plus a final execution summary with consolidated accessibility artifacts.
  • `Custom JavaScript` now supports advanced automation against active Web and Mobile sessions, with `web`/`page` for Playwright and `mobile`/`app` for Appium-driven code.
  • `Custom JavaScript` now supports manual Web and Mobile screenshots directly from code through `web.screenshot(...)` and `mobile.screenshot(...)`.

Changed

  • `Web Flow` and `Smart Locators` no longer reuse stale element highlights on `after` evidence screenshots; when the clicked element no longer exists on the new page state, the `after` screenshot is captured without an orphan highlight.
  • Chrome Extension recorded `click` steps now default to `before + after` screenshots, improving click evidence readability with a precise pre-click highlight.
  • Mobile Inspector recorded tap and double-tap steps now default to `before + after` screenshots, aligning mobile click evidence with the Web recording flow.

Fixed

  • Chrome Extension recorder no longer creates false `click` steps from generic form submits in `Web Tools`.
  • Chrome Extension recorder now ignores script/autofill-driven text changes unless there is recent real user input, reducing phantom `type`/`fill` steps in both `Web Tools` and `Smart Locators`.
  • Smart Locator recording now promotes locators to `exact: true` and removes unnecessary `nth` when the target is already unique, reducing ambiguous matches such as partial button-name collisions.
  • Smart Locators scroll mode labels now use the same translated strings as `Web Flow`.
  • Duplicated nodes on the canvas now open beside the original node instead of overlapping it.
v0.2.42026-03-09

Fixed

  • `Mobile Flow` nodes now render the recorded step preview on the canvas card (same visual behavior used by `Web Flow` and `Smart Locators`).
  • Mobile Inspector inspect overlays now use border-only highlight for non-selected elements, improving screenshot readability in dense trees (e.g., Sauce Labs).
  • Mobile Inspector now clears stale selected-element highlight after tap/double-tap actions that change the app screen.
  • HTTP Request cURL import now accepts commands that provide the endpoint via `--url`.
v0.2.32026-03-08

Added

  • New `Email Inbox` node in **Utilities** for IMAP-based test automation:
  • New `email` credential type in Desktop and Flow Properties (inline credential modal), with IMAP password mode and OAuth2 mode.
  • Email OAuth flows (Gmail/Outlook) with browser authorization code + PKCE, including env defaults for Enterprise deployments (`EMAIL_OAUTH_*`).
v0.2.22026-03-06

Added

  • Report Template settings now include `Enable Evidence Highlight` (enabled by default) to control visual highlights in evidence screenshots for both Web and Mobile flows.
  • Mobile Inspector now shows visual gesture feedback overlays for taps and drags/swipes during recording.
  • Mobile Inspector now supports richer inspect overlays based on parsed source nodes (element bounds/highlight visualization in inspect mode).
  • Mobile Inspector now supports Shift+tap for double-tap recording and execution.

Changed

  • Step reordering in Properties panels now starts only from the grip handle in Web Flow, Smart Locators, Mobile Flow, and SSH nodes.
  • Mobile Inspector tap flow now executes tap and element lookup in parallel to improve perceived responsiveness after interaction.
  • Mobile Inspector screenshot refresh strategy was tuned with burst + tail refreshes to better capture delayed mobile UI updates.
  • Desktop installers now perform direct Node.js LTS + Appium setup for Mobile support (install/update path), including pinned Appium/driver versions in NSIS/macOS post-install flows; macOS/Linux runtime fallback also enforces Node update before automatic Appium setup.
  • Scheduler now performs orphan run recovery for stale executions (`pending`/`running` > 24h) at API startup and on periodic checks, marking them as `failed` with end time/duration/error summary (Desktop and Enterprise Web).

Fixed

  • Saving Report Template settings now shows a success toast.
  • Dragging to select text in Properties inputs no longer triggers unintended step-card dragging.
  • Variable fields (`VariableInput` and `SqlEditor`) now ignore non-QANode drag payloads, preventing accidental inserts like `{{ ... }}` from regular text drag/drop.
  • Mobile Inspector now handles expired/invalid Appium sessions more gracefully, preserving recorded steps and allowing reconnect.
  • Mobile Inspector typing/backspace capture is more stable with buffered flush handling, reducing missed or fragmented recorded input actions.
  • Parallel suite run finalization now always fails the parent run after the 24h wait timeout when child runs do not reach terminal status.
v0.2.12026-03-05

Added

  • **Browser & Device selection** for Web Flow and Smart Locators nodes — choose between Chrome/Chromium (default), Firefox, or Safari/WebKit per node
  • **Desktop viewport presets**: Full HD (1920×1080, default), 2K (2560×1440), 4K (3840×2160), Laptop (1440×900), HD (1366×768), WXGA (1280×720), XGA (1024×768), and Custom (free width/height)
  • **Mobile device emulation** for web nodes — select from 15 preset devices (iPhone SE through iPhone 15 Pro, iPad, Pixel 5/7, Galaxy S8/S9+/Tab S4) using real Playwright device profiles (viewport, user agent, device scale, touch)

Fixed

  • Web Flow and Smart Locators now auto-close non-persistent (`inMemory`) Playwright sessions at node end, keeping only persisted sessions open — this removes unnecessary session buildup and significantly improves runtime performance.
v0.2.02026-03-04

Added

  • Mobile automation support with the new **Mobile Flow** node and integrated **Mobile Inspector** recording workflow

Fixed

  • HTTP Request visual builder now correctly allows adding new Header and Query Param rows even when existing rows already contain values
  • Selector strategy fields now support variable highlight/preview behavior consistently in Web Flow, Smart Locators, and Mobile Flow editors
v0.1.112026-03-02

Fixed

  • Drag-and-drop reordering of selected scenarios in the Suite editor now works correctly — the grip handle is interactive and items can be repositioned by dragging

Changed

  • Storage backend is now abstracted as `local` or `s3`, with `seaweedfs` retained as a legacy alias for S3-compatible providers
  • Default report template image uploads now run through the application storage layer during API startup instead of storage-specific shell commands
  • Docker Compose and Swarm storage configuration now use generic `S3_*` variables while preserving local storage support
v0.1.102026-02-27

Added

  • **Chrome Extension — XPath Inspector mode**: new "XPath Inspector" radio button in the recorder popup; clicking any element in inspection mode generates all possible XPath strategies instead of recording a step

Changed

  • MongoDB Query node now auto-loads collections from `/db/schema` when a MongoDB credential is selected
  • MongoDB Query node no longer shows `URI` and `Database` fields in the flow panel (credential is now the single source of connection data)

Removed

  • Legacy `db-query` node was removed from worker registry and node definitions
  • Legacy `db-query` UI remnants were removed from the flow editor and props panel registry
v0.1.92026-02-26

Added

  • PWA (Progressive Web App) support for the Enterprise Edition — the web interface can now be installed as a standalone app on supported browsers and operating systems
  • Terms of Use (installer license page) updated in English, Portuguese, and Spanish to include an explicit data collection and privacy disclosure for the Community Edition
v0.1.82026-02-25

Added

  • Spanish (`es`) is now available in the language selector and i18n runtime for the frontend — full translation coverage across all pages and components
  • User invite/import email language detection now supports Spanish when `language` is sent by the UI
  • PostgreSQL credential form now includes a "Connection String (optional)" field — credentials created via connection string in the flow panel are now fully visible and editable from the Credentials page
  • Main dashboard panel widget titles and table column headers now follow the selected language (i18n keys stored on the backend, translated at render time)
  • Success rate cards on the main dashboard automatically turn red when the value drops below 70%, using the existing conditional formatting system
  • Windows installer now supports Spanish (`es_ES`) in the language selector — all installer strings and the Terms of Use are available in Spanish
v0.1.72026-02-24

Fixed

  • Credential edit form now correctly loads all database fields (host, port, database, username, password) — fields created via the inline flow panel were not appearing when editing from the Credentials page
  • Loop builder visual mode now correctly emits `&&` and `||` operators instead of literal `AND`/`OR` strings, fixing multi-condition while loops
  • While loop test mode now shows `_loopIndex: 0` in the output preview when the condition evaluates to true
v0.1.62026-02-23

Added

  • Resizable split panels for Variables and Properties in the flow editor — drag the divider to adjust each panel's height
  • Auto-updater now shows a download progress bar and handles network errors gracefully

Fixed

  • Switch node now correctly re-renders edge handles when cases are added or removed
  • If node condition expression was not being generated correctly in visual builder mode
  • Switch node operators (contains, startsWith, endsWith, etc.) were not being evaluated in visual builder mode
  • SSH Command node output key renamed from `steps` to `commands` to avoid conflict with the reserved `steps` context
  • HTTP Request node and Set Variable node now preserve `{{ template }}` expressions in URL parameters
  • Set Variable node no longer strips leading zeros from numeric string values
  • Global variable preview panel behavior and layout corrections
  • Flow execution now always runs headless when triggered as a scheduled or webhook flow
v0.1.12026-02-21

Fixed

  • Evidence node logo and template rendering issues
v0.1.02026-02-20

Added

  • Initial desktop release for Windows (NSIS), macOS (DMG), and Linux (AppImage)
  • Electron auto-updater integration for seamless background updates
  • Embedded PostgreSQL — no external database required
  • Dashboard worker count now reflects real active workers via BullMQ
  • macOS minimum system version set to 11.0 (supports all Apple Silicon Macs)

Fixed

  • Queue module no longer attempts Redis connection when running in standalone mode