---
title: "0.19.0"
description: "0.19.0 should be a minor release. Since 0.18.0, Smithers has exposed"
---

0.19.0 should be a **minor release**. Since 0.18.0, Smithers has exposed
public Effect-based workflow builders, added Unix socket transport for the
Gateway and its client, hardened the Gateway client's response validation,
and scaffolded a real Kanban UI into the default workflow pack. There are
no intentional breaking changes, but the new public API surface, most
notably `Smithers.createWorkflow` / `Smithers.createComponent` and the
`path` listen option, is larger than a patch release.

---

## Effect API

- **`Smithers.createWorkflow` and `Smithers.createComponent` are now public.**
  The previously-internal `_createWorkflow` and `_createComponent` Effect
  builders are exported from the engine and re-exported through
  `smithers-orchestrator`. Authors can compose workflows with `Effect`,
  `Layer`, and `Schema` directly, without going through JSX.

- **New TypeScript surface for the Effect builder.** The engine type bundle
  now exports `BuilderApi`, `BuiltSmithersWorkflow`, `ComponentDefinition`,
  `ComponentDefinitionBuilder`, `StepOptions`, and
  `WorkflowDefinitionBuilder`, so external callers can type Effect-based
  step bodies and component factories.

- **New `Effect API` docs section.** A new docs page walks through the
  minimal Effect workflow, schemas, step bodies that return `Effect`
  values, sequence/parallel/loop/match nodes, and the runtime guarantees
  shared with the JSX surface (SQLite-backed steps, no re-runs on resume,
  schema-validated outputs).

## Gateway

- **Unix socket transport.** `Gateway#listen` now accepts a `path` option
  and listens on a Unix domain socket when provided. The gateway client
  understands matching `ws+unix:` base URLs, so browser-style and
  socket-based deployments can share the same RPC and WebSocket surface.

- **Hardened client response validation.** `SmithersGatewayClient` now
  validates Gateway response frames against an explicit shape check before
  surfacing them, raising `INVALID_GATEWAY_RESPONSE` on malformed payloads,
  `HTTP_ERROR` on non-RPC HTTP failures, and a clear error when `fetch` is
  not available in the current environment. The `WebSocketImpl` field is
  now optional and populated lazily.

- **Connection-level robustness.** `SmithersGatewayConnection` was tightened
  alongside the client (frame validation, error normalization), and a new
  test suite covers HTTP RPC paths, WebSocket request/response framing,
  and the gateway-react RPC and actions hooks.

## CLI

- **`bunx smithers-orchestrator init` scaffolds a Kanban gateway UI.** New projects get a
  `.smithers/gateway.ts` entry, a `.smithers/ui/kanban.tsx` browser entry,
  and a `gateway` script so `bun ./gateway.ts` starts a local Gateway
  with the Kanban workflow mounted at `/workflows/kanban`.

- **Kanban UI dark theme.** The scaffolded Kanban UI ships with a
  Linear-style dark theme: token-driven colors, refreshed metric tiles,
  run/board layout, and approval controls. The light/system color scheme
  is still honored, but the default look is dark.

- **Init E2E coverage.** The CLI init test verifies the seeded gateway
  entry, Kanban UI file, dependency wiring, and that the generated
  `.smithers/` typechecks.

## Examples

- **New `parallel-tickets` example.** `examples/parallel-tickets.jsx` plus
  five MDX prompts (`triage`, `implement`, `research`, `review`, `merge`)
  demonstrate a Triage, then wave-by-wave parallel implement/review, then
  `MergeQueue` pipeline. Tickets within a wave run concurrently in their
  own worktrees; waves merge back into `main` one at a time before the
  next wave starts. Implementer/researcher run on Claude (Sonnet/Haiku);
  the reviewer runs through the Pi/Codex CLI.

## Docs

- **New `Why React?` page.** A Learn-group page explains the agent-experience
  rationale for Smithers being a JSX runtime: agents are disproportionately
  good at writing React, and the runtime's properties (durability, time
  travel, hot reload, composability) fall out of mapping orchestration onto
  that authoring model. Linked from the introduction.

- **Self-contained TOON API reference.** `research/toon-api.md` is a
  briefing for an agent designing a Lisp front-end for Smithers. It
  inlines the spec, schemas, node kinds, compiler source, and fixtures of
  the retired `.toon` workflow format so the briefing has no external
  dependencies.

- **Regenerated `llms-*.txt` bundles.** `llms-full.txt` and
  `llms-observability.txt` were rebuilt to pick up the Custom React UI
  section and the new `listWorkflows` / `listApprovals` RPC documentation
  introduced in 0.18.0.

## Fixes

- **GUI `.dmg` link points at the correct host.** The installation page
  and regenerated `llms-*.txt` bundles now use `download.smithers.sh` for
  the GUI download, replacing the `get.smithers.sh` URL that 404s.
