> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.islo.dev/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.islo.dev/_mcp/server.

# Changelog

## November 4, 2026

### Changed

- Suggested Agents now return a typed `result` for each stage, like the Islo tenant's own Lines, and define evidence and redaction rules. Ship and plan Lines bound review/fix retries and separate product failures from unavailable checks. Verification checks the PR revision running in the Machine app.
- Suggested QA stores cross-run findings in a Factory Knowledge item. Each full report stays on its Line run; no external report delivery is added. A memory problem is reported on a `Memory:` line and does not change the QA result.
- Suggested build checks read the repository's own CI results for the exact pull request head. They run PR scripts locally only inside an isolated offline executor without gateway credentials, and only for checks CI did not cover. Without one, those checks return untested.
- Suggested reviewers and verifiers now post their findings and verification report on pull requests themselves, signed `Islo Reviewer` or `Islo Verifier` like the implementer's `Islo Implementer`.
- Suggested Lines route on those typed results, with a `head_moved` value for a moved pull request head. Bug triage now has its own Suggested Agent, `bug-confirmer`, with reproduced, not_reproduced and blocked results. It replaces the verifier in the Triage a bug Line, so a new suggestion appears in Agent suggestions.

### Deployment note

Existing deployments keep their saved prompts and continue running unchanged. After a catalog prompt update, redeploying an existing suggestion returns `agent_name_conflict` until you rename or delete the existing Agent. A changed saved Line manifest can separately return `line_name_conflict`. Catalog updates do not upgrade existing deployments in place. The Triage a bug Line now uses the new `bug-confirmer` Agent in place of `verifier`. Redeploying it also needs the existing Line renamed or deleted, and a `verifier` Agent that no other Line uses stays behind and can be deleted.

## October 26–30, 2026

### Added

- Start chats from a saved factory Agent page.
- When a Line run asks a structured question, answer with a choice, an Other response, or notes.
- Use a Decision Agent in a Line stage and review its answer and selected transition in the run view.
- Manage tenant settings and members from the app.

### Changed

- The factory floor is now an Overview dashboard. Lines have their own navigation entry, and Inbox collects work waiting for attention.

## October 19–25, 2026

### Added

- Configure tools for saved factory Agents.
- Browse Suggested Lines and deploy one with a single API request.
- Build Machines from repository components.

## September 28–October 18, 2026

### Added

- Create, build, and inspect Machines from factory pages.
- Read and steer a Line run as a conversation.
- Inspect Machine build history in the app.
- Save versioned factory Agents and choose their model.

## September 21–27, 2026

### Added

- Create and switch between multiple factories in one tenant. Factory resources and runs stay scoped to their factory.
- Start integration workflows from GitHub pull request actions.
- Selected public list endpoints now return versioned response envelopes, with cursor pagination where available.

### Security

- Several factory and integration queries now enforce tenant scope in the query itself.

## August 31–September 13, 2026

### Added

- Schedule Line runs with trigger inputs, and see who started a run.
- See run costs on the factory floor and Line run detail pages.

## August 17–30, 2026

### Added

- Open structured artifact links from Line runs.
- Stop a running Job or Line and retry eligible Line runs from the app.
- Enable or disable a Line without deleting its definition.

## August 3–16, 2026

### Added

- A factory Manager can coordinate Line runs, and the app shows the Manager alongside the Line definition.
- Connect integrations and use incoming events to start Lines. The Line editor shows connected triggers.
- Create Environments and select one when creating a sandbox.

### Security

- Selected API key, gateway profile, cloud role, and integration mutations now reject sandbox-origin credentials.

## July 1–August 2, 2026

### Added

- Use the public Jobs API to define Jobs and inspect their runs and step timelines.
- Create, deploy, and run factory Lines in the app. A Line connects Jobs into a repeatable workflow, and its run page shows each stage.
- Start a Line with inputs from its run form.

### Fixed

- Line runs now close an active stage event when the run fails, so the run timeline does not leave that stage running.

## v0.23.0

### Added

- **Snapshots**: Save and restore sandbox state with `islo snapshot save/ls/rm`
- Restore sandboxes from snapshots with `islo use --snapshot <name>`
- **Gateways**: Configure network policies and credential injection with `gateway_profile` in `islo.yaml` or `--gateway-profile` flag
- Interactive session selector when multiple sessions exist

### Fixed

- Claude Code now uses native installer
- Agent validation limited to supported agents

## v0.22.0

### Added

- **API key authentication**: Use Islo CLI with API keys instead of OAuth (`ISLO_API_KEY`)
- `--workdir` flag now supports absolute paths (e.g., `/tmp`)
- Workdir persisted in sandbox metadata
- Automatic retry handling for transient HTTP and WebSocket failures
- Improved WebSocket keepalive to prevent disconnects

### Fixed

- Skip unsupported auto-detected tools instead of aborting
- Create sandbox by name if it doesn't exist
- Don't modify `islo.yaml` when using `--source` flag
- WebSocket connection recovery from resets
- Cursor sessions in logs output
- Improved error messages and exit codes

## v0.21.0

### Added

- Auto-run `islo init` if no `islo.yaml` present
- Onboarding hints for project directory, GitHub auth, and integrations

### Fixed

- Avoid keychain access prompt on binary update
- Handle truncated exec SSE streams

## v0.20.0

### Added

- **Cursor integrated tasks**: Sandbox tasks can use server-side Cursor API access

### Fixed

- Support "Starting" sandbox status in `islo ls`
- Prefer specific allow tools from phantom settings

## v0.19.0

### Added

- Deleted sandbox status and paginated list response for better sandbox management

## v0.18.0

### Added

- Explicit `workdir` field in `islo.yaml` for configurable working directory

## v0.16.0

### Added

- `islo logs` command for exec and agent session inspection
- WebSocket keepalive with pings for connection stability

### Fixed

- Sandbox environment variable handling
- Double user wrapping when syncing git identity

## v0.16.0

### Added

- `islo logs` command for exec and agent session inspection
- WebSocket keepalive with pings for connection stability

### Fixed

- Sandbox environment variable handling
- Double user wrapping when syncing git identity

## v0.15.0

### Added

- `--ttl` flag for share expiration (set how long shares last)
- Simplified share CLI access model
- Integrations login/logout (`islo login --tool github|claude|gitlab`)
- Removed policy_mode from interactive session init

### Fixed

- Claude onboarding for interactive sessions
- Config handling and sandbox runtime safety
- Spinner while waiting for file sync to complete

## v0.14.0

### Added

- **Multi-tenant support**: Switch between organizations with `islo switch`
- Tenant shown in `islo status`

### Fixed

- Background task session polling deadline

## v0.12.0

### Added

- `islo share`, `islo shares`, `islo unshare` commands for port sharing
- `--public` flag for public shares
- SSH proxy support (`islo ssh`)
- Auto-complete for sandbox names

### Fixed

- Git sync support
- SSH setup cert prefetch (now non-fatal)
- Rename share "token" to share "slug"

_Showing the 20 most recent of 36 entries. Append `/llms.txt` to the changelog URL for the complete index._