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 -244, December 16, 2025

THE AI TOOLCHAIN NO. -244
Tail
THE DAILY RELEASE FIREHOSE
PUBLISHED DECEMBER 16, 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   # 14 tools matched
AI & LLM Tooling
◆  AI Coding Agents

Cline

Sources Release notes → v3.43.1 NOTES

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

Cline v3.43.1 adds GLM-4.6 and kat-coder-pro models plus env variable expansion in mcpconfig.json

└──▷ GET THIS VERSION
$ git clone --branch v3.43.1 https://github.com/cline/cline.git
# already have the repo? check out this version:
$ git checkout v3.43.1
  • Adds GLM-4.6 model support via OpenRouter.
  • Adds kat-coder-pro model support.
  • Supports parsing of environment variable patterns inside mcpconfig.json, enabling dynamic configuration via env vars.
Was this useful?

Charm Crush

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

Glamourous agentic coding for all

Crush v0.26.0 adds Hyper terminal integration.

└──▷ GET THIS VERSION
$ git clone --branch v0.26.0 https://github.com/charmbracelet/crush.git
# already have the repo? check out this version:
$ git checkout v0.26.0
  • Adds Hyper terminal integration.
1 more release in this issue · 2025-12-16
v0.25.0 NOTES STABLE

Crush v0.25.0 adds crush projects command for centralized project tracking with JSON output support.

└──▷ GET THIS VERSION
$ git clone --branch v0.25.0 https://github.com/charmbracelet/crush.git
# already have the repo? check out this version:
$ git checkout v0.25.0
└──▷ TRY IT
Enumerate all known Crush projects in machine-readable JSON to feed into scripts or CI pipelines.
$ crush projects --json
  • Adds crush projects command to list all projects where Crush has been used, with --json flag for programmatic consumption.
Was this useful?

SST OpenCode

Sources Release notes → v1.0.164 NOTES

The open source coding agent.

OpenCode v1.0.164 adds experimental oxfmt formatter, shell alias expansion, and desktop session/environment improvements.

└──▷ GET THIS VERSION
$ git clone --branch v1.0.164 https://github.com/sst/opencode.git
# already have the repo? check out this version:
$ git checkout v1.0.164
└──▷ TRY IT
Run a shell command via ! using an alias defined in your shell config — useful when your workflow relies on custom aliases like gs for git status.
$ ! gs
  • Adds experimental oxfmt formatter support for code formatting.
  • Enables shell alias expansion when using the ! command in the TUI.
  • Adds a button in the desktop app to load more sessions per project.
  • Desktop app now loads user shell environment variables.
  • Desktop app now shows retry attempts during tool execution.
+2 moreshow less
  • Desktop app now shows write tool output.
  • Adds a flag to completely disable the git branch file watcher.
Was this useful?

All Hands AI OpenHands

Sources Release notes → 1.0.0 NOTES

OpenHands: AI-Driven Development

OpenHands 1.0.0 adds Azure DevOps integration, a new task tracker UI, and native tool calling for Gemini 2.5 Pro.

└──▷ GET THIS VERSION
$ git clone --branch 1.0.0 https://github.com/All-Hands-AI/OpenHands.git
# already have the repo? check out this version:
$ git checkout 1.0.0
  • Adds Azure DevOps integration support for repository and pipeline connectivity.
  • New task tracker interface provides structured visibility into agent task progress.
  • Chat messages are now queued during runtime connection, enabling smoother interaction during agent startup.
Was this useful?

Earendil Works Pi

Sources Release notes → v0.22.4 NOTES

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

Pi v0.22.4 adds --list-models to browse available models with fuzzy search and capability details.

└──▷ GET THIS VERSION
$ git clone --branch v0.22.4 https://github.com/earendil-works/pi.git
# already have the repo? check out this version:
$ git checkout v0.22.4
└──▷ TRY IT
Quickly find which vision-capable models you have API keys for before starting a multimodal task.
$ pi --list-models image
  • New --list-models [search] flag lists all available models filtered by configured API keys, showing provider, model ID, context window, max output, thinking support, and image support — with optional fuzzy search.
Was this useful?

Alibaba Qwen Code

Sources Release notes → v0.5.1-nightly.20251216.52faa0da NOTES

Qwen Code v0.5.1 adds a chat recording toggle accessible via CLI and settings.

└──▷ GET THIS VERSION
$ git clone --branch v0.5.1-nightly.20251216.52faa0da https://github.com/QwenLM/qwen-code.git
# already have the repo? check out this version:
$ git checkout v0.5.1-nightly.20251216.52faa0da
  • Adds a chat recording toggle available via both CLI flag and the settings interface, with recording automatically disabled during tests.
Was this useful?

Zed

Sources Release notes → v0.217.1 NOTES

Zed v0.217.1 adds command palette history, git remotes, Grok 4.1 Fast with 2M-token context, and new multi-cursor rotation actions.

└──▷ GET THIS VERSION
$ git clone --branch v0.217.1 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:
$ git checkout v0.217.1
└──▷ HOW TO FIND IT
Rotate swapped variable values across multiple cursors without manual copy-paste.
📍Open the command palette and run RotateSelectionsForward (or RotateSelectionsBackward) after placing multiple cursors on the values to rotate.
Fine-tune which interactions open preview (ephemeral) tabs vs. persistent tabs in your workspace.
json
{
  "preview_tabs": {
    "enable_preview_from_project_panel": true,
    "enable_preview_from_file_finder": false,
    "enable_preview_from_multibuffer": true,
    "enable_preview_multibuffer_from_code_navigation": false,
    "enable_preview_file_from_code_navigation": true,
    "enable_keep_preview_on_code_navigation": false
  }
}
Enable AWS Bedrock global endpoints for broader model availability in your region.
json
{
  "language_models": {
    "bedrock": {
      "allow_global": true
    }
  }
}
  • Adds RotateSelectionsForward and RotateSelectionsBackward actions to rotate content in a circular fashion across multiple cursors.
  • Adds editor::InsertSnippet action for programmatic snippet insertion.
  • Adds preview_tabs.enable_preview_from_project_panel (default true), preview_tabs.enable_preview_from_multibuffer (default true), preview_tabs.enable_preview_multibuffer_from_code_navigation (default false), and preview_tabs.enable_preview_file_from_code_navigation (default true) settings as part of an overhauled preview tabs configuration.
  • Adds opt-in allow_global config key for the Bedrock provider to enable global endpoints.
  • Adds command palette history — pressing up now cycles through recently executed commands, useful for re-running near-miss vim-mode commands.
+10 moreshow less
  • Adds support for git remotes in the editor.
  • Adds Grok 4.1 Fast (reasoning and non-reasoning) models in the xAI provider with 2M token context windows and full vision capabilities.
  • Extends existing Grok 4 Fast variants from 128K to 2M token context windows and enables image/vision support for all Grok 4 family models.
  • Adds automatic file context detection when pasting code into the agent panel — pasted code displays as collapsible badges showing file path and line numbers (e.g., 'app/layout.tsx (18-25)').
  • Displays human-readable names of extension-provided agents in the agent menu.
  • Git conflict buttons now show branch names instead of HEAD and ORIGIN.
  • Project diff now focuses on merge conflicts for files that have them.
  • Improves self-hosted git provider support and Bitbucket integration.
  • Recent Projects picker now displays SSH hostname with remotes.
  • Improves Go comment-directed language injections quality.
└──▷ BREAKING ON UPGRADE
  • !The preview_tabs.enable_preview_from_code_navigation setting is renamed to preview_tabs.enable_keep_preview_on_code_navigation (default false); any existing config using the old key will no longer be recognized.
Was this useful?

Google gemini-cli

Sources Release notes → v0.21.0 NOTES

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

gemini-cli v0.21.0 adds hook lifecycle events, MCP Resources, OSC52 remote copy, extension settings commands, and more.

└──▷ GET THIS VERSION
$ git clone --branch v0.21.0 https://github.com/google-gemini/gemini-cli.git
# already have the repo? check out this version:
$ git checkout v0.21.0
└──▷ TRY IT
Copy output to your local clipboard from an SSH/remote session without needing a local selection.
$ gemini
# inside the session:
/copy
Add a remote MCP server using the new consolidated url field and the --type alias.
$ gemini mcp add my-server --type sse --url https://my-mcp-server.example.com/sse
  • Adds hook system for session lifecycle and compression integration, enabling scripts to react to session start/end and context compression events.
  • Adds a Hooks Commands Panel in the UI with per-hook enable/disable toggles and migration support.
  • Supports Extension Hooks with a security warning when a hook is loaded from an extension.
  • Adds --enableAgents experimental flag to opt into agent-based workflows.
  • Supports MCP Resources, allowing MCP servers to expose file/data resources to the CLI.
+17 moreshow less
  • Adds --type alias for --transport flag in gemini mcp add for convenience.
  • Auto-executes MCP prompts that require no arguments when selected, skipping a manual Enter press.
  • Auto-executes slash commands on completion when the command function takes no arguments.
  • Consolidates remote MCP server config to use a single url field instead of separate transport fields.
  • Supports dynamic MCP tool updates via notifications/tools/list_changed, keeping the tool list current without restarting.
  • Adds /copy slash command support in remote SSH sessions using OSC52 escape sequences.
  • Adds commands for listing and updating per-extension settings.
  • Adds support for user-scoped extension settings, separate from project-level settings.
  • Implements fuzzy search inside the settings panel.
  • Enables message bus integration by default.
  • Allows telemetry exporters to GCP to use the user's login credentials when requested.
  • Tracks GitHub repository names in telemetry events.
  • Emits gemini_cli.startup_stats OTEL log event for startup performance metrics.
  • Generates a one-line AI summary to describe saved sessions in the session list.
  • Introduces a restore command for the a2a server to resume previous sessions.
  • Integrates model availability service into backend logic for smarter model selection.
  • Includes session_id in JSON output for easier programmatic session tracking.
└──▷ BREAKING ON UPGRADE
  • !Remote MCP server config now uses a single url field; existing configs using separate transport fields must be updated.
Was this useful?
◆  AI Agent Frameworks

CrewAI

Sources Release notes → 1.7.1 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.1 adds a --no-commit flag to the bump command and switches to JSON schema for tool argument serialization.

└──▷ GET THIS VERSION
$ git clone --branch 1.7.1 https://github.com/crewAIInc/crewAI.git
# already have the repo? check out this version:
$ git checkout 1.7.1
└──▷ TRY IT
Bump the project version without creating a git commit, useful in CI pipelines where you control commits separately.
$ crewai bump --no-commit
  • Adds --no-commit flag to the bump command, allowing version bumps without auto-committing changes.
  • Switches tool argument serialization to use JSON schema for more structured, interoperable tool definitions.
Was this useful?

PydanticAI

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

PydanticAI v1.34.0 adds a Web Chat UI launchable via clai web or Agent.to_web(), plus FileUrl.force_download support for Anthropic and OpenAI Responses models.

└──▷ GET THIS VERSION
$ git clone --branch v1.34.0 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v1.34.0
└──▷ TRY IT
Quickly spin up an interactive web chat interface for an existing agent without writing a frontend.
$ clai web
Programmatically launch the Web Chat UI from within Python for a configured agent.
python
from pydantic_ai import Agent

agent = Agent('openai:gpt-4o', system_prompt='You are a helpful assistant.')
agent.to_web()
  • Adds clai web CLI command and Agent.to_web() method to launch a Web Chat UI for any agent.
  • Supports FileUrl.force_download in AnthropicModel and OpenAIResponsesModel for forced file downloads.
  • Makes OpenRouterProvider and DeepSeekProvider __init__ overloads less restrictive, broadening valid initialization patterns.
1 more release in this issue · 2025-12-16
v1.33.0 NOTES STABLE

PydanticAI v1.33.0 adds native s3:// URL support in BedrockConverseModel and broadens instructions support across models.

└──▷ GET THIS VERSION
$ git clone --branch v1.33.0 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v1.33.0
  • Passes s3:// file URLs directly to the API in BedrockConverseModel, enabling S3-hosted files to be referenced without pre-fetching.
  • Inserts agent instructions after system_prompts for models that don't natively support instructions, broadening the operational surface of the instructions field across providers.
Was this useful?

browser-use

Sources Release notes → 0.11.2 NOTES

browser-use 0.11.2 adds support for the new BU OSS model and introduces a max-wait cap between action executions.

└──▷ GET THIS VERSION
$ git clone --branch 0.11.2 https://github.com/browser-use/browser-use.git
# already have the repo? check out this version:
$ git checkout 0.11.2
  • Adds support for the open-source browser-use/bu-30b-a3b-preview model (hosted on Hugging Face) as a first-party option for driving browser automation.
  • Introduces a maximum wait interval between action executions, capping idle time between browser steps.
Was this useful?
◆  Local LLM Runtimes

llama.cpp

Sources Release notes → b7429 4 RELEASES · 2025-12-16 NOTES STABLE

llama.cpp b7429 adds GLM4V vision encoder support including Metal acceleration and MoE variant.

└──▷ GET THIS VERSION
$ git clone --branch b7429 https://github.com/ggml-org/llama.cpp.git
# already have the repo? check out this version:
$ git checkout b7429
  • Adds support for the GLM4V vision encoder model, including Metal (Apple GPU) acceleration and MoE variant support.
  • Introduces GGML_ROPE_TYPE_MRNORM rope type to support the GLM4V text model's multi-resolution positional encoding.
└──▷ BREAKING ON UPGRADE
  • !Linux releases will change from .zip archives to .tar.gz archives — update any deployment scripts that unzip Linux release artifacts.
3 more releases in this issue · 2025-12-16
b7426 NOTES STABLE

llama.cpp b7426 adds Nemotron Nano 3 model parsing support

└──▷ GET THIS VERSION
$ git clone --branch b7426 https://github.com/ggml-org/llama.cpp.git
# already have the repo? check out this version:
$ git checkout b7426
  • Adds Nemotron Nano 3 chat template parsing and support in the common layer.
└──▷ BREAKING ON UPGRADE
  • !Linux releases will switch from .zip archives to .tar.gz archives — deployment scripts that fetch or unpack Linux binaries must be updated.
b7418 NOTES STABLE

llama.cpp b7418 adds support for the NVIDIA Nemotron Nano 3 model.

└──▷ GET THIS VERSION
$ git clone --branch b7418 https://github.com/ggml-org/llama.cpp.git
# already have the repo? check out this version:
$ git checkout b7418
  • Adds support for running and converting the NVIDIA Nemotron Nano 3 model.
└──▷ BREAKING ON UPGRADE
  • !Linux releases will switch from .zip archives to .tar.gz archives — update deployment scripts accordingly.
b7414 NOTES STABLE

llama.cpp b7414 adds support for the KORMo causal language model architecture.

└──▷ GET THIS VERSION
$ git clone --branch b7414 https://github.com/ggml-org/llama.cpp.git
# already have the repo? check out this version:
$ git checkout b7414
  • Adds support for the KORMoForCausalLM model architecture, enabling inference on KORMo causal language models.
  • Adds a KORMo-specific tokenizer (KORMo Tokenizer) using the Qwen2 pretokenizer under the hood.
└──▷ BREAKING ON UPGRADE
  • !Linux release archives will switch from .zip to .tar.gz format — deployment scripts that unzip Linux builds will need to be updated.
Was this useful?
Other / Uncategorized
◆  MCP TOOLING

Composio

Sources Release notes → v0.10.1 NOTES

Composio v0.10.1 adds composio generate --toolkits flag for scoped code generation in TypeScript and Python.

└──▷ GET THIS VERSION
$ git clone --branch v0.10.1 https://github.com/ComposioHQ/composio.git
# already have the repo? check out this version:
$ git checkout v0.10.1
  • Adds --toolkits [toolkits] argument to composio generate, letting practitioners scope code generation to specific toolkits for both TypeScript and Python.
Was this useful?
◆  VECTOR DB RAG

LanceDB

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

LanceDB v0.23.0 adds IVF SQ index, async namespace connections, to_pydantic async support, stable row IDs via storage_options, and head() for remote tables.

└──▷ GET THIS VERSION
$ git clone --branch v0.23.0 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout v0.23.0
└──▷ USE IT
Enable stable row IDs on a table so that row identifiers survive compaction and updates — useful for building reliable external indexes or caches keyed on row ID.
python
table = db.create_table('my_table', data=df, storage_options={'stable_row_ids': 'true'})
  • Adds storage_options support for enabling stable row IDs on tables.
  • Adds num_attempts field to merge insert results, giving callers visibility into retry behaviour.
  • Adds to_pydantic support in the async Python API for converting query results directly to Pydantic models.
  • Implements head() for remote tables, enabling fast row-count-limited fetches against remote backends.
  • Adds IVF SQ (Scalar Quantization) index support and HNSW aliases for index creation.
+5 moreshow less
  • Lets Lance determine the default num_partitions parameter automatically rather than requiring the caller to specify it.
  • Supports namespace credentials vending for scoped, credential-backed namespace access.
  • Supports async namespace connections and server-side query execution via the namespace layer.
  • Uses the REST namespace backend for the LanceDB Java SDK, with a generic Java client builder.
  • Infers vector type as float32 when integer values fall outside the uint8 range, reducing type-mismatch errors on ingestion.
└──▷ BREAKING ON UPGRADE
  • !macOS x86 (Intel) support is deprecated and removed.
  • !Namespace operations now use namespace models directly; code using the previous namespace operation signatures will break.
1 more release in this issue · 2025-12-16
python-v0.26.0 NOTES STABLE

LanceDB python-v0.26.0 adds IVF SQ indexing, async namespace connections, stable row IDs via storage_options, and to_pydantic async support.

└──▷ GET THIS VERSION
$ git clone --branch python-v0.26.0 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout python-v0.26.0
└──▷ USE IT
Enable stable row IDs at table-creation time so row addresses remain constant across compaction and updates.
python
import lancedb

db = lancedb.connect("<uri>")
tbl = db.create_table(
    "my_table",
    data=my_data,
    storage_options={"stable_row_ids": "true"}
)
Use the new async to_pydantic() to deserialize query results into typed models in an async workflow.
python
import lancedb
from pydantic import BaseModel

class Item(BaseModel):
    id: int
    text: str
    vector: list[float]

async def query():
    db = await lancedb.connect_async("<uri>")
    tbl = await db.open_table("my_table")
    results = await tbl.query().limit(10).to_pydantic(Item)
    return results
Build an IVF_SQ index on a vector column to get smaller on-disk footprint with scalar quantization.
python
import lancedb

db = lancedb.connect("<uri>")
tbl = db.open_table("my_table")
tbl.create_index(metric="cosine", index_type="IVF_SQ", vector_column_name="vector")
  • Adds stable_row_ids support via storage_options for tables that require deterministic row addressing.
  • Adds num_attempts field to merge-insert results so callers can inspect retry counts.
  • Adds IVF_SQ index type and HNSW aliases, expanding the vector index options available at index-creation time.
  • Supports to_pydantic() in async query paths, letting async workflows deserialize results directly into Pydantic models.
  • Implements head() for remote tables, enabling row-count-limited fetches against remote LanceDB services.
+5 moreshow less
  • Lets lance automatically determine the default num_partitions parameter for IVF index builds instead of requiring caller-supplied values.
  • Adds async namespace connection support, bringing namespace-scoped operations into the async API.
  • Adds namespace credentials vending so namespace clients can obtain scoped credentials at runtime.
  • Adds namespace server-side query execution, offloading query work to the namespace server.
  • Infers vector column type as float32 when integer values fall outside the uint8 range, reducing silent precision errors.
└──▷ BREAKING ON UPGRADE
  • !Mac x86 (Intel) platform support is dropped; macOS builds are now ARM-only.
  • !Namespace operations now use namespace models directly — code that passed raw dicts or non-model types to namespace operation calls will break.
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 →