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.116 adds faster session resumption, deferred MCP startup, inline thinking progress, and smarter plugin dependency auto-install.
└──▷ GET THIS VERSION
$ git clone --branch v2.1.116 https://github.com/anthropics/claude-code.git
# already have the repo? check out this version:$ git checkout v2.1.116
└──▷ TRY IT
After adding a new plugin source, force-reload plugins so missing dependencies are pulled in automatically without manual marketplace steps.
$ /reload-plugins
Configure scroll sensitivity for VS Code, Cursor, or Windsurf so fullscreen sessions scroll smoothly without manual editor tweaks.
$ /terminal-setup
Run a main-thread agent that fires its frontmatter hooks as part of the agent lifecycle.
$ claude --agent <path/to/agent.md>
›Speeds up /resume on large sessions by up to 67% on sessions 40 MB and larger, with more efficient handling of dead-fork entries.
›Defers resources/templates/list to first @-mention, reducing MCP startup time when multiple stdio servers are configured.
›Improves fullscreen scrolling in VS Code, Cursor, and Windsurf terminals — /terminal-setup now configures scroll sensitivity for those editors.
›Replaces the separate thinking-hint row with an inline progress indicator ('still thinking', 'thinking more', 'almost done thinking') in the spinner.
›Extends /config search to match option values (e.g. searching 'vim' surfaces the Editor mode setting).
+7 moreshow less
›Allows /doctor to be opened while Claude is actively responding, without waiting for the current turn to finish.
›Enables /reload-plugins and background plugin auto-update to auto-install missing plugin dependencies from already-added marketplaces.
›Surfaces a rate-limit hint in the Bash tool when gh commands hit GitHub's API rate limit, letting agents back off instead of retrying.
›Shows 5-hour and weekly usage immediately in the Settings Usage tab, with graceful handling when the usage endpoint is rate-limited.
›Fires agent frontmatter hooks: when the agent is run as a main-thread agent via --agent.
›Displays 'No commands match' in the slash command menu when a filter has zero results instead of hiding the menu entirely.
›Security: sandbox auto-allow no longer bypasses the dangerous-path safety check for rm/rmdir targeting /, $HOME, or other critical system directories.
Lightweight coding agent that runs in your terminal
Codex CLI v0.122.0 adds side conversations, Plan Mode context control, plugin tabbed browsing, and deny-read glob sandbox policies.
└──▷ GET THIS VERSION
$ git clone --branch rust-v0.122.0 https://github.com/openai/codex.git
# already have the repo? check out this version:$ git checkout rust-v0.122.0
└──▷ TRY IT
Ask a quick question without leaving the current task — open a side conversation mid-session.
$ /side What does this function return when input is nil?
Check current context usage and default reasoning effort before continuing a plan.
$ /status
›New /side command in the TUI opens a side conversation for quick questions without interrupting the main session.
›Queued input now accepts slash commands and ! shell prompts while work is already running.
›Plan Mode can start implementation in a fresh context, with context-usage displayed before deciding whether to carry the planning thread forward.
›Plugin workflows gain tabbed browsing, inline enable/disable toggles, marketplace removal, and support for remote, cross-repo, or local marketplace sources.
›Filesystem permissions support new deny-read glob policies, managed deny-read requirements, and platform sandbox enforcement.
+12 moreshow less
›codex exec runs can now be isolated to ignore user config or rules.
›Tool discovery (ToolSearch) and image generation are now enabled by default.
›Image handling adds higher-detail support and original-detail metadata for MCP and js_repl image outputs.
›Image resizing updated to fit within 2048-square bounds.
›New codex app command correctly opens or installs the Desktop app on Windows and Intel Macs.
›Standalone installs are now more self-contained.
›New thread/turns/list API and sorting/backwards-cursor support added to thread/list.
›Default reasoning effort is now shown in /status.
›Adds MCP server environment config support.
›Adds piped stdin support in the exec process API.
›Remote compaction now supported for Azure responses providers.
›Adds server-level approval defaults for custom MCP servers.
OpenCode v1.14.19 adds NVIDIA as a built-in provider, a separate terminal font setting, and smarter session compaction.
└──▷ GET THIS VERSION
$ git clone --branch v1.14.19 https://github.com/sst/opencode.git
# already have the repo? check out this version:$ git checkout v1.14.19
›Adds NVIDIA as a built-in provider option with connection docs and required attribution headers.
›Adds a separate terminal font setting and bundles JetBrainsMono Nerd Font Mono for the desktop app.
›Adds bundled ripgrep support for Windows ARM64 in managed installs.
›Keeps recent conversation turns verbatim during session compaction to preserve local context, with automatic fallback to full-conversation summarization when recent turns contain too much media.
└──▷ BREAKING ON UPGRADE
!The compaction setting is renamed from its previous name to preserve_recent_tokens; any config referencing the old key will break.
Pi v0.68.0 adds /clone, configurable keybindings, extension working-indicator control, and richer session_shutdown metadata.
└──▷ GET THIS VERSION
$ git clone --branch v0.68.0 https://github.com/earendil-works/pi.git
# already have the repo? check out this version:$ git checkout v0.68.0
└──▷ TRY IT
Duplicate your current session branch into a new session to experiment without losing the original conversation state.
$ /clone
Bind the OAuth callback server to a non-loopback interface when pi auth runs inside a container or remote dev environment.
$ PI_OAUTH_CALLBACK_HOST=0.0.0.0 pi auth
›New /clone command duplicates the current active branch into a fresh session, complementing /fork which targets a previous user message.
›Extensions can now control the streaming working indicator (animated frames, static, or hidden) via ctx.ui.setWorkingIndicator().
›before_agent_start extension events now expose systemPromptOptions (BuildSystemPromptOptions) so extensions can inspect structured system-prompt inputs directly.
›ctx.fork() gains a position: "before" | "at" option so extensions can branch before a user message or duplicate the current conversation point.
›Keybindings for scoped model-selector actions and session-tree filter actions are now remappable via keybindings.json.
+3 moreshow less
›New PI_OAUTH_CALLBACK_HOST environment variable lets the built-in OAuth login flow (pi auth) bind its local callback server to a custom interface instead of hardcoded 127.0.0.1.
›session_shutdown extension events now carry reason and targetSessionFile metadata, enabling extensions to distinguish quit, reload, new-session, resume, and fork teardown paths.
›pi update now batches npm package updates per scope and runs git package updates with bounded parallelism, significantly reducing multi-package update time.
└──▷ BREAKING ON UPGRADE
!createAgentSession({ tools }) now expects string[] names such as "read" and "bash" instead of Tool[] instances; migrate SDK code from tools: [readTool, bashTool] to tools: ["read", "bash"].
!--tools now allowlists built-in, extension, and custom tools by name, and --no-tools now disables all tools by default rather than only built-ins.
!Prebuilt cwd-bound tool exports (readTool, bashTool, editTool, writeTool, grepTool, findTool, lsTool, readOnlyTools, codingTools) and their corresponding *ToolDefinition values have been removed from @mariozechner/pi-coding-agent; use explicit factory exports such as createReadTool(cwd), createBashTool(cwd), createCodingTools(cwd), and createReadToolDefinition(cwd) instead.
!DefaultResourceLoader, loadProjectContextFiles(), and loadSkills() no longer fall back to process.cwd() / a default agent-dir; an explicit cwd is now required and exported system-prompt option types enforce it.
Haystack v2.28.0 lets tools and components receive the live agent State object directly, and adds async support to LLMMetadataExtractor and a header-depth filter to MarkdownHeaderSplitter.
└──▷ GET THIS VERSION
$ git clone --branch v2.28.0 https://github.com/deepset-ai/haystack.git
# already have the repo? check out this version:$ git checkout v2.28.0
└──▷ USE IT
Split a Markdown document only on top-level and second-level headers, keeping deeper headers merged into their parent chunk.
python
from haystack.components.preprocessors import MarkdownHeaderSplitter
splitter = MarkdownHeaderSplitter(header_split_levels=[1, 2], keep_headers=True)
result = splitter.run(documents=[document])["documents"]
Give a function-based tool read/write access to the full agent state without manually wiring individual keys.
python
from haystack.components.agents import State
from haystack.tools import tool
@tool
def my_tool(query: str, state: State) -> str:
"""Search using context from agent state."""
history = state.get("history")
...
›Adds header_split_levels parameter (list of integers 1–6, default all levels) to MarkdownHeaderSplitter to control which header depths create split boundaries — e.g., header_split_levels=[1, 2] splits only on # and ## headers.
›Adds run_async method to LLMMetadataExtractor; ChatGenerator requests now run concurrently using the existing max_workers init parameter.
›Enables tools and components to declare a State (or State | None) parameter in their signature to receive the live agent State object at invocation time — no extra wiring needed; ToolInvoker automatically injects it and excludes it from the LLM-facing schema.
›MarkdownHeaderSplitter now ignores # lines inside fenced code blocks (triple-backtick or triple-tilde), preventing hash-prefixed lines in code from being misidentified as Markdown headers.
└──▷ BREAKING ON UPGRADE
!request_with_retry and async_request_with_retry in haystack.utils.requests_utils now raise httpx.HTTPError instead of requests.exceptions.RequestException on failure; code catching requests.exceptions.RequestException (including via HuggingFaceTEIRanker) must be updated to catch httpx.HTTPError.
!The LLM component now requires user_prompt to be provided at initialization and it must contain at least one Jinja2 template variable; required_variables now defaults to '*' and passing an empty list raises a ValueError.
!Agent.run() and Agent.run_async() now require messages as an explicit argument; code relying on the default None value from v2.26/v2.27 must pass an empty list instead: agent.run(messages=[], ...).
Use q5_1 KV cache quantization to reduce VRAM usage while retaining more precision than q4_0.
$ koboldcpp --model mymodel.gguf --quantkv q5_1
Preload a shared base config on every model swap so common settings (context size, threads, etc.) are always applied without repeating them in every per-model config.
›Adds reasoning_effort API field for thinking models, accepting values high, medium, low, minimal, or none; also settable via --gendefaults '{"reasoning_effort":"minimal"}' or in KoboldAI Lite under Settings > Tokens > Thinking > Reasoning Effort.
›Adds --swapadding parameter to extend the SWA (Sliding Window Attention) context window by a specified number of tokens while keeping KV memory footprint small.
›Adds --quantkv flag replacing the old single-digit values for KV cache quantization; supports f16, bf16, q8_0, q5_1, and q4_0 as named values (e.g. --quantkv q5_1).
›Adds --baseconfig flag to pre-load a base config file on every model swap, merged with the target config; overridable via baseconfig parameter on the /api/admin/reload_config API endpoint.
›Adds --jinjatemplate / --chat-template-file flags to replace a model's built-in Jinja template with a custom one.
+6 moreshow less
›Adds --image-min-tokens and --image-max-tokens flags for controlling min/max vision token counts, similar to llama.cpp behavior.
›Adds support for AceStep XL music generation models (same AceStep LM, Embedder, and VAE as AceStep 1.5).
›Enables streaming alongside Jinja tool calling when using --jinjatools.
›Gemma4 E4B and E2B models now support audio inputs.
›Extends /api/extra/tokencount to accept OpenAI-style messages as input (not only raw prompts), returning the compiled prompt.
›Increases the default multiuser connection limit from 7 to 10.
└──▷ BREAKING ON UPGRADE
!The old single-digit --quantkv values are deprecated; --quantkv now requires a named cache type string (f16, bf16, q8_0, q5_1, q4_0) — configs or scripts using numeric values must be updated.
ONNX Runtime 1.25 ships a CUDA Plugin EP, new Attention opsets 23/24 on CUDA, per-session profiling in RunOptions, and expanded WebGPU op coverage.
└──▷ GET THIS VERSION
$ git clone --branch v1.25.0 https://github.com/microsoft/onnxruntime.git
# already have the repo? check out this version:$ git checkout v1.25.0
›Adds enable_profiling to RunOptions for per-session profiling control without a global session option.
›Adds KernelInfo string-array attribute APIs for C and C++, enabling custom ops to read string-array attributes via the C and C++ EP API.
›Adds OpKernelInfo::GetConfigOptions and LoggingManager::HasDefaultLogger() to the EP API adapter.
›Adds OrtModel input support to the Compile API, allowing compiled model workflows to accept OrtModel objects directly.
›Adds a session config key to create weightless EPContext models during compilation.
+27 moreshow less
›Introduces the CUDA Plugin EP — a new core implementation allowing third-party CUDA-backed execution providers to be delivered as dynamically loaded plugins without rebuilding ORT.
›Adds BFC-style arena and CUDA mempool allocators to the CUDA Plugin EP for stream-aware memory management.
›Adds a Plugin EP Sync API for synchronous execution.
›Adds Plugin EP event profiling APIs.
›Adds Plugin EP APIs to retrieve ONNX operator schemas.
›Adds annotation-based graph partitioning with resource accounting to the EP plugin API.
›Adds per-session thread pool work callbacks API to core APIs.
›Introduces Model Package support (preview): automatically selects compiled EPContext model variants from a packaged collection based on EP, device, and hardware constraints.
›Implements Attention opset 23 on CUDA with GQA, boolean masks, softcap, and softmax precision control.
›Implements Attention opset 24 on CUDA (disjoint from contrib op) and nonpad KV sequence length on CPU.
›Adds TensorScatter-24 op support for CPU and CUDA.
›Adds GQA with XQA and quantized KV cache to the NVIDIA CUDA EP, including FP8 (E4M3) KV cache support.
›Adds CUDA graph capture compatibility for LLM ops and pre-compiled paths in the CUDA EP.
›Adds volumetric (3D) GridSample support to the CUDA EP.
›Adds optional router_weights input to the QMoE contrib op on CUDA.
›Adds D3D12 external resource import support to the NVIDIA TensorRT RTX EP.
›Adds TopK, Softplus, and Identity op support to the WebGPU EP.
›Adds Conv3D and LpNorm op support to the WebGPU EP.
›Adds int64/bool type support for Range, Expand, Flatten, Gather, and Unsqueeze in the WebGPU EP.
›Optimizes WebGPU Gemm/MatMul using subgroup features.
›Adds 2-bit zero-point support and higher K-parallelism to MatMulNBits in the WebGPU EP.
›Adds head_sink support and configurable multi-rotary cache concat offset to Flash Attention in the WebGPU EP.
›Makes WebGPU EP compatible with the EP plugin API.
›Upgrades bundled ONNX to 1.21.0.
└──▷ BREAKING ON UPGRADE
!Building ORT from source now requires C++20; minimum toolchains are MSVC 19.29+, GCC 10+, Clang 10+. Prebuilt-package users are unaffected.
!CUDA minimum version raised to 12.0 — CUDA 11.x is no longer supported. Users pinned to CUDA 11.x must stay on ORT 1.24.x or upgrade their CUDA toolkit and driver.
!ArmNN EP has been removed. Any --use_armnn build flags must be removed; workloads should migrate to the MLAS/KleidiAI-backed CPU EP or QNN EP.
!ORT_API_VERSION is now 25, which may affect EP plugins or native bindings that check the API version at load time.
Phoenix 14.9.0 adds type-aware span filtering to GET /v1/spans, Claude Opus 4.7 in Playground, and consent/trace-sharing controls.
└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v14.9.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:$ git checkout arize-phoenix-v14.9.0
›Adds type-aware attribute filter to GET /v1/spans REST API endpoint, enabling precise span queries by attribute type.
›Exposes agentsConfig via GraphQL and surfaces it on the settings page.
›Adds consent and trace-sharing controls via PXI consent settings.
›Adds Claude Opus 4.7 as a model option in the Playground.
›Splits out span note support in the CLI.
+2 moreshow less
›Introduces a resizable Drawer component in the UI with Modal simplification.
›Adds an empty-state screen for PXI chat in the agent UI.