v0.0.70
pipecat-ai/pipecatv0.0.70Jun 10, 2025by aconchillo
AI Summary
Release adding ExotelFrameSerializer, CartesiaSTTService, WebsocketTransport example, and language support to RimeHttpTTSService.
Key Highlights
- Added ExotelFrameSerializer for telephony calls via Exotel
- Added CartesiaSTTService for websocket-based transcription
- Added WebsocketTransport example showing client/server connections
- Added language support to RimeHttpTTSService (German and French)
Breaking Changes
- Pipecat 0.0.69 forced uvloop event loop on Linux on macOS; now not enabled by default
- SmallWebRTCTransport updated to use on_client_disconnected instead of on_client_close
New Features
- ExotelFrameSerializer
- CartesiaSTTService
- WebsocketTransport example
- Informal language option for Gladia config
- Language support for RimeHttpTTSService
Full Release Notes
### Added - Added `ExotelFrameSerializer` to handle telephony calls via Exotel. - Added the option `informal` to `TranslationConfig` on Gladia config. Allowing to force informal language forms when available. - Added `CartesiaSTTService` which is a websocket based implementation to transcribe audio. Added a foundational example in `13f-cartesia-transcription.py` - Added an `websocket` example, showing how to use the new Pipecat client `WebsocketTransport` to connect with Pipecat `FastAPIWebsocketTransport` or `WebsocketServerTransport`. - Added language support to `RimeHttpTTSService`. Extended languages to include German and French for both `RimeTTSService` and `RimeHttpTTSService`. ### Changed - Upgraded `daily-python` to 0.19.2. - Make `PipelineTask.add_observer()` synchronous. This allows callers to call it before doing the work of running the `PipelineTask` (i.e. without invoking `PipelineTask.set_event_loop()` first). - Pipecat 0.0.69 forced `uvloop` event loop on Linux on macOS. Unfortunately, this is causing issue in some systems. So, `uvloop` is not enabled by default anymore. If you want to use `uvloop` you can just set the `asyncio` event policy before starting your agent with: ```python asyncio.set_event_loop_policy(uvloop.EventLoopPolicy()) ``` ### Fixed - Fixed an issue with various TTS services that would cause audio glitches at the start of every bot turn. - Fixed an `ElevenLabsTTSService` issue where a context warning was printed when pushing a `TTSSpeakFrame`. - Fixed an `AssemblyAISTTService` issue that could cause unexpected behavior when yielding empty `Frame()`s. - Fixed an issue where `OutputAudioRawFrame.transport_destination` was being reset to `None` instead of retaining its intended value before sending the audio frame to `write_audio_frame`. - Fixed a typo in Livekit transport that prevented initialization.