Skip to main content
ReleasePreview
v2.25.5

Code generation

  • A brick, generator, or animation whose alias is a JavaScript reserved word — class, default, return, and the rest — compiles to a parseable generated project. The identifier is suffixed with _ instead of being emitted verbatim. See pull app.
  • The Generator LLM Interrupted event field, new in this release for the OpenAI and Anthropic generators, is declared in the generated types and documentation. See BRICKS Foundation.
ReleasePreview
v2.25.4

Security

  • New bricks-sast CLI — static security review for CTOR applications. It scans an application config for dangerous configuration — inline plaintext secrets, SSRF-prone requests, SQL string-building, ReDoS-prone patterns, and more — with severity gating, baselines, custom rules, and SARIF / JSON output for CI.

Automations

  • match_screenshot arguments are documented and typed as the runner actually reads them: [name, allowFailureMismatch?, threshold?].

Code generation

  • The Subspace exceed_boundary frame flag survives a pull → push round trip and is declared in the generated types. See pull app.
ReleasePreview
v2.25.2

Modules

  • Controller-made overrides of a linked Module’s public Data survive a pull → push round trip. They lived only in the Subspace, so the server refilled Module defaults on every push and silently reverted them. See pull app.

Skills

  • New rules for choosing between Items and hand-laid lists, keyed on structural signals rather than item counts, with mid-build escalation triggers and a hand-laid → Items migration recipe. See skills.
  • A new display-scale reference for bricks-design, mapping physical screen size, viewing distance, and interaction mode to concrete type, spacing, and touch-target numbers.
ReleasePreview
v2.25.1

Validation

  • bricks app doctor and the ctor compile gate now validate item-Brick event maps, flagging malformed entries and dead keys left behind by older Short Edit writes. See BRICKS CLI.
  • Compiling an automation map without AUTOMATION_MAP_DEFAULT now fails with an actionable message, instead of compiling green with zero runnable tests.

Code generation

  • Item-Brick state groups using item_key_mapping conditions survive a pull → source → compile round trip; an unrecognized condition now fails loudly instead of being silently stripped.
  • Test-case jump conditions use a single data / status contract: non-status conditional jumps actually fire, subspace_id / property_bank_id are preserved, and a legacy data condition survives the round trip.

MCP server

  • MCP editing tools and Simulator screenshots are confined to the project directory. See MCP server.
ReleaseBreakingPreview
v2.25.0

Breaking changes

  • Project tooling moved to the BRICKS CLI@fugood/bricks-ctor no longer ships project tooling. The bricks ctor command group in @fugood/bricks-cli replaces it, and existing projects migrate automatically on bricks ctor postinstall, which updates package scripts, the dependency, and .mcp.json. See BRICKS CLI.

MCP server

  • Experimental editing tools — dedicated tools for editing entries, events, canvas items, switches, and DataCalculationScript files, so common operations no longer need raw source edits. See MCP server.
  • Subspace references() => subspace1 getters replace hand-typed SUBSPACE_<uuid> literals in embeds, handlers, and link metadata, and a new new_subspace tool scaffolds a Subspace.
  • Typed script members for MCP Server and HTTP Server sandbox scripts.

Skills

  • The bricks-ctor skill adds a multi-Subspace design guide.
ReleasePreview
v2.24.13

Code generation

  • Generated Items Brick projects now bind item Outlets to the intended Data properties.
ReleasePreview
v2.24.12

Code generation

  • Generated projects preserve collapsed editor state and Data Bank property IDs after bricks ctor pull-app.
  • Project code generation preserves zero-valued Data bounds and zero/false frame standby settings.

Skills

  • The bricks-ctor skill guides agents to supported native and Google font-family choices.

MCP server

  • MCP config validation accepts DataCalculationScript outputs that fan out to multiple Data nodes. See MCP server.
ReleasePreview
v2.24.11

Code generation

  • Generated projects now start with canvases, Bricks, and Data collapsed by default while preserving explicit expanded-state settings.
  • Generated Items Brick projects preserve item fields such as frame type and detail / list press behaviors.

MCP server

  • Simulator MCP output now points agents to the Preview DevTools / bricks devtools inspection loop after successful compiles. See MCP server.
ReleasePreview
v2.24.10

Code generation

  • Generated projects serialize array data values correctly.
  • Data Calculation sandbox output no longer accumulates extra { } blocks on each compile.
  • Other generated-project stability fixes.

Pull app

  • bricks ctor pull-app — creates missing parent directories and respects the selected starting branch.
ReleasePreview
v2.24.9

Code generation

  • Generated projects preserve conditional jumps whose target case id is dynamic, instead of silently dropping them during compile.
  • Generator code generation no longer produces duplicate variable declarations when entity aliases collide.
  • Generated projects no longer lose a Data Calculation when one alias collides with another’s fallback file name.

Automation tests

  • Legacy automation tests now migrate into per-test files instead of being dropped and replaced with empty placeholders.

MCP

  • A malformed MCP config no longer wipes your other configured MCP servers during project setup.
ReleasePreview
v2.24.8

Codex

  • Generated projects pre-approve the bricks-ctor MCP tools for Codex, so Codex CLI sessions can call them without stalled approval prompts.

Claude Code

  • Claude Code projects seed local auto-mode trusted BRICKS infrastructure without enabling auto mode automatically.

Compile validation

  • Generated project compile checks catch Data Calculation cycles and broken PROPERTY_BANK_EXPRESSION strings earlier.
ReleasePreview
v2.24.5

Compile validation

  • bricks app check-config --validate-automation — surfaces broken automation_map / test_map references (missing Subspaces, Bricks, Canvases, Banks, dynamic senders / handlers, malformed PROPERTY_BANK_* input_to_receiver prefixes) at compile time. The project agent’s compile path enables this by default.

Automation

  • Optional subspaceId on method stepsbrick_press, execute_action, wait_until_*, delay, and other method steps can omit subspaceId; the runtime resolves it to the root subspace. The Config Editor labels the empty option as “Root (default)”.

Type system

  • Animation event handlers now accept a getter form (() => Animation) so lazy or forward references between animations type-check, matching every other entity reference.
  • boolean accepted as an alias for bool on Data type fields for ergonomics with TypeScript-trained authors. Runtime output is unchanged.

MCP

  • MCP tool output no longer carries ANSI escape sequences from tsc / bun / bricks child processes; terminal callers stay color-on.
ReleasePreview
v2.24.4

Auto-compile and pull

  • Background auto-compile — hash-gated background builds while a project session is active, with an inline compile-error banner and a Pull / Update Config pill flow that detects server-newer / local-ahead state.
  • Non-force Pull — the Pull dialog gains a non-force option that branches at the server’s last commit, applies the new files, and merges main back in. Force Pull keeps the previous in-place overwrite.

Deploy and rename

  • Deploy / Update Config forward the application.json name so renaming a project locally renames it on the server in the same request. Pairs with bricks app/module release --name.

Generated files

  • Automation-test and data-calculation filenames now use a kebab-cased alias slug so they stay stable across reorders; orphan .ts files are cleaned up on pull.

Skills

  • New bricks-design and bricks-ux skills bundle the visual-design and interaction-design disciplines for project agents.
ReleasePreview
v2.24.3

Improvements

  • Generated projects ship a new bun update-app script that pushes config changes without bumping the release version. Pairs with the bricks app update --last-commit-id / --validate conflict guards in BRICKS CLI.
  • Refresh the agent reference for Buttress integration.
ReleasePreview
v2.24.1

Improvements

  • Auto-generated commits (deploy, pull force-commits, migration/update) are now attributed to a CTOR (Desktop) author.
  • Generator skips dot directories and markdown files when formatting generated projects.
ReleaseBreaking
v2.24.0

Breaking changes

  • Renamed from bricks-project@fugood/bricks-project is now @fugood/bricks-ctor, and bricks-project-generator is now bricks-ctor-generator.
  • New project layout — generated projects use from 'bricks-ctor' imports and the ./ctor/ directory.
  • Automatic migration — legacy project/ directories and MCP config keys are migrated on first run. See getting started for the current setup.