ai-agents v1.0.0
ai-agents v1.0.0 is the first stable release of the YAML-first Rust runtime for building, running, and evaluating AI agents.
This release establishes versioned public contracts for agent configuration, runtime execution, tool authorization, state, memory, persistence, spawning, orchestration, evaluation, and observability.
Highlights
- Build agents from strict YAML and run them through the CLI or Rust API.
- Use states, skills, process pipelines, dynamic context, memory, facts, relationships, persona, spawning, and multi-agent orchestration.
- Grant ordinary tools explicitly and execute all calls through shared policy, approval, locking, timeout, cancellation, and evidence boundaries.
- Use native or bounded fallback tool choice with
auto,required,specific, andnone. - Persist snapshots with file, SQLite, or Redis storage, with explicit capability errors for unsupported operations.
- Validate behavior with deterministic mocked suites, optional live provider suites, structured assertions, and privacy-aware observability.
- Run on Rust 1.88 or newer.
The workspace publishes 23 Apache-2.0 crates, including the main ai-agents facade and ai-agents-cli.
Install
Add the framework to a Rust project:
[dependencies]
ai-agents = "1.0"Install the CLI:
cargo install ai-agents-cliThen run a YAML agent:
ai-agents-cli run agent.yamlStable contract and support boundaries
The stable core includes builder construction, blocking chat, strict YAML, states, skills, process, context, built-in tool authorization, and in-memory or compacting conversation memory.
Streaming, evaluation, observability, provider adapters, MCP, persona, file and SQLite storage, facts, relationships, spawning, orchestration, and runtime optimization are supported within their documented operational boundaries.
Redis remains snapshot-only and experimental. Noop storage provides no persistence.
Framework controls are not an operating-system, process, filesystem, credential, or network sandbox. Applications remain responsible for deployment isolation, secret handling, network egress, custom tools, MCP servers, and provider integrations.
Upgrading from release candidates
Users upgrading from 1.0.0-rc.16 should review these contract changes:
- Fixed framework-owned YAML objects reject unknown fields.
- Ordinary model-callable tools require explicit top-level grants. Omitting
tools:or using an empty list grants no ordinary tools. - States may narrow the top-level tool grant but cannot widen it.
- Filesystem mutation tools execute when
dry_runis omitted. Usedry_run: truefor preview. mutation_performedis the authoritative mutation result field.- Unsupported storage operations return explicit capability errors.
- Declared child-agent construction is fail-closed and capacity-aware.
- Provider tool choice is opt-in; omitted choice preserves the legacy prompt protocol.
- Web fetch validates and binds the default transport to approved addresses, rejects embedded credentials, and disables proxy-based hostname resolution.
See the full CHANGELOG for the complete compatibility and implementation record.
Documentation
- Getting Started
- Concepts and support boundaries
- YAML Reference
- Built-in Tools
- Rust API
- Evaluation
- Examples
The v1 announcement will be published after release validation, publication, and tag verification are complete.