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`.