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 -251, December 9, 2025

THE AI TOOLCHAIN NO. -251
Tail
THE DAILY RELEASE FIREHOSE
PUBLISHED DECEMBER 9, 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   # 11 tools matched
AI & LLM Tooling
◆  AI Agent Frameworks

Agno (formerly Phidata)

Sources Release notes → v2.3.9 NOTES

Agno v2.3.9 adds AsyncMySQLDb, LLM-as-judge evals, run_id control, and OpenRouter reasoning support.

└──▷ GET THIS VERSION
$ git clone --branch v2.3.9 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:
$ git checkout v2.3.9
└──▷ USE IT
Replay or correlate a specific agent run by pinning its ID, useful for audit trails and deterministic testing.
python
result = agent.run(
    "Enumerate open ports on 10.0.0.1",
    run_id="pentest-2025-07-01-recon"
)
  • Adds AsyncMySQLDb class with support for the asyncmy driver, enabling fully async MySQL storage.
  • Adds AgentAsJudgeEval — an LLM-as-judge evaluation system that scores agent outputs against custom criteria using binary (pass/fail) or numeric (1–10) scoring, with support for standalone runs, post-hooks, background execution, and custom evaluator agents.
  • Adds run_id parameter to the run and arun methods on Agent, Team, and Workflow classes, allowing callers to supply a deterministic run ID instead of auto-generating one.
  • Adds create_schema=False parameter to database initializers (e.g. PostgresDb) to skip automatic schema creation for externally managed schemas.
  • Adds introduction parameter to Agent and Team to set the first assistant message in a conversation.
+4 moreshow less
  • Adds reasoning_content field to DeepSeek messages, enabling thinking mode when tools are active.
  • Extends get_step_output() with recursive search so it finds steps nested inside Parallel, Condition, Router, Loop, and Steps groups.
  • Adds native sync support for all add_content_ functions in Knowledge, replacing the previous asyncio-wrapping workaround.
  • Adds support for reasoning messages from OpenRouter.
Was this useful?

CrewAI

Sources Release notes → 1.7.0 NOTES

Framework for orchestrating role-playing, autonomous AI agents. By fostering collaborative intelligence, CrewAI empowers agents to work together seamlessly, tackling complex tasks.

CrewAI 1.7.0 adds comprehensive async support across flows, crews, tasks, tools, memory, knowledge, and LLMs.

└──▷ GET THIS VERSION
$ git clone --branch 1.7.0 https://github.com/crewAIInc/crewAI.git
# already have the repo? check out this version:
$ git checkout 1.7.0
└──▷ USE IT
Run a full crew asynchronously to avoid blocking the event loop in an async application or service.
python
import asyncio
from crewai import Crew, Agent, Task

agent = Agent(role="Analyst", goal="Analyze data", backstory="Expert analyst")
task = Task(description="Summarize the report", agent=agent, expected_output="Summary")
crew = Crew(agents=[agent], tasks=[task])

async def main():
    result = await crew.kickoff_async()
    print(result)

asyncio.run(main())
Kick off a Flow asynchronously so multiple flows can run concurrently in the same process.
python
import asyncio
from crewai.flow.flow import Flow, start

class MyFlow(Flow):
    @start()
    async def run_step(self):
        return "done"

async def main():
    flow = MyFlow()
    result = await flow.kickoff_async()
    print(result)

asyncio.run(main())
  • Adds async flow kickoff, enabling non-blocking orchestration of multi-agent pipelines.
  • Adds async crew support so entire crews can be run concurrently without blocking the event loop.
  • Adds async task support for individual task execution within crews.
  • Adds async knowledge and memory support for non-blocking retrieval and storage operations.
  • Adds async support for tools and the agent executor with improved typing.
+4 moreshow less
  • Adds native async tool support, allowing tools to be defined and invoked asynchronously.
  • Adds async LLM support for non-blocking model inference calls.
  • Implements the agent-to-agent (A2A) extensions API with async agent card caching.
  • Introduces system event types and a handler for observability and lifecycle events.
Was this useful?

LangChain LangGraph

Sources Release notes → cli==0.4.8 NOTES

Build resilient agents.

LangGraph CLI 0.4.8 adds webhook configuration and custom encryption at rest.

└──▷ GET THIS VERSION
$ git clone --branch cli==0.4.8 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout cli==0.4.8
  • Adds webhook configuration support to the CLI.
  • Supports custom encryption at rest for stored data.
Was this useful?

PydanticAI

Sources Release notes → v1.28.0 NOTES

PydanticAI v1.28.0 adds structured output for claude-haiku-4-5 and multi-character Bedrock geo-prefix support.

└──▷ GET THIS VERSION
$ git clone --branch v1.28.0 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v1.28.0
  • Adds native structured output support for claude-haiku-4-5.
  • Supports us-gov. and other multi-character AWS Bedrock geo prefixes.
Was this useful?

holmesgpt

Sources Release notes → 0.17.0 NOTES

SRE Agent - CNCF Sandbox Project

HolmesGPT 0.17.0 adds MariaDB MCP addon, user runbooks catalog, and total cost display with --log-costs.

└──▷ GET THIS VERSION
$ git clone --branch 0.17.0 https://github.com/HolmesGPT/holmesgpt.git
# already have the repo? check out this version:
$ git checkout 0.17.0
└──▷ TRY IT
Track the total LLM spend for a Holmes investigation to understand cost per incident.
$ holmes ask 'Why is my payment-service pod crash-looping?' --log-costs
  • Adds --log-costs flag now displays total cost at the end of a run, in addition to per-call costs.
  • Adds MariaDB MCP addon, extending the set of supported database integrations.
  • Adds support for a user runbooks catalog, enabling practitioners to supply their own runbooks for Holmes to reference during investigations.
Was this useful?
◆  AI Model & Data Infrastructure

Ollama

Sources Release notes → v0.13.3 NOTES

Get up and running with Kimi-K2.6, GLM-5.2, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models.

Ollama v0.13.3 adds Devstral-Small-2, rnj-1, and nomic-embed-text-v2-moe models plus improved embedding truncation.

└──▷ GET THIS VERSION
$ git clone --branch v0.13.3 https://github.com/ollama/ollama.git
# already have the repo? check out this version:
$ git checkout v0.13.3
  • Adds Devstral-Small-2 (24B), a code-focused model optimized for multi-file editing and software engineering agents.
  • Adds rnj-1, an 8B dense model from Essential AI optimized for code and STEM tasks.
  • Adds nomic-embed-text-v2-moe, a multilingual Mixture-of-Experts text embedding model for multilingual retrieval.
  • Improves truncation logic for the /api/embed and /v1/embeddings endpoints.
Was this useful?
◆  AI Coding Agents

OpenAI Codex CLI

Sources Release notes → rust-v0.66.0 NOTES

Lightweight coding agent that runs in your terminal

Codex CLI gains execpolicy TUI whitelisting, --branch for cloud exec, sigstore signing, and cloud status/diff/apply flows.

└──▷ GET THIS VERSION
$ git clone --branch rust-v0.66.0 https://github.com/openai/codex.git
# already have the repo? check out this version:
$ git checkout rust-v0.66.0
  • Adds TUI ability to whitelist command prefixes after an approval, so repeated similar commands skip future prompts.
  • Sandbox denials now propose an execpolicy amendment in the TUI that you can accept inline.
  • Shell MCP server now runs execpolicy, so MCP tools follow the same approval rules as direct commands.
  • Execpolicy fallback checks now inspect each pipeline segment, catching unsafe tails like | rm -rf that were previously missed.
  • Adds --branch flag to codex cloud exec for targeting a specific branch on remote runs.
+4 moreshow less
  • Adds status, diff, and apply subflows to the cloud exec path so you can inspect and apply cloud-run changes locally.
  • Linux release artifacts are now signed via sigstore for supply-chain verification.
  • Adds is-mutating detection for the shell command handler to better classify dangerous shell operations.
  • Skills are also loaded from the repository root in addition to existing search paths.
└──▷ BREAKING ON UPGRADE
  • !experimental_use_rmcp_client is removed from the config (the flag no longer exists).
Was this useful?

SST OpenCode

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

The open source coding agent.

OpenCode v1.0.138 adds permission indicator to TUI footer, userId/sessionId telemetry metadata, and project update timestamps.

└──▷ GET THIS VERSION
$ git clone --branch v1.0.138 https://github.com/sst/opencode.git
# already have the repo? check out this version:
$ git checkout v1.0.138
  • Adds a permission indicator to the TUI footer so you can see active permissions at a glance.
  • Adds userId and sessionId metadata to experimental telemetry for richer session tracking.
  • Adds project update timestamps to track when projects were last modified.
1 more release in this issue · 2025-12-09
v1.0.137 NOTES STABLE

OpenCode v1.0.137 adds OAuth for remote MCP servers, new LSP support (Bash, Terraform, OCaml), PDF reading, and an uninstall command.

└──▷ GET THIS VERSION
$ git clone --branch v1.0.137 https://github.com/sst/opencode.git
# already have the repo? check out this version:
$ git checkout v1.0.137
└──▷ TRY IT
Remove OpenCode and all its installed components cleanly from a machine.
$ opencode uninstall
  • Adds OAuth authentication support for remote MCP servers.
  • Adds ability to toggle MCP servers on/off directly in the TUI.
  • Adds bash-language-server LSP support.
  • Adds terraform-ls language server and formatter support.
  • Adds OCaml LSP and ocamlformat support.
+7 moreshow less
  • Adds PDF support in the read tool.
  • Adds uninstall command.
  • Adds dynamic terminal window title.
  • Adds optional scrollbar to the session chat.
  • Adds experimental plugin hook for text completion.
  • Adds theme support for thinking text opacity.
  • Adds three new themes: orng, catppuccin-macchiato, and mercury.com.
Was this useful?

Google gemini-cli

Sources Release notes → v0.20.0 NOTES

An open-source AI agent that brings the power of Gemini directly into your terminal.

gemini-cli v0.20.0 adds hooks for tool/LLM interception, JIT context management, policy-driven model fallback, and MCP server instruction injection.

└──▷ GET THIS VERSION
$ git clone --branch v0.20.0 https://github.com/google-gemini/gemini-cli.git
# already have the repo? check out this version:
$ git checkout v0.20.0
└──▷ TRY IT
Check remaining usage quota alongside token and cost stats mid-session.
$ /stats
  • Adds hook integration for tool execution, enabling external scripts to intercept and act on tool calls before and after they run.
  • Adds hook integration for LLM request/response, allowing external scripts to observe or modify model inputs and outputs.
  • Implements a JIT (Just-in-Time) context manager and accompanying setting to dynamically manage context window usage.
  • Introduces a policy-driven model fallback mechanism with wrapped fallback and single-model policies for availability routing.
  • Adds configurable inactivity timeout for shell commands to prevent runaway executions.
+10 moreshow less
  • Adds support for MCP server instructions, now always injected into the system prompt.
  • Injects GoogleCredentialProvider headers in McpClient, enabling authenticated MCP server connections.
  • Shows waiting/connecting MCP servers in the ConfigInitDisplay UI during startup.
  • Adds usage limit remaining to the /stats command output.
  • Auto-executes simple slash commands (e.g., /clear) on Enter without requiring a second confirmation.
  • Adds a startup profiler to measure and record application initialization phases.
  • Adds a built-in holiday theme accessible via the themes system.
  • Adds a consent flag to the link command.
  • Adds OTel semantic logging for API request events with finish reasons via updated telemetry.
  • Standardizes the pager to cat for shell executions run by the model, ensuring consistent output handling.
Was this useful?
◆  Local LLM Runtimes

llama.cpp

Sources Release notes → b7337 5 RELEASES · 2025-12-09 NOTES STABLE

llama.cpp b7337 adds GGML_BACKTRACE_LLDB env var for lldb-based backtraces on macOS.

└──▷ GET THIS VERSION
$ git clone --branch b7337 https://github.com/ggml-org/llama.cpp.git
# already have the repo? check out this version:
$ git checkout b7337
  • Adds GGML_BACKTRACE_LLDB environment variable to enable lldb-based backtrace printing on macOS, replacing the default that could cause terminal crashes.
└──▷ BREAKING ON UPGRADE
  • !Linux releases will switch from .zip to .tar.gz archives — deployment scripts that reference .zip paths will need to be updated.
4 more releases in this issue · 2025-12-09
b7332 NOTES STABLE

llama.cpp b7332 adds full readline-style console editing with history navigation, word movement, and Delete key support.

└──▷ GET THIS VERSION
$ git clone --branch b7332 https://github.com/ggml-org/llama.cpp.git
# already have the repo? check out this version:
$ git checkout b7332
  • Adds KEY_CTRL_ARROW_LEFT and KEY_CTRL_ARROW_RIGHT word-jump navigation to the interactive console, parsing ANSI sequences 1;5D/1;5C on Linux and dwControlKeyState CTRL modifier on Windows.
  • Adds Delete key support to the console — VK_DELETE on Windows and ESC[3~ sequence on Linux — enabling forward character deletion with full UTF-8 support.
  • Adds arrow-left/right in-line editing to the console with UTF-8 support, plus Home/End key support on both Windows and Linux.
  • Adds bash-style history navigation: Up/Down arrows browse history, edits to any history line persist per-session, and pressing Enter appends the edited version as a new history entry.
└──▷ BREAKING ON UPGRADE
  • !Linux release archives will change from .zip to .tar.gz format — deployment scripts that unzip Linux releases will need to be updated.
b7331 NOTES STABLE

llama.cpp b7331 adds CANN backend support for partial RoPE and Vision mode rotation in vision-language models.

└──▷ GET THIS VERSION
$ git clone --branch b7331 https://github.com/ggml-org/llama.cpp.git
# already have the repo? check out this version:
$ git checkout b7331
  • Adds CANN backend support for partial RoPE (rope_dims < ne0), splitting tensors into rotated head and unrotated tail portions to handle modern model architectures.
  • Adds CANN backend support for GGML_ROPE_TYPE_VISION mode, enabling full-tensor rotation with Vision-style dimension pairing (dimension i paired with i+n_dims) for vision-language models.
  • CANN RoPE implementation now supports both F32 and F16 data types with intermediate F32 conversion, and handles both contiguous and non-contiguous tensor layouts.
  • Improves CANN cache invalidation logic to include rope_dims and indep_sects parameters.
└──▷ BREAKING ON UPGRADE
  • !Linux releases will switch from .zip archives to .tar.gz archives — deployment scripts that unzip Linux release artifacts will need to be updated.
b7329 NOTES STABLE

llama.cpp b7329 adds token matching support to llama-grammar, enabling token-level trigger patterns.

└──▷ GET THIS VERSION
$ git clone --branch b7329 https://github.com/ggml-org/llama.cpp.git
# already have the repo? check out this version:
$ git checkout b7329
  • Adds token matching support to llama-grammar, allowing grammar rules to match on individual tokens in addition to string patterns.
  • Refactors trigger_patterns in llama-grammar to replay tokens instead of replaying the entire string, improving pattern-matching fidelity.
└──▷ BREAKING ON UPGRADE
  • !Linux releases will switch from .zip archives to .tar.gz archives — deployment scripts that unzip Linux builds will need to be updated.
b7328 NOTES STABLE

llama.cpp b7328 adds support for the Rnj-1 model architecture.

└──▷ GET THIS VERSION
$ git clone --branch b7328 https://github.com/ggml-org/llama.cpp.git
# already have the repo? check out this version:
$ git checkout b7328
  • Adds support for the Rnj-1 model architecture (built on a refactored Gemma3 backend).
└──▷ BREAKING ON UPGRADE
  • !Linux releases will switch from .zip to .tar.gz archives — update any deployment scripts that reference .zip paths.
Was this useful?
Other / Uncategorized
◆  AI OBSERVABILITY

Arize Phoenix

Sources Release notes → arize-phoenix-v12.22.0 2 RELEASES · 2025-12-09 NOTES STABLE

Arize Phoenix v12.22.0 adds a span note function to the Python client.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v12.22.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v12.22.0
  • Adds a span note function to the Python client, enabling programmatic annotation of spans.
1 more release in this issue · 2025-12-09
arize-phoenix-v12.21.0 NOTES STABLE

Phoenix v12.21.0 adds a span notes endpoint for annotating trace spans via API.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v12.21.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v12.21.0
  • Adds a span notes endpoint, enabling programmatic creation and retrieval of notes on trace spans.
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 →