Skip to main content

March 2026

Platform-wide API, PVC, and client library updates for this month are in Changelog 2026 (March 2026).

February 4, 2026

AgentUpdateCall Output Event

Added AgentUpdateCall event for dynamically updating call configuration during a conversation:
All fields are optional—only set fields are updated. See Events for details.

February 1, 2026

Line SDK v0.2 — Major Release

We’re releasing Line SDK v0.2, a complete redesign of the voice agent framework focused on simplicity, streaming performance, and seamless LLM integration. This release introduces a new async iterable architecture that replaces the previous event bus system.
Breaking Changes: v0.2 is not backwards compatible with v0.1.x. See the Migration Guide below for detailed upgrade instructions.
What’s changing? Line SDK v0.2 makes it much simpler to build voice agents. Instead of manually wiring together multiple components (systems, bridges, nodes), you now write a single function that returns your agent. The SDK handles audio, interruptions, and conversation flow automatically.
Why upgrade?
  • Faster development — Build agents in hours instead of days with less boilerplate code
  • Easier maintenance — Fewer moving parts means fewer bugs and simpler debugging
  • Better reliability — Built-in error handling, retries, and fallback models
  • More flexibility — Switch between 100+ AI providers (OpenAI, Anthropic, Google, etc.) without code changes
  • Powerful tools — Add capabilities like web search, call transfers, and multi-agent handoffs with one line of code

What’s New in v0.2

Simplified Agent Architecture

The new architecture replaces the VoiceAgentSystem, Bus, Bridge, and ReasoningNode pattern with a single async iterable function:
Benefits:
  • Less boilerplate code
  • No manual event routing or bridge configuration
  • Automatic conversation history management
  • Built-in interruption handling
  • Quick, and easy tool definition

Built-in LLM Support via LiteLLM

LlmAgent provides unified access to 100+ LLM providers through LiteLLM:

Declarative Tool System

Define agent capabilities using simple decorators. Three tool types cover all common scenarios:

Background Tool Execution

Long-running tools can execute in the background without blocking the LLM:

Built-in Tools

Common operations available out of the box:

Multi-Agent Workflows

Create sophisticated agent routing with agent_as_handoff:

Structured Event System

Events are how your agent communicates with the outside world. Output events are actions your agent takes (speaking, ending calls). Input events are things that happen during a call (user speaks, call starts). Output Events (agent → harness):
  • AgentSendText — Send text to be spoken
  • AgentEndCall — End the call
  • AgentTransferCall — Transfer to another number
  • AgentSendDtmf — Send DTMF tone
  • AgentToolCalled / AgentToolReturned — Tool execution tracking
  • LogMetric / LogMessage — Observability
Input Events (harness → agent):
  • CallStarted / CallEnded — Call lifecycle
  • UserTurnStarted / UserTurnEnded — User speaking
  • UserTextSent / UserDtmfSent — User content
  • AgentHandedOff — Handoff notification
All input events include a history field with the complete conversation context.

Enhanced Configuration

Fine-tune how your agent thinks and responds. LlmConfig lets you control the AI’s personality, response length, creativity, and reliability:

Migration Guide from v0.1.x to v0.2

This guide walks you through upgrading your existing v0.1.x agents to v0.2. The migration involves updating imports, simplifying your agent setup, and adopting the new tool system. Most agents can be migrated in under an hour.

Overview of Changes

Step 1: Update Imports

Step 2: Replace VoiceAgentSystem with get_agent

In v0.1.x, event routing was configured manually via bridge.on(). In v0.2, event dispatch is automatic with customizable run and cancel filters.

Run and Cancel Filters

Filters control your agent’s behavior during a call:
  • Run filters determine what triggers your agent to respond (e.g., when the user finishes speaking)
  • Cancel filters determine what interrupts your agent (e.g., when the user starts talking over the agent)
You can customize these by returning a tuple instead of just the agent:
Example: Agent that responds to DTMF input
Example: Agent that doesn’t get interrupted
Example: Custom filter function

Step 3: Migrate Event Handling

Step 4: Migrate Custom Tools

Step 5: Migrate Multi-Agent Patterns

Removed APIs

The following APIs from v0.1.x have been removed with no direct replacement:

Custom Agent Protocol

If you need custom logic beyond LlmAgent, implement the Agent protocol:

Breaking Changes Summary

This section provides a quick reference for all breaking changes. Use this as a checklist when migrating your code.

Event Renames

Output vs. Input events: AgentSendText is an output event you yield to make the agent speak. AgentTextSent is an input event you receive confirming what was spoken (appears in history).

Structural Changes

  • History in events: All input events now include an optional history field with complete conversation context. When history is None, the event is inside a history list; when it contains a list, the event has full context attached.
  • Tool events: ToolCall/ToolResult replaced with structured AgentToolCalled/AgentToolReturned
  • Event IDs: All events now have stable event_id fields for tracking

Configuration Changes

Use LlmConfig.from_call_request(call_request, fallback_system_prompt="...", fallback_introduction="...") to automatically inherit configuration from the Cartesia Playground while providing sensible defaults. See Agents documentation for details.

New Dependencies

v0.2 introduces the following dependencies:
Optional dependencies for examples:

Getting Help