What's Changed
- feat: add mkdocs-llmstxt plugin and llms.txt support by @jxnl in #1795
- Restore multimodal import compatibility by @jxnl in #1797
- feat(retry): add comprehensive tracking of all failed attempts and exceptions by @jxnl in #1802
- feat(hooks): add hook combination and per-call hooks support by @jxnl in #1803
- feat(retry): propagate failed attempts through reask handlers by @jxnl in #1804
- fix(responses): generalize tool call parsing for reasoning models by @sapountzis in #1799
- feat(xai): add streaming support for xAI provider by @jeongyoonm in #1758
- fix(openai): reask functionality broken in JSON mode since v1.9.0 by @pnkvalavala in #1793
- fix(openai): remove duplicate schema from messages in JSON_SCHEMA mode by @pnkvalavala in #1761
- Handle Anthropic tool_use retries on ValidationError by @kelvin-tran in #1810
- Investigate instructor client import errors by @jxnl in #1818
- fix: replace deprecated gpt-3.5-turbo-0613 with gpt-4o-mini by @sergiobayona in #1830
- Update blog post link for LLM validation examples by @Mr-Ruben in #1824
- Debug parse error hook not emitted by @jxnl in #1819
- only use thinking_config in GenerateContentConfig by @jonbuffington in #1751
- fix: Handle Gemini chunk.text ValueError when finish_reason=1 by @jxnl in #1809
- docs: replace deprecated validation_context with context parameter by @devin-ai-integration[bot] in #1831
- docs(validation): add context parameter examples and fix error output by @devin-ai-integration[bot] in #1833
- also add pop thinking_config to handle_genai_tools by @oegedijk in #1834
- update cohere text models. by @phlogisticfugu in #1840
- fix(cohere): improve V2 API version detection and add documentation by @jxnl in #1844
- doc(openrouter): use explicit async_client=False by @wongjiahau in #1847
- Fix json parsing by @NicolasPllr1 in #1836
- fix: Bedrock OpenAI models response parsing (reasoning before text) by @len-foss in #1860
- fix: Python 3.13 compatibility and import path corrections by @jxnl in #1866
New Contributors
- @sapountzis made their first contribution in #1799
- @jeongyoonm made their first contribution in #1758
- @pnkvalavala made their first contribution in #1793
- @kelvin-tran made their first contribution in #1810
- @sergiobayona made their first contribution in #1830
- @Mr-Ruben made their first contribution in #1824
- @jonbuffington made their first contribution in #1751
- @phlogisticfugu made their first contribution in #1840
- @wongjiahau made their first contribution in #1847
- @NicolasPllr1 made their first contribution in #1836
- @len-foss made their first contribution in #1860
Full Changelog: 1.11.2...v1.12.0