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 -238, December 22, 2025

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

Agno (formerly Phidata)

Sources Release notes → v2.3.20 NOTES

Agno v2.3.20 adds async run cancellation via set_cancellation_manager() and reasoning_content extraction for LiteLLM models.

└──▷ GET THIS VERSION
$ git clone --branch v2.3.20 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:
$ git checkout v2.3.20
└──▷ USE IT
Register a custom async cancellation manager so long-running agent runs can be cancelled cleanly in async contexts.
python
agent.set_cancellation_manager(my_custom_cancellation_manager)
  • Adds set_cancellation_manager() to allow custom cancellation managers, with async method support for run cancellation workflows.
  • Extracts reasoning_content from models that support it via the LiteLLM model wrapper.
Was this useful?

LangChain

Sources Release notes → langchain-core==1.2.5 NOTES

langchain-core 1.2.5 adds tool-call count tracking, a token-counting alias, and PEP 702 deprecation support.

└──▷ GET THIS VERSION
$ git clone --branch langchain-core==1.2.5 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-core==1.2.5
  • Adds 'approximate' as an alias for count_tokens_approximately, giving a shorter name for approximate token counting.
  • Automatically counts and stores metadata for tool call count on messages via a new tool_call_count field.
  • Adds PEP 702 __deprecated__ attribute support to the @deprecated decorator, enabling standard deprecation signalling recognized by type checkers and IDEs.
Was this useful?
◆  AI Coding Agents

Cline

Sources Release notes → v3.46.0 NOTES

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

Cline v3.46.0 adds GLM 4.7 support, an Apply Patch tool for GPT-5+ models, and enhanced background terminal execution.

└──▷ GET THIS VERSION
$ git clone --branch v3.46.0 https://github.com/cline/cline.git
# already have the repo? check out this version:
$ git checkout v3.46.0
  • Adds GLM 4.7 model support.
  • Introduces Apply Patch tool for GPT-5+ models, replacing current diff edit tools.
  • Enhances background terminal execution with command tracking, log file output, zombie process prevention via 10-minute timeout, and clickable log paths in the UI.
Was this useful?

SST OpenCode

Sources Release notes → v1.0.186 NOTES

The open source coding agent.

OpenCode v1.0.186 adds experimental LSP tool, Agent Skills, ARM64 Linux builds, and Windows clipboard image paste.

└──▷ GET THIS VERSION
$ git clone --branch v1.0.186 https://github.com/sst/opencode.git
# already have the repo? check out this version:
$ git checkout v1.0.186
└──▷ TRY IT
Paste a screenshot or image directly from the clipboard into a Windows session without saving to disk first.
$ Ctrl+V  (inside an active OpenCode session on Windows to paste a clipboard image)
  • Adds experimental LSP (Language Server Protocol) tool for richer in-editor language intelligence.
  • Adds nixd as an LSP provider for the Nix language.
  • Supports clipboard image paste (Ctrl+V) on Windows.
  • Adds ARM64 build for Linux desktop app.
  • Adds Agent Skills support.
+4 moreshow less
  • Exposes auto parameter in session.summarize for plugin authors.
  • Improves built-in /review prompt.
  • Adds Minimax m2.1 model with topP support alongside adjusted Minimax m2 topK.
  • Adds mobile responsiveness to the UI.
Was this useful?

Earendil Works Pi

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

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

Pi v0.27.1 adds startup timing instrumentation via PI_TIMING=1 to profile interactive-mode performance.

└──▷ GET THIS VERSION
$ git clone --branch v0.27.1 https://github.com/earendil-works/pi.git
# already have the repo? check out this version:
$ git checkout v0.27.1
└──▷ TRY IT
Diagnose slow Pi startup times by seeing exactly where time is spent during initialization.
$ PI_TIMING=1 pi
  • New PI_TIMING=1 env var prints a startup performance breakdown in interactive mode.
2 more releases in this issue · 2025-12-22
v0.27.0 NOTES STABLE

Pi v0.27.0 adds cancellable before_* session lifecycle hooks and a shutdown hook for graceful exit handling.

└──▷ GET THIS VERSION
$ git clone --branch v0.27.0 https://github.com/earendil-works/pi.git
# already have the repo? check out this version:
$ git checkout v0.27.0
└──▷ TRY IT
Intercept a branch action before it happens and conditionally cancel it — useful for prompting the user or running pre-checks before a session branches.
$ pi.on("session", (event) => {
  if (event.reason === "before_branch") {
    const allow = confirmBranch(); // your pre-check
    if (!allow) return { cancel: true };
  }
});
Run cleanup logic (flush logs, save state) when Pi is shutting down gracefully.
$ pi.on("session", async (event) => {
  if (event.reason === "shutdown") {
    await flushLogs();
  }
});
  • Adds before_switch, before_clear, and before_branch session hook variants that fire before their respective actions and can be cancelled by returning { cancel: true }.
  • Adds shutdown session hook reason for graceful exit handling via pi.on("session", ...).
└──▷ BREAKING ON UPGRADE
  • !The branch event is merged into the session event: BranchEvent, BranchEventResult types and pi.on("branch", ...) are removed; use pi.on("session", ...) with reason: "before_branch" | "branch" instead.
  • !AgentSession.branch() now returns { cancelled } instead of { skipped }.
  • !AgentSession.reset() and switchSession() now return boolean (false if cancelled by a hook) instead of their previous return types.
  • !RPC commands reset, switch_session, and branch now include cancelled in their response data instead of skipped.
v0.26.0 NOTES STABLE

Pi v0.26.0 adds a programmatic SDK with factory APIs for agent sessions, project-scoped settings, and flexible session management.

└──▷ GET THIS VERSION
$ git clone --branch v0.26.0 https://github.com/earendil-works/pi.git
# already have the repo? check out this version:
$ git checkout v0.26.0
└──▷ USE IT
Resume the most recent session programmatically to continue a long-running agent workflow without re-specifying session IDs.
typescript
const session = await SessionManager.continueRecent();
  • New createAgentSession() SDK factory enables programmatic agent control over model, tools, hooks, skills, session persistence, and settings — ships with 12 examples.
  • Supports project-specific settings loaded from <cwd>/.pi/settings.json, deep-merged over global ~/.pi/agent/settings.json, and treated as read-only for version control.
  • New SettingsManager static factories: SettingsManager.create() for file-based settings, SettingsManager.inMemory() for testing, plus applyOverrides() for programmatic overrides.
  • New SessionManager static factories: SessionManager.create(), SessionManager.open(), SessionManager.continueRecent(), SessionManager.inMemory(), and SessionManager.list() for flexible session lifecycle management.
Was this useful?

Google gemini-cli

Sources Release notes → v0.22.0 NOTES

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

gemini-cli v0.22.0 adds persistent Always Allow policies, multi-file image drag-and-drop, /init for A2A servers, transcript_path in hooks, and richer /stats output.

└──▷ GET THIS VERSION
$ git clone --branch v0.22.0 https://github.com/google-gemini/gemini-cli.git
# already have the repo? check out this version:
$ git checkout v0.22.0
└──▷ TRY IT
Check quota consumption for every model — including ones you haven't used this session — to spot headroom before hitting limits.
$ /stats
Initialize an Agent-to-Agent server configuration in the current directory.
$ /init
  • Adds persistent 'Always Allow' policies with granular shell and MCP tool support, so approved tools aren't re-prompted across sessions.
  • Supports multi-file drag and drop of images directly into the CLI prompt.
  • Introduces /init command for the Agent-to-Agent (A2A) server.
  • Adds transcript_path field in hooks for git-ai/Gemini extension integrations.
  • Displays quota stats for unused models in /stats, alongside polished cached token stats.
+4 moreshow less
  • Falls back to GEMINI_CLI_IDE_AUTH_TOKEN environment variable for IDE authentication.
  • Adds schema validation for settings files, catching misconfiguration at load time.
  • Shows raw input token counts in JSON output mode.
  • Hooks now refresh automatically when extensions are refreshed.
Was this useful?
Other / Uncategorized
◆  AI OBSERVABILITY

Arize Phoenix

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

Phoenix v12.26.0 moves 'Add Dataset Example' into the Examples tab for a more streamlined dataset workflow.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v12.26.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v12.26.0
  • Moves the 'Add Dataset Example' action into the Examples tab, consolidating dataset example management within a single UI location.
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 →