Heads up This site is currently under heavy development.
Subscribe Get it delivered — the daily firehose, filtered to the tools you run, plus the documentation changes vendors never announce. Compare plans →

The AI Toolchain — issue -248, December 12, 2025

THE AI TOOLCHAIN NO. -248
Tail
THE DAILY RELEASE FIREHOSE
PUBLISHED DECEMBER 12, 2025 · EVERY WEEKDAY
EDITIONS tail grep head diff uniq

The daily firehose — everything the toolchain shipped today, already filtered.

// HOW THIS ISSUE IS MADE

We read every release from the 174 tools on our watchlist at the source — GitHub and GitLab release notes, vendor release pages and changelogs, project blogs and feeds, vendor press releases, and the source code behind the tag. Bug-fix-only releases and non-product newsroom noise are dropped; what's left is summarized down to the new capability, how to try it, and any screenshots or videos the release itself published. Every entry links to the sources it was built from.

VIEW
ISSUE VIEW full issue
Do you prefer this view?
$ tct list   # 12 tools matched
AI & LLM Tooling
◆  AI Agent Frameworks

Agno (formerly Phidata)

Sources Release notes → v2.3.12 NOTES

Agno v2.3.12 adds token-count-based context compression support across providers.

└──▷ GET THIS VERSION
$ git clone --branch v2.3.12 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:
$ git checkout v2.3.12
  • Adds token count based compression via the Compression Manager, enabling context window management across providers based on token limits.
  • Content hashing for knowledge ingestion now incorporates name and description fields for URLs, paths, and file_data, allowing multiple distinct content items from the same source to produce unique hashes.
└──▷ BREAKING ON UPGRADE
  • !Existing knowledge content previously added with name or description fields will have different content hashes under v2.3.12, which may alter skip_if_exists and upsert behavior for that content.
Was this useful?

LangChain

Sources Release notes → langchain-groq==1.1.1 5 RELEASES · 2025-12-12 NOTES STABLE

langchain-groq 1.1.1 lets kwargs in with_structured_output override tool_choice and filters unsupported parameters in bind_tools.

└──▷ GET THIS VERSION
$ git clone --branch langchain-groq==1.1.1 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-groq==1.1.1
  • Allows keyword arguments passed to with_structured_output to override the default tool_choice setting, giving callers per-invocation control over tool selection.
  • Filters unsupported parameters in bind_tools for Groq, preventing invalid arguments from being forwarded to the API.
4 more releases in this issue · 2025-12-12
langchain-tests==1.1.0 NOTES STABLE

langchain-tests 1.1.0 adds invocation model override and stricter usage_metadata chunk validation for standard tests.

└──▷ GET THIS VERSION
$ git clone --branch langchain-tests==1.1.0 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-tests==1.1.0
  • Adds invocation model override capability to standard tests, allowing test configurations to specify a different model for invocation.
  • Adds a standard test that ensures only one chunk sets model_name in usage_metadata during streaming responses.
└──▷ BREAKING ON UPGRADE
  • !The deprecated has_tool_choice property has been removed; any test suite referencing it will break on upgrade.
langchain-anthropic==1.3.0 NOTES STABLE

langchain-anthropic 1.3.0 adds MCP toolset binding, tool search, effort control, computer-use headers, and TypedDict support for built-in tools.

└──▷ GET THIS VERSION
$ git clone --branch langchain-anthropic==1.3.0 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-anthropic==1.3.0
└──▷ USE IT
Bind an MCP toolset to an Anthropic chat model so the model can call MCP-hosted tools without manually setting beta headers.
python
from langchain_anthropic import ChatAnthropic

llm = ChatAnthropic(model="claude-opus-4-5")
llm_with_tools = llm.bind_tools([mcp_toolset])
Pass provider-specific parameters through a tool using the new extras field on BaseTool.
python
from langchain_core.tools import BaseTool

class MyTool(BaseTool):
    name: str = "my_tool"
    description: str = "Does something."
    extras: dict = {"cache_control": {"type": "ephemeral"}}

    def _run(self, query: str) -> str:
        return query
  • Adds mcp_toolset support in bind_tools so MCP tool collections can be passed directly to Anthropic models.
  • Auto-applies the MCP beta header when MCP tools are detected, removing manual betas configuration.
  • Auto-appends relevant beta headers for computer-use tools when computer-use tool types are present.
  • Adds effort parameter support for controlling extended thinking / reasoning effort on compatible Anthropic models.
  • Adds tool search support, enabling Anthropic's built-in search tool to be used via the standard tool-binding interface.
+5 moreshow less
  • Accepts TypedDict as input for built-in tool types (e.g. computer-use, tool search) alongside plain dicts.
  • Adds extras field on BaseTool (core + anthropic) for passing arbitrary provider-specific parameters through to the API.
  • Uses model profile to determine max output tokens automatically, avoiding hard-coded per-model limits.
  • Documents and tests fine-grained tool streaming behavior for Anthropic tool-use blocks.
  • Supports SystemMessage in create_agent's system_prompt parameter (langchain package).
langchain-core==1.2.0 NOTES STABLE

langchain-core 1.2.0 adds an extras field to BaseTool for attaching arbitrary metadata.

└──▷ GET THIS VERSION
$ git clone --branch langchain-core==1.2.0 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-core==1.2.0
  • Adds extras field to BaseTool, enabling arbitrary key-value metadata to be attached to any tool definition.
langchain-chroma==1.1.0 NOTES STABLE

langchain-chroma 1.1.0 adds a Search API to the Chroma vector store integration.

└──▷ GET THIS VERSION
$ git clone --branch langchain-chroma==1.1.0 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-chroma==1.1.0
  • Adds a Search API to the Chroma vector store integration, enabling direct search calls through the LangChain Chroma wrapper.
Was this useful?

LangChain LangGraph

Sources Release notes → 1.0.5 NOTES

Build resilient agents.

LangGraph 1.0.5 adds custom encryption at rest, stream event IDs, and pagination for assistants search.

└──▷ GET THIS VERSION
$ git clone --branch 1.0.5 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout 1.0.5
  • Adds custom encryption at rest for persisted graph state.
  • Emits id as part of stream events in the Python SDK.
  • Includes pagination in assistants search responses.
Was this useful?

PydanticAI

Sources Release notes → v1.31.0 NOTES

PydanticAI v1.31.0 adds prompt caching for AWS Bedrock, Agent.output_json_schema(), custom MCP clientInfo, and GPT-5.2 support.

└──▷ GET THIS VERSION
$ git clone --branch v1.31.0 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v1.31.0
└──▷ USE IT
Retrieve the JSON schema for an agent's structured output to validate or document the expected response shape.
python
from pydantic_ai import Agent
from pydantic import BaseModel

class Answer(BaseModel):
    summary: str
    confidence: float

agent = Agent('openai:gpt-4o', output_type=Answer)
print(agent.output_json_schema())
Use a plain model name string in LLMJudge instead of a model object, for quick evaluation scripting.
python
from pydantic_ai.evaluate import LLMJudge

judge = LLMJudge(model='openai:gpt-4o')
result = await judge.evaluate(question='Is Paris the capital of France?', answer='Yes')
print(result)
  • Adds Agent.output_json_schema() method to retrieve the JSON schema for an agent's output type programmatically.
  • Adds provider_url field to ModelResponse, used by cost() to route cost calculations correctly across providers.
  • Adds prompt caching support for AWS Bedrock, reducing latency and token costs on repeated prompts.
  • Allows custom clientInfo when connecting to MCP servers, enabling clients to self-identify to MCP endpoints.
  • Allows model to be passed as a plain string in LLMJudge, simplifying evaluation setup.
+1 moreshow less
  • Adds support for GPT-5.2 and bumps the OpenAI dependency to v2.11.0.
Was this useful?

browser-use

Sources Release notes → 0.11.1 NOTES

browser-use 0.11.1 adds sensitive-data filtering in agent history and optional coordinate exposure

└──▷ GET THIS VERSION
$ git clone --branch 0.11.1 https://github.com/browser-use/browser-use.git
# already have the repo? check out this version:
$ git checkout 0.11.1
  • Filters sensitive data from agent action history, reducing the risk of credentials or PII appearing in logs or replays.
  • Makes element coordinates optionally available during browser interactions, giving agents access to precise positional context when needed.
Was this useful?
◆  AI Coding Agents

Cline

Sources Release notes → v3.42.0 NOTES

Autonomous coding agent as an SDK, IDE extension, or CLI assistant.

Cline v3.42.0 adds a getAvailableSlashCommands RPC endpoint and screen-reader support for slash and context menus.

└──▷ GET THIS VERSION
$ git clone --branch v3.42.0 https://github.com/cline/cline.git
# already have the repo? check out this version:
$ git checkout v3.42.0
  • New getAvailableSlashCommands RPC endpoint in Cline Core lets integrations programmatically query available slash commands.
  • Adds screen-reader support for slash commands and context menus, improving accessibility for keyboard and assistive-technology users.
  • Expanding and collapsing UI components are now keyboard-accessible.
Was this useful?

Charm Crush

Sources Release notes → v0.24.0 NOTES

Glamourous agentic coding for all

Crush v0.24.0 adds a first-class to-do list tool and pipe/redirect support for crush run.

└──▷ GET THIS VERSION
$ git clone --branch v0.24.0 https://github.com/charmbracelet/crush.git
# already have the repo? check out this version:
$ git checkout v0.24.0
└──▷ TRY IT
Pipe a file into Crush and redirect its output — useful for automated summarization or review tasks in CI.
$ crush run "Summarize this project" > summary.md
Chain both stdin and stdout redirection to process a file and capture the result in one shot.
$ crush run "Rate my Pokémon collection" < Pokedex.md > Pokerating.md
  • Adds a built-in to-do list tool so Crush can create and manage task lists during complex multi-step operations.
  • Enables input/output redirection and piping in crush run non-interactive mode, allowing integration with shell pipelines.
Was this useful?

SST OpenCode

Sources Release notes → v1.0.152 2 RELEASES · 2025-12-12 NOTES STABLE

The open source coding agent.

OpenCode gains Windows Git Bash detection and OPENCODE_GIT_BASH_PATH env var for custom shell configuration.

└──▷ GET THIS VERSION
$ git clone --branch v1.0.152 https://github.com/sst/opencode.git
# already have the repo? check out this version:
$ git checkout v1.0.152
└──▷ TRY IT
Point OpenCode to a non-standard Git Bash installation on Windows instead of relying on auto-detection.
$ OPENCODE_GIT_BASH_PATH="C:\Program Files\Git\bin\bash.exe" opencode
  • Adds automatic detection of Git Bash on Windows and supports the OPENCODE_GIT_BASH_PATH environment variable to explicitly set the Git Bash path.
1 more release in this issue · 2025-12-12
v1.0.151 NOTES STABLE

OpenCode v1.0.151 adds an experimental chat.messages.transform hook and in-progress chat indicators in the sessions list.

└──▷ GET THIS VERSION
$ git clone --branch v1.0.151 https://github.com/sst/opencode.git
# already have the repo? check out this version:
$ git checkout v1.0.151
  • Adds experimental chat.messages.transform hook for programmatic transformation of chat messages before they are sent.
  • Shows an indicator for in-progress chats in the sessions list so active sessions are immediately visible.
  • Replays conversation history on session load via the ACP protocol.
Was this useful?

Earendil Works Pi

Sources Release notes → v0.20.0 2 RELEASES · 2025-12-12 NOTES STABLE

AI agent toolkit: unified LLM API, agent loop, TUI, coding agent CLI

Pi v0.20.0 displays loaded skills on startup and adopts the SKILL.md directory convention.

└──▷ GET THIS VERSION
$ git clone --branch v0.20.0 https://github.com/earendil-works/pi.git
# already have the repo? check out this version:
$ git checkout v0.20.0
  • Displays loaded skills on startup in interactive mode so you can confirm which skills are active before issuing commands.
└──▷ BREAKING ON UPGRADE
  • !Pi skills must now be named SKILL.md inside a directory (e.g. ~/.pi/agent/skills/foo/SKILL.md); the previous convention of any *.md file directly under the skills directory is no longer supported. Migrate by renaming ~/.pi/agent/skills/foo.md to ~/.pi/agent/skills/foo/SKILL.md.
1 more release in this issue · 2025-12-12
v0.19.0 NOTES STABLE

Pi v0.19.0 adds a skills system for on-demand instruction loading and a --version flag.

└──▷ GET THIS VERSION
$ git clone --branch v0.19.0 https://github.com/earendil-works/pi.git
# already have the repo? check out this version:
$ git checkout v0.19.0
└──▷ TRY IT
Disable the skills system entirely when you want a clean, instruction-free agent run.
$ pi --no-skills
Check the installed Pi version quickly from the terminal.
$ pi --version
  • New skills system auto-discovers and loads instruction files on demand from Claude Code, Codex CLI, and Pi-native skill directories, with descriptions surfaced in the system prompt.
  • Adds --version / -v flag to print the current Pi version and exit.
Was this useful?

Alibaba Qwen Code

Sources Release notes → v0.4.1 3 RELEASES · 2025-12-12 NOTES STABLE

Qwen Code v0.4.1 adds a VSCode extension, ACP usage metadata, and a channel field for client identification.

└──▷ GET THIS VERSION
$ git clone --branch v0.4.1 https://github.com/QwenLM/qwen-code.git
# already have the repo? check out this version:
$ git checkout v0.4.1
  • Adds a channel field for client identification in requests.
  • New VSCode Extension implementation, enabling IDE-integrated Qwen Code workflows.
  • Adds ACP usage metadata support for tracking agent-client-protocol consumption.
  • Removes vertical borders from the input prompt UI for easier copy/paste.
2 more releases in this issue · 2025-12-12
v0.5.0-nightly.20251212.8b29dd13 NOTES STABLE

Qwen Code v0.5.0 adds a VSCode Extension and ACP usage metadata tracking alongside UI copy/paste improvements.

└──▷ GET THIS VERSION
$ git clone --branch v0.5.0-nightly.20251212.8b29dd13 https://github.com/QwenLM/qwen-code.git
# already have the repo? check out this version:
$ git checkout v0.5.0-nightly.20251212.8b29dd13
  • Adds a channel field to client identification headers/payloads for tracking request sources.
  • New VSCode Extension implementation connects Qwen Code to the IDE as a companion.
  • Adds ACP usage metadata reporting to track token/usage telemetry.
  • Removes vertical borders from the input prompt UI, making it easier to copy/paste multi-line content.
v0.4.1-nightly.20251212.58d3a9c2 NOTES STABLE

Qwen Code v0.4.1-nightly adds a VSCode extension and ACP usage metadata support alongside UI copy/paste improvements.

└──▷ GET THIS VERSION
$ git clone --branch v0.4.1-nightly.20251212.58d3a9c2 https://github.com/QwenLM/qwen-code.git
# already have the repo? check out this version:
$ git checkout v0.4.1-nightly.20251212.58d3a9c2
  • Adds ACP usage metadata tracking via the Feat/acp usage metadata feature.
  • New VSCode Extension implementation brings Qwen Code capabilities directly into the editor.
  • Removes vertical borders from the input prompt UI, making it easier to copy/paste multi-line content.
Was this useful?
◆  Local LLM Runtimes

llama.cpp

Sources Release notes → b7364 NOTES

llama.cpp b7364 adds a minimalist multi-thread progress bar and upcoming Linux archive format change.

└──▷ GET THIS VERSION
$ git clone --branch b7364 https://github.com/ggml-org/llama.cpp.git
# already have the repo? check out this version:
$ git checkout b7364
  • Adds a minimalist multi-thread progress bar to common tooling for tracking parallel operation progress.
└──▷ BREAKING ON UPGRADE
  • !Linux releases will soon switch from .zip archives to .tar.gz archives — deployment scripts that unzip Linux builds will need to be updated.
Was this useful?
Other / Uncategorized
◆  AI OBSERVABILITY

Arize Phoenix

Sources Release notes → arize-phoenix-v12.25.0 NOTES

Phoenix v12.25.0 adds Gemini tool call support, lazy-loaded embeddings, and a null sentinel for LDAP email config.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v12.25.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v12.25.0
  • Supports setting PHOENIX_LDAP_ATTR_EMAIL to null as a sentinel value to control LDAP email attribute mapping.
  • Supports Gemini tool calls in tracing and observability workflows.
  • Lazy-loads embeddings and dimension features, reducing startup overhead for large datasets.
Was this useful?
my-toolchain — 0 tools
paste an install list to detect your tools

A brew list, a Brewfile, requirements.txt, a Dockerfile — or just the product names, free-form. Nothing leaves your browser.

    browse all tools →