Repository navigation
v2.12.0
Released 2026-10-15. Firecrawl Search, FXMacroData and Phoenix tracing shipped earlier the same day in 2.11.0.
Changes
- Discover every page of MCP tools, resources and prompts. Propagate template continuation errors instead of silently dropping them.
- Resolve MCP schema references to non-object definitions and decode escaped definition names.
- Parse JSON text from real MCP SDK results when structured content is absent. Preserve precedence for present structured content, including empty values.
- Raise a RuntimeError when an MCP server returns an error result (
isError), before output parsing. The message carries only the server's text content; structured content, metadata and binary data stay out of it. Application outputs that merely contain anisErrorfield are still returned as data. Based on #295 by pei711. - Include the incoming message in the context token budget.
- Preserve chat history when loading invalid serialized data.
- Update the YouTube transcript tool for the instance API in youtube-transcript-api 1.x.
- Expand mocked regression tests for agent, history, schema and MCP transport behavior. Remove synthetic production-filename coverage instrumentation.
Compatibility
Python 3.12 or newer is required. Existing public framework interfaces and provider configuration remain compatible.
Forge tools keep their own dependencies and setup instructions. Existing users of the YouTube transcript tool should update their local copy.
Known issue
A fresh install that resolves litellm 1.104.x with tiktoken 0.14.x needs network access the first time get_context_token_count() runs: tiktoken rejects the tokenizer files bundled by that litellm version and downloads them. Offline environments can point CUSTOM_TIKTOKEN_CACHE_DIR at a directory holding the cl100k_base and o200k_base files. This is upstream behavior, not a framework change.