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 -145, March 27, 2026

THE AI TOOLCHAIN NO. -145
Tail
THE DAILY RELEASE FIREHOSE
PUBLISHED MARCH 27, 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   # 11 tools matched
AI & LLM Tooling
◆  AI Coding Agents

Anthropic Claude Code

Sources Release notes → v2.1.86 NOTES

Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.

Claude Code v2.1.86 adds session-ID headers for proxy aggregation and expands VCS exclusions to Jujutsu and Sapling.

└──▷ GET THIS VERSION
$ git clone --branch v2.1.86 https://github.com/anthropics/claude-code.git
# already have the repo? check out this version:
$ git checkout v2.1.86
└──▷ TRY IT
Filter and group Claude Code traffic in a reverse proxy or SIEM by session without decoding request bodies.
$ # In your proxy or log pipeline, match on the new header:
X-Claude-Code-Session-Id: <session-id>
  • Adds X-Claude-Code-Session-Id header to all API requests so proxies can correlate and aggregate a session's requests without body inspection.
  • Adds .jj and .sl to VCS directory exclusion lists, preventing Grep and file autocomplete from descending into Jujutsu or Sapling metadata directories.
  • Read tool now uses a compact line-number format and deduplicates unchanged re-reads, reducing token usage in file-heavy workflows.
  • Memory filenames in the 'Saved N memories' notice now highlight on hover and are clickable to open the file directly.
  • Skill descriptions in the /skills listing are capped at 250 characters to reduce context consumption.
+5 moreshow less
  • /skills menu now sorts alphabetically for easier scanning.
  • Auto mode now displays 'unavailable for your plan' when restricted by plan limits instead of the misleading 'temporarily unavailable'.
  • Improves prompt cache hit rate for Bedrock, Vertex, and Foundry users by removing dynamic content from tool descriptions.
  • Reduces startup event-loop stalls when many claude.ai MCP connectors are configured by extending the macOS keychain cache from 5 s to 30 s.
  • Reduces token overhead when mentioning files with @ by no longer JSON-escaping raw string content.
Was this useful?

Continue

Sources Release notes → v1.2.22-vscode NOTES

Continue v1.2.22 adds workspace-scoped session history filtering and a new .continue/configs directory for multi-config support.

└──▷ GET THIS VERSION
$ git clone --branch v1.2.22-vscode https://github.com/continuedev/continue.git
# already have the repo? check out this version:
$ git checkout v1.2.22-vscode
  • Adds .continue/configs directory support, enabling multiple configuration files to coexist in a single workspace.
  • Adds the ability to filter session history by workspace directory, making it easier to find past sessions scoped to a specific project.
Was this useful?

Charm Crush

Sources Release notes → v0.53.0 NOTES

Glamourous agentic coding for all

Crush v0.53.0 adds Z.ai GLM-5.1 model support and a dynamic prompt input area that grows up to 15 rows.

└──▷ GET THIS VERSION
$ git clone --branch v0.53.0 https://github.com/charmbracelet/crush.git
# already have the repo? check out this version:
$ git checkout v0.53.0
  • Adds support for Z.ai's GLM-5.1, a new open-source coding model, as a selectable model in Crush.
Was this useful?

Earendil Works Pi

Sources Release notes → v0.63.1 2 RELEASES · 2026-03-27 NOTES STABLE

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

Adds gemini-3.1-pro-preview-customtools model support for the google-vertex provider.

└──▷ GET THIS VERSION
$ git clone --branch v0.63.1 https://github.com/earendil-works/pi.git
# already have the repo? check out this version:
$ git checkout v0.63.1
  • Adds gemini-3.1-pro-preview-customtools model availability for the google-vertex provider.
1 more release in this issue · 2026-03-27
v0.63.0 NOTES STABLE

Pi v0.63.0 adds persistent sessionDir config, multi-edit support, and per-instance TUI log files.

└──▷ GET THIS VERSION
$ git clone --branch v0.63.0 https://github.com/earendil-works/pi.git
# already have the repo? check out this version:
$ git checkout v0.63.0
└──▷ USE IT
Persist session storage to a project-specific directory so you never need to pass --session-dir on the command line.
json
# In your project's settings.json
{
  "sessionDir": "/path/to/project/.pi-sessions"
}
Capture a unique log file per pi instance when running multiple sessions in parallel (e.g., in tmux panes or CI jobs).
$ PI_TUI_WRITE_LOG=/var/log/pi pi
  • Adds sessionDir setting in global and project settings.json to persist session storage location without passing --session-dir on every invocation.
  • Adds multi-edit support to the edit tool, allowing one call to update multiple disjoint regions in the same file matched against the original content.
  • Adds PI_TUI_WRITE_LOG directory path support, writing a unique tui-<timestamp>-<pid>.log per pi instance for debugging multiple concurrent sessions.
  • Adds startup onboarding hint in the interactive header informing users that pi can explain its own features and documentation.
└──▷ BREAKING ON UPGRADE
  • !ModelRegistry.getApiKey(model) is replaced by getApiKeyAndHeaders(model); extensions and SDK integrations must now fetch both apiKey and headers per request instead of a single API key.
  • !Deprecated direct model IDs minimax and minimax-cn are removed; pinned model IDs must be updated to MiniMax-M2.7 or MiniMax-M2.7-highspeed.
Was this useful?

Alibaba Qwen Code

Sources Release notes → v0.13.1 NOTES

Qwen Code v0.13.1 adds Alibaba Cloud API key auth, hook execution telemetry, a redesigned hooks UI, and human-readable permission labels.

└──▷ GET THIS VERSION
$ git clone --branch v0.13.1 https://github.com/QwenLM/qwen-code.git
# already have the repo? check out this version:
$ git checkout v0.13.1
  • Adds Alibaba Cloud Standard API Key authentication support via the auth subsystem, giving teams on Alibaba Cloud a native auth path.
  • Adds comprehensive hook execution telemetry to the hooks subsystem, enabling visibility into hook run behaviour and outcomes.
  • Refactors the hooks UI with a redesigned interface for managing Qwen Code hooks.
  • Adds human-readable permission labels, deny-rule feedback, and multi-directory search improvements to the permission flow.
Was this useful?
◆  AI Model & Data Infrastructure

Ollama

Sources Release notes → v0.19.0 NOTES

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

Ollama v0.19.0 powers Apple Silicon with MLX backend and adds web search to ollama launch pi.

└──▷ GET THIS VERSION
$ git clone --branch v0.19.0 https://github.com/ollama/ollama.git
# already have the repo? check out this version:
$ git checkout v0.19.0
└──▷ TRY IT
Run the Pi assistant with web search enabled to answer questions requiring live information.
$ ollama launch pi
  • Adds MLX-powered inference backend for Apple Silicon, leveraging unified memory architecture for improved performance.
  • Adds web search plugin to ollama launch pi, using Ollama's built-in web search capability.
  • MLX runner now creates periodic snapshots during prompt processing, enabling more resilient long-context runs.
Was this useful?

NVIDIA Triton Inference Server

Sources Release notes → v2.67.0 NOTES

Triton v2.67.0 adds PyTorch AOT Inductor (torch_aoti) platform, Python backend is_ready() health hooks, and bfloat16 ONNX I/O support.

└──▷ GET THIS VERSION
$ git clone --branch v2.67.0 https://github.com/triton-inference-server/server.git
# already have the repo? check out this version:
$ git checkout v2.67.0
└──▷ USE IT
Serve a PyTorch AOT Inductor (PT2) compiled model using the new torch_aoti platform — replace model.pt workflows with model.pt2 for ahead-of-time compiled inference.
yaml
# config.pbtxt for an AOT Inductor model
platform: "torch_aoti"
default_model_filename: "model.pt2"
Add a custom readiness check to a Python backend model so Triton only marks the model ready once your internal state is fully initialized.
python
import triton_python_backend_utils as pb_utils

class TritonPythonModel:
    def initialize(self, args):
        self.ready = False
        # ... setup ...
        self.ready = True

    def is_ready(self):
        return self.ready

    def execute(self, requests):
        ...
  • Adds new platform torch_aoti for PyTorch PT2 format models using AOT Inductor, with default model file model.pt2; introduces provider classes InductorModel and InductorModelInstance; separates pytorch_libtorch and torch_aoti into distinct namespaces; includes helper utilities, macros, TritonException, and optional debug trace logging via ENABLE_DEBUG_TRACE_* flags.
  • Adds support for a user-defined is_ready() method in Python backend models to enable custom readiness/health logic.
  • Enables bfloat16 I/O tensor dtype support in the ONNX Runtime backend.
  • Adds model name validation for model management requests.
  • Introduces safe GetElementCount and GetByteSize APIs with overflow protection and proper validation.
+2 moreshow less
  • Adds validation for OpenAI frontend LoRA paths.
  • Relaxes the upper bound on the gRPC dependency in the client library for greater version flexibility.
Was this useful?
◆  AI Agent Frameworks

PydanticAI

Sources Release notes → v1.73.0 NOTES

PydanticAI v1.73.0 adds CaseLifecycle hooks to Dataset.evaluate and lets hooks swap models or trigger retries.

└──▷ GET THIS VERSION
$ git clone --branch v1.73.0 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v1.73.0
└──▷ USE IT
Retry a model request from within a hook when a validation condition is not met.
python
from pydantic_ai import ModelRetry

def after_request(ctx):
    if not response_is_valid(ctx.response):
        raise ModelRetry('Response failed validation, retrying')
  • Adds CaseLifecycle hooks to Dataset.evaluate for lifecycle callbacks around each evaluation case.
  • Allows before/wrap model request hooks to swap the active model via ModelRequestContext.
  • Allows hooks to raise ModelRetry to control retry flow from within hook logic.
Was this useful?
◆  Local LLM Runtimes

llama.cpp

Sources Release notes → b8558 3 RELEASES · 2026-03-27 NOTES STABLE

llama.cpp b8558 adds LLAMA_BUILD_WEBUI CMake flag to optionally strip the embedded server web UI at build time.

└──▷ GET THIS VERSION
$ git clone --branch b8558 https://github.com/ggml-org/llama.cpp.git
# already have the repo? check out this version:
$ git checkout b8558
└──▷ TRY IT
Build llama-server without the embedded web UI to reduce the binary's exposed surface in a production or containerised inference environment.
$ cmake -B build -DLLAMA_BUILD_WEBUI=OFF && cmake --build build --config Release -t llama-server
  • Adds LLAMA_BUILD_WEBUI CMake build flag (default: ON) to allow disabling the embedded web UI in the llama-server binary, reducing attack surface in headless deployments.
2 more releases in this issue · 2026-03-27
b8557 NOTES STABLE

llama.cpp b8557 adds IQ4_NL and MXFP4 quantization support to the Hexagon backend via HMX matmul.

└──▷ GET THIS VERSION
$ git clone --branch b8557 https://github.com/ggml-org/llama.cpp.git
# already have the repo? check out this version:
$ git checkout b8557
  • Adds IQ4_NL quantization type support to the Hexagon backend, including buffer set/get tensor repack, mul_mat, and mul_mat_id dispatch.
  • Implements HVX IQ4_NL vec_dot kernels (1x1, 2x1, 2x2) with LUT-based 4-bit index to int8 dequantization on the Hexagon backend.
  • Adds MXFP4 HMX dequantization path with E8M0 scale conversion, including a batch-4 fast path and single-tile fallback on the Hexagon backend.
  • Unifies quantized row size and scale offset logic in the DMA fetch path to handle Q4_0, Q8_0, IQ4_NL, and MXFP4.
b8553 NOTES STABLE

llama.cpp server gains built-in tools backend with --tools all flag for agentic workflows.

└──▷ GET THIS VERSION
$ git clone --branch b8553 https://github.com/ggml-org/llama.cpp.git
# already have the repo? check out this version:
$ git checkout b8553
└──▷ TRY IT
Start the llama.cpp server with all built-in tools enabled for agentic, tool-calling workflows.
$ llama-server --tools all -m <model.gguf>
  • Adds --tools all argument to the llama-server built-in tools backend, enabling server-side tool/function-call orchestration without an external middleware layer.
Was this useful?
Other / Uncategorized
◆  MCP TOOLING

Composio

Sources Release notes → @composio/[email protected] NOTES

Composio CLI 0.2.10 adds parallel execute, batched tool search, --get-schema without auth, and a composio files subcommand.

└──▷ GET THIS VERSION
$ git clone --branch @composio/[email protected] https://github.com/ComposioHQ/composio.git
# already have the repo? check out this version:
$ git checkout @composio/[email protected]
└──▷ TRY IT
Inspect a tool's schema in a CI pipeline where no user session exists.
$ composio execute --get-schema <tool-name>
Log in without triggering the skill installer in a minimal or locked-down environment.
$ composio login --no-skill-install
Redirect session and cache artifacts to a writable path in a sandboxed or read-only-root environment.
$ COMPOSIO_SESSION_DIR=/tmp/composio/session COMPOSIO_CACHE_DIR=/tmp/composio/cache composio execute <tool-name>
  • Adds --get-schema flag to execute that now works without user context, enabling schema inspection in unauthenticated or CI environments.
  • Adds --no-skill-install opt-out flag to composio login to skip the new automatic skill installer that runs during login.
  • Adds composio files subcommand with built-in help and richer examples surfaced in root help output.
  • Adds parallel execute support to the CLI, allowing multiple tool executions to run concurrently.
  • Adds batched multi-query tool search, enabling multiple search queries to be resolved in a single call.
+4 moreshow less
  • Reports execute failure origin and tool log IDs on failed executions, giving practitioners a direct handle for post-mortem investigation.
  • Caches no-auth toolkits as connected, removing redundant authentication checks for toolkits that require no credentials.
  • Adds contextual help output on CLI errors and unknown arguments to surface relevant guidance at the point of failure.
  • Respects COMPOSIO_SESSION_DIR and COMPOSIO_CACHE_DIR environment variables for session artifacts and analytics directory placement in sandboxed environments.
Was this useful?
◆  VECTOR DB RAG

Qdrant

Sources Release notes → v1.17.1 NOTES

Qdrant v1.17.1 adds deferred point updates with prevent_unoptimized=true, request tracing IDs in audit logs, and non-blocking Gridstore flushes.

└──▷ GET THIS VERSION
$ git clone --branch v1.17.1 https://github.com/qdrant/qdrant.git
# already have the repo? check out this version:
$ git checkout v1.17.1
  • Defers point updates and efficiently applies/optimizes points when prevent_unoptimized=true is set, reducing write amplification under high ingest load.
  • Adds request tracing ID into the audit log, enabling correlation of individual API calls through audit trails.
  • Makes Gridstore flushes non-blocking to reduce search tail latencies during concurrent writes.
  • Improves filtered search performance for queries on payload fields with a single (singular) value.
  • Allows a peer to bootstrap using a previously used URI when the current URI is empty, improving cluster recovery ergonomics.
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 →