Skip to main content
Pipecat 1.0 removes many deprecated APIs from the 0.0.x series. If you were already using the non-deprecated replacements, most of these changes won’t affect you. Before upgrading, search your codebase for the deprecated imports and patterns listed below to identify what needs to change.
Pipecat 1.0 requires Python 3.11 or later. Support for Python 3.10 has been dropped. Python 3.11 through 3.14 are supported.

1. Universal LLMContext

LLMContext is a universal context that works with all LLM providers. It allows you to dynamically switch LLMService at runtime, passing a compatible context between services. Pipecat maintains adapters for each LLM service, which are applied automatically at the time of inference. Use the standard messages format along with FunctionSchema and ToolsSchema to define tools in a provider-agnostic way.

Before (1.0)

After (1.0)

What was removed

2. Turn Management

Turn management was unified into the user context aggregator configuration. Strategies for interruptions, muting, and idle detection are now configured via LLMUserAggregatorParams.

Before (1.0)

After (1.0)

What was removed

3. VAD & Turn Analyzer Configuration

VAD and turn detection configuration moved from transport params to the user aggregator. Additionally, the VADParams default stops_secs changed from 0.8 to 0.2. This ensures that STT services create transcripts with optimal latency and sufficient silence padding. The UserTurnStrategies (stop) now control how long to wait before the user’s turn has stopped:
  • SpeechTimeoutUserTurnStopStrategy has a user_speech_timeout parameter that you can configure to control how long to wait before the user’s turn has stopped.
  • TurnAnalyzerUserTurnStopStrategy uses the smart-turn model to dynamically modify the wait time. No configuration is required.

Before (1.0)

After (1.0)

By default, the TurnAnalyzerUserTurnStopStrategy stop strategy is used, which includes the LocalSmartTurnAnalyzerV3 turn analyzer.

What was removed

4. Service Import Paths

All flat service imports have been removed. Services now use submodule imports.

Pattern change

Renamed/moved service modules

Removed service classes

These service have been removed.

5. Transport Import Paths

Transport imports moved from services subdirectory to transport-specific subdirectories.

6. Frames

Several frame classes were renamed or removed. Update any direct references in your code.

7. Service-Specific Parameter Changes

Individual services renamed or removed configuration parameters. Find your service below to see what changed.

8. Transport Parameters

All camera_* transport parameters were renamed to video_*. VAD-related transport params were removed — VAD is now configured on the user aggregator (see section 3).

9. Other API Changes

Smaller breaking changes across the rest of the API.

Pipeline

TTS service

Processors

RTVI

  • Deprecated RTVI models (RTVIConfig, RTVIServiceConfig) removed
  • RTVIActionFrame removed
  • RTVIProcessor.handle_function_call and handle_function_call_start removed

Other