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 -117, April 24, 2026

THE AI TOOLCHAIN NO. -117
Tail
THE DAILY RELEASE FIREHOSE
PUBLISHED APRIL 24, 2026 · 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   # 13 tools matched
AI & LLM Tooling
◆  AI Agent Frameworks

Agno (formerly Phidata)

Sources Release notes → v2.6.1 NOTES

Agno v2.6.1 adds multi-block Claude prompt caching, a ParallelMCPBackend for web search, and deterministic tool ordering across all model providers.

└──▷ GET THIS VERSION
$ git clone --branch v2.6.1 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:
$ git checkout v2.6.1
└──▷ USE IT
Enable tool-prefix caching on Claude so repeated calls with the same tool set skip re-encoding the tool definitions.
python
from agno.models.anthropic import Claude

model = Claude(id="claude-opus-4-5", cache_tools=True)
Use ParallelMCPBackend for web search and fetch inside an agent, with a higher-rate-limit API key.
python
import os
from agno.agent import Agent
from agno.tools.web_context import WebContextProvider
from agno.tools.mcp.parallel import ParallelMCPBackend

os.environ["PARALLEL_API_KEY"] = "<your-key>"

agent = Agent(
    tools=[WebContextProvider(backend=ParallelMCPBackend())]
)
  • Adds system_prompt_blocks: List[SystemPromptBlock] field on Claude — each block carries text, cache, and an optional per-block ttl ("5m" or "1h") that overrides the model-level extended_cache_time flag.
  • Adds cache_tools: bool field on Claude (Anthropic, AWS Bedrock, and VertexAI) to attach cache_control to the last tool so the tool prefix is cached.
  • Adds ParallelMCPBackend as a new web backend for WebContextProvider, connecting to search.parallel.ai/mcp and exposing web_search and web_fetch (compressed markdown output); keyless by default, Bearer-auth via PARALLEL_API_KEY for higher rate limits, and optional OAuth via use_oauth=True; defaults to a 30s timeout.
  • Deterministic tool ordering in Model._format_tools (sort by name) keeps request prefixes stable across runs so prompt caches actually hit; applies across Anthropic, OpenAI, Gemini, and Bedrock.
  • Maps the "openai:" model string prefix to OpenAIResponses (e.g. Agent(model="openai:gpt-5.4") resolves to OpenAIResponses(id="gpt-5.4")); adds "openai-chat:" prefix as a fallback for users who still need OpenAIChat.
Was this useful?

CrewAI

Sources Release notes → 1.14.3 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.14.3 adds lifecycle events for checkpoints, e2b/Daytona sandbox support, Bedrock V4, Azure DefaultAzureCredential fallback, and ~29% cold-start reduction.

└──▷ GET THIS VERSION
$ git clone --branch 1.14.3 https://github.com/crewAIInc/crewAI.git
# already have the repo? check out this version:
$ git checkout 1.14.3
└──▷ USE IT
Use keyless Azure auth in environments where injecting an API key is not possible (e.g., managed identity on Azure).
python
from crewai import LLM

# No api_key provided — CrewAI falls back to DefaultAzureCredential automatically
llm = LLM(
    model="azure/<your-deployment>",
    azure_endpoint="https://<your-resource>.openai.azure.com/",
    api_version="2024-02-01",
)
  • Adds lifecycle events for checkpoint operations, enabling observability hooks around checkpoint create, resume, and fork actions.
  • Supports e2b sandbox integration for secure code execution within crews.
  • Adds Daytona sandbox tools for enhanced sandboxed functionality.
  • Adds checkpoint and fork support to standalone agents, not just full crews.
  • Falls back to DefaultAzureCredential when no API key is provided in the Azure integration, enabling keyless auth flows.
+2 moreshow less
  • Adds Bedrock V4 support for AWS-hosted model access.
  • Optimizes MCP SDK and event types to reduce cold start by ~29%, unlocking faster agent startup in latency-sensitive deployments.
Was this useful?

LangChain LangGraph

Sources Release notes → prebuilt==1.0.11 NOTES

Build resilient agents.

LangGraph prebuilt 1.0.11 lets ToolNode return mixed Command/ToolMessage lists and exposes available tools on ToolRuntime.

└──▷ GET THIS VERSION
$ git clone --branch prebuilt==1.0.11 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout prebuilt==1.0.11
└──▷ USE IT
Return a mix of graph-control Commands and ToolMessages from a single tool — useful when a tool needs to both update state and produce an observable message.
python
from langgraph.prebuilt import ToolNode
from langgraph.types import Command
from langchain_core.messages import ToolMessage

def my_tool(tool_call_id: str, query: str) -> list:
    # Return a Command to update state AND a ToolMessage for the model
    return [
        Command(update={"retrieved": query}),
        ToolMessage(content=f"Searched for: {query}", tool_call_id=tool_call_id),
    ]

node = ToolNode([my_tool])
  • Enables ToolNode tools to return list[Command | ToolMessage], allowing a single tool call to emit a mix of graph commands and tool messages.
  • Exposes the set of available tools on ToolRuntime, making it possible to inspect or enumerate registered tools at runtime.
Was this useful?

OpenClaw

Sources Release notes → v2026.4.23 NOTES

Your own personal AI assistant. Any OS.

OpenClaw v2026.4.23 adds image generation via OpenAI/OpenRouter, per-call generation timeouts, forked subagent contexts, and tunable local embedding context size.

└──▷ GET THIS VERSION
$ git clone --branch v2026.4.23 https://github.com/openclaw/openclaw.git
# already have the repo? check out this version:
$ git checkout v2026.4.23
  • Adds image generation and reference-image editing for openai/gpt-image-2 via Codex OAuth, eliminating the need for a separate OPENAI_API_KEY.
  • Adds image generation and reference-image editing for OpenRouter image models via the image_generate tool using OPENROUTER_API_KEY.
  • Enables agents to pass provider-supported quality, output format, background, moderation, compression, and user hints through the image_generate tool.
  • Adds optional forked context for native sessions_spawn runs so child agents can inherit the requester transcript while keeping isolated sessions as the default.
  • Adds optional per-call timeoutMs support for image, video, music, and TTS generation tools so agents can extend provider request timeouts on a per-generation basis.
+2 moreshow less
  • Adds configurable memorySearch.local.contextSize (default 4096) so local embedding contexts can be tuned for constrained hosts without patching the memory host.
  • Adds structured debug logging for embedded harness selection decisions in gateway logs, keeping /status clean while explaining auto-selection and Pi fallback reasons.
Was this useful?
◆  AI Coding Agents

Cline

Sources Release notes → v3.81.0 NOTES

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

Cline v3.81.0 adds GPT-5.5 model support for OpenAI Codex subscription users.

└──▷ GET THIS VERSION
$ git clone --branch v3.81.0 https://github.com/cline/cline.git
# already have the repo? check out this version:
$ git checkout v3.81.0
  • Adds GPT-5.5 model support for OpenAI Codex subscription users.
Was this useful?

GitHub Copilot CLI

Sources Release notes → v1.0.36 NOTES

GitHub Copilot CLI v1.0.36 adds /keep-alive, /remote toggle, and a session-diff statusline among other UX improvements.

└──▷ GET THIS VERSION
$ git clone --branch v1.0.36 https://github.com/github/copilot-cli.git
# already have the repo? check out this version:
$ git checkout v1.0.36
└──▷ TRY IT
Prevent your workstation from sleeping during a long-running Copilot CLI session without enabling experimental mode.
$ /keep-alive
Check whether remote control is active, then disable it mid-session.
$ /remote
/remote off
  • Adds /keep-alive command (now available without experimental mode) to prevent system sleep while Copilot CLI is active.
  • Adds /remote command with /remote on and /remote off subcommands to show current remote-control status and toggle it.
  • Adds a changes statusline toggle to display added/removed line counts for the current session.
  • Subcommand picker now shows a selection indicator next to the highlighted item.
  • Requires double Esc to cancel in-flight work, preventing accidental interruptions.
+3 moreshow less
  • Disabled skills no longer appear in the slash command list.
  • Custom agents, skills, and commands from ~/.claude/ are no longer loaded by Copilot CLI.
  • Claude Opus 4.6 now uses medium reasoning effort by default.
└──▷ BREAKING ON UPGRADE
  • !Hooks with preToolUse.matcher now run only for tool names that fully match the regex — previously, the matcher was ignored and hooks ran unconditionally.
  • !Custom agents, skills, and commands from ~/.claude/ are no longer loaded by Copilot CLI; any tooling relying on that path will stop working after upgrade.
Was this useful?

OpenAI Codex CLI

Sources Release notes → rust-v0.125.0 NOTES

Lightweight coding agent that runs in your terminal

Codex CLI v0.125.0 adds Unix socket transport, remote plugin installs, reasoning-token reporting, and sticky environments for app-server workflows.

└──▷ GET THIS VERSION
$ git clone --branch rust-v0.125.0 https://github.com/openai/codex.git
# already have the repo? check out this version:
$ git checkout rust-v0.125.0
└──▷ TRY IT
Capture reasoning-token usage programmatically when running a non-interactive task in CI or scripted pipelines.
$ codex exec --json 'Audit this codebase for hardcoded credentials' | jq '.usage.reasoning_tokens'
  • Adds Unix socket transport for app-server integrations alongside existing transports.
  • Adds excludeTurns parameter to thread/resume and thread/fork endpoints for pagination-friendly session management.
  • Adds remote thread config/store plumbing and a remote thread config endpoint to app-server.
  • Adds sticky environment API and thread state to app-server integrations.
  • Enables remote plugin install writes and marketplace upgrade via a new app-server marketplace upgrade RPC.
+5 moreshow less
  • Permission profiles now round-trip across TUI sessions, user turns, MCP sandbox state, shell escalation, and app-server APIs.
  • Model providers now own model discovery; AWS/Bedrock account state is exposed to app clients via account/read.
  • codex exec --json now surfaces reasoning-token usage in its JSON output.
  • Rollout tracing now records tool, code-mode, session, and multi-agent relationships, with a debug trace reduction command for inspection.
  • App-server persists device key bindings in SQLite.
Was this useful?

SST OpenCode

Sources Release notes → v1.14.24 NOTES

The open source coding agent.

OpenCode v1.14.24 adds experimental HTTP API endpoints for MCP server status and file operations.

└──▷ GET THIS VERSION
$ git clone --branch v1.14.24 https://github.com/sst/opencode.git
# already have the repo? check out this version:
$ git checkout v1.14.24
  • Adds experimental HTTP API endpoint to query MCP server status.
  • Adds experimental HTTP API endpoints to list files, read file contents, and check project file status.
Was this useful?

Earendil Works Pi

Sources Release notes → v0.70.1 NOTES

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

Pi v0.70.1 adds DeepSeek provider support and configurable provider timeout/retry controls.

└──▷ GET THIS VERSION
$ git clone --branch v0.70.1 https://github.com/earendil-works/pi.git
# already have the repo? check out this version:
$ git checkout v0.70.1
└──▷ USE IT
Tune timeout and retries for a slow local inference endpoint so long-running requests don't bail out prematurely.
ini
retry.provider.timeoutMs = 120000
retry.provider.maxRetries = 5
retry.provider.maxRetryDelayMs = 10000
  • Adds DeepSeek provider with V4 Flash/Pro models, authenticated via DEEPSEEK_API_KEY.
  • New retry.provider.{timeoutMs,maxRetries,maxRetryDelayMs} settings expose per-provider timeout and retry controls, useful for long-running local inference.
Was this useful?

Alibaba Qwen Code

Sources Release notes → v0.15.2 NOTES

Qwen Code v0.15.2 adds auto-titling sessions, /rename --auto, /export command, and MCP-based web search.

└──▷ GET THIS VERSION
$ git clone --branch v0.15.2 https://github.com/QwenLM/qwen-code.git
# already have the repo? check out this version:
$ git checkout v0.15.2
└──▷ TRY IT
Automatically generate a descriptive title for your current session without typing one manually.
$ /rename --auto
  • Adds /rename --auto flag to auto-title sessions using a fast model.
  • Adds /export session command in the VS Code companion extension.
  • Replaces the built-in web_search tool with an MCP-based approach for web search.
└──▷ BREAKING ON UPGRADE
  • !The built-in web_search tool has been removed; web search now requires an MCP-based configuration.
Was this useful?
◆  AI Model & Data Infrastructure

Ollama

Sources Release notes → v0.21.3-rc0 NOTES

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

Ollama v0.21.3-rc0 adds max as a think value and maps OpenAI reasoning effort to think parameter.

└──▷ GET THIS VERSION
$ git clone --branch v0.21.3-rc0 https://github.com/ollama/ollama.git
# already have the repo? check out this version:
$ git checkout v0.21.3-rc0
└──▷ TRY IT
Use maximum thinking depth when generating a response via the Ollama API.
$ curl http://localhost:11434/api/generate -d '{"model": "qwq", "prompt": "Solve this step by step: ...", "think": "max"}'
  • Accepts "max" as a valid value for the think parameter, enabling maximum reasoning depth in a single flag.
  • Maps OpenAI Responses API reasoning_effort field to Ollama's think parameter, enabling OpenAI-compatible clients to control thinking mode.
Was this useful?
◆  Local LLM Runtimes

llama.cpp

Sources Release notes → b8911 NOTES

llama.cpp b8911 adds configurable Hexagon op profiling with PMU counter support via the GGML_HEXAGON_PROFILE environment variable.

└──▷ GET THIS VERSION
$ git clone --branch b8911 https://github.com/ggml-org/llama.cpp.git
# already have the repo? check out this version:
$ git checkout b8911
└──▷ TRY IT
Post-process a saved Hexagon profiler log (or pipe it live) through the new profile tool to get a human-readable per-op summary.
$ cat hexagon_profile.log | python3 scripts/snapdragon/ggml-hexagon-profile.py
  • Adds GGML_HEXAGON_PROFILE environment variable to enable and configure Hexagon HTP op profiling, including optional PMU counter collection (made optional because PMU counters are expensive on older devices).
  • Adds support for setting profiler PMU events from the environment on Hexagon HTP backends.
  • Adds scripts/snapdragon/ggml-hexagon-profile.py, a post-processing tool for Hexagon profiler output, with support for reading logs from stdin.
Was this useful?
Other / Uncategorized
◆  AI OBSERVABILITY

Arize Phoenix

Sources Release notes → arize-phoenix-v14.14.0 4 RELEASES · 2026-04-24 NOTES STABLE

Phoenix CLI gains trace note support via the px command.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v14.14.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v14.14.0
  • Adds trace note support to the px CLI command.
3 more releases in this issue · 2026-04-24
arize-phoenix-v14.13.0 NOTES STABLE

Phoenix v14.13.0 adds trace note REST endpoint, span notes UI column, and re-exports OpenInference helpers from phoenix-otel.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v14.13.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v14.13.0
  • Adds a trace note REST endpoint for the Phoenix CLI, enabling programmatic annotation of traces via the API.
  • Re-exports OpenInference helpers, decorators, and semconv from phoenix-otel, so instrumentation code can import them from a single package.
  • Adds a dedicated span notes column to the spans table in the UI, with cleaned-up annotation selection.
arize-phoenix-otel-v0.16.0 NOTES STABLE

arize-phoenix-otel v0.16.0 re-exports OpenInference helpers, decorators, and semconv directly from the package.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-otel-v0.16.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-otel-v0.16.0
  • Re-exports OpenInference helpers, decorators, and semantic conventions (semconv) from arize-phoenix-otel, so practitioners can import them directly without depending on a separate openinference package.
arize-phoenix-v14.12.0 NOTES STABLE

Phoenix v14.12.0 adds trace annotations in the spans table, aggregated span info on traces, and page controls in the top nav.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v14.12.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v14.12.0
  • Adds a trace annotations column to the spans table, surfacing annotation data without leaving the spans view.
  • Aggregates span-level information on the traces view, giving a rolled-up summary of span data per trace.
  • Moves page controls into the top navigation bar for faster access across the UI.
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 →