Skip to main content
Release
v2.25.11

New commands

  • bricks app control-page <app-id> — issues a token for the Runtime Editor, Canvas Control, and Device Control pages and prints their URLs. Issuing a token needs an OAuth login; --no-token prints the sign-in URLs only.
  • bricks devtools diagnostics pull — reads a device’s diagnostics record with the diagnostics code shown on its screen, its passcode, or a workspace token, also while the device is unbound, idle, or offline.

Changes

  • bricks app release and bricks ctor deploy ask the server to validate the config. Pass --no-validate to skip. See commands.
  • bricks devtools brick tree shows the node ID of each element, and bricks devtools runtime eval returns the value of the last expression.

Fixes

  • bricks app get reports Automation schedules from the bound devices instead of always No schedule.
  • bricks ctor simulator accepts --help and reports simulator process failures.
Release
v2.25.10

Fixes

  • Cancelling browser sign-in stops the login immediately, including during the final step.
  • bricks app release and bricks module release accept an inline release config containing URLs instead of treating it as a file path. See commands.
  • bricks group resolve searches every device group, and --limit limits the matches.
Release
v2.25.9

Fixes

  • bricks ctor project setup no longer stalls on a verbose command. See commands.
  • The Data Bank commands report a malformed response instead of failing opaquely.
  • Device and group monitoring rejects an invalid polling interval.
Release
v2.25.7

DevTools

  • bricks devtools input key presses a named key — ArrowRight, Enter, Escape, Tab — through the runtime’s key simulation, the same path automation keydown/keyup steps use, so Keyboard Generators and Scene3D key scripts receive it. The command reports whether the runtime accepted the key, rejected it, or is an older runtime that cannot confirm delivery. Previously it printed success while non-text keys were dropped. See commands.
  • bricks devtools console list tags each entry [retained <age>] or [new], so a stale error is no longer indistinguishable from one the current run just produced. --live-only drops the retained history, and a new bricks devtools console clear discards it on the device.
Release
v2.25.6

Activity Log

  • bricks al screenshot --stream --from <window> — downloads a whole Activity Log screenshot window as one MJPEG stream instead of one request per frame: 26 frames in 1.4 s instead of 27 s. Frames are named by capture timestamp, and -j writes a manifest, which the single-frame path now prints too. See commands.
  • bricks activity-log applies --limit on the server, so 100 events out of a 36,000-event window return in 2 s instead of 9.5 s. A new --offset pages alongside it, and is rejected without --limit, which the server would silently ignore.

Buttress

  • bricks buttress bank-key — issues, rotates, or --revokes the Data Bank key a BRICKS Buttress server’s local functions use. bricks buttress status shows the bound Data Bank. See BRICKS Buttress.

Fixes

  • bricks data set writes to the Data Bank again. Every write was rejected because values and meta were sent in the wrong wire format.
Release
v2.25.1

DevTools

  • bricks devtools console list — reads a running app’s console output, covering log entries and exceptions, with an optional collection duration and JSON output. See commands.
  • MESSAGE system actions without a title now reach the console too, instead of appearing only in the in-Simulator Logs panel.
  • Timers keep running at full speed while bricks devtools drives the Simulator, so Generator Tick and other timer-driven generators no longer look frozen. See CTOR.

Buttress

Doctor

  • bricks app doctor — config validation now checks item-Brick event maps, flagging malformed entries and dead keys left behind by older Short Edit writes. See bricks-ctor.
ReleaseBreaking
v2.25.0

Breaking changes

  • bricks auth login is now OAuth — it starts the browser sign-in flow. Passcode login moved to bricks auth login-workspace. See authentication.
  • ctor project tooling moved into the CLI — @fugood/bricks-ctor no longer ships project tooling; the bricks ctor command group replaces it. Existing projects migrate automatically on bricks ctor postinstall, which updates package scripts, the dependency, and .mcp.json. See bricks-ctor.

Authentication

  • Sign in with your BRICKS account — bricks auth login opens the browser using PKCE, with a --no-browser device-code flow for SSH and headless environments. bricks auth workspaces and bricks auth use-workspace then select the workspace.
  • The workspace API accepts OAuth sign-ins with the same per-operation permissions as the web BRICKS Controller. Workspace-token auth remains fully supported for CI and automation.

ctor projects

  • bricks ctor — init, postinstall, pull, push, deploy, compile, simulator, and mcp now live in the CLI. See commands.

Doctor

  • bricks app doctor and bricks module doctor — one command runs config validation plus semantic lint rules that catch real bugs: data-update races, missing result parameters, out-of-bounds frames, covered pressables, unused data nodes, and more.

DevTools

  • bricks devtools issue-token caches a workspace token per profile. CDP commands pick it up automatically, and scan and open show each device’s auth state. See local debugging.
Release
v2.24.11

DevTools

  • bricks devtools — adds runtime interaction commands for Preview / Simulator workflows, including text input and popup reset helpers. See commands.

Fixes

  • bricks media upload — still uploads files when --concurrency is 0, negative, or invalid, falling back to serial execution instead of reporting a false success.
  • bricks al screenshots — shows an exact epoch-ms --ts value so listed screenshots can be downloaded without timestamp rounding failures.
Release
v2.24.10

Fixes

  • bricks device — shows N/A instead of NaN% when memory or disk usage is unavailable. See commands.
Release
v2.24.9

Fixes

  • bricks app share-new — no longer fails with an “Unknown argument” error, so it can create an application from a shared version. See commands.
  • bricks group — dispatch, refresh, devices, and monitor no longer always fail; dispatch now reports the dispatched and device counts. See commands.
  • bricks app get — now correctly shows a locked application as locked.
  • Streamed event data is no longer dropped when an event value contains three consecutive hyphens (”---”).
Release
v2.24.8

Data Bank

  • bricks data — manage Data Bank status, space keys, and properties, with JSON output and confirmation handling for write actions. See commands.

DevTools

  • bricks devtools storage — inspect System storage, Data Bank stores, Generator cache, and Generative Media cache with filters, paging, and full-value output. See commands.

App validation

  • bricks app check-config — now validates Data Calculation references and PROPERTY_BANK_EXPRESSION strings by default, with --no-validate-expressions available when needed. See commands.
Release
v2.24.7

Resource management

  • bricks app remove, bricks device remove, and bricks module remove — remove the corresponding resources from a workspace, with dry-run preview and JSON output support. See commands.
Release
v2.24.5

DevTools

  • bricks devtools — accepts host:port directly via -a host:port, defaults --address to 127.0.0.1, and improves tap response on devices with non-standard pixel ratios. See commands.

Share-app

  • bricks app share-info / share-new — work against v2.24.5+ workspaces. The workspace-scoped GraphQL field that bricks-cli relies on was previously missing on the workspace API.
Release
v2.24.4

Share-app

  • bricks app share-info <id> — list a source app’s selected releases. See commands.
  • bricks app share-new — create an application from a shared release version (--app-id + --version, or --version-id directly).

App and module

  • bricks app/module release — accepts --name to rename in the same request.
Release
v2.24.3

Self-update

  • bricks update-cli — new command for in-place self-update across npm, bun, and standalone-binary installs. --check-update reports availability without installing. See commands.

Buttress

  • bricks buttress scan — discover LAN buttress-servers, with auth state, bound workspace, and per-generator hardware caps. See commands.

App and module updates

  • bricks app/module update — accepts --last-commit-id and --validate to reject conflicting pushes. Generated projects ship a new bun update-app script that pushes config changes without bumping the release version, with auto-derived conflict guards based on the project’s git state.

DevTools

  • Emit the HTTP CDP frontend URL by default; mark devtools:// as legacy. See Local debugging.
  • Accept devtools flags placed before subcommands.

Other

  • Support -v as an alias for --version.
  • bricks app/module new --init (and ctor-init) treat --output as the target directory when explicitly supplied.
  • Refuse to init a new project inside an existing CTOR project.
Release
v2.24.2

desktop-acp-bridge

  • New --ws mode on desktop-acp-bridge exposes the CTOR Desktop ACP socket over WebSocket for LAN clients, with optional Bearer-token authentication. See commands.
Release
v2.24.1

Standalone distribution

  • New standalone CLI distribution with platform installers (macOS, Linux, Windows) — no Node.js required. See authentication and commands for installation prerequisites.
  • Prefers the bun runtime when available, with automatic fallback to node.
  • Unix install directory moved to ~/.bricks-cli/bin.
  • Auto-adds the install directory to your shell rc when missing from PATH.
Release
v2.24.0

Highlights — AI-agent workflows

  • Machine-readable health checks — new bricks doctor and bricks auth status --json for scriptable environment diagnostics. See commands.
  • resolve commands — new resolve subcommands for devices, apps, modules, and groups to look up canonical IDs by name or alias.
  • --dry-run previews — preview the effect of live write commands before executing: device control, device bind, device refresh, device clear-cache, app bind, app release, module release, group dispatch, group refresh.
  • Activity Log and device metrics — query Activity Log entries and device metrics from both the CLI and the built-in MCP server.
  • Safe startup in non-TTY contexts — prints help instead of rendering the Ink UI when stdout is not a TTY, keeping CI and pipe invocations predictable.

DevTools

  • bricks devtools — new subcommands for terminal-based inspection of running BRICKS applications: screenshot, brick tree, brick query, input tap, input type, network list, network get, storage, and runtime eval. See DevTools commands.