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.1.6 adds SurrealDB support via new SurrealDb class and renames store_tool_results to store_tool_messages
└──▷ GET THIS VERSION
$ git clone --branch v2.1.6 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:$ git checkout v2.1.6
›Adds the SurrealDb class for complete SurrealDB integration with Agents, Teams, and Workflows.
›Renames the store_tool_results flag to store_tool_messages for clarity; tool message pairs (tool result + the assistant message containing the corresponding tool call) are now removed together to maintain valid message sequences required by most model providers.
└──▷ BREAKING ON UPGRADE
!The store_tool_results flag is renamed to store_tool_messages; any code or config referencing store_tool_results will break on upgrade.
AutoGPT Platform v0.6.33 adds OAuth2 and password credentials, per-user graph execution rate limiting, sticky notes, and new Perplexity and Fact Checker blocks.
└──▷ GET THIS VERSION
$ git clone --branch autogpt-platform-beta-v0.6.33 https://github.com/Significant-Gravitas/AutoGPT.git
# already have the repo? check out this version:$ git checkout autogpt-platform-beta-v0.6.33
›Adds OAuth2 credential support in the new FlowEditor builder.
›Adds user password credential support in the new FlowEditor builder.
›Adds discriminator logic in the new builder's credential system for selecting among multiple credential types.
›Adds channel ID support to SendDiscordMessageBlock for consistency with other Discord blocks.
›Implements a rate-limited Discord alerting system for platform-level operational alerts.
›Includes default input values in graph exports.
›Adds a dedicated Perplexity block for querying the Perplexity API.
›Adds a references output pin to the Fact Checker block.
›Adds sticky notes UI in the new builder canvas.
›Adds search functionality in the new block menu.
›Adds graph loading and saving capability in the new builder.
›Adds Claude Haiku 4.5 model support.
›Adds dynamic search terms support.
›Whitelists Onboarding Agents for streamlined new-user flows.
›Adds Sentry user and tag tracking to node execution for observability.
›Logs Marketplace search terms for analytics.
›Simplifies running of core Docker services.
└──▷ BREAKING ON UPGRADE
!Concurrent graph execution limit is now enforced per user per graph and reduced to 25; workloads relying on more than 25 concurrent executions for the same graph will be rate-limited.
langchain-mistralai 1.0.0a1 adds reasoning support, v1 content format, and finish_reason in streaming metadata.
└──▷ GET THIS VERSION
$ git clone --branch langchain-mistralai==1.0.0a1 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-mistralai==1.0.0a1
└──▷ USE IT
Extract structured output using the JSON Schema method for strict schema adherence.
python
from langchain_mistralai import ChatMistralAI
from pydantic import BaseModel
class Answer(BaseModel):
answer: str
confidence: float
llm = ChatMistralAI(model="mistral-large-latest")
structured = llm.with_structured_output(Answer, method="json_schema")
result = structured.invoke("What is the capital of France?")
print(result)
›Adds support for the MistralAI reasoning feature and v1 content format via feat(mistralai): support reasoning feature and v1 content (#33485).
›Includes finish_reason in response metadata when parsing MistralAI chunks to AIMessageChunk.
›Supports method="json_schema" in structured output for ChatMistralAI.
›Supports strict and method parameters in with_structured_output.
›Adds model_name to response metadata for ChatMistralAI.
+9 moreshow less
›Enables setting the base URL for ChatMistralAI via environment variable.
›Adds max_retries parameter support to ChatMistralAI.
›Supports model_kwargs in ChatMistralAI.
›Adds retrying mechanism for rate-limit errors in MistralAIEmbeddings.
›Allows setting an AI message prefix (Prefix) in AIMessage for MistralAI.
›Adds usage_metadata to invoke and stream responses.
›Supports custom tokenizers in ChatMistralAI.
›Supports TypedDict as tool schema input.
›Supports passing a custom client instance into ChatMistralAI.
LangChain 1.0.0rc1 introduces a middleware pipeline for agents with HITL, PII, retry, fallback, tool-call limits, and injected runtime support.
└──▷ GET THIS VERSION
$ git clone --branch langchain==1.0.0rc1 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain==1.0.0rc1
└──▷ USE IT
Attach a tool-call limit and PII middleware to an agent to prevent runaway tool use and scrub sensitive data before model calls.
python
from langchain_v1.agents import create_agent
from langchain_v1.agents.middleware import ToolCallLimitMiddleware, PIIMiddleware
agent = create_agent(
model=model,
tools=[search, calculator],
middleware=[ToolCallLimitMiddleware(max_calls=5), PIIMiddleware()],
)
›Adds wrap_model_call and wrap_tool_call middleware hooks (with async implementations) to intercept and modify model and tool invocations inside create_agent.
›Adds before_agent and after_agent lifecycle hooks for running logic before and after agent execution.
›Adds TodoListMiddleware (formerly PlanningMiddleware) for structured task planning inside the agent loop.
›Adds ToolCallLimitMiddleware to cap the number of tool calls an agent may make per run.
›Adds ModelFallbackMiddleware and retry_model_request middleware hook for automatic model fallback and request retry logic.
+15 moreshow less
›Adds PIIMiddleware for detecting and handling personally identifiable information in agent context.
›Adds Context Editing Middleware for runtime manipulation of the agent's context window.
›Adds LLM selection middleware (add llm selection middleware) enabling dynamic model routing within the agent.
›Adds tool retry middleware for automatically retrying failed tool calls.
›Adds injected runtime argument support so middleware and tools can receive a ToolRuntime context object at invocation time.
›Adds Human-in-the-Loop (HITL) patterns with description generator middleware and refined interrupt/response handling.
›Adds dynamic system prompt middleware for runtime prompt generation inside create_agent.
›Adds a decorator pattern for dynamically generated middleware via create_agent.
›Adds async support to create_agent for fully asynchronous agent execution.
›Adds a tool emulator for representing and handling server-side tools within modifyModelRequest and tool call flows.
›Adds RemoveMessage to the langchain_v1 messages namespace for explicit message removal from agent state.
›Adds stuff and map_reduce chains to the langchain package.
›Adds PEP 604 (| union) syntax support in tool node error handlers.
›Adds improvements to Anthropic prompt caching, including context_management initialization support in init_chat_model.
›Drops Python 3.9 support; minimum supported version is now Python 3.10.
└──▷ BREAKING ON UPGRADE
!Python 3.9 is no longer supported; the minimum required Python version is 3.10.
!PlanningMiddleware is renamed to TodoListMiddleware; any code referencing PlanningMiddleware will break.
!ToolNode is removed from create_agent and from the agents namespace; callers that passed a ToolNode to create_agent must migrate.
!Global state is removed from the langchain-v1 package; code relying on those globals will break.
!create_react_agent is renamed to create_agent; any direct call to create_react_agent will break.
!The model_request graph node is renamed to model; workflows or code referencing the node by name model_request will break.
!The runtime argument replaces tool_runtime for injected tool arguments; code using tool_runtime will break.
!wrap_model_call replaces on_model_call / modify_model_request; code referencing the old names will break.
!wrap_tool_call replaces on_tool_call; code referencing on_tool_call will break.
langchain-tests 1.0.0rc1 adds parametrized tool-calling tests, PDF ToolMessage support, and new vector store/output version controls.
└──▷ GET THIS VERSION
$ git clone --branch langchain-tests==1.0.0rc1 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-tests==1.0.0rc1
›Adds a property to skip relevant tests when a vector store does not support get_by_ids(), preventing false failures in standard test suites.
›Adds a property to set the name of the parameter for the number of results to return in retriever standard tests.
›Enables parametrization of output_version in standard tests, allowing test suites to validate multiple output format versions.
›Parametrizes tool-calling tests so integrations can be validated across multiple tool-calling configurations.
›Supports PDF inputs in ToolMessages as a new content block type in standard tests.
+1 moreshow less
›Supports PDF and audio input in Chat Completions format within standard tests.
langchain-core 1.0.0rc2 adds VertexAI content support, PDF ToolMessages, OpenAI web_search tool, Bedrock document blocks, and more.
└──▷ GET THIS VERSION
$ git clone --branch langchain-core==1.0.0rc2 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-core==1.0.0rc2
└──▷ USE IT
Include document IDs when converting LangChain messages to OpenAI format, useful for tracing which documents were referenced.
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
safe_text = sanitize_for_postgres(llm_output)
cursor.execute('INSERT INTO results (content) VALUES (%s)', (safe_text,))
›Adds include_id optional parameter to convert_to_openai_messages function to control whether document IDs are included in converted messages.
›Adds id field to Document passed to the filter callback in InMemoryVectorStore similarity search.
›Adds web_search to the OpenAI built-in tools list in langchain-core.
›Adds sanitize_for_postgres utility function to strip PostgreSQL NUL bytes that cause DataError.
›Adds ls_model_name override support via kwargs on model invocations.
+12 moreshow less
›Adds permissive deserialization mode via a new option in the deserialization API.
›Supports PDF inputs in ToolMessage content blocks.
›Supports AWS Bedrock document content blocks in msg_content_output.
›Supports VertexAI standard content format in core message handling.
›Supports PromptTemplate addition for formats other than f-string.
›Includes original block type in server tool results for google-genai integrations.
›Exposes recognized block types for tool messages via expose tool message recognized block types.
›Enables response body tracing on error for improved observability.
›Zeros out token costs for cache hits in token usage tracking.
›Supports additional hashing options in the indexing API, with a warning on SHA-1 usage.
›Allows custom Mermaid diagram URL for graph visualization.
›Adds reasoning type support in convert_to_openai_messages.
└──▷ BREAKING ON UPGRADE
!BaseMemory is deleted from langchain-core and moved to langchain-classic; any code importing it from core will break.
!Items marked for removal in schemas.py are deleted; code referencing those symbols will break.
!function_calling.py utilities marked for removal are deleted; any imports from that module will break.
!The pydantic_v1/ compatibility shim is deleted; code importing from langchain_core.pydantic_v1 will break.
!get_relevant_documents is deleted; callers must switch to the replacement retriever interface.
!Globals are removed from langchain-v1 and updated in langchain-classic and langchain-core; code relying on the old global state will break.
Continue v1.29.0 adds full secrets parsing across all CLI flags
└──▷ 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]
›Adds full secrets parsing for all CLI flags, enabling secret values to be resolved from config.yaml for every command-line argument.
GitHub Copilot CLI v0.0.343 adds --additional-mcp-config for per-session MCP server overrides and a new Claude Haiku 4.5 model.
└──▷ GET THIS VERSION
$ git clone --branch v0.0.343 https://github.com/github/copilot-cli.git
# already have the repo? check out this version:$ git checkout v0.0.343
└──▷ TRY IT
Temporarily inject or override an MCP server for a single session without touching your permanent config — useful for testing a new tool or applying environment-specific overrides in CI.
›Adds --additional-mcp-config flag to temporarily add or override MCP server configuration per session, accepting inline JSON (e.g. '{"mcpServers": {"my-tool": {...}}}') or a file path prefixed with @; the flag can be passed multiple times with later values overriding earlier ones.
›Adds Claude Haiku 4.5 as a selectable model, accessible via the /model slash command.
›Adds a prompt to run /terminal-setup when needed to enable multi-line input.
›Adds a shimmer effect to the 'Thinking...' indicator and allows cycling through slash commands from the bottom of the list back to the top.
$ git clone --branch v0.0.342 https://github.com/github/copilot-cli.git
# already have the repo? check out this version:$ git checkout v0.0.342
└──▷ USE IT
Persist debug-level logging across all Copilot CLI sessions so you can diagnose model-access or policy errors without re-setting flags each time.
ini
log_level = debug
›Adds persistent log_level option in ~/.copilot/config to control debug log verbosity without per-session flags; supported values: none, error, warning, info, debug, all, default.
›New session state stored in ~/.copilot/session-state; legacy sessions retained in ~/.copilot/history-session-state and migrated automatically when resumed via copilot --resume.
›Enables non-interactive GitHub Enterprise logins by honoring the GH_HOST environment variable in PAT and gh authentication modes.
›Enables the Kitty keyboard protocol by default, unlocking multi-line input via Shift+Ctrl on supported terminals.
›Adds /terminal-setup command to enable multi-line input in VS Code and its forks.
+2 moreshow less
›Adds gradlew to the list of commands whose subcommands can be allow-listed.
›New session logging format decouples session storage from timeline display, improving scalability for future features.