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.
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.126 adds project purge, gateway model picker, headless OAuth, and richer OTel events.
└──▷ GET THIS VERSION
$ git clone --branch v2.1.126 https://github.com/anthropics/claude-code.git
# already have the repo? check out this version:$ git checkout v2.1.126
└──▷ TRY IT
Clean up all Claude Code state for a stale or sensitive project before archiving or handing off a repo — preview what will be deleted first.
$ claude project purge /path/to/project --dry-run
Non-interactively purge all project state (transcripts, tasks, file history, config entry) in a CI or scripted cleanup flow.
$ claude project purge /path/to/project -y
›Adds claude project purge [path] command to delete all Claude Code state for a project (transcripts, tasks, file history, config entry) with --dry-run, -y/--yes, -i/--interactive, and --all flags.
›The /model picker now lists models from a gateway's /v1/models endpoint when ANTHROPIC_BASE_URL points at an Anthropic-compatible gateway.
›--dangerously-skip-permissions now bypasses write prompts for .claude/, .git/, .vscode/, shell config files, and other previously-protected paths (catastrophic removal commands still prompt).
›claude auth login now accepts an OAuth code pasted directly into the terminal when the browser callback can't reach localhost (WSL2, SSH, containers).
›The claude_code.skill_activated OpenTelemetry event now fires for user-typed slash commands and carries a new invocation_trigger attribute ("user-slash", "claude-proactive", or "nested-skill").
+2 moreshow less
›Windows: Claude now treats PowerShell as the primary shell (instead of Bash) when the PowerShell tool is enabled.
›Windows: PowerShell 7 installed via the Microsoft Store, MSI without PATH, or .NET global tool is now detected automatically.
Copilot CLI v1.0.40 adds headless MCP OAuth, autopilot continuation limits, new env-var gates for prompt mode, and session/agent features for all users.
└──▷ GET THIS VERSION
$ git clone --branch v1.0.40 https://github.com/github/copilot-cli.git
# already have the repo? check out this version:$ git checkout v1.0.40
└──▷ TRY IT
Cap autopilot at 10 continuation messages for long-running agentic tasks without manual intervention.
$ copilot --max-autopilot-continues 10
Run prompt mode with workspace MCP enabled in a CI pipeline that opts in explicitly, keeping other prompt-mode runs sandboxed by default.
$ GITHUB_COPILOT_PROMPT_MODE_WORKSPACE_MCP=1 copilot -p 'summarize open PRs in this repo'
Point the CLI at a non-default config directory using the new preferred environment variable instead of the deprecated flag.
$ COPILOT_HOME=~/.config/copilot-work copilot plugin list
›Adds --max-autopilot-continues flag to configure the default limit of 5 continuation messages in autopilot mode.
›Adds GITHUB_COPILOT_PROMPT_MODE_REPO_HOOKS and GITHUB_COPILOT_PROMPT_MODE_WORKSPACE_MCP environment variables to opt in to repo hooks and workspace MCP in prompt mode (-p), making prompt mode secure-by-default.
›Promotes --config-dir deprecation in favor of the COPILOT_HOME environment variable for specifying the config directory; --config-dir still propagates correctly to plugin subcommands.
›Adds support for client_credentials OAuth grant type for MCP servers, enabling fully headless authentication without a browser.
›Adds toggle for custom statusLine.command visibility in the statusline picker.
+15 moreshow less
›Adds agent config option for ACP clients (e.g. Zed) to list and switch custom agents.
›Makes session history, file tracking, and the /chronicle command available to all users.
›Enables /clear and /new to reset the active custom agent selection.
›Adds auto-detection of Azure DevOps repositories to automatically disable the GitHub MCP server.
›Enables skills as slash commands in ACP clients, matching the existing CLI experience.
›ACP clients now display the agent's live plan as it works through multi-step tasks.
›Upgrades /research to use an orchestrator/subagent model for more thorough deep research results.
›Automatically cleans up old CLI package versions from disk during auto-update.
›Remote session statusline now shows the remote working directory and branch instead of local context.
›Remote control link now shows the full URL in the timeline instead of 'Open in browser'.
›Prints 'Exiting...' to stderr immediately on Ctrl+C during prompt mode so shutdown progress is visible.
›Ctrl+C and double-Esc now remove pending queued messages one at a time instead of all at once.
›Mouse selection works while the /ask response dialog is open, enabling highlighting and copying of content.
›Slash command suggestions now rank prefix matches above fuzzy matches.
›Improves CLI startup speed by loading custom CA certificates asynchronously.
└──▷ BREAKING ON UPGRADE
!--config-dir is deprecated in favor of the COPILOT_HOME environment variable.
Pi v0.72.0 adds Xiaomi MiMo provider, per-model base URL overrides, and a post-turn agent stop callback.
└──▷ GET THIS VERSION
$ git clone --branch v0.72.0 https://github.com/earendil-works/pi.git
# already have the repo? check out this version:$ git checkout v0.72.0
›Adds Xiaomi MiMo Token Plan as an Anthropic-compatible provider, authenticated via XIAOMI_API_KEY, with default model mimo-v2.5-pro and /login display support.
›Introduces thinkingLevelMap for model definitions, letting models declare exactly which thinking levels they support (replacing reasoningEffortMap).
›Enables per-model baseUrl overrides in pi.registerProvider() model definitions.
›Adds shouldStopAfterTurn callback to the agent loop, allowing graceful exit after a completed turn.
└──▷ BREAKING ON UPGRADE
!compat.reasoningEffortMap in models.json and pi.registerProvider() model definitions is replaced by model-level thinkingLevelMap; existing mappings must be migrated from compat.reasoningEffortMap to thinkingLevelMap.
Pi v0.71.1 adds websocket-cached transport for OpenAI Codex, reusing connections and sending only new conversation items.
└──▷ GET THIS VERSION
$ git clone --branch v0.71.1 https://github.com/earendil-works/pi.git
# already have the repo? check out this version:$ git checkout v0.71.1
›Adds websocket-cached transport option for the OpenAI Codex provider, keeping a single WebSocket open per session and sending only new conversation items instead of the full chat history on each request.
langchain-mistralai 1.1.3 adds image input support for human messages and content-block-centric streaming.
└──▷ GET THIS VERSION
$ git clone --branch langchain-mistralai==1.1.3 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-mistralai==1.1.3
›Adds image input support for human messages in the MistralAI integration, enabling multimodal message construction.
›Adds content-block-centric streaming (v2) from langchain-core, enabling structured streaming over individual content blocks.
ChatFireworks gains a service_tier init kwarg for controlling inference tier selection
└──▷ GET THIS VERSION
$ git clone --branch langchain-fireworks==1.3.0 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-fireworks==1.3.0
└──▷ USE IT
Instantiate ChatFireworks targeting a specific service tier for cost or latency control.
python
from langchain_fireworks import ChatFireworks
llm = ChatFireworks(
model="accounts/fireworks/models/llama-v3p1-8b-instruct",
service_tier="scale"
)
›Adds service_tier init kwarg to ChatFireworks to specify which Fireworks inference service tier to use at instantiation time.
LangChain 1.3.0a1 adds stream_events v3, a respond decision in HITL middleware, dynamic tool registration, and LangSmith tracing for agents.
└──▷ GET THIS VERSION
$ git clone --branch langchain==1.3.0a1 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain==1.3.0a1
└──▷ USE IT
Stream agent events using the new v3 protocol to get structured, content-block-level events from a create_agent graph.
python
async for event in agent.astream_events(input, version='v3'):
print(event)
Dynamically register tools at runtime via middleware so agents can access tools that are determined based on request context.
python
from langchain.agents.middleware import ToolCallRequest
class DynamicToolMiddleware:
def on_model_request(self, request):
extra_tools = load_tools_for_context(request.state)
request.tools.extend(extra_tools)
return request
›Wires stream_events(version='v3') into create_agent, enabling the new v3 streaming protocol for agent flows.
›Adds respond decision to the Human-in-the-Loop (HITL) middleware, letting middleware directly respond without forwarding to the model.
›Adds ToolCallRequest to middleware exports, making it available for import from the middleware module.
›Adds state to _ModelRequestOverrides, allowing middleware to override agent state on model requests.
›Supports dynamic tool registration via middleware, enabling tools to be added or changed at runtime during agent execution.
+8 moreshow less
›Adds LangSmith integration metadata to create_agent and init_chat_model calls for improved tracing and observability.
›Adds ls_agent_type tag on create_agent calls for LangSmith tracing categorization.
›Supports state updates from wrap_model_call with command(s), enabling middleware to emit graph commands alongside model responses.
›Threads context through create_agent flows and middleware for propagating request-scoped context.
›Adds tracing for wrap_model_call and tool call middleware, surfacing these spans in LangSmith.
›Adds content-block-centric streaming (v2) to langchain-core for structured streaming of model output.
›Adds langchain-openrouter provider package, integrating OpenRouter as a new chat model provider.
›Supports automatic server-side compaction for the OpenAI integration.
langchain-openrouter 0.2.2 adds session_id and trace fields plus content-block-centric streaming.
└──▷ GET THIS VERSION
$ git clone --branch langchain-openrouter==0.2.2 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-openrouter==0.2.2
›Adds session_id and trace fields to the OpenRouter integration, enabling session tracking and trace correlation in LLM calls.
›Introduces content-block-centric streaming (v2) via langchain-core, enabling structured streaming over discrete content blocks rather than raw token deltas.
langchain-core 1.4.0a2 adds v3 streaming events protocol, content-block-centric streaming, ContextOverflowError, multimodal token counting, and more
└──▷ GET THIS VERSION
$ git clone --branch langchain-core==1.4.0a2 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-core==1.4.0a2
└──▷ USE IT
Consume fine-grained streaming events using the new v3 protocol to distinguish content blocks, tool calls, and metadata in a single stream.
python
async for event in chain.astream_events(input, version='v3'):
print(event['event'], event.get('data'))
Catch context-limit errors explicitly when invoking a model, so you can retry with a shorter prompt instead of hitting a generic exception.
python
from langchain_core.exceptions import ContextOverflowError
try:
result = chain.invoke(long_input)
except ContextOverflowError as e:
print('Context limit exceeded — truncate input and retry:', e)
›Introduces stream_events(version='v3') protocol for structured streaming event consumption.
›Adds content-block-centric streaming via stream_v2 / astream_v2 (marked beta), enabling finer-grained streaming over individual content blocks.
›Adds ContextOverflowError exception class, raised automatically when context limits are exceeded in Anthropic and OpenAI integrations.
›Extends count_tokens_approximately with multimodal support, counting tokens from images and other non-text inputs.
›Extends count_tokens_approximately to include token counts from tool schemas.
+11 moreshow less
›Adds scaling by reported usage when counting tokens approximately, giving more accurate estimates against real model usage.
›Adds xml format option to get_buffer_string() for serializing message histories as XML.
›Supports a custom message separator argument in get_buffer_string().
›Adds chat model and LLM invocation params to traceable LangSmith metadata, improving observability of model calls.
›Updates tracer metadata inheritance behavior for special keys, giving finer control over what propagates across run trees.
›Adds ChatBaseten to the serializable mapping, enabling serialization/deserialization of Baseten chat models.
›Imputes placeholder filenames for OpenAI file inputs, preventing errors when file metadata is missing.
›Adds more file extensions to the ignore list in HTML link extraction utilities.
›Adds LangSmith integration metadata to create_agent and init_chat_model for automatic tracing context.
›Hardens anti-SSRF controls in langchain-core network utilities.
›Adds tool_call_id to on_tool_error event data, making error events fully traceable back to the originating tool call.
$ git clone --branch langchain-core==1.4.0a1 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-core==1.4.0a1
└──▷ USE IT
Stream structured v3 events from any runnable to get richer, block-level streaming metadata.
python
async for event in chain.astream_events(input, version='v3'):
print(event)
Catch context-window overflow errors from OpenAI or Anthropic models in a unified way.
python
from langchain_core.exceptions import ContextOverflowError
try:
response = llm.invoke(long_messages)
except ContextOverflowError as e:
print('Context limit exceeded:', e)
›Adds stream_events(version='v3') protocol for structured event streaming.
›Adds content-block-centric streaming via stream_v2/astream_v2 (marked beta).
›Adds ContextOverflowError exception class, raised by Anthropic and OpenAI integrations when context limits are exceeded.
›Adds multimodal support to count_tokens_approximately, including tool schema token counting via count_tokens_approximately.
›Adds allow_scaling_by_reported_usage behavior to count_tokens_approximately for scaling by reported usage.
+11 moreshow less
›Adds xml format option to get_buffer_string() for serializing message history as XML.
›Adds custom message separator support to get_buffer_string().
›Adds ChatBaseten to the serializable mapping.
›Adds chat model and LLM invocation params to traceable metadata in LangSmith traces.
›Adds text_inputs and text_outputs fields to model profiles.
›Adds tool_call_id to on_tool_error event data.
›Adds LangSmith integration metadata to create_agent and init_chat_model.
›Adds hardened anti-SSRF policy utilities to langchain-core.
›Adds more file extensions to ignore in HTML link extraction.
›Adds BaseCrossEncoder to langchain-core.
›Updates tracer metadata inheritance behavior for special keys.
$ git clone --branch prebuilt==1.1.0a1 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout prebuilt==1.1.0a1
›Dispatches stream_events(version='v3') on Pregel, enabling finer-grained streaming event visibility.
›Adds streaming transformer infrastructure, providing a new layer for composing and testing stream transformations in the graph runtime.
LangGraph checkpoint 4.1.0a3 introduces DeltaChannel with sentinel storage and checkpoint_writes reconstruction.
└──▷ GET THIS VERSION
$ git clone --branch checkpoint==4.1.0a3 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout checkpoint==4.1.0a3
›Adds DeltaChannel: stores sentinels in blobs and reconstructs state from checkpoint_writes, enabling more efficient incremental state tracking.
OpenAI Agents SDK v0.15.0 surfaces model refusals as ModelRefusalError with a new model_refusal error handler.
└──▷ GET THIS VERSION
$ git clone --branch v0.15.0 https://github.com/openai/openai-agents-python.git
# already have the repo? check out this version:$ git checkout v0.15.0
└──▷ USE IT
Handle a model refusal gracefully instead of letting ModelRefusalError propagate — useful in production pipelines where a refusal should yield a fallback value rather than crash.
python
result = Runner.run_sync(
agent,
input,
error_handlers={"model_refusal": lambda data: data.error.refusal},
)
›Adds ModelRefusalError exception type so model refusals are raised explicitly instead of producing an empty final_output or looping until MaxTurnsExceeded.
›Adds model_refusal key to the error_handlers dict in Runner.run_sync / Runner.run to intercept refusals and return a custom value — including a value matching the agent's output schema for structured-output agents.
└──▷ BREAKING ON UPGRADE
!Code that expected a refusal-only model response to complete with final_output == "" will now receive a ModelRefusalError instead; a model_refusal run error handler must be provided to suppress the exception.
vMLX v1.4.7 promotes VMLX_OMNI_BACKEND to a CLI flag, unlocking a fast native MLX Stage-2 path for Nemotron-Omni.
└──▷ GET THIS VERSION
$ git clone --branch v1.4.7 https://github.com/jjang-ai/vmlx.git
# already have the repo? check out this version:$ git checkout v1.4.7
└──▷ TRY IT
Opt in to the Stage-2 native MLX backend for significantly faster Nemotron-Omni inference on M4 Max without setting an environment variable.
$ vmlx --omni-backend stage2
›Promotes VMLX_OMNI_BACKEND from an environment variable to a CLI flag, allowing the panel and Swift Settings UI to switch the Nemotron-Omni multimodal path between Stage-1 (bit-exact PyTorch bridge, default) and Stage-2 (native MLX RADIO + Parakeet, ~15–21x faster encoders and ~82 tok/s decode on M4 Max).
›Adds Stage-2 native MLX backend for Nemotron-Omni, delivering ~15–21x faster encoders and ~82 tok/s decode on M4 Max hardware (off by default pending Wave-4 quality validation).
›Confirms Qwen 3.6 VL is fully wired on both the Python and Swift sides.
vMLX v1.4.2 adds Laguna and Mistral-Medium-3.5 loaders, extends multimodal routing to /v1/responses and /v1/messages, and fixes Omni bundle boot.
└──▷ GET THIS VERSION
$ git clone --branch v1.4.2 https://github.com/jjang-ai/vmlx.git
# already have the repo? check out this version:$ git checkout v1.4.2
└──▷ TRY IT
Serve an Omni bundle that previously crashed on boot, then send an image via the OpenAI Responses endpoint using the newly supported input_image type.
$ vmlx-serve <omni-bundle>
›Extends OmniMultimodalDispatcher multimodal routing (RADIO + Parakeet encoders) to /v1/responses and /v1/messages, joining /v1/chat/completions — all 6 modality surfaces (text, image, audio, video) now dispatch correctly for Nemotron-3-Nano-Omni.
›Adds _MEDIA_TYPES entries in _responses_input_to_messages for OpenAI Responses canonical types input_image, input_video, input_audio, and input_text, normalizing them to chat-completions envelopes.
›Adds loaders/load_laguna.py routing through jang_tools.laguna.runtime.load for Laguna (poolside) 33B/3B agentic-coding MoE (hybrid SWA+full attention, 256 routed experts top-8 + 1 shared, dual-RoPE); registered as a silver-tier model.
›Adds loaders/load_mistral3.py for Mistral-Medium-3.5-128B (ministral3 inner), a dense GQA 96/8 model with 256K YaRN context and PIXTRAL vision; registered as a silver-tier model.
Composio CLI 0.2.28 adds agent signup and claim support.
└──▷ GET THIS VERSION
$ git clone --branch @composio/[email protected] https://github.com/ComposioHQ/composio.git
# already have the repo? check out this version:$ git checkout @composio/[email protected]
›Adds agent signup and claim support to the Composio CLI.