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.
Agno v2.8.0 adds a scorer framework, rollout environments for pass@k evaluation, and new Gmail/Adanos/file-generation tools.
└──▷ GET THIS VERSION
$ git clone --branch v2.8.0 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:$ git checkout v2.8.0
└──▷ USE IT
Export passing rollout attempts as conversational-SFT JSONL for fine-tuning, with a provenance sidecar automatically included.
python
results.to_sft_jsonl("passing_attempts.jsonl")
›Adds agno.scorer module with CodeScorer (wraps any callable returning bool | float | Score), JudgeScorer (LLM judge with numeric verdicts normalized via (score - 1) / 9), and ToolCallScorer (deterministic check of tool executions, rejecting refused, errored, or HITL-rejected calls) — all three ship sync and async variants.
›Adds agno.environments with Environment, Task, and run_rollouts(env, k=8) to run each task K times in full isolation (fresh db/session/user, no memory/knowledge/learning writes, cache off), enabling pass@k evaluation with a live per-attempt grid and real pass-rate tracking.
›Adds to_sft_jsonl(...) on the rollout environment to export passing attempts as conversational-SFT JSONL with a provenance sidecar.
›Adds save, load, diff, and learning_zone() methods to the rollout environment for managing and comparing evaluation runs.
›Adds Case.scorer field to plug any scorer into an eval Case alongside Case.expected; SuiteResult.to_dict() gains additive score_value, score_passed, and score_reason keys.
+3 moreshow less
›Adds max_results_per_request parameter and pagination support to Gmail Tools.
›Adds optional Adanos market sentiment tools.
›Adds code file generation capability to FileGenerationTools.
└──▷ BREAKING ON UPGRADE
!ReliabilityEval now satisfies tool expectations only on a clean execution via RunOutput.tools (with tool_call_error not set), not on message-side requests — verdicts that previously passed may flip red after upgrading, with missing entries annotated '... (requested but refused/errored — execution matching, new in 2.8.0)'. Argument checks move to ToolExecution.tool_args.
!Every AgentAsJudgeEval now fences judged output behind a per-call random nonce; a literal </output> no longer escapes the block. Judge verdicts and token counts may shift after upgrading.
Framework for orchestrating role-playing, autonomous AI agents. By fostering collaborative intelligence, CrewAI empowers agents to work together seamlessly, tackling complex tasks.
CrewAI 1.15.5 adds authentication for skill registry downloads.
└──▷ GET THIS VERSION
$ git clone --branch 1.15.5 https://github.com/crewAIInc/crewAI.git
# already have the repo? check out this version:$ git checkout 1.15.5
›Adds authentication support for skill registry downloads, enabling access to protected or private skills from the CrewAI skill registry.
Haystack 3.0 ships a hooks-driven Agent, unified async Pipeline, built-in introspection, safe deserialization, and mock test components.
└──▷ GET THIS VERSION
$ git clone --branch v3.0.0 https://github.com/deepset-ai/haystack.git
# already have the repo? check out this version:$ git checkout v3.0.0
└──▷ USE IT
Audit every tool call before execution — useful for compliance logging or human approval gates.
python
from haystack.components.agents import Agent
from haystack.components.generators.chat import OpenAIChatGenerator
from haystack.hooks import hook
@hook
def audit_tool_calls(state):
pending = state.data['messages'][-1].tool_calls
print(f'about to run: {[tc.tool_name for tc in pending]}')
agent = Agent(
chat_generator=OpenAIChatGenerator(),
tools=[...],
hooks={'before_tool': [audit_tool_calls]},
)
result = agent.run(messages=[{'role': 'user', 'content': 'Summarize recent alerts'}])
Load a serialized pipeline from an untrusted source with a scoped allowlist to prevent arbitrary code execution.
python
from haystack import Pipeline
with open('pipeline.yaml') as fp:
pipeline = Pipeline.load(fp, allowed_modules=['mypkg.*'])
›Adds a hooks system to Agent with lifecycle points before_run, before_llm, before_tool, after_tool, on_exit, and after_run — pass callables decorated with @hook via the hooks dict argument to enforce guardrails, audit tool calls, or inject human-in-the-loop checkpoints.
›Adds ConfirmationHook (human-in-the-loop) and ToolResultOffloadHook (writes large tool results to a store, leaving a compact pointer in conversation) as built-in before_tool hooks.
›Adds SkillToolset for first-class skill discovery via progressive disclosure — the model sees only names and one-line descriptions until a skill is loaded, keeping context window usage lean.
›Adds dynamic tool selection at runtime: pass tools=... to Agent.run / Agent.run_async so one Agent instance can serve different teams, tenants, and tasks without re-initialization.
›Adds native async tool support — @tool routes async def callables to a Tool's new async_function field.
+10 moreshow less
›Adds built-in Agent state keys step_count, token_usage, and tool_call_counts for run introspection — react to them in hooks to compact context, cap tool loops, or apply cost budgets.
›Emits dedicated step-level tracing spans haystack.agent.step with nested .llm and .tool children tagged with tools actually used, enabling precise per-step observability.
›Unifies Pipeline and AsyncPipeline into a single Pipeline class exposing run, run_async, run_async_generator, and stream methods — stream() yields StreamingChunks as produced and exposes final output on handle.result.
›Adds symmetric warm_up / close lifecycle to Pipeline and components so long-running services can acquire and release connections, GPU memory, and file handles without leaks.
›Adds pipeline deserialization allowlist via Pipeline.load(fp, allowed_modules=[...]), the HAYSTACK_DESERIALIZATION_ALLOWLIST environment variable, and allow_deserialization_module(...) — dangerous builtins (eval, exec, open, getattr) are blocked by default; trusted sources can pass unsafe=True.
›Adds MockChatGenerator, MockTextEmbedder, and MockDocumentEmbedder test components — no API keys or network required; embedders return stable, hash-derived embeddings for deterministic CI.
›Adds {% insert %} Jinja2 tag to Agent, PromptBuilder, and ChatPromptBuilder for interleaving runtime messages into templates.
›Moves 30 components (Sentence Transformers, Hugging Face local/API, Whisper, spaCy/langdetect, Tika, Azure OCR, SerperDev/SearchApi, OpenAPI connectors, Datadog/OpenTelemetry tracers) to independently released packages in haystack-core-integrations, enabling releases independent of the core cycle.
›All Chat Generators now accept a plain str for messages, easing migration from removed text-only generators.
›Tracing is now explicit — add OpenTelemetryConnector or DatadogConnector or call tracing.enable_tracing(...) to activate; Haystack no longer auto-enables tracing or reconfigures structlog process-wide.
└──▷ BREAKING ON UPGRADE
!AsyncPipeline is removed; replace all imports and instantiations with Pipeline. Note that Pipeline.run executes components sequentially and does not accept concurrency_limit; use await pipeline.run_async(...) in async contexts.
!Async pipeline tracing now uses the operation name haystack.pipeline.run (with tag haystack.pipeline.execution_mode=async) instead of the former haystack.async_pipeline.run.
!ToolInvoker (standalone) is removed; tool execution is now owned entirely by Agent.
!OpenAIGenerator, AzureOpenAIGenerator, HuggingFaceAPIGenerator, and HuggingFaceLocalGenerator are removed — use their Chat Generator counterparts (OpenAIChatGenerator, etc.).
!DALLEImageGenerator is renamed to OpenAIImageGenerator.
!Agent, PromptBuilder, and ChatPromptBuilder now treat every Jinja2 template variable as required by default (required_variables='*'); pass required_variables=None to restore the previous all-optional behavior.
!Tools must declare inputs_from_state explicitly to read a State value; implicit injection by parameter name no longer works.
!continue_run is now a reserved key in Agent.state_schema; passing it raises ValueError — rename conflicting keys (e.g. to my_continue_run).
!step_count, token_usage, and tool_call_counts are now reserved keys in Agent.state_schema; passing any of them raises ValueError — rename conflicting keys.
!Document.id is now computed from canonical, key-sorted JSON of meta, so documents with non-empty meta get different IDs than in 2.x.
!configure_logging now attaches only to Haystack's own loggers; importing Haystack no longer reconfigures structlog process-wide.
!Tracing is no longer auto-enabled; explicitly add an OpenTelemetryConnector or DatadogConnector or call tracing.enable_tracing(...) to activate.
!Components that use external resources now create them during warm_up rather than __init__; errors from missing API keys or other init-time checks now surface at warm_up time instead.
!Passing tools at runtime via run(tools=...) to a chat generator that does not support tools now raises TypeError instead of silently ignoring them.
!The 30 components moved to haystack-core-integrations require a new package install and import path change (e.g. pip install sentence-transformers-haystack and from haystack_integrations.components.embedders.sentence_transformers import SentenceTransformersTextEmbedder).
!haystack-experimental is no longer a core dependency.
!Confirmation hook strategies now receive model-requested tool arguments in tool_params rather than fully-prepared arguments (values injected from State are no longer included).
Hermes v2026.7.20 adds /subscription, /topup, Bitwarden/1Password secret sources, live subagent transcripts, session export, smart approvals, and new AI providers.
└──▷ GET THIS VERSION
$ git clone --branch v2026.7.20 https://github.com/NousResearch/hermes-agent.git
# already have the repo? check out this version:$ git checkout v2026.7.20
└──▷ TRY IT
Export a full session history as a Hugging Face-ready trace with secrets scrubbed, filtered to the last 30 days, for use as a fine-tuning dataset.
Check your current Nous plan, preview upgrade cost, and apply the change without opening a browser.
$ /subscription
Refuse a flagged command and give the agent an explicit reason so it can choose a safer alternative instead of retrying the same approach.
$ /deny 'This command writes to /etc — use a local config path instead'
›Adds /subscription and /topup commands to manage Nous billing plans — including upgrade previews, scheduled-change banners, and undo — directly from the TUI or CLI without visiting the billing website.
›Adds /deny <reason> command so the agent receives an explicit refusal rationale and can course-correct, alongside user-defined deny rules that block commands even under yolo mode.
›Adds a pluggable SecretSource interface with Bitwarden and 1Password (op:// references) providers, supporting multiple simultaneous vaults, deterministic precedence, conflict warnings, and per-variable provenance — so API keys no longer have to live in a plaintext .env.
›Adds hermes sessions export with output formats Markdown, Quarto, HTML, prompt-only, and Hugging Face-ready traces; supports full filter surface (age, workspace, platform), an opt-in --redact secret-scrubbing pass, and compacted-session lineage stitching.
›Adds a durable delivery-obligation ledger in state.db that records final responses around the platform send and redelivers them on next boot, closing a silent-loss window for Telegram, Discord, Slack, and other channels.
+8 moreshow less
›Adds live transcript files for delegate_task dispatches — each subagent writes one human-readable log per child, tail -f-able from the moment agents launch — plus durable background-delegation completion via an ownership-checked ledger.
›Enables display.show_reasoning ON by default so reasoning models stream their thinking live instead of showing a spinner.
›Adds profile-based message routing to the gateway: a single multiplexed bot token can route specific guilds, channels, or threads to different profiles, each with isolated config, skills, memory, and secrets.
›Adds reasoning effort tiers max and ultra, per-model reasoning-effort overrides in config, per-slot effort in MoA presets, and per-task effort for auxiliary models.
›Adds Fireworks AI and DeepInfra as first-class providers (Fireworks includes cost estimation and a #2 slot in the provider picker), plus Upstage Solar; adds model catalog entries for GPT-5.6 (Sol/Terra/Luna + Pro variants), grok-4.5 (GA), moonshotai/kimi-k3, claude-fable-5/claude-sonnet-5, GA tencent/hy3, and LM Studio JIT model loading.
›Smart approvals are now the default: an LLM reviewer independently assesses flagged commands per-invocation instead of prompting for manual approval every time.
›Desktop app gains a billing settings tab matching the terminal /subscription flow.
›Cold-start first-turn latency cut ~80% (approximately 4.3 s to 0.9 s) across CLI, gateway, TUI, desktop, and cron, with per-token response-box painting and prompt-build caching.
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.216 adds sandbox.filesystem.disabled to decouple filesystem isolation from network egress control.
└──▷ GET THIS VERSION
$ git clone --branch v2.1.216 https://github.com/anthropics/claude-code.git
# already have the repo? check out this version:$ git checkout v2.1.216
└──▷ USE IT
Keep network egress sandboxed but allow Claude Code to access the filesystem freely — useful when your workflow depends on filesystem hooks or tools that break under filesystem isolation.
yaml
sandbox.filesystem.disabled: true
›Adds sandbox.filesystem.disabled setting to skip filesystem isolation while keeping network egress control active.
›Background sessions: /mcp and /install-github-app now park a 'needs input' request in the agent view when no client is attached.
›The /fork confirmation now shows the new session's name, claude attach id, and a note when the copy shares the checkout.
›The /ultrareview diff-too-large error now shows configured limits, measured diff size, and the largest contributing files.
›The /code-review ultra empty-diff message now names the exact base ref and suggests passing an explicit base.
+1 moreshow less
›The /context command now shows an explicit warning when the conversation exceeds the context window, and a failed /compact displays as an error.
$ git clone --branch v0.86.0 https://github.com/charmbracelet/crush.git
# already have the repo? check out this version:$ git checkout v0.86.0
└──▷ TRY IT
Use the new --all flag with the stats subcommand to get project-wide token/cost statistics across all sessions.
$ crush stats --all
Use --crawl-dir to compute stats scoped to a specific directory tree.
$ crush stats --crawl-dir ./src
›Adds lsp_rename LSP tool — renames a symbol and all its references across the project, with automatic fallback to the edit tool on LSP errors.
›Adds lsp_replace_symbol LSP tool — replaces, inserts before/after, or deletes an entire function, method, or class by name.
›Adds --all and --crawl-dir modes to the stats subcommand for broader project-wide statistics.
›Adds scrollable sidebar with focus-based keyboard navigation: l/right arrow to focus sidebar, j/k or arrow keys to scroll, g/G for top/bottom, h/left arrow to return to chat, tab to return to editor; also supports mouse-wheel scrolling when focused.
›Adds clickable X remove button on attachment chips to delete attachments with the mouse.
+3 moreshow less
›Adds u keybinding in the OAuth dialog to copy the verification URL — useful when running Crush over SSH where automatic browser opening is unavailable.
›Adds quit-dialog hint informing users they can skip confirmation by pressing ctrl+c twice.
›Adds graceful recovery from mid-stream provider connection resets.
Enable the $ shell shortcut so you can drop into an interactive shell at any point during a session.
$ /settings shellShortcut on
›Adds agentStop hook early-exit logic: CLI ends the turn after 8 consecutive blocks and passes a stop_hook_active flag to agentStop hooks so they can detect and self-limit forced continuation.
›Adds opt-in git and gh authentication inside the OS sandbox.
›Adds update/uninstall verbs to /plugins, extends enable/disable/remove to target plugins, MCP servers, or skills via --plugin, --mcp, and --skill flags or a positional kind, and supports installing skills with /plugins install --skill.
›Adds /plugins install --skill <file, URL, or directory> to install skills from the CLI; append --scope project on a file or URL install to scope it to the repository.
›Adds copilot plugins remove --skill for skill removal.
+19 moreshow less
›Adds /plugins help command plus skill, MCP, and marketplace management for full /plugins parity.
›Adds /model --session (-s) to change model, reasoning effort, or context window for just the current session without touching global settings.
›Type $ at the prompt to open an interactive shell in the current session directory; enable with /settings shellShortcut on (off by default).
›Adds renderHexColors setting (on by default) to toggle hex-color swatches; inline code hex values like #FF0000 now render as color swatches.
›Sandbox macOS keychain access now defaults off; re-enable it in /sandbox when a command needs it.
›Toggling /sandbox restarts only local MCP servers and leaves remote servers connected.
›copilot skill list strips terminal control characters from skill names and descriptions, preventing crafted skills from injecting ANSI escape sequences into listing output.
›Exposes default values in /settings and lets boolean settings cycle back to their default.
›Masks secret values in /settings show output.
›Detects VS Code, Cursor, and Windsurf through parent processes in /terminal-setup.
›Multi-turn subagents are always enabled, allowing follow-up messages to running agents.
›Enables tool search for Claude Haiku 4.5+.
›Delivers scheduled prompts as steering messages when the agent is busy.
›Requires SSO for remote control when managed settings demand it.
›Lifecycle and subagent hook commands run in the current session directory after /cd.
›/worktree <task> and /move now propagate folder trust to the new worktree before switching when the source is already trusted.
›Nested markdown lists render correctly in buffered output (-p --stream off and detail screens): sub-bullets are indented and no longer flattened onto the parent line.
›Reveals full file paths when expanding compact editing rows.
›Keeps /add-dir directories visible in the agent context across turns.
└──▷ BREAKING ON UPGRADE
!Sandbox macOS keychain access now defaults off; setups relying on keychain access inside the sandbox must explicitly re-enable it via /sandbox.
!Command approvals no longer carry over to another repository after switching with /cd; approvals must be re-granted in the new repository context.
!/terminal-setup now refuses to modify a VS Code keybindings.json that contains a JSON syntax error instead of rewriting it.
An MCP that lets AI tools securely connect to your infrastructure, write IaaS code, debug issues, and assist during incidents - without risking production stability. Built for security teams to approve and infrastructure teams to experience like magic.
emisar v0.32.0 adds real-agent MCP conformance evals, symptom-language search, and a justification chain on run_action.
└──▷ GET THIS VERSION
$ git clone --branch v0.32.0 https://github.com/AndrewDryga/emisar.git
# already have the repo? check out this version:$ git checkout v0.32.0
›Extends run_action to accept optional evidence (observed state) and expected (predicted outcome) fields alongside a reason that now supports up to 2000 characters, surfacing the full justification chain on the approval screen and run details.
›Paginated MCP reads now return a copy-ready next call object instead of a bare cursor, so an agent continues pagination by echoing a single object.
›Adds list_runners to the MCP API, inlining each runner's dispatchable pack IDs so one call reveals what a named host can execute.
›Actions can opt into typed JSON results dispatched against a pinned trusted descriptor.
›Introduces real-agent conformance evals that drive live Claude Code and Codex CLIs through a fail-closed loopback relay — hard-failing on policy-blocked calls, invalid mutation arguments, a run_action without a prior get_action for the same action, placeholder reasons, and runs not driven to a terminal status.
+3 moreshow less
›Registry now serves the catalog compact and gzip-encoded behind a CDN, reducing transfer to roughly one-tenth of the previous size; pack tarballs remain unencoded to preserve content-hash pinning.
›Runner access is now explicit: a member is scoped to only the runners and groups they are permitted to use.
›A missing client binary is reported as separate host readiness evidence — the action stays advertised for manifest verification but is not offered for dispatch.
OpenCL Adreno backend gains broadcast support for MUL_MAT and correct view-offset handling for Q8_0 in multi-stream llama-server
└──▷ GET THIS VERSION
$ git clone --branch b10069 https://github.com/ggml-org/llama.cpp.git
# already have the repo? check out this version:$ git checkout b10069
›Adds broadcast support for Adreno GEMM and GEMV (noshuffle) kernels in the OpenCL backend, enabling multi-stream llama-server workloads that require tensor broadcasting.
›Adds correct view_offs handling for Adreno Q8_0MUL_MAT (noshuffle GEMM/GEMV) in the OpenCL backend, fixing correctness for non-zero-offset tensor views in multi-stream inference.
$ git clone --branch v1.6.14 https://github.com/jjang-ai/vmlx.git
# already have the repo? check out this version:$ git checkout v1.6.14
›Adds multimodal conversation-state isolation, enabling independent context tracking across modalities in a single session.
›Adds progressive reasoning and content streaming, delivering incremental output during multi-step inference.
›Adds structured tool continuation, allowing tool-call sequences to resume and chain within a single inference pass.
›Adds architecture-aware KV cache behavior covering prefix, paged, block-disk, and TurboQuant cache policies, with model-family gates keeping cache settings explicit and model-safe.
›Both macOS Sequoia and Tahoe release artifacts are Developer ID signed, notarized, stapled, and Gatekeeper-accepted for out-of-the-box installation without security prompts.
vMLX 1.6.12 adds block-disk L2 as a usable prefix tier, hardens q4 TurboQuant KV storage, and fixes gateway lifecycle on client disconnect.
└──▷ GET THIS VERSION
$ git clone --branch v1.6.12 https://github.com/jjang-ai/vmlx.git
# already have the repo? check out this version:$ git checkout v1.6.12
›Enables block-disk L2 as a usable prefix tier even when paged RAM is disabled, while preserving the RAM-first then disk-refault hierarchy when both tiers are active — covering partial-prefix restore, eviction, immediate-stop durability, and restart refault.
›Hardens q4 TurboQuant storage for eligible KV components and hybrid attention paths, keeping JANG affine, JANGTQ/MXTQ Hadamard-codebook, and base MLX MXFP as distinct formats; architecture-specific cache policies for DSV4, openPangu, MiniMax-M3, Gemma mixed-SWA, and other typed/native cache paths are preserved.
›Extends media ownership and cache-key coverage to Step and Nemotron Omni image, video, and audio paths while keeping MiniMax-M2.7 as text-only.
›Tightens progressive reasoning, content, and tool streaming plus terminal/usage ordering across Qwen, HY3, Step, MiniMax, Anthropic, Ollama, and Responses routes, including no-tool prompts and rejected/incomplete native tool markup.
Phoenix v19.3.0 adds HTTP/2 for OAuth2/OIDC, provisioned-provider model filtering in Playground, and routed profile settings tabs.
└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v19.3.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:$ git checkout arize-phoenix-v19.3.0
›Playground model picker now filters to provisioned providers only, reducing misconfiguration when selecting models.
›Auth layer negotiates HTTP/2 for OAuth2/OIDC provider requests, improving connection efficiency for federated identity flows.
›Settings page gains documentation onramps for faster in-app guidance access.
›UI adds routed profile settings tabs, enabling deep-linking directly to specific profile setting sections.