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 -048, July 2, 2026

THE AI TOOLCHAIN NO. -048
Tail
THE DAILY RELEASE FIREHOSE
PUBLISHED JULY 2, 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   # 9 tools matched
AI & LLM Tooling
◆  AI Agent Frameworks

Agno (formerly Phidata)

Sources Release notes → v2.6.21 NOTES

LocalFileSystemTools gains file-read support and directory confinement controls via new flags.

└──▷ GET THIS VERSION
$ git clone --branch v2.6.21 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:
$ git checkout v2.6.21
└──▷ USE IT
Allow an agent to read files while keeping all operations inside a sandboxed directory.
python
from agno.tools.local_file_system import LocalFileSystemTools

tools = LocalFileSystemTools(
    target_directory="/data/agent-workspace",
    enable_read_file=True,
    restrict_to_base_dir=True,
)
  • Adds enable_read_file flag to LocalFileSystemTools to expose a read-file tool to agents.
  • Adds restrict_to_base_dir flag to LocalFileSystemTools to confine all file operations within target_directory by default; set restrict_to_base_dir=False to opt out.
Was this useful?

PydanticAI

Sources Release notes → v2.3.0 NOTES

PydanticAI v2.3.0 adds a native Z.AI (Zhipu AI) provider with thinking support.

└──▷ GET THIS VERSION
$ git clone --branch v2.3.0 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v2.3.0
  • Adds native Z.AI (Zhipu AI) provider with thinking support.
Was this useful?
◆  AI Coding Agents

Anthropic Claude Code

Sources Release notes → v2.1.199 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.199 adds stacked skill invocations, auto-retry on 429s, and an elevated retry watchdog cap.

└──▷ GET THIS VERSION
$ git clone --branch v2.1.199 https://github.com/anthropics/claude-code.git
# already have the repo? check out this version:
$ git checkout v2.1.199
└──▷ TRY IT
Compose multiple skills in a single invocation to layer context before a task — useful when a workflow requires, e.g., a security-review skill and a code-style skill together.
$ /skill-security /skill-codestyle review this PR for vulnerabilities and style issues
  • Supports stacked slash-skill invocations (/skill-a /skill-b do XYZ) loading up to 5 leading skills simultaneously, not just the first.
  • Transient server rate-limit errors (429s unrelated to usage limits) are now automatically retried with backoff for subscribers instead of failing the turn.
  • New CLAUDE_CODE_RETRY_WATCHDOG behaviour raises the default retry count for non-capacity transient errors to 300 and removes the previous cap of 15 on CLAUDE_CODE_MAX_RETRIES.
  • Pull-request links in claude agents session rows now render as bare #N for cleaner output.
Was this useful?

Block Goose

Sources Release notes → v1.40.0 NOTES

an open source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM

Goose v1.40.0 adds goose review, new slash commands, a hooks system, 10+ new AI providers, and OTLP-based cross-tool detection.

└──▷ GET THIS VERSION
$ git clone --branch v1.40.0 https://github.com/block/goose.git
# already have the repo? check out this version:
$ git checkout v1.40.0
└──▷ TRY IT
Run an AI-powered code review on your local working directory before opening a PR.
$ goose review
Switch to a different model mid-session without restarting, useful when a task needs a more capable or faster model.
$ /model
Cap tool response payloads to avoid context bloat when working with tools that return large outputs.
$ GOOSE_MAX_TOOL_RESPONSE_SIZE=51200 goose run --text "Summarize the logs in ./logs/"
  • Adds goose review command for local AI-powered code review.
  • New /status slash command in the CLI to check session state.
  • New /model slash command for switching models mid-session.
  • New /goal slash command for agent self-evaluation before finishing a task.
  • Introduces a hooks system with PreToolUse denial support and blocking Stop hook decisions for extensibility and policy enforcement.
+30 moreshow less
  • Adds unified OTLP logging schema for cross-tool detection.
  • Prompt injection mitigation enabled by default for internal users.
  • Adds encrypted Nostr session sharing.
  • Supports MLX models for local inference.
  • Adds Azure Entra ID bearer token auth via AZURE_OPENAI_AD_TOKEN environment variable.
  • Adds support for Together AI, EmpirioLabs, OrcaRouter, NEAR AI Cloud, Perplexity, Alibaba (Qwen via DashScope), Databricks AI Gateway, Scaleway, Vercel AI Gateway, xAI SuperGrok, and OpenAI GPT models via AWS Bedrock as providers.
  • Adds GLM-5.2 model support.
  • Configurable tool output size limit via GOOSE_MAX_TOOL_RESPONSE_SIZE environment variable.
  • Configurable code block display via MAX_CODE_BLOCK_LINES environment variable.
  • Adds GOOSE_FAST_MODEL environment variable for selecting a fast model.
  • Global hints loaded from ~/.agents/AGENTS.md.
  • Unified thinking effort control and canonical thinking modes across all providers.
  • Adds cache token tracking for accurate cost reporting.
  • Adds goose://new-session and goose://resume deep links, including support for an initial prompt via goose://new-session.
  • Peek mode for async background tasks in summon.
  • Context parameter and working_dir override for delegate tasks.
  • Adds a TUI command on goose-cli and a TUI diff viewer.
  • Streamable HTTP support for the deeplink generator.
  • Adds quarterly scheduling option for the scheduler.
  • Adds optional --parameters flag for scheduled recipes.
  • Worktree-aware directory switcher.
  • Image read tool for ingesting local images.
  • Chat history search in the navigation panel.
  • Session import capability.
  • Hugging Face OAuth support with an auth tab in settings.
  • MCP extensions support in open plugins.
  • Nushell terminal and completion support.
  • Harbor eval runner for evaluation workflows.
  • Linux musl CLI builds for broader Linux compatibility.
  • Language selection and localizations for French, German, Italian, Portuguese, Indonesian, Malay, Vietnamese, Traditional Chinese, Korean, Japanese, Spanish, and Hindi in the desktop app.
Was this useful?

Alibaba Qwen Code

Sources Release notes → v0.19.5 NOTES

Qwen Code v0.19.5 adds HTTPS/TLS serving, a /effort command, DingTalk proactive send, and credential redaction for worker output.

└──▷ GET THIS VERSION
$ git clone --branch v0.19.5 https://github.com/QwenLM/qwen-code.git
# already have the repo? check out this version:
$ git checkout v0.19.5
└──▷ TRY IT
Run the Qwen Code server over HTTPS using your own TLS certificate and key.
$ qwen serve --tls-cert /etc/certs/server.crt --tls-key /etc/certs/server.key
Lower the model's reasoning effort mid-session to trade off quality for speed on routine tasks.
$ /effort low
  • Adds --tls-cert and --tls-key flags to the serve subcommand to enable HTTPS/TLS on the server.
  • Adds the /effort slash command for unified control of reasoning effort level from the CLI.
  • Adds listSessions to ChannelAgentBridge for programmatic session enumeration in channel integrations.
  • Adds credential redaction for worker stderr forwarding, preventing secrets from leaking into logs.
  • Adds DingTalk proactive send support for channel loops, enabling outbound messaging from agent sessions.
+7 moreshow less
  • Adds identity and task lifecycle metadata to channel adapters.
  • Adds lifecycle status display in channel adapters.
  • Adds retry with exponential backoff for MCP capability discovery.
  • Adds description and level fields to /skills ACP output.
  • Adds leader approval workflow for plan-required teammates in multi-agent core.
  • Adds a compact session timeline rail to the web shell UI.
  • Overhauled list-dialog interaction in the web shell with keyboard navigation and accessibility improvements.
Was this useful?
◆  Local LLM Runtimes

llama.cpp

Sources Release notes → b9860 NOTES

llama.cpp b9860 adds llama_ftype_name() to the public C API for querying model quantization type names.

└──▷ GET THIS VERSION
$ git clone --branch b9860 https://github.com/ggml-org/llama.cpp.git
# already have the repo? check out this version:
$ git checkout b9860
  • Adds llama_ftype_name() to the public C API, returning a human-readable quantization name (e.g. Q8_0, Q4_K - Medium) for a given llama_ftype enum value; the returned pointer is valid for the lifetime of the model and allocation-free.
Was this useful?
Other / Uncategorized
◆  VECTOR DB RAG

LanceDB

Sources Release notes → python-v0.34.0 4 RELEASES · 2026-07-02 NOTES STABLE

LanceDB v0.34.0 adds FM-Index substring search, table branches, OAuth support, Polars integration, and approx vector query mode.

└──▷ GET THIS VERSION
$ git clone --branch python-v0.34.0 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout python-v0.34.0
└──▷ USE IT
Use isin on the Expr builder to filter rows to a known set of values before a vector search.
python
results = (
    table.search(query_vector)
    .where(Expr.field("category").isin(["malware", "phishing", "ransomware"]))
    .limit(10)
    .to_pandas()
)
Request approximate nearest-neighbor search explicitly to trade recall for speed on large indexes.
python
results = table.search(query_vector).approx(True).limit(50).to_pandas()
  • Adds update_field_metadata method to edit per-field Arrow metadata on table columns.
  • Adds isin support to the Expr builder for filter expressions.
  • Adds approx mode to vector queries, letting callers explicitly request approximate nearest-neighbor search.
  • Adds FM-Index scalar index type for substring search via create_index.
  • Adds table branch support to local and remote tables and Python/TypeScript bindings, including checking out a specific version on a branch.
+13 moreshow less
  • Adds rename_table on LanceNamespaceDatabase to rename tables within a namespace.
  • Adds OAuth connection config (header provider) exposed in Python and Node.js bindings.
  • Adds Polars DataFrame integration for reading and writing data.
  • Adds rich per-index metadata fields to IndexConfig, exposed in Python and Node.js bindings.
  • Adds x-lancedb-min-read-version watermark header on remote reads for monotonic read guarantees.
  • Supports Expr objects in Table.delete and merge_insert when_not_matched_by_source_delete.
  • Supports remote tables in PyTorch dataloaders.
  • Supports blob modes in query .to_pandas() output.
  • Routes merge_insert through the MemWAL LSM write path for improved write consistency.
  • Implements set/unset_lsm_write_spec REST variant for remote tables.
  • Re-exports arrow and datafusion crates from the lancedb Rust crate.
  • Unifies sync create_index API to match the async API signature.
  • Sends read-freshness signal on the lance-namespace path to support consistent reads.
└──▷ BREAKING ON UPGRADE
  • !The loss field is dropped from IndexStatistics; any code reading that field will break.
  • !Multiple repeated where filters are now combined with AND instead of the later filter replacing the earlier one; queries relying on the replacement behavior will now behave differently.
3 more releases in this issue · 2026-07-02
v0.31.0 NOTES STABLE

LanceDB v0.31.0 adds FM-Index substring search, table branching, OAuth auth, approx vector query mode, and Polars integration.

└──▷ GET THIS VERSION
$ git clone --branch v0.31.0 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout v0.31.0
└──▷ USE IT
Use isin on an Expr to filter rows in a delete operation without writing raw SQL strings.
python
from lancedb.query import Expr
tbl.delete(Expr.field("status").isin(["stale", "archived"]))
  • Adds update_field_metadata API to edit per-field metadata on a table (supersedes the now-deprecated replace_field_metadata).
  • Adds isin support to the Expr builder for filter expressions.
  • Accepts Expr objects in Table.delete and merge_insert when_not_matched_by_source_delete for richer predicate building.
  • Supports FM-Index scalar index type for substring search via create_index.
  • Adds approx mode to vector queries in the query builder.
+16 moreshow less
  • Adds table branch support — create and check out versioned branches — across remote tables and Python/TypeScript bindings.
  • Supports rename_table on LanceNamespaceDatabase.
  • Adds Polars DataFrame integration for reading and writing LanceDB tables.
  • Adds OAuth header provider for Rust, with OAuth connection config exposed in Python and Node.js bindings.
  • Implements set/unset_lsm_write_spec REST variant for remote tables.
  • Routes merge_insert through the MemWAL LSM write path.
  • Supports DataFusion expressions for merge insert predicates in Rust.
  • Expands IndexConfig with rich per-index metadata, exposed in Python and Node.js bindings.
  • Supports remote tables in PyTorch dataloaders.
  • Supports blob modes in query to_pandas output.
  • Adds blob v2 schema declaration, write path, and blob read/materialization APIs in Rust.
  • Enables monotonic reads via x-lancedb-min-read-version watermark header on the remote path.
  • Sends read-freshness signal on the lance-namespace path.
  • Re-exports arrow and datafusion crates from the lancedb Rust crate.
  • Unifies sync create_index API in Python to match the async API.
  • Drops N+1 queries in RemoteTable::list_indices by migrating list_indices to use Lance's describe_indices.
└──▷ BREAKING ON UPGRADE
  • !The loss field is removed from IndexStatistics; any code reading index_statistics.loss will break.
  • !Multiple repeated where filters are now combined with AND instead of the later filter silently replacing the earlier one; queries that relied on replacement behavior will now produce different (AND-combined) results.
python-v0.34.0-beta.6 NOTES STABLE

LanceDB python-v0.34.0-beta.6 re-exports arrow and datafusion crates from the lancedb Rust crate.

└──▷ GET THIS VERSION
$ git clone --branch python-v0.34.0-beta.6 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout python-v0.34.0-beta.6
  • Re-exports arrow and datafusion crates directly from the lancedb Rust crate, removing the need for separate dependency declarations.
└──▷ BREAKING ON UPGRADE
  • !Repeated .where() filter calls are now combined with AND instead of the later call replacing the earlier one — queries that relied on the previous replacement behavior will now produce different results.
v0.31.0-beta.6 NOTES STABLE

LanceDB v0.31.0-beta.6 re-exports arrow and datafusion crates from the lancedb Rust crate.

└──▷ GET THIS VERSION
$ git clone --branch v0.31.0-beta.6 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout v0.31.0-beta.6
  • Re-exports arrow and datafusion crates directly from the lancedb Rust crate, removing the need for separate dependency declarations.
└──▷ BREAKING ON UPGRADE
  • !Multiple where filter calls on the same query are now combined with AND instead of the later call replacing the earlier one.
Was this useful?
◆  AI OBSERVABILITY

Langfuse

Sources Release notes → v3.203.2 NOTES

Langfuse v3.203.2 adds agent skills, auto-rename conversations, and an event-propagation health check.

└──▷ GET THIS VERSION
$ git clone --branch v3.203.2 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.203.2
  • Adds Langfuse skills support to the agent, enabling the agent to invoke built-in capabilities.
  • Adds auto-rename for agent conversations based on context.
  • Adds event-propagation stuck health check to the worker for monitoring pipeline reliability.
  • Adds Salesforce org ID, user auth methods, and SSO domain data to core data export.
Was this useful?

Weights & Biases Weave

Sources Release notes → v0.53.1 2 RELEASES · 2026-07-02 NOTES STABLE

Weave v0.53.1 expands the TypeScript agent API with Turn.record(), SubAgent.record(), richer LLM.record() fields, and adds predict-only cost totals to eval summaries.

└──▷ GET THIS VERSION
$ git clone --branch v0.53.1 https://github.com/wandb/weave.git
# already have the repo? check out this version:
$ git checkout v0.53.1
└──▷ USE IT
Record a completed LLM call with rich metadata including media attachments and finish reasons for detailed tracing.
javascript
llm.record({
  mediaAttachments: [...],
  responseId: 'resp_abc123',
  responseModel: 'gpt-4o',
  finishReasons: ['stop'],
  outputType: 'text'
});
Record a subagent span to capture nested agent execution within a parent conversation trace.
javascript
const subagent = new Subagent({
  systemInstructions: 'You handle tool calls only.'
});
await subagent.record({ ... });
  • Adds userMessage and systemInstructions parameters when creating Turns in the TypeScript API.
  • Adds agent_id, agent_description, and agent_version parameters when creating Turns in the TypeScript API.
  • Adds agent_id, agent_description, and agent_version parameters when creating Conversations in the TypeScript API.
  • Adds systemInstructions parameter when creating Subagents in the TypeScript API.
  • Adds systemInstructions parameter when creating LLMs in the TypeScript API.
+7 moreshow less
  • Adds SubAgent.record() method to the TypeScript API.
  • Adds Turn.record() method to the TypeScript API.
  • Extends LLM.record() to accept mediaAttachments, responseId, responseModel, finishReasons, and outputType fields in the TypeScript API.
  • Adds predict-only cost total to the eval results summary.
  • Propagates agent identity defaults (agent_id, agent_description, agent_version) from Conversation to turns automatically.
  • Removes the ddtrace dependency by inlining DogStatsD directly in datadog.py, reducing the library's dependency footprint.
  • Parallelizes attachment uploads on all writes, improving throughput for multi-attachment traces.
1 more release in this issue · 2026-07-02
v0.53.0 NOTES STABLE

Weave v0.53.0 adds agent-oriented APIs to WeaveClient, OTel session attributes, eval metadata tagging, and a new wandb.agent_user_feedback feedback type.

└──▷ GET THIS VERSION
$ git clone --branch v0.53.0 https://github.com/wandb/weave.git
# already have the repo? check out this version:
$ git checkout v0.53.0
└──▷ USE IT
Enable the next-generation OTel pipeline when initializing Weave in a TypeScript project.
javascript
import { init } from 'weave';
await init({ projectName: 'my-project', useOTelv2: true });
  • Adds getAgents, getAgentVersions, getAgentSpans, getAgentTurn, and getAgentTurns functions to the TypeScript WeaveClient for querying agent data programmatically.
  • Adds useOTelv2 setting to the TypeScript init() call to opt into the next-generation OTel pipeline.
  • Adds gen_ai.conversation.id as an OTel attribute on all spans in the @openai/agents integration, enabling conversation-level trace correlation.
  • Adds gen_ai.agent.name as an OTel attribute on all spans in the @openai/agents integration, enabling agent-level trace correlation.
  • Adds integration OTel attributes to all spans produced by the @openai/agents integration.
+14 moreshow less
  • Adds wandb.agent_user_feedback feedback type for capturing end-user feedback on agent interactions.
  • Adds agent_name_override support for OTel invoke_agent spans, allowing generic agent name overrides.
  • Adds query-time cost data to agent spans and stats APIs.
  • Adds support for session-level span attributes on traces.
  • Extends the /agent_search endpoint with additional filtering and query capabilities.
  • Tags declarative evaluation child calls with evaluation metadata in both Python and TypeScript.
  • Adds predict-only token total to evaluation results summary.
  • Supports match any and match all filtering options on evaluations.
  • Adds OTel tracing primitives to weave.trace_server.
  • Adds an in-memory fake trace server with full call ingestion, deletion, TTL, OTel export, object CRUD, feedback, costs, threads, annotation queues, and eval/scoring support — enabling fully offline testing without a live backend.
  • Sends trace_id on calls-ingest requests that lack one, improving trace continuity for partial payloads.
  • Sends trace_id on call-end ingest messages from the TypeScript client.
  • Batches traced completion-call span writes for improved throughput at scale.
  • Buckets project_id partition keys for HPA-friendly horizontal scaling of the trace ingestion path.
└──▷ BREAKING ON UPGRADE
  • !The WeaveClient value is no longer exported from the TypeScript package — only the WeaveClient type is exported. Any code that imported WeaveClient as a value 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 →