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.
LangGraph 1.1.10 lets ToolNode tools return mixed lists of Command and ToolMessage objects.
└──▷ GET THIS VERSION
$ git clone --branch 1.1.10 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout 1.1.10
└──▷ USE IT
When a tool needs to both update graph state (via Command) and return a ToolMessage to the model in the same invocation.
python
from langgraph.prebuilt import ToolNode
from langgraph.types import Command
from langchain_core.messages import ToolMessage
def my_tool(tool_call_id: str, query: str) -> list:
# Emit a state update command AND a tool result message
return [
Command(update={"retrieved": query}),
ToolMessage(content=f"Result for {query}", tool_call_id=tool_call_id),
]
node = ToolNode([my_tool])
›Enables ToolNode tools to return list[Command | ToolMessage], allowing a single tool call to emit both control-flow commands and tool messages in one response.
OpenClaw v2026.4.25 adds TTS overhaul with 6 new providers, expanded OpenTelemetry coverage, browser automation upgrades, PWA/Web Push, and new plugin registry CLI commands.
└──▷ GET THIS VERSION
$ git clone --branch v2026.4.25 https://github.com/openclaw/openclaw.git
# already have the repo? check out this version:$ git checkout v2026.4.25
└──▷ TRY IT
Toggle auto-TTS on for the current chat session so all replies are read aloud, then turn it off when done.
$ /tts chat on
# ... chat session ...
/tts chat off
Launch a headless browser for a one-shot automation task without touching your saved browser config.
$ openclaw browser start --headless
Inspect the persisted plugin registry and force a refresh to repair stale entries after an upgrade.
$ openclaw plugins registry --refresh
›Adds /tts latest read-aloud command and /tts chat on|off|default session-scoped auto-TTS controls for WhatsApp and chat channels.
›Adds Azure Speech as a bundled TTS provider with Speech-resource auth, SSML escaping, native Ogg/Opus voice-note output, and telephony output.
›Enables per-agent TTS voice overrides via agents.list[].tts and per-account deep-merge of channels.<channel>.accounts.<id>.tts for Feishu and QQBot.
›Adds channels.discord.voice.model config key to override the LLM used for Discord voice channel responses.
›Adds Google Meet calendar-backed attendance export workflows, export manifests, and dry-run previews.
+15 moreshow less
›Adds PWA install support and Web Push notifications for Gateway chat in the Control UI.
›Adds openclaw browser start --headless for one-shot local managed browser launch without modifying persisted browser config.
›Adds openclaw browser doctor --deep for live CDP role-snapshot probing on slow hosts, with iframe-aware refs and cursor-clickable detection.
›Exposes --background flag on openclaw infer image generate and openclaw infer image edit (with --openai-background as an OpenAI-specific alias), plus --output-format png|jpeg for fal image generation.
›Adds openclaw plugins registry command for explicit persisted-registry inspection and --refresh repair.
›Adds metadata-only model_call_started and model_call_ended plugin hooks for provider/model call telemetry.
›Adds a bundled diagnostics-prometheus plugin with a protected gateway scrape route for low-cardinality diagnostics metrics.
›Emits OpenTelemetry openclaw.harness.run spans and openclaw.harness.duration_ms metrics for agent harness lifecycle telemetry.
›Exports openclaw.tool.loop counters and spans, openclaw.context.assembled spans, and bounded memory histograms/pressure spans via OTEL.
›Adds GenAI gen_ai.client.token.usage histogram and gen_ai.client.operation.duration histogram for model usage and latency tracking.
›Supports signal-specific OTLP endpoint overrides for traces, metrics, and logs via config or standard OTEL environment variables.
›Propagates W3C traceparent headers from trusted model-call trace context to provider transports.
›Adds bounded openclaw.agent label to OpenClaw token metrics for per-agent Grafana dashboard grouping.
›Adds first-run TUI setup helper, local planner fallback, full-TUI interactive Crestodian, startup progress indicators, and context mode selector.
└──▷ BREAKING ON UPGRADE
!Managed plugin install metadata consolidates into plugins/installs.json, replacing plugins/installed-index.json; plugins.installs is no longer an authored config surface.
!OPENCLAW_DISABLE_PERSISTED_PLUGIN_REGISTRY is now a deprecated break-glass switch; operators should use registry repair instead.
llama.cpp server router now forwards form-data, enabling /v1/audio/transcriptions in router mode.
└──▷ GET THIS VERSION
$ git clone --branch b8952 https://github.com/ggml-org/llama.cpp.git
# already have the repo? check out this version:$ git checkout b8952
›Enables the server router to forward multipart/form-data requests to model servers, unlocking use of the /v1/audio/transcriptions endpoint in router mode.