Skip to content

v0.79.0

Choose a tag to compare

@sboily sboily released this 18 Sep 12:03
· 2629 commits to main since this release

What's Changed

  • fix(tools,gemini): what the pre-release review of 0.79.0 found
  • docs(changelog): promote Unreleased to 0.79.0 and repair the footer links
  • fix(tools): a refused realtime call does not trace as a served one (LUG-1846)
  • feat(tools): a handler can refuse a call in its own words (LUG-1846)
  • feat(tools): state the outcome of every tool call, refused ones included
  • refactor(gemini): read GEMINI_API_KEY everywhere and drop a warning that lies (RMK-1840)
  • feat(examples): drive both Gemini live examples from the microphone (RMK-1839)
  • fix(gemini): never schedule a tool response unless asked (RMK-1838)
  • docs(examples): the transcribe example resamples, it does not require 16 kHz
  • fix(gemini): send a thinking level extended-thinking cannot start without (RMK-1837)
  • fix(examples): repair trace_audio and make the shared backend import explicit
  • feat(stt): stream speech-to-text on gemini-3.5-transcribe-live (LUG-1836)
  • fix(gemini): track blocking tool calls per call, not per model (LUG-1834)
  • feat(gemini): default to gemini-3.8-live across the library and examples (LUG-1835)
  • feat(gemini): adapt the Live provider to the 3.8 contract (LUG-1832, LUG-1833, LUG-1834)
  • chore(tests): ignore the google-genai typing deprecation on Python 3.14 (LUG-1831)
  • feat(gemini): publish the 3.8 Live lineup and raise the google-genai floor (LUG-1831)
  • fix(core): use inspect.iscoroutinefunction for Python 3.14+ (LUG-1831)
  • fix(voice): keep GPT-Live close() a release of every socket it owns
  • fix(voice): release a GPT-Live socket whose protocol is already over
  • Begin 0.79.0.dev0 development

Full Changelog: v0.78.0...v0.79.0