v0.12.0
cyphar/paperbackv0.12.0Aug 12, 2026by csiwek
AI Summary
A major release introducing audio resampling improvements, Google Cloud Storage backend, and advanced SIP and STT capabilities.
Key Highlights
- Better resampling capabilities
- GCS storage backend support
- Multi-stream SIP legs support
- Deepgram Flux turn detection integration
- SIPREC support
New Features
- GCS storage backend
- Multi-stream SIP legs support
- Deepgram Flux turn detection and speech_final
- Custom recording filename support
- Mid-stream STT finalize
Full Release Notes
## What's Changed * Feat/better resampling by @csiwek in https://github.com/VoiceBlender/voiceblender/pull/88 * Report why a prompt stopped and how much of it played by @Mliviu79 in https://github.com/VoiceBlender/voiceblender/pull/85 * AMD Rework and fixes by @csiwek in https://github.com/VoiceBlender/voiceblender/pull/89 * Contain a mixer IO panic to the participant that caused it by @Mliviu79 in https://github.com/VoiceBlender/voiceblender/pull/80 * Post PR80 pull request fixes and improvements by @csiwek in https://github.com/VoiceBlender/voiceblender/pull/90 * fix flaky tests by @csiwek in https://github.com/VoiceBlender/voiceblender/pull/91 * Finalise recordings when participant leave in all cases by @csiwek in https://github.com/VoiceBlender/voiceblender/pull/93 * Add stable event_id to events with X-Event-Id webhook header and egre… by @csiwek in https://github.com/VoiceBlender/voiceblender/pull/96 * Publish recordings atomically and drive stereo capture from its own c… by @csiwek in https://github.com/VoiceBlender/voiceblender/pull/97 * Fail fast on a missing S3 bucket without breaking least-privilege IAM… by @csiwek in https://github.com/VoiceBlender/voiceblender/pull/98 * Feat/gcs storage backend by @csiwek in https://github.com/VoiceBlender/voiceblender/pull/99 * fix(sip): answer OPTIONS with 200 OK for dispatcher health probes by @mirkobrankovic82 in https://github.com/VoiceBlender/voiceblender/pull/94 * fix(sip): inbound SIP webhook signing when using global WEBHOOK_SECRET by @mirkobrankovic82 in https://github.com/VoiceBlender/voiceblender/pull/95 * test(sip): move OPTIONS test out of the TLS file and poll for readiness by @csiwek in https://github.com/VoiceBlender/voiceblender/pull/101 * Added CLAUDE.md for AI assisted develpment by @csiwek in https://github.com/VoiceBlender/voiceblender/pull/112 * Watch a REFER-transferred leg's dialog so a remote BYE ends the leg by @Mliviu79 in https://github.com/VoiceBlender/voiceblender/pull/102 * Transferred legs now publish leg.hold/leg.unhold like by @csiwek in https://github.com/VoiceBlender/voiceblender/pull/113 * Derive the outbound From identity from the registered trunk's AOR by @Mliviu79 in https://github.com/VoiceBlender/voiceblender/pull/103 * Added Unit tests by @csiwek in https://github.com/VoiceBlender/voiceblender/pull/114 * Keep caller transcripts and DTMF digits out of default-level logs by @Mliviu79 in https://github.com/VoiceBlender/voiceblender/pull/104 * Retry transient TTS synthesis failures with a bounded backoff by @Mliviu79 in https://github.com/VoiceBlender/voiceblender/pull/105 * PR-106 plus fixes (avoid blocking WS connections) by @csiwek in https://github.com/VoiceBlender/voiceblender/pull/115 * fix(api): bound VSI websocket writes on a deadline by @csiwek in https://github.com/VoiceBlender/voiceblender/pull/116 * feat(stt): add mid-stream STT finalize that keeps the session open (#… by @csiwek in https://github.com/VoiceBlender/voiceblender/pull/117 * feat(api): allow custom recording filename on /record by @mirkobrankovic82 in https://github.com/VoiceBlender/voiceblender/pull/111 * feat: Multi-stream SIP legs support with multiple m-lines by @csiwek in https://github.com/VoiceBlender/voiceblender/pull/118 * PATCH to change a stream's routing role in place. by @csiwek in https://github.com/VoiceBlender/voiceblender/pull/120 * Fix warning on github actions by @csiwek in https://github.com/VoiceBlender/voiceblender/pull/121 * fix/artifact fix by @csiwek in https://github.com/VoiceBlender/voiceblender/pull/122 * SIPREC support as SRC and SRS by @csiwek in https://github.com/VoiceBlender/voiceblender/pull/123 * Fix flaky webrtc tests by @csiwek in https://github.com/VoiceBlender/voiceblender/pull/125 * Add Deepgram Flux turn detection, speech_final, and preflight TTS by @csiwek in https://github.com/VoiceBlender/voiceblender/pull/126 * Fix TTS tests by @csiwek in https://github.com/VoiceBlender/voiceblender/pull/127 * Assert a recording session survives the ACK by @agranig in https://github.com/VoiceBlender/voiceblender/pull/128 * sip: a bare rs-metadata body is not an SDP offer by @agranig in https://github.com/VoiceBlender/voiceblender/pull/129 ## New Contributors * @Mliviu79 made their first contribution in https://github.com/VoiceBlender/voiceblender/pull/85 * @mirkobrankovic82 made their first contribution in https://github.com/VoiceBlender/voiceblender/pull/94 * @agranig made their first contribution in https://github.com/VoiceBlender/voiceblender/pull/128 **Full Changelog**: https://github.com/VoiceBlender/voiceblender/compare/v0.11.2...v0.12.0