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 -306, October 15, 2025

THE AI TOOLCHAIN NO. -306
Tail
THE DAILY RELEASE FIREHOSE
PUBLISHED OCTOBER 15, 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   # 11 tools matched
AI & LLM Tooling
◆  AI Agent Frameworks

Agno (formerly Phidata)

Sources Release notes → v2.1.5 NOTES

Agno v2.1.5 adds async Postgres, knowledge search endpoints, workflow executor event filtering, and reasoning support for Gemini/Claude.

└──▷ GET THIS VERSION
$ git clone --branch v2.1.5 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:
$ git checkout v2.1.5
└──▷ USE IT
Suppress verbose tool call and history messages from run output when you only care about the final response.
python
agent = Agent(
    ...,
    store_history_messages=False,
    store_tool_messages=False,
)
Filter workflow executor events so only top-level workflow lifecycle events (not agent/team sub-events) are streamed to the client.
python
workflow.run(
    ...,
    stream_intermediate_events=True,
    stream_executor_events=False,
)
Re-enable AgentOS access logs after upgrading, since they are now off by default.
python
serve(access_log=True)
  • Adds store_history_messages and store_tool_messages flags to Agent and Team to control whether history and tool messages are persisted on run output.
  • Adds stream_executor_events to workflows for filtering events emitted by agents, teams, or custom functions — complementing the existing stream_intermediate_events (for workflow-level events like WorkflowStarted, StepStarted) and stream_member_events on Team.
  • Adds access_log=True parameter to serve() to re-enable AgentOS access logs, which are now off by default.
  • Adds async Postgres support across the library for non-blocking database operations.
  • Adds knowledge search endpoints to the AgentOS API, enabling vector database searches via the AgentOS API.
+3 moreshow less
  • Adds service account authentication support to GoogleSheetsTools.
  • Adds native reasoning model support for Gemini 2.5+, Anthropic Claude, and VertexAI Claude when used as reasoning models with Agents.
  • Allows MCP server URLs without the conventional /mcp path segment when using MCPToolbox.
└──▷ BREAKING ON UPGRADE
  • !AgentOS access logs are now disabled by default; existing setups relying on access logging must explicitly pass access_log=True to serve() to restore the previous behavior.
Was this useful?

LangChain

Sources Release notes → langchain-anthropic==1.0.0a5 3 RELEASES · 2025-10-15 NOTES STABLE

langchain-anthropic 1.0.0a5 adds async middleware, PDF ToolMessage inputs, memory/context management, web fetch, MCP connector, files API, code execution, and more.

└──▷ GET THIS VERSION
$ git clone --branch langchain-anthropic==1.0.0a5 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-anthropic==1.0.0a5
└──▷ USE IT
Pass cache_control to a specific message block to enable prompt caching on expensive context.
python
from langchain_anthropic import ChatAnthropic

model = ChatAnthropic(model="claude-3-5-sonnet-20241022")
response = model.invoke(
    [{"role": "user", "content": "Summarise this document."}],
    cache_control={"type": "ephemeral"}
)
Enable parallel tool calls so Claude can invoke multiple tools concurrently in a single 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}"

model = ChatAnthropic(model="claude-3-5-sonnet-20241022", parallel_tool_calls=True)
model_with_tools = model.bind_tools([get_weather])
response = model_with_tools.invoke("What is the weather in Paris and London?")
  • Adds cache_control as a passthrough kwarg on ChatAnthropic invocations for fine-grained prompt caching control.
  • Adds parallel_tool_calls parameter support to ChatAnthropic for controlling concurrent tool execution.
  • Supports urls as input to ChatAnthropic, enabling direct URL references in multimodal messages.
  • Adds web fetch beta tool support to ChatAnthropic, allowing the model to retrieve content from the web during inference.
  • Supports built-in tools (code execution, MCP connector, files API) in ChatAnthropic.
+16 moreshow less
  • Adds async implementation to the Anthropic middleware layer, enabling non-blocking middleware pipelines.
  • Migrates Anthropic middleware into the langchain_anthropic package.
  • Supports PDF inputs in ToolMessages, allowing binary document content to flow through tool call results.
  • Supports memory and context management features in ChatAnthropic.
  • Adds citations support in streaming responses, with always return content blocks if citations are generated behaviour.
  • Returns model_name in response metadata from ChatAnthropic.
  • Stores cache TTL details on usage metadata for Anthropic responses.
  • Supports structured output when extended thinking (thinking) is enabled on ChatAnthropic.
  • Supports Claude 3.7 Sonnet model in ChatAnthropic.
  • Allows kwargs to pass through when counting tokens on ChatAnthropic.
  • Adds stop_reason to ChatAnthropic stream results.
  • Allows multiple system messages not placed at the start of the prompt in ChatAnthropic.
  • Caches the Anthropic HTTP client instance for reuse across requests.
  • Emits an informative error message when a prompt contains only system messages.
  • Refactors AnthropicLLM to use the Messages API.
  • Supports Python 3.13 in langchain-anthropic.
2 more releases in this issue · 2025-10-15
langchain==1.0.0a15 NOTES STABLE

LangChain 1.0.0a15 adds async agent support, a middleware pipeline with PII/HITL/retry/tool-limit hooks, and wrap_model_call/wrap_tool_call decorators.

└──▷ GET THIS VERSION
$ git clone --branch langchain==1.0.0a15 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain==1.0.0a15
└──▷ USE IT
Add PII redaction and a tool-call cap to an agent so sensitive data never reaches tools and runaway loops are prevented.
python
from langchain_v1.agents.middleware import PIIMiddleware, ToolCallLimitMiddleware
from langchain_v1 import create_agent

agent = create_agent(
    model=model,
    tools=[search, calculator],
    middleware=[PIIMiddleware(), ToolCallLimitMiddleware(max_calls=10)],
)
  • Adds wrap_model_call and wrap_tool_call middleware decorator hooks (with both sync and async implementations) to intercept and modify model and tool invocations inside create_agent.
  • Adds before_agent and after_agent lifecycle hooks for middleware.
  • Adds retry_model_request middleware hook and ModelFallbackMiddleware for automatic model fallback on failure.
  • Adds ToolCallLimitMiddleware to cap the number of tool calls an agent can make.
  • Adds PIIMiddleware to detect and redact personally identifiable information in agent inputs/outputs.
+16 moreshow less
  • Adds LLM-selection middleware (add llm selection middleware) enabling dynamic model routing at runtime.
  • Adds Context Editing Middleware for runtime modification of the agent's context window.
  • Adds TodoListMiddleware (formerly PlanningMiddleware) for structured task-planning within the agent loop.
  • Adds description generator for HITL (human-in-the-loop) middleware to auto-generate interrupt descriptions.
  • Adds async support to create_agent, enabling fully asynchronous agent execution.
  • Adds dynamic system prompt middleware for runtime prompt injection.
  • Adds tool emulator capability for simulating tool responses without real tool execution.
  • Expands the messages namespace exports, including RemoveMessage, for richer message manipulation.
  • Adds ModelResponse export from agents.middleware.
  • Adds PEP 604 (| union syntax) support in tool node error handlers.
  • Adds decorator pattern for dynamically generated middleware.
  • Adds minimal and verbosity options to the OpenAI integration.
  • Enables stream_usage by default when using the default base URL and client in the OpenAI integration.
  • Adds stuff and map_reduce chains.
  • Exposes rate_limiters from langchain_core in the langchain_v1 namespace.
  • Migrates Anthropic middleware to langchain_anthropic package.
└──▷ BREAKING ON UPGRADE
  • !Globals removed from langchain-v1; globals in langchain-classic and langchain-core are updated — code relying on langchain-v1 globals will break.
  • !ToolNode removed from agents namespace in langchain_v1; it is now located in the tools namespace.
  • !PlanningMiddleware renamed to TodoListMiddleware — any code referencing PlanningMiddleware will fail to import.
  • !Python 3.9 support dropped for langchain_v1.
  • !create_react_agent renamed to create_agent — existing calls to create_react_agent will break.
  • !model_request node renamed to model — graph configurations referencing the model_request node name will break.
langchain-core==1.0.0rc1 NOTES STABLE

langchain-core 1.0.0rc1 adds PDF tool message support, AWS Bedrock document blocks, OpenAI web_search tool, and more new capabilities.

└──▷ GET THIS VERSION
$ git clone --branch langchain-core==1.0.0rc1 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-core==1.0.0rc1
└──▷ USE IT
Include message IDs when converting LangChain messages to OpenAI format, useful for correlating messages across systems.
python
from langchain_core.messages.utils import convert_to_openai_messages

openai_messages = convert_to_openai_messages(messages, include_id=True)
Strip PostgreSQL NUL bytes from LLM output before inserting into a Postgres database to avoid DataError.
python
from langchain_core.utils import sanitize_for_postgres

clean_text = sanitize_for_postgres(llm_output)
  • Adds include_id optional parameter to convert_to_openai_messages function to control whether message IDs are included in OpenAI-formatted output.
  • Adds id field to Document objects passed to the filter callback in InMemoryVectorStore similarity search.
  • Adds web_search to the list of recognized built-in OpenAI tools.
  • Adds image_generation tool to the list of known OpenAI tools.
  • Supports PDF inputs in ToolMessage content blocks.
+10 moreshow less
  • Supports AWS Bedrock document content blocks in msg_content_output.
  • Supports adding PromptTemplates with formats other than f-string.
  • Allows overriding ls_model_name from kwargs when tracing model calls.
  • Allows custom Mermaid diagram URL via the new custom URL override capability.
  • Adds sanitize_for_postgres utility function to remove PostgreSQL NUL bytes that cause DataError.
  • Adds an option to make deserialization more permissive.
  • Zeros out token costs for cache hits in token usage tracking.
  • Adds additional hashing options to the indexing API with a warning on SHA-1 use.
  • Traces response body on error for improved observability.
  • Exposes recognized block types for tool messages.
└──▷ BREAKING ON UPGRADE
  • !BaseMemory is removed from langchain-core and moved to langchain-classic.
  • !Items marked for removal in schemas.py have been deleted.
  • !function_calling.py utilities previously marked for removal have been deleted.
  • !The pydantic_v1/ compatibility shim has been deleted from langchain-core.
  • !get_relevant_documents has been removed.
  • !Global state previously in langchain-v1 has been removed; globals are now only in langchain-classic and langchain-core.
Was this useful?

LlamaIndex

Sources Release notes → v0.14.5 NOTES

v0.14.5 adds SGLang LLM integration, SignNow MCP tools, Tavily URL extraction, Azure PostgreSQL hybrid search, and new model support across Anthropic, Bedrock, OpenAI, and Fireworks.

└──▷ GET THIS VERSION
$ git clone --branch v0.14.5 https://github.com/run-llama/llama_index.git
# already have the repo? check out this version:
$ git checkout v0.14.5
└──▷ USE IT
Run inference through a local SGLang server using the new first-class SGLang LLM integration.
python
from llama_index.llms.sglang import SGLang

llm = SGLang(model="meta-llama/Llama-3.1-8B-Instruct")
response = llm.complete("Explain prompt injection attacks in one paragraph.")
print(response)
  • Adds llama-index-llms-sglang (v0.1.0) — a new SGLang LLM integration for running local inference via SGLang.
  • Adds llama-index-tools-signnow (v0.1.0) — a new SignNow MCP tools integration for document signing workflows.
  • Adds a Tavily extract function in llama-index-tools-tavily-research for URL content extraction.
  • Adds hybrid search support to llama-index-vector-stores-azurepostgresql.
  • Adds prompt caching model validation utilities to llama-index-llms-anthropic.
+8 moreshow less
  • Adds support for custom models in llama-index-llms-fireworks.
  • Adds support for xAI models in llama-index-llms-oci-genai.
  • Adds haiku 4.5 model support to llama-index-llms-anthropic and llama-index-llms-bedrock-converse.
  • Adds Claude Sonnet 4.5 as a reasoning model and Opus 4.1 function-calling model support in llama-index-llms-bedrock-converse.
  • Adds support for global cross-region inference profile prefix in llama-index-llms-bedrock-converse.
  • Adds GPT-5 and GPT-5 Pro model support (including JSON_SCHEMA_MODELS) in llama-index-llms-openai.
  • Adds pagination parameters for repository tree and issues in llama-index-readers-gitlab.
  • Adds a progress bar for multiprocess document loading in llama-index-core.
Was this useful?

PydanticAI

Sources Release notes → v1.1.0 NOTES

PydanticAI v1.1.0 adds Prefect durable execution support and a description argument for tool decorators.

└──▷ GET THIS VERSION
$ git clone --branch v1.1.0 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v1.1.0
└──▷ USE IT
Document a tool's purpose inline when the function's docstring is absent or insufficient.
python
@agent.tool(description='Fetches the current weather for a given city from the weather API')
def get_weather(ctx, city: str) -> str:
    ...
  • Adds description argument to tool function decorators, allowing inline documentation of tools without relying solely on docstrings.
  • Adds durable execution support with Prefect, enabling fault-tolerant, resumable agent runs orchestrated via Prefect workflows.
Was this useful?
◆  AI Coding Agents

Continue

Sources Release notes → v1.2.9-vscode 2 RELEASES · 2025-10-15 NOTES STABLE

Continue v1.2.9 adds MCP OAuth, Bearer token auth, OpenRouter Anthropic caching, CLI workflows, and auto-accept agent edits.

└──▷ GET THIS VERSION
$ git clone --branch v1.2.9-vscode https://github.com/continuedev/continue.git
# already have the repo? check out this version:
$ git checkout v1.2.9-vscode
└──▷ USE IT
Authenticate an MCP server using a Bearer token directly in your config instead of relying on environment credentials.
json
{
  "mcpServers": {
    "my-server": {
      "command": "npx",
      "args": ["-y", "my-mcp-server"],
      "apiKey": "sk-my-bearer-token"
    }
  }
}
Connect the Continue CLI to a remote streamable-http MCP server by passing its URL directly to --mcp.
$ cn --mcp https://my-mcp-server.example.com/sse
  • Adds apiKey field to mcpServers block schema for Bearer token authentication against MCP servers.
  • Extends --mcp flag to accept URLs for streamable-http MCP servers in addition to local processes.
  • Adds serverName option to registry MCP server configurations.
  • Adds MCP OAuth support to the CLI via mcp-remote.
  • Adds CLI workflows capability (cn command).
+8 moreshow less
  • Adds invokable rule support to the CLI, including detection of rules located in the prompts directory.
  • Adds OpenRouter API integration with Anthropic prompt caching support.
  • Adds API key authentication support for the Bedrock provider.
  • Adds auto-accept agent edits setting (auto accept edit tools) to automatically accept edits made by the agent.
  • Adds Explore MCP Servers option to the /mcp slash command for in-IDE server discovery.
  • Adds organization name display to the CLI intro screen.
  • Adds actions to reference files, directories, and repo maps in the IntelliJ plugin.
  • Adds beta status tool option with improved status tool descriptions.
1 more release in this issue · 2025-10-15
@continuedev/[email protected] NOTES STABLE

Continue 1.25.0 renames workflows to agent files and overhauled onboarding for updated billing.

└──▷ GET THIS VERSION
$ git clone --branch @continuedev/[email protected] https://github.com/continuedev/continue.git
# already have the repo? check out this version:
$ git checkout @continuedev/[email protected]
  • Renames 'workflows' to 'agent files' across the product, reflecting a new operational surface name for reusable agent task definitions.
  • Overhauled onboarding flow updated for revised billing tiers and free trial handling.
Was this useful?

GitHub Copilot CLI

Sources Release notes → v0.0.341 NOTES

GitHub Copilot CLI v0.0.341 adds /terminal-setup command and premium multipliers to /model list.

└──▷ GET THIS VERSION
$ git clone --branch v0.0.341 https://github.com/github/copilot-cli.git
# already have the repo? check out this version:
$ git checkout v0.0.341
  • Adds /terminal-setup command to configure multi-line input on terminals that do not implement the kitty protocol.
  • Adds each model's premium request multiplier to the /model list output (all currently supported models shown as 1x).
Was this useful?

Zed

Sources Release notes → v0.208.4 NOTES

Zed v0.208.4 adds Windows support, Codex via ACP, a new settings UI, action sequences in keymaps, and granular agent font size controls.

└──▷ GET THIS VERSION
$ git clone --branch v0.208.4 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:
$ git checkout v0.208.4
└──▷ USE IT
Chain multiple editor actions to a single keybinding — useful for building custom selection-and-copy workflows without an extension.
json
"cmd-alt-a": ["action::Sequence", ["editor::SelectLargerSyntaxNode", "editor::Copy", "editor::UndoSelection"]]
Show a git status icon in the title bar to see repo state at a glance without opening the git panel.
json
{
  "title_bar": {
    "show_branch_icon": true
  }
}
  • Introduces agent_buffer_font_size setting for granular buffer font size control in the agent panel, separate from regular editors.
  • agent_font_size is renamed to agent_ui_font_size for agent UI font size control.
  • Adds "title_bar": {"show_branch_icon": true} setting to display a git status indicator icon in the title bar.
  • Adds "terminal": {"keep_selection_on_copy": false} setting to opt out of the new default behavior of retaining terminal selection after copying.
  • Adds experimental "status_bar": {"experimental.show": false} setting to hide the status bar.
+14 moreshow less
  • Adds granted_extension_capabilities setting to control the capabilities granted to extensions.
  • Supports action sequences in keymap bindings via "action::Sequence", enabling chaining of multiple actions — e.g., "cmd-alt-a": ["action::Sequence", ["editor::SelectLargerSyntaxNode", "editor::Copy", "editor::UndoSelection"]].
  • Adds support for OpenAI Codex as an ACP agent.
  • Adds support for pasting TIFF and BMP images in the agent panel.
  • Adds support for HTML tables and HTML block quotes in Markdown Preview.
  • Adds comment injections for Rust.
  • Enables the outline modal in channel notes.
  • Revamps project panel entry refresh for significantly smoother performance in large projects.
  • Adds SelectPrevious and SelectAllMatches items to the Selection app menu.
  • Adds Close Multibuffers pane context menu entry.
  • Improves Collab panel by showing display names and GitHub handles.
  • Adds support for file extension icons for patterns such as stories.tsx and stories.svelte.
  • Adds graceful autohiding to scrollbars outside of the editor.
  • Terminals now keep the selection after copying text by default, matching Terminal.app, Ghostty, and VS Code terminal behavior.
└──▷ BREAKING ON UPGRADE
  • !agent_font_size is renamed to agent_ui_font_size; existing configs using agent_font_size must be updated.
  • !format_on_save is now restricted to the values "on" and "off" only — format steps previously placed in format_on_save must be moved to the formatter array. Having format steps in both format_on_save and formatter is no longer supported.
Was this useful?

Google gemini-cli

Sources Release notes → v0.9.0 2 RELEASES · 2025-10-15 NOTES STABLE

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

gemini-cli v0.9.0 adds subagent support, OpenTelemetry metrics, session auto-cleanup, and memory list subcommand.

└──▷ GET THIS VERSION
$ git clone --branch v0.9.0 https://github.com/google-gemini/gemini-cli.git
# already have the repo? check out this version:
$ git checkout v0.9.0
└──▷ TRY IT
List all GEMINI.md memory files currently loaded, useful when debugging which context files are active across nested project directories.
$ gemini memory list
Restrict the tools the agent may call in a non-interactive CI pipeline, now that --allowed-tools works in headless mode.
$ gemini --allowed-tools read_file,run_shell_command -p "Summarize the test failures in the last run"
  • Adds enableSubagents configuration option to enable subagent registration and orchestration.
  • Adds OpenTelemetry GenAI semantic convention metrics for telemetry instrumentation.
  • Adds automatic session cleanup with a configurable retention policy.
  • Adds memory list subcommand to display the paths of all active GEMINI.md files.
  • Enables --allowed-tools flag in non-interactive (headless) mode.
+3 moreshow less
  • Introduces debug logging for the IDE extension.
  • Enforces auth token validation in the VS Code IDE companion extension.
  • Adds sensitive keyword linter to flag potential credential leaks in prompts.
└──▷ BREAKING ON UPGRADE
  • !The --path argument for the extensions install command has been removed.
1 more release in this issue · 2025-10-15
v0.10.0-nightly.20251015.996c9f59 NOTES STABLE

Codebase investigator now enabled by default in gemini-cli nightly.

└──▷ GET THIS VERSION
$ git clone --branch v0.10.0-nightly.20251015.996c9f59 https://github.com/google-gemini/gemini-cli.git
# already have the repo? check out this version:
$ git checkout v0.10.0-nightly.20251015.996c9f59
  • Enables the codebase investigator feature by default ahead of the next preview release.
Was this useful?
◆  AI Model & Data Infrastructure

Ollama

Sources Release notes → v0.12.6 NOTES

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

Ollama v0.12.6 adds tool-call search support, default flash attention for Gemma 3, and experimental Vulkan GPU backend.

└──▷ GET THIS VERSION
$ git clone --branch v0.12.6 https://github.com/ollama/ollama.git
# already have the repo? check out this version:
$ git checkout v0.12.6
  • Adds web/tool-call search capability when running DeepSeek-V3.1, Qwen3, and other tool-calling-compatible models.
  • Enables flash attention by default for Gemma 3, improving performance and memory utilization.
  • Introduces experimental Vulkan GPU backend (build-from-source only), extending support to AMD and Intel GPUs not currently supported by Ollama.
Was this useful?
◆  Local LLM Runtimes

oobabooga's Text Generation WebUI (textgen)

Sources Release notes → v3.15 NOTES

oobabooga textgen v3.15 locks down --trust-remote-code from UI/API and adds llama-server context-size error logging.

└──▷ GET THIS VERSION
$ git clone --branch v3.15 https://github.com/oobabooga/textgen.git
# already have the repo? check out this version:
$ git checkout v3.15
  • Logs an error when a llama-server request exceeds the context size, making oversized-context failures visible instead of silent.
  • Makes --trust-remote-code immutable from the UI and API, preventing runtime elevation of code-execution trust.
Was this useful?
Other / Uncategorized
◆  AI OBSERVABILITY

Langfuse

Sources Release notes → v3.118.0 NOTES

Langfuse v3.118.0 adds queueId support in the scores ingestion API and introduces an events repository for the observations UI table.

└──▷ GET THIS VERSION
$ git clone --branch v3.118.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.118.0
└──▷ TRY IT
Route a newly created score to a specific annotation queue at ingest time using the queueId field.
$ curl -X POST https://cloud.langfuse.com/api/public/ingestion \
  -H 'Content-Type: application/json' \
  -u '<publicKey>:<secretKey>' \
  -d '{
    "batch": [{
      "type": "score-create",
      "body": {
        "traceId": "<traceId>",
        "name": "relevance",
        "value": 0.9,
        "queueId": "<queueId>"
      }
    }]
  }'
  • Supports queueId when creating a score via the ingestion API, enabling scores to be routed to specific annotation queues at ingest time.
  • Introduces an events repository capable of serving the observations UI table, extending the data layer for trace event display.
  • Propagates LiteLLM requester_metadata when jumping from the playground, preserving request context through to the LiteLLM layer.
  • Decodes Unicode characters in truncated JSONs in the trace table, improving readability of non-ASCII payloads.
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 →