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 -320, September 30, 2025

THE AI TOOLCHAIN NO. -320
Tail
THE DAILY RELEASE FIREHOSE
PUBLISHED SEPTEMBER 30, 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 Coding Agents

Charm Crush

Sources Release notes → v0.10.4 NOTES

Glamourous agentic coding for all

Crush v0.10.4 adds crush dirs subcommand to resolve config and data directory paths from the CLI.

└──▷ GET THIS VERSION
$ git clone --branch v0.10.4 https://github.com/charmbracelet/crush.git
# already have the repo? check out this version:
$ git checkout v0.10.4
└──▷ TRY IT
Open Crush's main config file directly without manually hunting down the path.
$ vim "$(crush dirs config)/crush.json"
Wipe all ephemeral Crush data (sessions, cache) for a clean slate.
$ rm -rf "$(crush dirs data)"
  • New crush dirs subcommand surfaces the paths to Crush's config and data directories, enabling scripted access to config files and ephemeral data.
Was this useful?

Google gemini-cli

Sources Release notes → v0.8.0-nightly.20250930.ae51bbda NOTES

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

gemini-cli v0.8.0-nightly adds tab-completion for extension names in /extensions update.

└──▷ GET THIS VERSION
$ git clone --branch v0.8.0-nightly.20250930.ae51bbda https://github.com/google-gemini/gemini-cli.git
# already have the repo? check out this version:
$ git checkout v0.8.0-nightly.20250930.ae51bbda
  • Adds extension name auto-complete to the /extensions update command, reducing manual lookup of exact extension names.
Was this useful?
◆  AI Agent Frameworks

LangChain

Sources Release notes → langchain-anthropic==1.0.0a2 3 RELEASES · 2025-09-30 NOTES STABLE

langchain-anthropic v1.0.0a2 adds memory/context management, web fetch beta, server tool call/result types, dynamic Max Tokens mapping, cache_control kwarg, and more.

└──▷ GET THIS VERSION
$ git clone --branch langchain-anthropic==1.0.0a2 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-anthropic==1.0.0a2
└──▷ USE IT
Enable parallel tool calls to let Claude invoke multiple tools simultaneously in one turn.
python
from langchain_anthropic import ChatAnthropic
from langchain_core.tools import tool

@tool
def get_weather(city: str) -> str:
    """Get weather for a city."""
    return f"Sunny in {city}"

llm = ChatAnthropic(model="claude-opus-4-5", parallel_tool_calls=True)
llm_with_tools = llm.bind_tools([get_weather])
response = llm_with_tools.invoke("What's the weather in Paris and Tokyo?")
  • Adds cache_control as a passable kwarg on ChatAnthropic invocations for fine-grained cache control.
  • Adds dynamic mapping of Max Tokens for Anthropic models, automatically selecting appropriate limits per model.
  • Adds support for memory and context management features in ChatAnthropic.
  • Adds server tool call and result types (v1) for use with the Anthropic Messages API.
  • Adds web fetch beta support, enabling ChatAnthropic to fetch web content as part of tool use.
+10 moreshow less
  • Adds support for code execution, MCP connector, and files API features.
  • Adds support for built-in tools via ChatAnthropic.
  • Adds parallel_tool_calls support on ChatAnthropic.
  • Adds support for passing URLs directly to ChatAnthropic as multimodal content.
  • Adds citations support in streaming responses and across multi-turn conversations.
  • Adds cache TTL details to usage metadata, surfacing token-level cache timing information.
  • Enables structured output when extended thinking (thinking) is enabled on ChatAnthropic.
  • Returns model_name in response metadata from ChatAnthropic.
  • Allows kwargs to pass through when counting tokens.
  • Drops support for Python 3.9 in the v1 release line.
└──▷ BREAKING ON UPGRADE
  • !Python 3.9 is no longer supported; the minimum required Python version is 3.10.
2 more releases in this issue · 2025-09-30
langchain-openai==1.0.0a3 NOTES STABLE

langchain-openai v1.0.0a3 adds server tool call types, PDF URL support, web_search tool, max_tokens for AzureChatOpenAI, and removes bind_functions.

└──▷ GET THIS VERSION
$ git clone --branch langchain-openai==1.0.0a3 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-openai==1.0.0a3
└──▷ USE IT
Cap output tokens when using Azure OpenAI to control cost and latency.
python
from langchain_openai import AzureChatOpenAI

llm = AzureChatOpenAI(
    azure_deployment="gpt-4o",
    azure_endpoint="https://<your-resource>.openai.azure.com/",
    api_version="2024-02-01",
    max_tokens=512,
)
response = llm.invoke("Summarise this incident report in one paragraph.")
  • Adds max_tokens parameter to AzureChatOpenAI for controlling output token limits.
  • Adds web_search to the OpenAI tools list, enabling built-in web search as a callable tool.
  • Supports PDFs passed via URL in the standard content format for multimodal chat inputs.
  • Introduces server tool call and result types (feat: (v1) server tool call and result types) for the v1 API surface.
  • Removes bind_functions from ChatOpenAI/AzureChatOpenAI and moves tool_calls out of additional_kwargs in the v1 interface.
+7 moreshow less
  • Drops Python 3.9 support in the v1 package; minimum supported version is now Python 3.10.
  • Updates default output_version in the v1 OpenAI integration.
  • Adds standard content IDs, translators, and normalization for cross-provider message compatibility.
  • Officially supports verbosity parameter in ChatOpenAI for controlling output detail level.
  • Supports minimal output mode alongside verbosity in ChatOpenAI.
  • Supports custom tools in ChatOpenAI via the custom tools feature.
  • Allows overriding ls_model_name from kwargs for LangSmith tracing.
└──▷ BREAKING ON UPGRADE
  • !bind_functions is deleted from the OpenAI chat model classes in v1; callers must migrate to bind_tools.
  • !tool_calls is removed from additional_kwargs in v1; code reading additional_kwargs['tool_calls'] will find it missing.
  • !Python 3.9 is no longer supported; the package requires Python 3.10 or later.
langchain-core==1.0.0a5 NOTES STABLE

langchain-core v1.0.0a5 adds server tool types, AWS Bedrock content blocks, reasoning content parsing, and expanded OpenAI tool support

└──▷ GET THIS VERSION
$ git clone --branch langchain-core==1.0.0a5 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-core==1.0.0a5
└──▷ USE IT
Filter OpenAI data content blocks from a message using the now-public is_openai_data_block helper.
python
from langchain_core.messages.content import is_openai_data_block

blocks = [b for b in message.content if is_openai_data_block(b)]
Strip PostgreSQL NUL bytes from text before inserting into a vector store to avoid DataError.
python
from langchain_core.utils import sanitize_for_postgres

clean_text = sanitize_for_postgres(raw_text)
vectorstore.add_texts([clean_text])
  • Adds reasoning_content parsing from additional_kwargs in message conversion, enabling structured access to model reasoning traces.
  • Adds support for the reasoning type in convert_to_openai_messages for models that emit reasoning content.
  • Adds web_search to the OpenAI tools list, expanding the set of built-in tool types recognized by the framework.
  • Adds is_openai_data_block as a public API with filtering support for inspecting and filtering OpenAI data content blocks.
  • Adds id field to Document objects passed to the filter function in InMemoryVectorStore similarity search.
+12 moreshow less
  • Adds server tool call and result types (v1) for representing tool interactions in a standardized server-side format.
  • Adds standard content block support for AWS Bedrock, including document content blocks in msg_content_output.
  • Adds support for PromptTemplates with formats other than f-string.
  • Adds sanitize_for_postgres utility to strip PostgreSQL NUL bytes that cause DataError.
  • Adds an option to make deserialization more permissive.
  • Allows overriding ls_model_name from kwargs when tracing.
  • Allows custom Mermaid diagram URL via allow custom Mermaid URL support.
  • Adds additional hashing options to the indexing API and warns on SHA-1 usage.
  • Zeros out token costs for cache hits in token usage tracking.
  • Exposes tool message recognized block types as a public surface.
  • Traces response body on error for improved observability.
  • Drops support for Python 3.9 in langchain-core v1.
└──▷ BREAKING ON UPGRADE
  • !Python 3.9 is no longer supported in langchain-core v1.0.0a5 (dropped via chore: (v1) drop support for python 3.9).
  • !The example attribute is removed from AIMessage and HumanMessage.
  • !The beta namespace and context API are removed (chore(core): remove beta namespace and context api).
Was this useful?

Microsoft AutoGen

Sources Release notes → python-v0.7.5 NOTES

AutoGen 0.7.5 adds Anthropic thinking mode, linear memory for RedisMemory, and reasoning_effort for GPT-5 models.

└──▷ GET THIS VERSION
$ git clone --branch python-v0.7.5 https://github.com/microsoft/autogen.git
# already have the repo? check out this version:
$ git checkout python-v0.7.5
└──▷ USE IT
Control reasoning depth when calling GPT-5 models to balance latency and answer quality.
python
from autogen_ext.models.openai import OpenAIChatCompletionClient

client = OpenAIChatCompletionClient(
    model="gpt-5",
    reasoning_effort="high",
)
  • Adds thinking mode support for the Anthropic client, enabling extended reasoning with Claude models.
  • Supports linear memory storage in RedisMemory, giving practitioners an alternative memory retrieval strategy.
  • Adds reasoning_effort parameter support for OpenAI GPT-5 models.
  • Adds security warnings and defaults to DockerCommandLineCodeExecutor for safer code execution.
Was this useful?

OpenAI Agents SDK

Sources Release notes → v0.3.3 NOTES

OpenAI Agents SDK v0.3.3 adds AdvancedSQLiteSession with branching, Redis session support, and tool-level input/output guardrails.

└──▷ GET THIS VERSION
$ git clone --branch v0.3.3 https://github.com/openai/openai-agents-python.git
# already have the repo? check out this version:
$ git checkout v0.3.3
  • Adds AdvancedSQLiteSession class with conversation branching and usage tracking for persistent local agent memory.
  • Adds Redis session support via a new Redis-backed session class for scalable, distributed agent memory across multiple instances.
  • Adds tool input and output guardrails, enabling validation and filtering at the individual tool call level.
Was this useful?

PydanticAI

Sources Release notes → v1.0.11 NOTES

PydanticAI v1.0.11 adds OpenAI image detail via vendor_metadata, operation.cost metrics, and makes OutputObjectDefinition public.

└──▷ GET THIS VERSION
$ git clone --branch v1.0.11 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v1.0.11
└──▷ USE IT
Pass OpenAI image detail level when sending an image to a vision model, to control token usage vs. resolution trade-off.
python
from pydantic_ai.models.openai import ImageUrl

image = ImageUrl(
    url='https://example.com/diagram.png',
    vendor_metadata={'detail': 'high'}
)
Import and use OutputObjectDefinition directly to build structured output schemas programmatically.
python
from pydantic_ai.output import OutputObjectDefinition
  • Supports OpenAI image detail level on ImageUrl and BinaryContent via the vendor_metadata parameter, enabling fine-grained vision API control.
  • Adds operation.cost metric to instrumented models, exposing per-call cost data through OpenTelemetry instrumentation.
  • Makes OutputObjectDefinition publicly importable from pydantic_ai.output, enabling programmatic construction of output schemas.
  • Supports callable classes (not just functions) as history processors, broadening the composition options for message-history pipelines.
  • Adds claude-sonnet-4-5 to the list of known model name strings recognized by the library.
Was this useful?
Other / Uncategorized
◆  AI OBSERVABILITY

Arize Phoenix

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

Arize Phoenix v12.1.0 adds dataset label GraphQL mutations, Claude Sonnet 4.5 support, and a Helm chart migration.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v12.1.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v12.1.0
  • Adds dataset label GraphQL operations (create, delete, read) for managing labels on datasets via the API.
  • Supports Claude Sonnet 4.5 as a model option in the playground.
  • Migrates the Helm chart from the Bitnami chart to the groundhog2k chart.
Was this useful?

Langfuse

Sources Release notes → v3.113.0 NOTES

Langfuse v3.113.0 adds mutable score configs, per-run dataset filtering, OTEL response model parsing, and Claude Sonnet 4.5 playground support.

└──▷ GET THIS VERSION
$ git clone --branch v3.113.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.113.0
  • Adds llm.response.model parsing to the OpenTelemetry ingestion pipeline, enabling response model attribution from OTEL spans.
  • Supports mutability on score configs, allowing score configurations to be updated after creation.
  • Adds per-run filtering in the dataset compare table, enabling side-by-side evaluation across specific dataset runs.
  • Adds a search bar to the members table for faster user lookup in large organizations.
  • Adds Claude Sonnet 4.5 support to the playground.
+4 moreshow less
  • Improves time range filtering across the UI with more precise date range controls.
  • Displays the last authentication method used on the login screen.
  • Shows active promotion codes in billing settings and adds an option to apply discount codes to active subscriptions.
  • Allows past subscribers to view their historical invoices in billing settings.
Was this useful?
◆  VECTOR DB RAG

LanceDB

Sources Release notes → v0.22.2-beta.1 2 RELEASES · 2025-09-30 NOTES STABLE

LanceDB v0.22.2-beta.1 adds bitmap index support for large-string, binary, and large-binary types, plus remote connection testing.

└──▷ GET THIS VERSION
$ git clone --branch v0.22.2-beta.1 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout v0.22.2-beta.1
  • Extends bitmap indexes to cover large-string, binary, large-binary, and bitmap column types.
  • Adds support for test_remote_connections to validate remote database connectivity.
1 more release in this issue · 2025-09-30
python-v0.25.2-beta.1 NOTES STABLE

LanceDB python-v0.25.2-beta.1 adds bitmap index support for large-string, binary, and large-binary types.

└──▷ GET THIS VERSION
$ git clone --branch python-v0.25.2-beta.1 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout python-v0.25.2-beta.1
  • Allows bitmap indexes to be created on large-string, binary, large-binary, and bitmap column types.
  • Adds support for test_remote_connections to validate remote database connectivity.
Was this useful?

Qdrant

Sources Release notes → v1.15.5 NOTES

Qdrant v1.15.5 adds strict mode max payload indices, remove-peer timeout, and broader API validation.

└──▷ GET THIS VERSION
$ git clone --branch v1.15.5 https://github.com/qdrant/qdrant.git
# already have the repo? check out this version:
$ git checkout v1.15.5
  • Adds timeout parameter to the remove peer operation for cluster management.
  • Adds strict mode configuration to specify the maximum number of payload indices allowed.
  • Adds API validation for min_should, filters, and point update batch operations.
  • Decreases internal update batch sizes to minimize search latency spikes when processing large user batches.
  • Acknowledges update/delete-by-filter operations on flush, preventing very slow restarts.
+2 moreshow less
  • Peer IDs are no longer anonymized in telemetry data.
  • Removes the vector count field from collection info responses.
└──▷ BREAKING ON UPGRADE
  • !The vector count field is removed from collection info — any client code or dashboards that read that field will stop seeing it.
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 →