v0.0.75
pipecat-ai/pipecatv0.0.75Jul 8, 2025by markbackman
AI Summary
This release updates RTVI to protocol 1.0.0 and adds sentence aggregation options to TTS services. It also refactored AWS services to use `aioboto3` for async support.
Key Highlights
- Updated RTVI to 1.0.0 protocol with new client-message handling
- Added `aggregate_sentences` arg to TTS services
- Refactored AWS Bedrock and Polly services to use `aioboto3` for async support
Breaking Changes
- RTVI protocol 1.0.0 migration required (deprecated old config/action messages)
New Features
- `aggregate_sentences` for TTS services
- `kwargs` for `OLLamaLLMService`
- Hang-up error handling in `TwilioFrameSerializer`
- `UserIdleProcessor` handles long function calls
Full Release Notes
**This release has been yanked due to resampling issues affecting audio output quality and critical bugs impacting `ParallelPipelines` functionality.** **Please upgrade to version 0.0.76 or later.** ### Added - Added an `aggregate_sentences` arg in `CartesiaTTSService`, `ElevenLabsTTSService`, `NeuphonicTTSService` and `RimeTTSService`, where the default value is True. When `aggregate_sentences` is True, the `TTSService` aggregates the LLM streamed tokens into sentences by default. Note: setting the value to False requires a custom processor before the `TTSService` to aggregate LLM tokens. - Added `kwargs` to the `OLLamaLLMService` to allow for configuration args to be passed to Ollama. - Added call hang-up error handling in `TwilioFrameSerializer`, which handles the case where the user has hung up before the `TwilioFrameSerializer` hangs up the call. ### Changed - Updated `RTVIObserver` and `RTVIProcessor` to match the new RTVI 1.0.0 protocol. This includes: - Deprecating support for all messages related to service configuaration and actions. - Adding support for obtaining and logging data about client, including its RTVI version and optionally included system information (OS/browser/etc.) - Adding support for handling the new `client-message` RTVI message through either a `on_client_message` event handler or listening for a new `RTVIClientMessageFrame` - Adding support for responding to a `client-message` with a `server-response` via either a direct call on the `RTVIProcessor` or via pushing a new `RTVIServerResponseFrame` - Adding built-in support for handling the new `append-to-context` RTVI message which allows a client to add to the user or assistant llm context. No extra code is required for supporting this behavior. - Updating all JavaScript and React client RTVI examples to use versions 1.0.0 of the clients. Get started migrating to RTVI protocol 1.0.0 by following the migration guide: https://docs.pipecat.ai/client/migration-guide - Refactored `AWSBedrockLLMService` and `AWSPollyTTSService` to work asynchronously using `aioboto3` instead of the `boto3` library. - The `UserIdleProcessor` now handles the scenario where function calls take longer than the idle timeout duration. This allows you to use the `UserIdleProcessor` in conjunction with function calls that take a while to return a result. ### Fixed - Updated the `NeuphonicTTSService` to work with the updated websocket API. - Fixed an issue with `RivaSTTService` where the watchdog feature was causing an error on initialization. ### Performance - Remove unncessary push task in each `FrameProcessor`.