2.9.0 (2026-06-19)
Major updates
- The interactions implementation has been completely replaced. The public api surface is unchanged. (d830f16)
Features
- Add audioOffset to VoiceActivity (fb785e4)
- Add gemini-3-flash-preview (gemini-3.1, gemini-3.5, gemini-4 are already mapped) to the local tokenizer map. (749f8a1), closes #1972
- Add interimInputTranscription to LiveServerContent (fb785e4)
- Add LanguageAuto, LanguageHints, and adaptationPhrases to AudioTranscriptionConfig (fb785e4)
- Broaden publisher model path check to support all publishers (5d282e6)
- Add ServiceTier to UsageMetadata (45b4963)
- Expose Computer Use API fields (420b5a7)
- Gemma 4 local tokenizer support (ca97c58)
- interaction-api: Add presence_penalty, frequency_penalty, and cached_content to models.proto (05f16fe)
- interaction-api: Rename usage to total_usage in StreamMetadata. (7c331c6)
Bug Fixes
- Add fallback for
aiohttp.readlinewithoutmax_line_lengthfor backward compatibility because we still want to keep aiohttp as optional dependency (e99ab99), closes #2487 - Fix header (f8f9749)
- Keep live music API keys out of websocket urls (#2564) (c754ebf)
- Make
transformersan optional dependency for local tokenizers, also add other dependencies to local-tokenizer-extras. (528926b) - Use .model_copy() instead of deprecated .copy() (216369f)