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 -243, December 17, 2025

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

Agno (formerly Phidata)

Sources Release notes → v2.3.14 NOTES

Agno v2.3.14 adds reasoning streaming, new A2A endpoints, JSON schema structured outputs, and AgentOS reload controls.

└──▷ GET THIS VERSION
$ git clone --branch v2.3.14 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:
$ git checkout v2.3.14
└──▷ USE IT
Control which files cause AgentOS to hot-reload — useful when you want changes to your YAML config to trigger a reload but ignore unrelated directories.
python
serve(reload_includes=['*.yaml', '*.yml'], reload_excludes=['tests/*', 'docs/*'])
Pass a provider-specific JSON schema directly to the model API for precise structured output control without Agno transforming it.
python
agent = Agent(
    model=OpenAIChat(id='gpt-4o'),
    output_schema={
        'type': 'json_schema',
        'json_schema': {
            'name': 'result',
            'strict': True,
            'schema': {
                'type': 'object',
                'properties': {'answer': {'type': 'string'}},
                'required': ['answer'],
                'additionalProperties': False
            }
        }
    }
)
  • Adds reload_includes and reload_excludes parameters to the serve function of AgentOS, letting you specify which files trigger an app reload.
  • Adds search_parameters to the search and async_search methods of the Milvus vector database class.
  • output_schema now accepts JSON schemas in provider-specific formats, passed directly to the model API without transformation, giving full control over structured output for OpenAI, Claude, and OpenAI-like providers.
  • Adds reasoning chunk streaming support when reasoning_model is provided.
  • Adds new A2A interface endpoints to retrieve the Agent Card for any Agent, Team, or Workflow, and updates run endpoints for Agents, Teams, and Workflows to match the updated A2A protocol.
+2 moreshow less
  • Updates the default model ID for the Gemini Embedder class to gemini-embedding-001.
  • Error events are now always emitted during streaming runs, and runs containing errors are always persisted when relevant.
Was this useful?

PydanticAI

Sources Release notes → v1.35.0 NOTES

PydanticAI v1.35.0 adds FileSearchTool, DashScopeProvider, AG-UI multimodal messages, and Gemini 3 Flash support.

└──▷ GET THIS VERSION
$ git clone --branch v1.35.0 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v1.35.0
  • Adds FileSearchTool class with support for OpenAI and Google backends, enabling file-search capabilities within PydanticAI agents.
  • Adds DashScopeProvider for Alibaba Cloud, plus audio input support for Qwen Omni models.
  • Adds size parameter to ImageGenerationTool for Gemini image models, controlling generated image dimensions.
  • Supports OpenAI reasoning summary option 'auto' for reasoning-capable models.
  • Adds Gemini 3 Flash model support.
+2 moreshow less
  • Supports AG-UI multi-modal messages, enabling richer message types in AG-UI integrations.
  • Sets timestamps on AG-UI events for improved event traceability.
Was this useful?

camel-ai

Sources Release notes → v0.2.82 NOTES

camel-ai v0.2.82 adds SerpAPI and SQL toolkits, EarthScienceToolkit, configurable Workforce fail handling, GPT-5.2 and Gemini 3 Flash support, and custom ChatAgent in RolePlaying.

└──▷ GET THIS VERSION
$ git clone --branch v0.2.82 https://github.com/camel-ai/camel.git
# already have the repo? check out this version:
$ git checkout v0.2.82
└──▷ USE IT
Run a web search inside an agent using the new SerpAPI toolkit to retrieve live search results.
python
from camel.toolkits import SerpApiToolkit
from camel.agents import ChatAgent
from camel.models import ModelFactory
from camel.types import ModelPlatformType, ModelType

toolkit = SerpApiToolkit()
model = ModelFactory.create(
    model_platform=ModelPlatformType.OPENAI,
    model_type=ModelType.GPT_4O,
)
agent = ChatAgent(model=model, tools=toolkit.get_tools())
response = agent.step('What are the top results for "AI agent frameworks" today?')
print(response.msgs[0].content)
  • Adds SerpApiToolkit for search-engine results via SerpAPI, accessible as a new toolkit integration.
  • Adds SqlToolkit for agent-driven SQL database interaction.
  • Adds EarthScienceToolkit with ~100 earth-science-specific tools derived from the Earth-Agent paper.
  • Adds stream_callback parameter to task execution in Workforce, enabling streaming progress callbacks.
  • Adds configurable failure handling to Workforce so callers can control behaviour when a subtask fails.
+7 moreshow less
  • Adds log_message method to WorkforceLogger for structured workforce logging.
  • Enables shared multi-runtime instances across multiple toolkits within the same workflow.
  • Supports custom ChatAgent instances inside RolePlaying, allowing callers to supply pre-configured agents for either role.
  • Adds async support for SiliconFlow model backend.
  • Renames all Gmail toolkit tool-call names to include a gmail prefix (e.g. gmail_send_email).
  • Removes deprecated Gemini 1.5 models from the model registry.
  • Removes deprecated Groq models from the model registry.
└──▷ BREAKING ON UPGRADE
  • !Gmail toolkit tool-call names now carry a gmail prefix; any agent prompt, tool-routing logic, or stored conversation referencing the old bare names (e.g. send_email) will no longer match.
  • !Deprecated Gemini 1.5 models have been removed; code that instantiates those model identifiers will fail.
  • !Deprecated Groq models have been removed; code that instantiates those model identifiers will fail.
Was this useful?
◆  AI Coding Agents

Cline

Sources Release notes → v3.45.0 2 RELEASES · 2025-12-17 NOTES STABLE

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

Cline v3.45.0 adds Gemini 3 Flash Preview to the model picker and introduces new model configuration options.

└──▷ GET THIS VERSION
$ git clone --branch v3.45.0 https://github.com/cline/cline.git
# already have the repo? check out this version:
$ git checkout v3.45.0
  • Adds Gemini 3 Flash Preview model to the model picker and banner.
  • Adds new model configuration support.
1 more release in this issue · 2025-12-17
v3.44.1 NOTES STABLE

Cline v3.44.1 adds dynamic tool instructions that adapt based on runtime context.

└──▷ GET THIS VERSION
$ git clone --branch v3.44.1 https://github.com/cline/cline.git
# already have the repo? check out this version:
$ git checkout v3.44.1
  • Adds support for dynamic tool instructions that adapt based on runtime context, laying groundwork for future context-aware features.
Was this useful?

Charm Crush

Sources Release notes → v0.27.0 NOTES

Glamourous agentic coding for all

Crush v0.27.0 adds GitHub Copilot as a supported AI backend with a new crush login copilot auth command.

└──▷ GET THIS VERSION
$ git clone --branch v0.27.0 https://github.com/charmbracelet/crush.git
# already have the repo? check out this version:
$ git checkout v0.27.0
└──▷ TRY IT
Authenticate with GitHub Copilot when it isn't already detected on the machine.
$ crush login copilot
  • Adds GitHub Copilot as a supported model provider, auto-detecting existing logins or prompting via TUI.
  • New crush login copilot command for explicit GitHub Copilot authentication.
Was this useful?

SST OpenCode

Sources Release notes → v1.0.165 NOTES

The open source coding agent.

OpenCode v1.0.165 adds session sharing, plugin hooks, new theme, token cap override, and more CLI/desktop enhancements.

└──▷ GET THIS VERSION
$ git clone --branch v1.0.165 https://github.com/sst/opencode.git
# already have the repo? check out this version:
$ git checkout v1.0.165
└──▷ TRY IT
Override the default 32k output token cap when working with models that support larger outputs.
$ OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX=65536 opencode
Suppress terminal title changes when running OpenCode inside a multiplexer or shared terminal session.
$ OPENCODE_DISABLE_TERMINAL_TITLE=1 opencode
  • Adds session.compacting experimental hook enabling pre-compaction context injection for plugins.
  • Adds task tool execution hooks and command context tracking for plugin authors.
  • Adds OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX environment variable to override the default 32k output token limit.
  • Adds OPENCODE_DISABLE_TERMINAL_TITLE environment variable to suppress terminal title updates.
  • Shows loaded plugins in the /status command output.
+8 moreshow less
  • Enables edit and todoread batch operations with clarified error messages.
  • Adds configurable mentions input for GitHub integration.
  • Adds Lucent Orange theme.
  • Adds session sharing feature in the desktop client.
  • Adds Inter and IBM Plex Mono font support in the desktop client.
  • Increases session width in TUI to better accommodate longer code blocks.
  • Adds startup error display in the desktop client.
  • Adds optimistic prompt submission in the desktop client.
Was this useful?

Earendil Works Pi

Sources Release notes → v0.23.0 NOTES

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

Pi v0.23.0 adds custom TypeScript tools with TUI rendering, user interaction, and session-state persistence.

└──▷ GET THIS VERSION
$ git clone --branch v0.23.0 https://github.com/earendil-works/pi.git
# already have the repo? check out this version:
$ git checkout v0.23.0
└──▷ USE IT
Scaffold and run a custom TypeScript tool that prompts the user and persists state across pi sessions.
typescript
# See examples/custom-tools/ for a working starter
# Tool skeleton (TypeScript):
export default {
  onSession({ reason, entries }) {
    if (reason === "start") { /* initialise state */ }
  },
  async run(pi) {
    const choice = await pi.ui.select("Pick an option", ["A", "B"]);
    await pi.ui.notify(`You picked ${choice}`);
  }
};
  • New custom tools system: extend pi with TypeScript plugins that provide custom TUI rendering, prompt users via pi.ui (select, confirm, input, notify), and persist state across sessions via an onSession callback.
  • Bundled hook and custom-tool examples in examples/hooks/ and examples/custom-tools/ shipped with npm and binary releases.
└──▷ BREAKING ON UPGRADE
  • !The session_start and session_switch hook events are replaced by a single session event; use event.reason ("start" | "switch" | "clear") to distinguish them, and read event.entries for state reconstruction.
Was this useful?

Alibaba Qwen Code

Sources Release notes → v0.5.1-nightly.20251217.0a39c912 NOTES

Qwen Code v0.5.1 adds a /resume command for session switching, chat recording toggle, and a gitCoAuthor setting.

└──▷ GET THIS VERSION
$ git clone --branch v0.5.1-nightly.20251217.0a39c912 https://github.com/QwenLM/qwen-code.git
# already have the repo? check out this version:
$ git checkout v0.5.1-nightly.20251217.0a39c912
└──▷ USE IT
Attribute AI assistance in git commits by enabling co-author tagging in your settings file.
json
{
  "gitCoAuthor": true
}
Resume a previous session mid-workflow without restarting the CLI.
$ /resume
  • Adds gitCoAuthor setting to settings.json to control git co-author attribution in commits.
  • Adds /resume slash command to switch between sessions from the CLI.
  • Adds a chat recording toggle accessible via CLI and settings UI, allowing recording to be enabled or disabled per session.
Was this useful?

Zed

Sources Release notes → v0.217.2 NOTES

Zed v0.217.2 adds Gemini 3 Flash support and beta ty language server downloads for Python.

└──▷ GET THIS VERSION
$ git clone --branch v0.217.2 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:
$ git checkout v0.217.2
└──▷ USE IT
Enable the ty language server (including beta builds) for Python while disabling competing servers.
json
{
  "languages": {
    "Python": {
      "language_servers": [
        "ty", "ruff", "!basedpyright", "!pyrefly", "!pyright", "!pylsp"
      ]
    }
  }
}
  • Supports downloading beta versions of ty when listed in language_servers under languages.Python in Zed settings.
  • Adds support for the Gemini 3 Flash model.
Was this useful?
◆  Local LLM Runtimes

llama.cpp

Sources Release notes → b7445 NOTES

llama.cpp b7445 enables -kvu flag in llama-perplexity for hellaswag and winogrande benchmarks with coupled sequences.

└──▷ GET THIS VERSION
$ git clone --branch b7445 https://github.com/ggml-org/llama.cpp.git
# already have the repo? check out this version:
$ git checkout b7445
└──▷ TRY IT
Run hellaswag or winogrande perplexity benchmarks that require a unified KV cache for coupled sequences.
$ llama-perplexity -kvu -m <model.gguf> --hellaswag
  • Adds --kv-unified (-kvu) flag support to llama-perplexity, enabling hellaswag and winogrande benchmarks that use coupled sequences.
└──▷ BREAKING ON UPGRADE
  • !Linux releases will switch from .zip archives to .tar.gz archives — update any deployment scripts that unzip Linux builds.
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 →