Heads up This site is currently under heavy development.
Subscribe Get it delivered — the daily firehose, filtered to the tools you run, plus the documentation changes vendors never announce. Compare plans →

The AI Toolchain — issue -367, April 30, 2025

THE AI TOOLCHAIN NO. -367
Tail
THE DAILY RELEASE FIREHOSE
PUBLISHED APRIL 30, 2025 · EVERY WEEKDAY
EDITIONS tail grep head diff uniq

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.

VIEW
ISSUE VIEW full issue
Do you prefer this view?
$ tct list   # 39 tools matched
AI & LLM Tooling
◆  AI Agent Frameworks

Agno (formerly Phidata)

Sources Release notes → v1.4.3 16 RELEASES · 2025-04-02 → 2025-04-30 NOTES STABLE

Agno v1.4.3 adds native Llama API model classes, AWS session token support for Claude, and DynamoDB profile-based auth.

└──▷ GET THIS VERSION
$ git clone --branch v1.4.3 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:
$ git checkout v1.4.3
  • Adds native SDK and OpenAI-like model classes for the Llama API.
  • Adds AWS session token support for Claude, enabling use of credentials from assumed IAM roles.
  • Adds AWS profile-based authentication support for DynamoDB.
  • Adds reasoning model support for o4-mini (and anticipated o4) in the OpenAI reasoning model class.
15 more releases in this issue · 2025-04-02 → 2025-04-30
v1.4.2 NOTES STABLE

Agno v1.4.2 adds MCP SSE transport, tool hooks, shared team session state, and new Cartesia, Gemini, and Groq tool integrations.

└──▷ GET THIS VERSION
$ git clone --branch v1.4.2 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:
$ git checkout v1.4.2
  • Adds MCP SSE transport support, enabling agents to connect to SSE MCP Servers alongside the existing transport options.
  • Adds tool hooks that wrap around all tool calls for both Toolkits and custom tools, enabling pre/post-call logic across every tool invocation.
  • Adds shared Team Session State — a single state dictionary accessible across a team leader and all team members via tools given to the leader or members.
  • Adds CartesiaTool for text-to-speech capabilities using Cartesia.
  • Adds a Gemini image tool for generating images using Gemini models.
+3 moreshow less
  • Adds Groq audio tools for audio translation, transcription, and generation using Groq models.
  • Expands result sets returned by PubmedTools.
  • Allows custom tools to return any type — the return value is now handled and converted automatically before being passed to the model.
v1.4.1 NOTES STABLE

Agno v1.4.1 adds meeting notification sending and richer PubMed article data to its toolkits.

└──▷ GET THIS VERSION
$ git clone --branch v1.4.1 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:
$ git checkout v1.4.1
  • Adds option in the Google Calendar / meeting toolkit to send meeting notifications to attendees when creating or updating events.
  • Enhances PubmedTools with more comprehensive article data, returning additional metadata fields beyond basic citation info.
v1.4.0 NOTES STABLE

Agno v1.4.0 promotes Memory to GA, adds OpenAITools and ZepTools, and brings include/exclude tool filtering to all toolkits.

└──▷ GET THIS VERSION
$ git clone --branch v1.4.0 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:
$ git checkout v1.4.0
└──▷ USE IT
Limit a large toolkit to only the tools your agent actually needs, reducing attack surface and token overhead.
python
from agno.tools.some_toolkit import SomeToolkit

agent = Agent(
    tools=[SomeToolkit(include_tools=["search", "fetch"])],
)
  • Adds include_tools and exclude_tools parameters to all toolkits, enabling selective enabling/disabling of individual tools inside larger toolkits.
  • Adds OpenAITools class to enable text-to-speech and image generation through OpenAI's APIs.
  • Adds ZepTools and AsyncZepTools classes to manage Agent memories via zep-cloud.
  • Promotes Agentic user Memory management from beta to generally available, with enable_user_memories and enable_session_summaries now set directly on the Agent or Team.
  • Adds reasoning model support (e.g. Deepseek-R1) via Azure AI Foundry.
└──▷ BREAKING ON UPGRADE
  • !Agents now default to the new Memory class instead of the deprecated AgentMemory; agent.memory.messages is replaced by run.messages for run in agent.memory.runs (or agent.get_messages_for_session()).
  • !create_user_memories is renamed to enable_user_memories and must now be set directly on the Agent or Team.
  • !create_session_summary is renamed to enable_session_summaries and must now be set directly on the Agent or Team.
v1.3.5 NOTES STABLE

Agno v1.3.5 adds async support for five vector DBs, reasoning events on RunResponse, and Google Gemini cache support.

└──▷ GET THIS VERSION
$ git clone --branch v1.3.5 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:
$ git checkout v1.3.5
  • Populates reasoning_content on RunResponse for all reasoning types across stream/non-stream and async/non-async modes, with a unified JSON structure for Reasoning events.
  • Adds async support for ClickHouse, ChromaDB, Cassandra, PineconeDB, and Pgvector vector database backends.
  • Adds Google Gemini caching support: cache files and send cached content to Gemini models.
v1.3.4 NOTES STABLE

Agno v1.3.4 adds a web browser tool, proxy support for URL and PDF readers, and improved memory management.

└──▷ GET THIS VERSION
$ git clone --branch v1.3.4 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:
$ git checkout v1.3.4
└──▷ USE IT
Pass custom Azure client parameters to the embedder at construction time.
python
from agno.embedder.azure_openai import AzureOpenAIEmbedder

embedder = AzureOpenAIEmbedder(
    client_params={
        'api_version': '2024-02-01',
        'azure_deployment': 'my-embedding-deployment'
    }
)
  • Adds proxy parameter to the URL reader, enabling requests through a proxy when fetching remote content.
  • Adds proxy parameter to the PDF reader, enabling proxy-routed PDF retrieval.
  • Adds client_params argument support to AzureOpenAIEmbedder, allowing custom client parameters to be passed through.
  • Adds mode attribute to Team class data serialization, exposing team mode in serialized output.
  • Adds a new webbrowser tool for agents to interact with web browsers.
+2 moreshow less
  • Improves memory management with updates to the Memory system for better session and memory handling.
  • Gives database session state preference over in-memory session state for more consistent agent state persistence.
v1.3.3 NOTES STABLE

Agno v1.3.3 adds Ollama and AzureOpenAI reasoning support, Gemini file upload, and expanded token metrics.

└──▷ GET THIS VERSION
$ git clone --branch v1.3.3 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:
$ git checkout v1.3.3
  • Adds audio, reasoning, and cached token counts to metrics where available across models.
  • Enables native reasoning model support for Ollama and AzureOpenAI providers.
  • Enables direct use of uploaded files with Gemini models.
v.1.3.2 NOTES STABLE

Agno v1.3.2 adds Redis as a Memory storage backend and new agent convenience methods for session and user memory retrieval.

└──▷ GET THIS VERSION
$ git clone --branch v.1.3.2 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:
$ git checkout v.1.3.2
└──▷ USE IT
Retrieve the previous session summary and user memories programmatically after an agent run.
python
summary = agent.get_session_summary()
user_memories = agent.get_user_memories()
print(summary)
print(user_memories)
  • Adds add_member_tools_to_system_message to team configuration, allowing the member tool names to be removed from the system message sent to the team leader for broader transfer-function compatibility.
  • Adds agent.get_session_summary() method to retrieve the previous session summary from an agent.
  • Adds agent.get_user_memories() method to retrieve the current user's memories from an agent.
  • Supports Redis as a storage provider for Memory, enabling persistent memory backed by Redis.
  • Supports additional instructions on MemoryManager and SessionSummarizer for customizing memory behavior.
+1 moreshow less
  • Supports skipping SSL verification for Confluence connections when required.
v1.3.0 NOTES STABLE

Agno v1.3.0 revamps Memory with a new class, adds user/session params to agent.run(), and ships Redis session storage.

└──▷ GET THIS VERSION
$ git clone --branch v1.3.0 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:
$ git checkout v1.3.0
└──▷ USE IT
Serve multiple users from a single agent instance by scoping each call to a specific user and session.
python
agent.run("What did I order last time?", user_id="user-42", session_id="session-abc123")
  • Adds user_id and session_id parameters to agent.run(), scoping memory access to a single user and session to enable multi-user, multi-session applications from one agent configuration.
  • Introduces a new Memory class (beta) supporting add, update, delete, and semantic search over user memories, with agent-driven memory management.
  • Adds Redis as a session storage provider.
v1.2.16 NOTES STABLE

Agno v1.2.16 adds knowledge bases with agentic RAG to Teams, mirroring existing Agent functionality.

└──▷ GET THIS VERSION
$ git clone --branch v1.2.16 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:
$ git checkout v1.2.16
└──▷ USE IT
Attach a knowledge base to a Team with agentic RAG so the team leader can search documents before delegating tasks.
python
team = Team(
    members=[agent1, agent2],
    knowledge=knowledge_base,
    retriever=my_custom_retriever,
    search_knowledge=True,
)
  • Adds knowledge, retriever, and search_knowledge fields to Team, enabling knowledge bases and agentic RAG on teams (previously only available on Agent).
  • Improves Teams task forwarding reliability and makes the team leader more conversational, with new reasoning-with-teams examples.
v1.2.14 NOTES STABLE

Agno v1.2.14 adds expanded GithubTools, async MongoDB VectorDB support, and stream_intermediate_resp on print_response.

└──▷ GET THIS VERSION
$ git clone --branch v1.2.14 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:
$ git checkout v1.2.14
└──▷ USE IT
Stream intermediate agent responses to the console as they arrive, useful for long-running tasks where you want live visibility.
python
agent.print_response(stream_intermediate_resp=True)
  • Adds stream_intermediate_resp parameter to print_response for streaming intermediate responses.
  • Expands GithubTools with many additional capabilities.
  • Adds async support for MongoDB as a vector database, enabling use in async knowledge bases.
  • Converts all utility scripts to be Windows-compatible.
v1.2.12 NOTES STABLE

Agno v1.2.12 adds ReasoningTools, timezone-aware agents, and Google Cloud JSON session storage

└──▷ GET THIS VERSION
$ git clone --branch v1.2.12 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:
$ git checkout v1.2.12
└──▷ USE IT
Ensure an agent's date-aware instructions reflect the user's local timezone rather than UTC.
python
from agno.agent import Agent

agent = Agent(
    timezone_identifier="America/New_York",
    # ... other params
)
Give an agent an advanced reasoning scratchpad so it can work through complex problems step-by-step before responding.
python
from agno.agent import Agent
from agno.tools.reasoning import ReasoningTools

agent = Agent(
    tools=[ReasoningTools()],
    # ... other params
)
  • Adds timezone_identifier parameter to the Agent class to include the agent's timezone alongside the current date in its instructions.
  • Adds ReasoningTools class providing an advanced reasoning scratchpad for agents.
  • Adds JSON-based session storage on Google Cloud via a new Google Cloud Storage backend for memory/session state.
  • Extends async/await support to URLKnowledgeBase, FireCrawlKnowledgeBase, and DocxKnowledgeBase for non-blocking knowledge base operations.
  • Enables thinking support for the @tool decorator.
v1.2.10 NOTES STABLE

Agno v1.2.10 adds KnowledgeTools for agent-driven thinking, searching, and document analysis over a knowledge base.

└──▷ GET THIS VERSION
$ git clone --branch v1.2.10 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:
$ git checkout v1.2.10
└──▷ USE IT
Equip an agent with KnowledgeTools so it can autonomously search and reason over documents in a knowledge base at query time.
python
from agno.tools.knowledge import KnowledgeTools

agent = Agent(
    knowledge=knowledge_base,
    tools=[KnowledgeTools(knowledge=knowledge_base)],
)
  • Adds KnowledgeTools class enabling agents to think, search, and analyse documents within a knowledge base.
v1.2.9 NOTES STABLE

Agno v1.2.9 adds MultiMCPTools for connecting agents to multiple MCP servers in a single interface.

└──▷ GET THIS VERSION
$ git clone --branch v1.2.9 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:
$ git checkout v1.2.9
└──▷ USE IT
Connect an agent to multiple MCP servers at once using the new MultiMCPTools class.
python
from agno.tools.mcp import MultiMCPTools

tools = MultiMCPTools(
    commands=[
        "npx -y @modelcontextprotocol/server-filesystem /tmp",
        "npx -y @modelcontextprotocol/server-brave-search"
    ]
)

agent = Agent(tools=[tools], ...)
  • Adds MultiMCPTools class to connect agents to multiple MCP servers simultaneously, with a simplified interface that only accepts command.
  • Updates Gemini model support for structured outputs when tools are in use.
└──▷ BREAKING ON UPGRADE
  • !The MCPTools interface now only allows command to be passed; any previously supported parameters beyond command will no longer be accepted.
v1.2.8 NOTES STABLE

Agno v1.2.8 adds instructions and add_instructions to Toolkit so tool usage guidance flows into the model system message.

└──▷ GET THIS VERSION
$ git clone --branch v1.2.8 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:
$ git checkout v1.2.8
└──▷ USE IT
Attach tool-specific instructions to a custom toolkit so the model always receives guidance on how to use it, without manually editing the agent system prompt.
python
from agno.tools import Toolkit

class MySearchToolkit(Toolkit):
    def __init__(self):
        super().__init__(
            name="my_search",
            instructions="Always prefer recent results. Limit queries to 10 words.",
            add_instructions=True,
        )

    def search(self, query: str) -> str:
        ...
  • Adds instructions and add_instructions fields to the Toolkit class, allowing per-toolkit usage instructions to be injected into the model's system message when add_instructions=True.
v1.2.7 NOTES STABLE

Agno v1.2.7 adds Gemini image generation, async knowledge base/vector DB support, and result caching on all toolkits.

└──▷ GET THIS VERSION
$ git clone --branch v1.2.7 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:
$ git checkout v1.2.7
└──▷ USE IT
Load a large PDF knowledge base asynchronously to speed up ingestion in an async agent pipeline.
python
import asyncio
from agno.knowledge.pdf import PDFKnowledgeBase

kb = PDFKnowledgeBase(path='reports/')
asyncio.run(kb.aload())
  • Adds image generation via the gemini-2.0-flash-exp-image-generation model, enabling agents to produce images directly through Gemini.
  • Adds result caching to all Agno Toolkits and any custom functions decorated with @tool.
  • Adds async/await support to LanceDb, Milvus, and Weaviate vector DBs, enabling use in agent.arun and agent.aprint_response.
  • Adds async/await support to JSONKnowledgeBase, PDFKnowledgeBase, PDFUrlKnowledgeBase, CSVKnowledgeBase, CSVUrlKnowledgeBase, ArxivKnowledgeBase, WebsiteKnowledgeBase, YoutubeKnowledgeBase, and TextKnowledgeBase.
  • Enables knowledge_base.aload() for async knowledge base loading, substantially increasing ingestion speed in async contexts.
Was this useful?

AutoGPT

Sources Release notes → autogpt-platform-beta-v0.6.8 6 RELEASES · 2025-04-09 → 2025-04-30 NOTES STABLE

AutoGPT Platform v0.6.8 adds admin agent downloads, a user spending dashboard, and restores the PrintConsoleBlock.

└──▷ GET THIS VERSION
$ git clone --branch autogpt-platform-beta-v0.6.8 https://github.com/Significant-Gravitas/AutoGPT.git
# already have the repo? check out this version:
$ git checkout autogpt-platform-beta-v0.6.8
  • Adds an admin capability to download agents for review.
  • Adds a user spending admin dashboard for monitoring platform credit usage.
  • Adds optional multiselect support in the UI for block input fields.
5 more releases in this issue · 2025-04-09 → 2025-04-30
autogpt-platform-beta-v0.6.7 NOTES STABLE

AutoGPT Platform v0.6.7 adds agent forking, Prometheus execution metrics, and a billing page toggle.

└──▷ GET THIS VERSION
$ git clone --branch autogpt-platform-beta-v0.6.7 https://github.com/Significant-Gravitas/AutoGPT.git
# already have the repo? check out this version:
$ git checkout autogpt-platform-beta-v0.6.7
  • Exposes execution Prometheus metrics for monitoring agent runs.
  • Adds a billing page toggle to the UI.
  • Enables forking agents directly from the Library, creating editable copies of existing agents.
  • Adds retry logic on executor process initialization to improve resilience.
  • Uses forkserver process creation strategy where available for improved executor process handling.
autogpt-platform-beta-v0.6.6 NOTES STABLE

AutoGPT Platform beta v0.6.6 adds the latest LLM models to the platform.

└──▷ GET THIS VERSION
$ git clone --branch autogpt-platform-beta-v0.6.6 https://github.com/Significant-Gravitas/AutoGPT.git
# already have the repo? check out this version:
$ git checkout autogpt-platform-beta-v0.6.6
  • Adds the latest LLM models as selectable options for agents.
autogpt-platform-beta-v0.6.5 NOTES STABLE

AutoGPT Platform v0.6.5 adds wallet top-up, auto-refill, and credentials UX for library agents.

└──▷ GET THIS VERSION
$ git clone --branch autogpt-platform-beta-v0.6.5 https://github.com/Significant-Gravitas/AutoGPT.git
# already have the repo? check out this version:
$ git checkout autogpt-platform-beta-v0.6.5
  • Adds credentials UX on the /library/agents/[id] page, letting users manage agent credentials directly from the agent library.
  • Adds wallet top-up and auto-refill functionality to the platform's billing/credit system.
  • Updates the completed task group design in the Wallet UI.
  • Adds a retry mechanism for pika publish_message to improve message delivery reliability.
autogpt-platform-beta-v0.6.4 NOTES STABLE

AutoGPT Platform v0.6.4 migrates execution queue to RabbitMQ and adds onboarding phase 2.

└──▷ GET THIS VERSION
$ git clone --branch autogpt-platform-beta-v0.6.4 https://github.com/Significant-Gravitas/AutoGPT.git
# already have the repo? check out this version:
$ git checkout autogpt-platform-beta-v0.6.4
  • Migrates the agent execution queue and cancel mechanism to RabbitMQ, replacing the previous RPC service in the Agent Executor.
  • Implements Onboarding Phase 2 for new users.
  • Adds Sentry environment tracking on the frontend and initializes Sentry in app services for observability.
autogpt-platform-beta-v0.6.2 NOTES STABLE

AutoGPT Platform v0.6.2 adds a generic webhook block, real-time execution updates, advanced block search, and Llama 4 model support.

└──▷ GET THIS VERSION
$ git clone --branch autogpt-platform-beta-v0.6.2 https://github.com/Significant-Gravitas/AutoGPT.git
# already have the repo? check out this version:
$ git checkout autogpt-platform-beta-v0.6.2
  • Adds a generic webhook block, enabling agents to trigger or receive arbitrary webhook events.
  • Adds advanced block search with relevance ranking, making it faster to find the right block in large agent graphs.
  • Adds support for Llama 4 Maverick and Llama 4 Scout models as available LLM options.
  • Adds real-time execution updates for the platform library, surfacing live agent run status without manual refresh.
  • Adds a real-time 'Steps' count to the agent run view so practitioners can monitor execution progress as it happens.
+4 moreshow less
  • Adds an 'Open in builder' action on agent run views, enabling one-click navigation from a live run to the builder for inspection or editing.
  • Adds UI for Agent Input subtypes, allowing more precise input configuration within the agent builder.
  • Implements baseline Sentry logging for platform-level error tracking and observability.
  • Makes agent store data publicly accessible to non-authenticated users, broadening discoverability of published agents.
Was this useful?

CrewAI

Sources Release notes → 0.118.0 3 RELEASES · 2025-04-10 → 2025-04-30 NOTES STABLE

Framework for orchestrating role-playing, autonomous AI agents. By fostering collaborative intelligence, CrewAI empowers agents to work together seamlessly, tackling complex tasks.

CrewAI 0.118.0 adds no-code Guardrail creation and renames TaskGuardrail to LLMGuardrail.

└──▷ GET THIS VERSION
$ git clone --branch 0.118.0 https://github.com/crewAIInc/crewAI.git
# already have the repo? check out this version:
$ git checkout 0.118.0
  • Adds support for no-code Guardrail creation to simplify AI behavior controls without writing custom guardrail logic.
└──▷ BREAKING ON UPGRADE
  • !TaskGuardrail is renamed to LLMGuardrail; any code importing or referencing TaskGuardrail will break on upgrade.
2 more releases in this issue · 2025-04-10 → 2025-04-30
0.117.0 NOTES STABLE

CrewAI 0.117.0 adds result_as_answer decorator support, GPT-4.1/Gemini-2.x models, and a HuggingFace CLI provider.

└──▷ GET THIS VERSION
$ git clone --branch 0.117.0 https://github.com/crewAIInc/crewAI.git
# already have the repo? check out this version:
$ git checkout 0.117.0
└──▷ USE IT
Return a tool's output directly as the agent's final answer, bypassing further LLM reasoning — useful for deterministic lookup tools where you trust the result completely.
python
from crewai.tools import tool

@tool(result_as_answer=True)
def lookup_cve(cve_id: str) -> str:
    """Fetch CVE details from internal database."""
    return fetch_cve_record(cve_id)
  • Adds result_as_answer parameter to the @tool decorator, allowing a tool's output to be used directly as the agent's final answer.
  • Supports new language models: GPT-4.1, Gemini-2.0, and Gemini-2.5 Pro.
  • Adds HuggingFace as a provider option in the CrewAI CLI.
  • Enhances knowledge management capabilities.
0.114.0 NOTES STABLE

CrewAI 0.114.0 lets agents run standalone, adds custom LLM support, external memory, and Opik observability.

└──▷ GET THIS VERSION
$ git clone --branch 0.114.0 https://github.com/crewAIInc/crewAI.git
# already have the repo? check out this version:
$ git checkout 0.114.0
└──▷ USE IT
Run a single agent as a standalone unit — useful in Flows or one-off tasks without assembling a full Crew.
python
from crewai import Agent

researcher = Agent(
    role="Research Analyst",
    goal="Find the latest CVEs for Apache HTTP Server",
    backstory="You are an expert in vulnerability research.",
    llm="gpt-4o"
)

result = researcher.kickoff()
print(result)
  • Enables agents as atomic, standalone units — call Agent(...).kickoff() without a full Crew.
  • Supports custom LLM implementations for bringing your own model client.
  • Integrates External Memory for persistent agent knowledge across runs.
  • Adds Opik observability integration for tracing and monitoring agent workflows.
  • Adds wildcard support to emit() for flexible event broadcasting.
+3 moreshow less
  • Introduces secure fingerprints for agents and crews to uniquely identify and track them.
  • Adds multimodal agent validation to enforce correct configuration of multimodal agents.
  • Enhanced YAML extraction for more robust crew and agent definition parsing.
Was this useful?

Stanford NLP DSPy

Sources Release notes → 2.6.22 4 RELEASES · 2025-04-18 → 2025-04-30 NOTES STABLE

DSPy 2.6.22 adds async support to ReAct and caching for async LM calls, plus custom types in MCP tools.

└──▷ GET THIS VERSION
$ git clone --branch 2.6.22 https://github.com/stanfordnlp/dspy.git
# already have the repo? check out this version:
$ git checkout 2.6.22
  • Adds async execution path to dspy.ReAct, enabling non-blocking agent loops in async applications.
  • Adds caching support for async LM calls, bringing async usage to parity with the synchronous cache behavior.
  • Supports arguments of custom types in dspy MCP tool definitions, expanding the range of tool signatures that can be expressed.
  • Improves adapter handling of Python Literal and Optional types for more robust input/output validation.
3 more releases in this issue · 2025-04-18 → 2025-04-30
2.6.20 NOTES STABLE

DSPy 2.6.20 adds native async support for callbacks and dspy.Tool, plus MCP tool integration via dspy.Tool.from_mcp_tool.

└──▷ GET THIS VERSION
$ git clone --branch 2.6.20 https://github.com/stanfordnlp/dspy.git
# already have the repo? check out this version:
$ git checkout 2.6.20
└──▷ USE IT
Wrap an MCP tool as a DSPy tool to use it inside a ReAct agent on the same day MCP tools are available.
python
import dspy

# mcp_tool is an MCP-protocol tool object from your MCP session
dspy_tool = dspy.Tool.from_mcp_tool(mcp_tool)

agent = dspy.ReAct(signature="question -> answer", tools=[dspy_tool])
result = agent(question="What is the current price of AAPL?")
  • Adds dspy.Tool.from_mcp_tool class method to construct a dspy.Tool directly from an MCP tool, enabling Model Context Protocol integration.
  • Adds native async support for callbacks and dspy.Tool, allowing asynchronous execution throughout the DSPy module pipeline.
2.6.19 NOTES STABLE

DSPy 2.6.19 adds async support on critical paths, a fanout cache, and expanded dspy.Tool argument handling.

└──▷ GET THIS VERSION
$ git clone --branch 2.6.19 https://github.com/stanfordnlp/dspy.git
# already have the repo? check out this version:
$ git checkout 2.6.19
└──▷ USE IT
Pass kwargs-accepting functions directly as ReAct tools when the tool signature is dynamic or variadic.
python
import dspy

def search(query: str, **kwargs) -> str:
    # kwargs can carry optional parameters like top_k, filters, etc.
    return f"Results for {query}"

tool = dspy.Tool(search)
react = dspy.ReAct("Answer the question.", tools=[tool])
result = react(question="What is the capital of France?")
Run multiple DSPy module calls concurrently in an async application to parallelize LM requests.
python
import asyncio
import dspy

dspy.configure(lm=dspy.LM("openai/gpt-4o"))
qa = dspy.ChainOfThought("question -> answer")

async def main():
    results = await asyncio.gather(
        qa.acall(question="What is SSRF?"),
        qa.acall(question="What is SSTI?"),
    )
    print(results)

asyncio.run(main())
  • Supports composite argument type parsing in dspy.Tool, enabling richer type hints for tool inputs.
  • Supports kwargs in dspy.Tool, allowing tools to accept variable keyword arguments.
  • Allows overwriting max_iter at runtime in ReAct, giving per-invocation control over agent loop depth.
  • Adds async support across DSPy critical paths, enabling non-blocking LM calls in async workflows.
  • Introduces a fanout cache for DSPy, enabling parallel cache lookups to reduce latency.
2.6.18 NOTES STABLE

DSPy 2.6.18 adds global num_threads/provide_traceback settings, a two-step adapter, streaming support, and default args in dspy.Tool.

└──▷ GET THIS VERSION
$ git clone --branch 2.6.18 https://github.com/stanfordnlp/dspy.git
# already have the repo? check out this version:
$ git checkout 2.6.18
└──▷ USE IT
Set thread concurrency and traceback behavior once at startup rather than on every call.
python
import dspy

dspy.settings.configure(
    num_threads=16,
    provide_traceback=True,
)

lm = dspy.LM('openai/gpt-4o')
dspy.settings.configure(lm=lm)
Wrap a function that has optional parameters as a dspy.Tool without manually supplying defaults on every invocation.
python
import dspy

def search(query: str, top_k: int = 5) -> list:
    ...

tool = dspy.Tool(search)  # default top_k=5 is preserved automatically
  • Moves num_threads into dspy.settings so thread concurrency can be configured globally instead of per-call.
  • Moves provide_traceback into dspy.settings for global traceback control across all modules.
  • Adds a maximum size cap for the global history to bound memory growth during long runs.
  • Introduces a two-step adapter for improved structured-output handling.
  • Supports default argument values in dspy.Tool, reducing boilerplate when wrapping functions with optional parameters.
+1 moreshow less
  • Adds generic streaming support across optimizers and modules.
Was this useful?

deepset Haystack

Sources Release notes → v2.13.0 2 RELEASES · 2025-04-02 → 2025-04-22 NOTES STABLE

Haystack v2.13.0 adds async Agent support, a new Toolset class, the @super_component decorator, and broad http_client_kwargs proxy/SSL configuration.

└──▷ GET THIS VERSION
$ git clone --branch v2.13.0 https://github.com/deepset-ai/haystack.git
# already have the repo? check out this version:
$ git checkout v2.13.0
└──▷ USE IT
Run an async web-search agent — useful in async web servers or notebooks where blocking calls are not acceptable.
python
result = await web_search_agent.run_async(
    messages=[ChatMessage.from_user("Find information about Haystack by deepset")]
)
Group related tools into a Toolset and pass them to an Agent in one shot, simplifying tool management across large tool libraries.
python
from haystack.tools import Toolset
from haystack.components.agents import Agent
from haystack.components.generators.chat import OpenAIChatGenerator

math_toolset = Toolset([tool_one, tool_two])
agent = Agent(
    chat_generator=OpenAIChatGenerator(model="gpt-4o-mini"),
    tools=math_toolset
)
Build a custom hybrid retriever SuperComponent with minimal boilerplate using the @super_component decorator.
python
from haystack import Pipeline, super_component
from haystack.components.joiners import DocumentJoiner
from haystack.components.embedders import SentenceTransformersTextEmbedder
from haystack.components.retrievers import InMemoryBM25Retriever, InMemoryEmbeddingRetriever
from haystack.document_stores.in_memory import InMemoryDocumentStore

@super_component
class HybridRetriever:
    def __init__(self, document_store: InMemoryDocumentStore):
        self.pipeline = Pipeline()
        self.pipeline.add_component("text_embedder", SentenceTransformersTextEmbedder())
        self.pipeline.add_component("embedding_retriever", InMemoryEmbeddingRetriever(document_store))
        self.pipeline.add_component("bm25_retriever", InMemoryBM25Retriever(document_store))
        self.pipeline.add_component("document_joiner", DocumentJoiner(join_mode="reciprocal_rank_fusion"))
        self.pipeline.connect("text_embedder", "embedding_retriever")
        self.pipeline.connect("bm25_retriever", "document_joiner")
        self.pipeline.connect("embedding_retriever", "document_joiner")
  • Adds run_async method to Agent, calling the underlying ChatGenerator's run_async when available, enabling built-in async agent workflows.
  • Adds http_client_kwargs parameter to OpenAIChatGenerator, AzureOpenAIChatGenerator, AzureOpenAIGenerator, OpenAIGenerator, DALLEImageGenerator, OpenAIDocumentEmbedder, OpenAITextEmbedder, AzureOpenAITextEmbedder, AzureOpenAIDocumentEmbedder, and RemoteWhisperTranscriber for custom proxy and SSL configuration.
  • Introduces the Toolset class (importable from haystack.tools) for grouping, filtering, serializing, and reusing multiple Tool instances as a single unit passable to Agent, ChatGenerator, and ToolInvoker.
  • Adds @super_component decorator (importable from haystack) so any class with a pipeline attribute is automatically promoted to a full SuperComponent without manual wiring.
  • Adds two ready-made SuperComponents: MultiFileConverter and DocumentPreprocessor, encapsulating common indexing pipeline logic.
+5 moreshow less
  • Adds run_async method to OpenAITextEmbedder, OpenAIDocumentEmbedder, AzureOpenAITextEmbedder, AzureOpenAIDocumentEmbedder, HuggingFaceAPIDocumentEmbedder, and HuggingFaceAPITextEmbedder for async embedding.
  • Agent tracing now captures inputs and outputs of each ChatGenerator and ToolInvoker call as dedicated child spans, enabling step-by-step visibility in tracers like Langfuse.
  • SuperComponents now support mapping non-leaf pipeline outputs to SuperComponent outputs via output_mapping.
  • Adds component_name and component_type attributes to PipelineRuntimeError, plus a new PipelineComponentsBlockedError subclass for pipelines where no components are unblocked.
  • Deprecates deserialize_tools_inplace utility function; deserialize_tools_or_toolset_inplace should be used instead (removal planned for Haystack 2.14.0).
└──▷ BREAKING ON UPGRADE
  • !The api, api_key, and api_params parameters of LLMEvaluator, ContextRelevanceEvaluator, and FaithfulnessEvaluator have been removed; use the chat_generator parameter with a ChatGenerator configured for JSON output instead.
  • !The generator_api and generator_api_params parameters of LLMMetadataExtractor and the LLMProvider enum have been removed; use chat_generator instead.
1 more release in this issue · 2025-04-02 → 2025-04-22
v2.12.0 NOTES STABLE

Haystack v2.12.0 adds an Agent component with state management, SuperComponent for reusable pipelines, AutoMergingRetriever, and Azure AD token support.

└──▷ GET THIS VERSION
$ git clone --branch v2.12.0 https://github.com/deepset-ai/haystack.git
# already have the repo? check out this version:
$ git checkout v2.12.0
└──▷ USE IT
Wrap an existing RAG pipeline as a SuperComponent to expose a single query input across a retriever and prompt builder.
python
from haystack import Pipeline, SuperComponent

with open("rag_pipeline.yaml", "r") as f:
    pipeline = Pipeline.load(f)

wrapper = SuperComponent(
    pipeline=pipeline,
    input_mapping={
        "query": ["retriever.query", "prompt_builder.query"],
    },
    output_mapping={"llm.replies": "replies"},
)

result = wrapper.run(query="What is the capital of France?")
print(result["replies"])
Split a CSV by individual rows instead of the default threshold, useful when each row is a self-contained record.
python
from haystack.components.preprocessors import CSVDocumentSplitter

splitter = CSVDocumentSplitter(split_mode="row-wise")
result = splitter.run(documents=docs)
  • Adds outputs_to_string parameter to Tool and ComponentTool to customize how tool output is converted into a string before being passed back to the ChatGenerator in a ChatMessage.
  • Adds split_mode parameter to CSVDocumentSplitter to control splitting mode; supports row-wise splitting in addition to the previous default threshold behavior.
  • Adds link_format parameter to DOCXToDocument (accepts 'markdown' or 'plain') to optionally include extracted hyperlink addresses in output Documents.
  • Adds azure_ad_token_provider parameter to AzureOpenAIGenerator, AzureOpenAIChatGenerator, AzureOpenAITextEmbedder, and AzureOpenAIDocumentEmbedder for Azure AD bearer-token authentication via a callable.
  • Introduces default_azure_token_provider utility function in haystack/utils/azure.py as a serializable default token provider for Azure AD authentication.
+9 moreshow less
  • Adds run_async method to HuggingFaceLocalChatGenerator, using ThreadPoolExecutor internally to return awaitable coroutines.
  • Adds split_unit='token' support to RecursiveDocumentSplitter; uses the o200k_base tiktoken tokenizer (requires tiktoken installed).
  • Adds chat_generator initialization parameter to LLMEvaluator, ContextRelevanceEvaluator, and FaithfulnessEvaluator, enabling any ChatGenerator instance (not only OpenAI-compatible) for evaluation.
  • New Agent component in haystack.components.agents supports tool-calling with any chat model, streaming via streaming_callback, multiple exit_conditions, and a state_schema for shared state across tools.
  • New SuperComponent class in haystack.core.super_component.super_component wraps any Haystack Pipeline into a reusable component with input_mapping and output_mapping for simplified interfaces.
  • New AutoMergingRetriever retrieval technique, used together with HierarchicalDocumentSplitter, implements auto-merging retrieval.
  • Adds asynchronous functionality and HTTP/2 support to LinkContentFetcher.
  • New State dataclass with customizable schema for managing Agent state; ToolInvoker extended to work with the new State.
  • Supports date/time handling via arrow in ChatPromptBuilder, consistent with existing PromptBuilder behavior.
└──▷ BREAKING ON UPGRADE
  • !ChatMessage.to_dict() now returns keys role, content, meta, and name — code that consumes the old dict format must be updated.
  • !The public generator attribute on LLMEvaluator, ContextRelevanceEvaluator, and FaithfulnessEvaluator is replaced by _chat_generator; code referencing .generator will break.
  • !to_pandas, comparative_individual_scores_report, and score_report are removed from EvaluationRunResult — use detailed_report, comparative_detailed_report, and aggregated_report instead.
  • !The Agent init parameter exit_condition is renamed to exit_conditions; existing code passing exit_condition= will break.
Was this useful?

LangChain

Sources Release notes → langchain-core==0.3.56 10 RELEASES · 2025-04-02 → 2025-04-24 NOTES STABLE

LangChain Core 0.3.56 adds PDF and audio input support and auto-generated filenames when converting multi-modal content blocks to OpenAI format.

└──▷ GET THIS VERSION
$ git clone --branch langchain-core==0.3.56 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-core==0.3.56
  • Supports PDF and audio input in the Chat Completions format via convert_to_openai_messages, expanding multi-modal block handling beyond images.
  • Auto-generates filenames for file content blocks when converting to OpenAI format, removing the need to manually name attachments.
  • Adds support for standard multi-modal blocks in convert_to_openai_messages for broader compatibility with OpenAI message conversion.
9 more releases in this issue · 2025-04-02 → 2025-04-24
langchain-core==0.3.56rc1 NOTES STABLE

langchain-core 0.3.56rc1 adds multi-modal content blocks, PDF/audio Chat Completions support, token-counting callback, and richer tool/prompt APIs.

└──▷ GET THIS VERSION
$ git clone --branch langchain-core==0.3.56rc1 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-core==0.3.56rc1
└──▷ USE IT
Pass a description directly to the @tool decorator instead of relying solely on the docstring.
python
from langchain_core.tools import tool

@tool(description='Fetches the current weather for a given city.')
def get_weather(city: str) -> str:
    ...
  • Adds convert_to_openai_messages support for standard multi-modal blocks (images, files, audio) and auto-generates filenames when converting file content blocks to OpenAI format.
  • Supports PDF and audio input in the Chat Completions format via core and standard-tests.
  • Adds tool_call exclusion filter in filter_message to strip tool-call entries from message lists.
  • Adds a token-counting callback handler (de-betaed usage callback) that stores model names per invocation.
  • Adds scoped_full as a new clean-up strategy for the indexing API.
+21 moreshow less
  • Supports passing a JSON schema directly as args_schema to tools instead of requiring a Pydantic model.
  • Supports passing a description argument to the @tool decorator.
  • Supports passing message dicts into ChatPromptTemplate.
  • Adds basemessage.text() convenience method on BaseMessage.
  • Adds artifact support in create_retriever_tool.
  • Exports InjectedToolCallId and ArgsSchema from the public API.
  • Makes abatch_as_completed respect max_concurrency.
  • Adds kwargs support to VectorStore.
  • Supports customization of backoff parameters in with_retries.
  • Supports tool_example_to_messages handling of final AIMessage responses.
  • Sets version='v2' as the default in astream_events.
  • De-betas rate limiters, making them stable API.
  • Adds DeleteResponse to the public module exports.
  • Makes Graph.Node.data optional, enabling partial graph node construction.
  • Improves OutputParser error messaging when model output is truncated due to max_tokens.
  • Adds retries and improved error messages to draw_mermaid_png.
  • Adds greater customization options for Mermaid diagram rendering.
  • Supports single-node subgraphs and nests subgraph nodes under their respective subgraphs in graph tracing.
  • Includes delayed inputs in the LangChain tracer.
  • Uses a custom __getattr__ in __init__.py files for lazy imports, improving import-time performance.
  • Propagates config_factories in RunnableBinding.
langchain-community==0.3.22 NOTES STABLE

LangChain Community 0.3.22 adds OAuth2 for Jira, Managed Identity for Azure AI Search, bind variables for Oracle ADB, custom runtimes for Riza, and more.

└──▷ GET THIS VERSION
$ git clone --branch langchain-community==0.3.22 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-community==0.3.22
  • Adds oauth2 support to the Jira toolkit, enabling OAuth2-based authentication flows.
  • Adds Managed Identity support for Azure AI Search integration.
  • Adds bind variable support for the Oracle ADB document loader.
  • Adds support for custom runtimes to Riza tools.
  • Adds usage_metadata support for LiteLLM streaming calls.
+2 moreshow less
  • Google Vertex AI Search now returns the website title as part of document metadata.
  • Removes pandas DataFrame dependency for similarity_search when using DuckDB as a vector store.
└──▷ BREAKING ON UPGRADE
  • !The AzureCosmosDBNoSqlVectorSearch community integration is deprecated in favor of the langchain-azure-ai implementation; existing code using it will need to migrate.
langchain-openai==0.3.14 NOTES STABLE

langchain-openai 0.3.14 adds standard audio input support and relaxes multimodal content block field requirements.

└──▷ GET THIS VERSION
$ git clone --branch langchain-openai==0.3.14 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-openai==0.3.14
  • Adds support for standard audio inputs in OpenAI integrations, enabling audio modality in LangChain standard tests.
  • Permits optional fields on multimodal content blocks, giving more flexibility when constructing mixed-media messages.
langchain-tests==0.3.18 NOTES STABLE

langchain-tests 0.3.18 adds multi-modal content block support across multiple integrations.

└──▷ GET THIS VERSION
$ git clone --branch langchain-tests==0.3.18 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-tests==0.3.18
  • Adds multi-modal content block support across multiple components, enabling richer message payloads beyond plain text.
langchain-core==0.3.52 NOTES STABLE

langchain-core 0.3.52 adds multi-modal content blocks, dict-based chat prompt templates, and customizable retry backoff parameters.

└──▷ GET THIS VERSION
$ git clone --branch langchain-core==0.3.52 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-core==0.3.52
  • Supports customization of backoff parameters in with_retries for finer control over retry behavior.
  • Adds multi-modal content blocks support across multiple components, enabling richer message payloads.
  • Adds dict-based chat prompt template support, allowing prompt templates to be defined as plain dicts.
  • Shares a single executor for async callbacks run in a sync context, improving async callback efficiency.
  • Uses a custom __getattr__ in __init__.py files for lazy imports, reducing import-time overhead.
langchain-xai==0.2.3 NOTES STABLE

langchain-xai 0.2.3 adds support for reasoning content in xAI model responses.

└──▷ GET THIS VERSION
$ git clone --branch langchain-xai==0.2.3 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-xai==0.2.3
  • Supports reasoning content in xAI model responses, enabling access to chain-of-thought or scratchpad output returned by reasoning-capable xAI models.
langchain-community==0.3.21 NOTES STABLE

LangChain Community 0.3.21 adds SAP HANA dialect, Gremlin edge properties, reasoning content for LiteLLM, and several loader enhancements.

└──▷ GET THIS VERSION
$ git clone --branch langchain-community==0.3.21 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-community==0.3.21
└──▷ USE IT
Load a GitBook site using a non-default sitemap URL, useful when the book publishes its sitemap at a custom path.
python
from langchain_community.document_loaders import GitbookLoader

loader = GitbookLoader(
    'https://docs.example.com',
    sitemap_url='https://docs.example.com/custom-sitemap.xml',
    load_all_paths=True
)
docs = loader.load()
Scrape a URL inside an authenticated browser session by reusing a Playwright storage-state file.
python
from langchain_community.document_loaders import PlaywrightURLLoader

loader = PlaywrightURLLoader(
    urls=['https://internal.example.com/dashboard'],
    storage_state='playwright_session.json'
)
docs = loader.load()
  • Adds sitemap_url parameter to GitbookLoader to support custom sitemap URLs.
  • Adds PlaywrightURLLoader support for a stored session file, enabling authenticated browser sessions.
  • Adds keep_newlines parameter to the process_pages method for finer control over page text formatting.
  • Adds SAP HANA dialect support to SQLDatabase.
  • Adds edge properties to the Gremlin graph schema output.
+6 moreshow less
  • Adds usage_metadata support for LiteLLM in ChatLiteLLM.
  • Adds reasoning content output support to ChatLiteLLM.
  • Adds BRAVE_SEARCH_API_KEY environment variable support to the Brave Search Tool, removing the requirement to pass the API key explicitly.
  • Adds the Perplexity extra package and deprecates the community-bundled ChatPerplexity in favour of the dedicated integration.
  • Adds a DynamoDBChatMessageHistory bulk add messages capability, with explicit error raising on failures.
  • Adds a warning when DuckDB is used as a vector store without the pandas dependency installed.
└──▷ BREAKING ON UPGRADE
  • !DynamoDBChatMessageHistory now raises errors on message-add failures rather than silently failing, which may surface exceptions in code that previously swallowed them.
langchain==0.3.23 NOTES STABLE

LangChain 0.3.23 adds a dedicated Perplexity partner integration and deprecates the community ChatPerplexity.

└──▷ GET THIS VERSION
$ git clone --branch langchain==0.3.23 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain==0.3.23
  • Adds a first-party Perplexity extra (partner integration) for ChatPerplexity, replacing the community-package version.
  • Deprecates the community version of ChatPerplexity in favour of the new partner integration.
langchain-openai==0.3.12 NOTES STABLE

langchain-openai 0.3.12 adds structured output and tools support plus token counting for o-series models in ChatOpenAI.

└──▷ GET THIS VERSION
$ git clone --branch langchain-openai==0.3.12 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-openai==0.3.12
  • Supports structured output and tools in ChatOpenAI, enabling constrained JSON responses and function-calling workflows.
  • Adds token counting support for o-series models (e.g. o1, o3) in ChatOpenAI, with file blocks ignored during token counting.
Was this useful?

LangChain LangGraph

Sources Release notes → sdk==0.1.66 24 RELEASES · 2025-04-01 → 2025-04-30 NOTES STABLE

Build resilient agents.

LangGraph SDK 0.1.66 adds checkpoint_during parameter to control mid-execution checkpointing in graph runs.

└──▷ GET THIS VERSION
$ git clone --branch sdk==0.1.66 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout sdk==0.1.66
└──▷ USE IT
Disable mid-run checkpointing for a streaming run to reduce storage overhead when you only need a final checkpoint on completion or interruption.
python
async for chunk in client.runs.stream(
    thread_id,
    assistant_id,
    input=input_data,
    checkpoint_during=False,
):
    print(chunk)
Force checkpointing after every node when running long graphs where intermediate state recovery matters.
python
run = await client.runs.create(
    thread_id,
    assistant_id,
    input=input_data,
    checkpoint_during=True,
)
  • Adds optional checkpoint_during: Optional[bool] parameter to stream, create, wait, and create_for_thread client methods, letting callers control whether checkpoints are written during graph execution or only at the end/interruption.
23 more releases in this issue · 2025-04-01 → 2025-04-30
sdk==0.1.65 NOTES STABLE

LangGraph SDK 0.1.65 adds sorting support to assistants search with new sort_by and sort_order parameters.

└──▷ GET THIS VERSION
$ git clone --branch sdk==0.1.65 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout sdk==0.1.65
└──▷ USE IT
Retrieve the most recently updated assistants first — useful for auditing or surfacing active agents in a large deployment.
python
results = await client.assistants.search(sort_by="updated_at", sort_order="desc")
  • Adds sort_by and sort_order parameters to Client.search for assistants, enabling sorting by assistant_id, graph_id, name, created_at, or updated_at in ascending or descending order.
  • Introduces new type aliases AssistantSortBy, ThreadSortBy, and SortOrder for strongly-typed sort parameter hints across assistant and thread searches.
0.4.1 NOTES STABLE

LangGraph 0.4.1 adds incremental UI message merging and drops Pydantic V1 support.

└──▷ GET THIS VERSION
$ git clone --branch 0.4.1 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout 0.4.1
└──▷ USE IT
Stream incremental prop updates to a UI message (e.g. progressively reveal content) instead of replacing the whole message on each update.
python
from langgraph.graph.ui import push_ui_message

# First emission creates the message
push_ui_message("my-component", {"status": "loading"}, message_id="msg-1")

# Subsequent call merges new props into the existing message
push_ui_message("my-component", {"status": "done", "result": "42"}, message_id="msg-1", merge=True)
  • Adds a merge parameter to push_ui_message enabling incremental/partial updates to existing UI messages without replacing them wholesale.
  • Drops Pydantic V1 support — SchemaCoercionMapper and langgraph.utils.pydantic now exclusively use Pydantic V2 APIs.
└──▷ BREAKING ON UPGRADE
  • !Pydantic V1 models are no longer supported in SchemaCoercionMapper; graphs using Pydantic V1 models will break on upgrade.
  • !TAG_NOSTREAM value changed from "langsmith:nostream" to "nostream"; code comparing against the old string literal will no longer match (the old value is available as TAG_NOSTREAM_ALT for backward compatibility).
0.4.0 NOTES STABLE

LangGraph 0.4.0 adds targeted interrupt resumption by ID and exposes pending interrupts on StateSnapshot

└──▷ GET THIS VERSION
$ git clone --branch 0.4.0 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout 0.4.0
└──▷ USE IT
Resume a specific interrupt by ID when multiple interrupts are pending in the same graph run, rather than sending a single resume value for all.
python
graph.invoke(Command(resume={interrupt.interrupt_id: "approved"}), config)
Inspect which interrupts are still pending after a step before deciding how to resume each one.
python
snapshot = graph.get_state(config)
for interrupt in snapshot.interrupts:
    print(interrupt.interrupt_id, interrupt.value)
  • Adds interrupt_id property on Interrupt that generates a unique ID from its namespace, enabling precise identification of individual interrupts.
  • Enhances Command.resume to accept a mapping of interrupt IDs to resume values, allowing targeted resumption of specific interrupts rather than all-or-nothing.
  • Adds interrupts field to StateSnapshot to track interrupts that occurred in a step and are pending resolution.
  • Propagates interrupts in "values" stream mode so invoke/ainvoke and streaming consumers now see interrupts emitted during graph execution.
  • Adds add_edge utility in graph visualization to prevent duplicate edges when rendering graphs with END nodes.
checkpoint==2.0.25 NOTES STABLE

LangGraph checkpoint savers gain delete_thread and adelete_thread methods to remove all data for a given thread ID.

└──▷ GET THIS VERSION
$ git clone --branch checkpoint==2.0.25 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout checkpoint==2.0.25
└──▷ USE IT
Purge all checkpoint data for a completed or abandoned thread to free storage and enforce data-retention policies.
python
from langgraph.checkpoint.memory import InMemorySaver

saver = InMemorySaver()

# synchronous
saver.delete_thread(thread_id="thread-abc123")

# async
await saver.adelete_thread(thread_id="thread-abc123")
  • Adds delete_thread and adelete_thread methods to BaseCheckpointSaver and InMemorySaver for deleting all checkpoints and writes associated with a specific thread ID.
0.3.32 NOTES STABLE

LangGraph 0.3.32 adds draw_graph for graph visualization and get_static_writes for static analysis of conditional edges.

└──▷ GET THIS VERSION
$ git clone --branch 0.3.32 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout 0.3.32
└──▷ USE IT
Visualize a compiled graph including subgraphs and conditional edges using the new dedicated draw_graph function.
python
from langgraph.pregel.draw import draw_graph

draw_graph(compiled_graph)
  • Adds get_static_writes method to ChannelWrite to support static analysis of what a writer might write, enabling better resolution of conditional edges.
  • Extends ChannelWrite.register_writer to accept static declarations for writers, with a new static field on ChannelWriteTupleEntry to declare writes for static analysis.
  • Adds new langgraph.pregel.draw module with a draw_graph function that simulates execution to discover edges, correctly handling subgraphs and conditional edges.
cli==0.2.7 NOTES STABLE

LangGraph CLI gains --image option to deploy pre-built Docker images without a rebuild step.

└──▷ GET THIS VERSION
$ git clone --branch cli==0.2.7 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout cli==0.2.7
└──▷ TRY IT
Deploy a previously built LangGraph image directly in CI without rebuilding — useful for promotion workflows where langgraph build already ran in an earlier stage.
$ langgraph up --image my-custom-langgraph-image:latest
  • Adds --image option to langgraph up to specify a pre-built Docker image for the langgraph-api service, skipping the build process entirely.
cli==0.2.6 NOTES STABLE

LangGraph CLI 0.2.6 adds --tunnel flag to expose local dev server publicly via Cloudflare.

└──▷ GET THIS VERSION
$ git clone --branch cli==0.2.6 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout cli==0.2.6
└──▷ TRY IT
Expose your local LangGraph dev server publicly so remote teammates or browser-based frontends can reach it without localhost blocking.
$ langgraph dev --tunnel
  • Adds --tunnel flag to the dev command to expose the local LangGraph API server through a public Cloudflare tunnel, enabling remote frontend access without localhost restrictions.
sdk==0.1.62 NOTES STABLE

LangGraph SDK 0.1.62 adds sort_by and sort_order parameters to thread search for ordered result retrieval.

└──▷ GET THIS VERSION
$ git clone --branch sdk==0.1.62 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout sdk==0.1.62
└──▷ USE IT
Retrieve the most recently updated threads first — useful when triaging active or stalled agent runs.
python
threads = await client.threads.search(
    sort_by="updated_at",
    sort_order="desc"
)
  • Adds sort_by and sort_order parameters to Client.search for sorting thread results by id, status, created_at, or updated_at in ascending or descending order.
checkpointpostgres==2.0.20 NOTES STABLE

LangGraph Postgres checkpoint library adds thread deletion and tightens search method signatures.

└──▷ GET THIS VERSION
$ git clone --branch checkpointpostgres==2.0.20 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout checkpointpostgres==2.0.20
└──▷ USE IT
Purge all checkpoint data for a completed or abandoned thread to reclaim storage.
python
saver = PostgresSaver(conn)
saver.delete_thread(thread_id="thread-abc123")
Purge thread data in an async workflow without blocking the event loop.
python
saver = AsyncPostgresSaver(conn)
await saver.adelete_thread(thread_id="thread-abc123")
  • Adds delete_thread method to PostgresSaver for complete removal of all checkpoints and writes tied to a specific thread ID.
  • Adds adelete_thread (async) and delete_thread (sync, with main-thread safety checks) to AsyncPostgresSaver for the same capability in async workflows.
  • Updates search on PostgresStore and asearch on AsyncPostgresStore to require query as an explicit keyword argument rather than a positional parameter.
└──▷ BREAKING ON UPGRADE
  • !The query parameter in PostgresStore.search is now a named (keyword) parameter; callers passing it positionally will break.
  • !The query parameter in AsyncPostgresStore.asearch is now a named (keyword) parameter; callers passing it positionally will break.
cli==0.2.5 NOTES STABLE

LangGraph CLI 0.2.5 adds internal config option to override Docker tags in generated Dockerfiles.

└──▷ GET THIS VERSION
$ git clone --branch cli==0.2.5 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout cli==0.2.5
└──▷ USE IT
Pin a specific base image tag in your generated Dockerfile instead of relying on the auto-detected Python/Node.js version.
json
{
  "_INTERNAL_docker_tag": "3.11-slim-bookworm"
}
  • Adds _INTERNAL_docker_tag configuration option to override the default Docker tag used in generated Dockerfiles, falling back to the Python or Node.js version when not set.
0.3.31 NOTES STABLE

LangGraph 0.3.31 adds CONFIG_KEY_THREAD_ID constant for tracking thread IDs in concurrent graph invocations.

└──▷ GET THIS VERSION
$ git clone --branch 0.3.31 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout 0.3.31
└──▷ USE IT
Access the current invocation's thread ID inside a node or custom checkpointer to correlate concurrent runs.
python
from langgraph.constants import CONFIG_KEY_THREAD_ID

def my_node(state, config):
    thread_id = config["configurable"].get(CONFIG_KEY_THREAD_ID)
    print(f"Running on thread: {thread_id}")
    return state
  • New langgraph.constants.CONFIG_KEY_THREAD_ID constant enables explicit tracking of thread IDs for current invocations in checkpointing and state management.
0.3.28 NOTES STABLE

LangGraph 0.3.28 adds support for multiple retry policies per node or task, applying the first matching policy on exception.

└──▷ GET THIS VERSION
$ git clone --branch 0.3.28 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout 0.3.28
└──▷ USE IT
Assign different retry policies per exception type on a node — e.g., retry rate-limit errors aggressively and network errors conservatively.
python
from langgraph.types import RetryPolicy
from langgraph.graph import StateGraph

rate_limit_policy = RetryPolicy(retry_on=RateLimitError, max_attempts=5, backoff_factor=2.0)
network_policy = RetryPolicy(retry_on=ConnectionError, max_attempts=2, backoff_factor=1.0)

graph = StateGraph(MyState)
graph.add_node("my_node", my_node_fn, retry=[rate_limit_policy, network_policy])
Apply ordered retry policies to a functional task so the first matching policy governs backoff and attempt count.
python
from langgraph.func import task
from langgraph.types import RetryPolicy

@task(retry=[RetryPolicy(retry_on=TimeoutError, max_attempts=3), RetryPolicy(retry_on=Exception, max_attempts=1)])
def fetch_data(url: str):
    ...
  • Supports passing a sequence of retry policies to StateGraph.add_node, langgraph.func.task, and Pregel, applying the first matching policy when an exception occurs.
  • Improves SchemaCoercionMapper performance with functools.lru_cache caching, fast paths for basic types, and better handling of tuple, set, and other collection types.
  • Adds compatibility with both Pydantic v1 and v2 in schema coercion via SchemaCoercionMapper.
cli==0.2.2 NOTES STABLE

LangGraph CLI 0.2.2 adds auto-detection of Python/JS graphs and smarter Docker base-image selection for mixed-language projects.

└──▷ GET THIS VERSION
$ git clone --branch cli==0.2.2 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout cli==0.2.2
  • Automatically detects Python and JavaScript graphs by file extension, eliminating manual language configuration.
  • Selects the appropriate Docker base image automatically based on project composition via new default_base_image logic.
  • Supports mixed Python/Node.js projects in a single configuration, with validate_config now auto-detecting and setting correct runtime versions for each graph file.
  • New docker_tag utility generates correct Docker image tags based on project configuration.
0.3.27 NOTES STABLE

LangGraph 0.3.27 adds checkpoint_during parameter to skip per-step checkpointing and boost large-graph performance.

└──▷ GET THIS VERSION
$ git clone --branch 0.3.27 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout 0.3.27
└──▷ USE IT
Skip per-step checkpointing on a large graph to reduce saver overhead during a high-throughput batch run.
python
result = graph.invoke({"messages": messages}, config=config, checkpoint_during=False)
Use the async streaming interface with end-only checkpointing to reduce latency in production pipelines.
python
async for chunk in graph.astream({"messages": messages}, config=config, checkpoint_during=False):
    process(chunk)
  • Adds checkpoint_during parameter to stream(), astream(), invoke(), and ainvoke() — set to False to checkpoint only at run end, reducing overhead in large graphs.
└──▷ BREAKING ON UPGRADE
  • !checkpoint_every_step is renamed to checkpoint_during in PregelLoop — any code referencing the old name will break.
cli==0.1.89 NOTES STABLE

LangGraph CLI now accepts dictionary-format graph definitions with a 'path' key in addition to plain import-path strings.

└──▷ GET THIS VERSION
$ git clone --branch cli==0.1.89 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout cli==0.1.89
  • Supports dictionary-format graph definitions (with a 'path' key) in the configuration file, alongside the existing plain import-path string format, enabling additional metadata to be co-located with graph paths.
0.3.25 NOTES STABLE

LangGraph 0.3.25 adds a UI messaging system to push, remove, and reduce UI component updates during graph execution.

└──▷ GET THIS VERSION
$ git clone --branch 0.3.25 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout 0.3.25
└──▷ USE IT
Stream UI component updates to a frontend during graph execution — e.g. show a progress card that is later replaced.
python
from langgraph.graph.ui import push_ui_message, delete_ui_message, ui_message_reducer

# Inside a graph node:
def my_node(state):
    msg = push_ui_message("progress-card", {"status": "running", "step": 1})
    # ... do work ...
    delete_ui_message(msg["id"])
    return state
Wire ui_message_reducer into a typed state so your graph automatically merges UI additions and removals across nodes.
python
from typing import Annotated
from langgraph.graph.ui import AnyUIMessage, ui_message_reducer
from typing_extensions import TypedDict

class GraphState(TypedDict):
    ui: Annotated[list[AnyUIMessage], ui_message_reducer]
  • New UIMessage TypedDict represents UI component updates with properties and metadata during graph execution.
  • New RemoveUIMessage TypedDict enables removal of UI components from the current graph state.
  • New AnyUIMessage Union type combines UIMessage and RemoveUIMessage for flexible type annotations.
  • New push_ui_message() function creates and sends UI messages to render components mid-execution.
  • New delete_ui_message() function removes a UI component from state by ID.
+1 moreshow less
  • New ui_message_reducer() function merges UI message lists, handling both additions and deletions.
prebuilt==0.1.8 NOTES STABLE

LangGraph prebuilt 0.1.8 adds a pre_model_hook to create_react_agent for trimming or summarizing long message histories before LLM calls.

└──▷ GET THIS VERSION
$ git clone --branch prebuilt==0.1.8 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout prebuilt==0.1.8
└──▷ USE IT
Trim a long conversation to the last N messages before each LLM call to avoid exceeding the model's context window.
python
from langgraph.prebuilt import create_react_agent
from langchain_core.messages import trim_messages

def pre_model_hook(state):
    trimmed = trim_messages(state["messages"], max_tokens=4096, token_counter=len)
    return {"llm_input_messages": trimmed}

agent = create_react_agent(
    model=llm,
    tools=tools,
    pre_model_hook=pre_model_hook,
)
Summarize earlier conversation turns and replace them with a summary message before each LLM call, without mutating the stored state.
python
def summarizing_hook(state):
    messages = state["messages"]
    if len(messages) > 20:
        summary = llm.invoke(f"Summarize this conversation: {messages[:-5]}")
        return {"llm_input_messages": [summary] + messages[-5:]}
    return {"llm_input_messages": messages}

agent = create_react_agent(
    model=llm,
    tools=tools,
    pre_model_hook=summarizing_hook,
)
  • Adds pre_model_hook parameter to create_react_agent, letting you inject a custom node before every LLM call to preprocess message history via trimming, summarization, or other logic.
  • Hook can return messages to update agent state or llm_input_messages to reshape only what the LLM sees, leaving persisted state untouched.
cli==0.1.84 NOTES STABLE

LangGraph CLI 0.1.84 adds custom UI configuration support for dev server and Docker builds.

└──▷ GET THIS VERSION
$ git clone --branch cli==0.1.84 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout cli==0.1.84
  • Supports ui and ui_config options in config files for customized UI when running langgraph dev.
  • Docker image builds now automatically detect and install UI dependencies (npm, yarn, pnpm, bun) when UI is configured.
  • Docker images now include LANGGRAPH_UI and LANGGRAPH_UI_CONFIG environment variables when UI is configured.
sdk==0.1.61 NOTES STABLE

LangGraph SDK 0.1.61 adds description support to assistant create and update methods.

└──▷ GET THIS VERSION
$ git clone --branch sdk==0.1.61 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout sdk==0.1.61
└──▷ USE IT
Tag a new assistant with a human-readable description so teammates can identify its purpose at a glance.
python
assistant = await client.assistants.create(
    graph_id="my-graph",
    description="Triages incoming support tickets and routes to the correct queue."
)
Update an existing assistant's description after a workflow change without recreating it.
python
await client.assistants.update(
    assistant_id="asst_abc123",
    description="Revised: handles both support tickets and billing inquiries."
)
  • Adds optional description field to AssistantBase TypedDict for storing assistant descriptions.
  • Adds description parameter to create and update methods (async and sync) on the assistants client.
checkpoint==2.0.24 NOTES STABLE

LangGraph checkpoint 2.0.24 adds explicit None serialization support in JsonPlusSerializer.

└──▷ GET THIS VERSION
$ git clone --branch checkpoint==2.0.24 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout checkpoint==2.0.24
└──▷ USE IT
Serialize and deserialize a None value in checkpoint state without errors — useful when graph state fields are legitimately null.
python
from langgraph.checkpoint.serde.jsonplus import JsonPlusSerializer

serde = JsonPlusSerializer()
type_tag, data = serde.dumps_typed(None)  # returns ("null", b"")
value = serde.loads_typed((type_tag, data))  # returns None
  • Supports None values in JsonPlusSerializer via a new "null" type designation, enabling round-trip serialization of null checkpoint state fields.
0.3.23 NOTES STABLE

LangGraph 0.3.23 adds REMOVE_ALL_MESSAGES to clear entire conversation histories in one operation.

└──▷ GET THIS VERSION
$ git clone --branch 0.3.23 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout 0.3.23
└──▷ USE IT
Clear an entire conversation history in one step instead of removing messages one by one — useful when resetting context between sessions or tasks.
python
from langgraph.graph.message import REMOVE_ALL_MESSAGES
from langchain_core.messages import RemoveMessage

# Pass this to your graph state update to discard all prior messages
state_update = {"messages": [RemoveMessage(id=REMOVE_ALL_MESSAGES)]}
  • Adds REMOVE_ALL_MESSAGES constant to wipe an entire MessageGraph conversation history in a single RemoveMessage call.
cli==0.1.83 NOTES STABLE

LangGraph CLI 0.1.83 adds TTL-based checkpointer config for automatic thread data cleanup in deployments.

└──▷ GET THIS VERSION
$ git clone --branch cli==0.1.83 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout cli==0.1.83
└──▷ USE IT
Configure automatic deletion of stale thread checkpoints after a set period to keep storage lean in long-running deployments.
python
from langgraph_cli.config import CheckpointerConfig, ThreadTTLConfig

checkpointer = CheckpointerConfig(
    ttl=ThreadTTLConfig(
        default_minutes=1440,   # delete thread data older than 24 hours
        sweep_interval_minutes=60,
        strategy="delete",
    )
)
  • Adds CheckpointerConfig class to configure the built-in checkpointer in LangGraph deployments via the main config file.
  • Adds ThreadTTLConfig class to set default TTL (in minutes), sweep interval, and expiry strategy ("delete") for automatic cleanup of thread checkpoints.
  • Supports passing checkpointer configuration to Docker environments via the LANGGRAPH_CHECKPOINTER environment variable automatically.
  • Switches from msgpack to ormsgpack for improved serialization performance.
cli==0.1.82 NOTES STABLE

LangGraph CLI dev command gains --allow-blocking flag to suppress synchronous I/O blocking errors

└──▷ GET THIS VERSION
$ git clone --branch cli==0.1.82 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout cli==0.1.82
└──▷ TRY IT
Run the dev server with a graph that intentionally uses blocking I/O (e.g., a synchronous HTTP client or file read) without the server aborting on detection.
$ langgraph dev --allow-blocking
  • Adds --allow-blocking flag to the dev command, allowing the server to run without raising errors when synchronous I/O blocking operations are detected.
Was this useful?

Letta (formerly MemGPT)

Sources Release notes → 0.7.5 2 RELEASES · 2025-04-23 → 2025-04-25 NOTES STABLE

Letta 0.7.5 adds count endpoints for agents, identities, sources, and tools.

└──▷ GET THIS VERSION
$ git clone --branch 0.7.5 https://github.com/letta-ai/letta.git
# already have the repo? check out this version:
$ git checkout 0.7.5
  • Adds API endpoints to retrieve counts of agents, identities, sources, and tools.
1 more release in this issue · 2025-04-23 → 2025-04-25
0.7.1 NOTES STABLE

Letta 0.7.1 adds a database Docker Compose file and reasoning token support for Gemini Flash.

└──▷ GET THIS VERSION
$ git clone --branch 0.7.1 https://github.com/letta-ai/letta.git
# already have the repo? check out this version:
$ git checkout 0.7.1
  • Adds a database Docker Compose file for easier local database setup.
  • Enables reasoning tokens when using Gemini Flash as the backing model.
  • Improves conversation search message filtering to work correctly with SQLite3.
Was this useful?

Microsoft AutoGen

Sources Release notes → python-v0.5.5 5 RELEASES · 2025-04-03 → 2025-04-25 NOTES STABLE

AutoGen v0.5.5 adds Workbench abstraction for stateful MCP servers and a new FunctionalTermination condition for teams.

└──▷ GET THIS VERSION
$ git clone --branch python-v0.5.5 https://github.com/microsoft/autogen.git
# already have the repo? check out this version:
$ git checkout python-v0.5.5
└──▷ USE IT
Use a stateful MCP server (GitHub) with a shared session so all tools stay authenticated under one login context.
python
async with McpWorkbench(server_params) as mcp:
    agent = AssistantAgent(
        "github_assistant",
        model_client=model_client,
        workbench=mcp,
        reflect_on_tool_use=True,
        model_client_stream=True,
    )
    await Console(agent.run_stream(task="Is there a repository named Autogen"))
Drive a headless browser via Playwright MCP inside a multi-agent team, sharing browser state across all tool calls.
python
async with McpWorkbench(StdioServerParams(command="npx", args=["@playwright/mcp@latest", "--headless"])) as mcp:
    agent = AssistantAgent("web_browsing_assistant", model_client=model_client, workbench=mcp)
    team = RoundRobinGroupChat([agent], termination_condition=TextMessageTermination(source="web_browsing_assistant"))
    await Console(team.run_stream(task="Find out how many contributors for the microsoft/autogen repository"))
  • Adds McpWorkbench — a new Workbench abstraction that lets agents share a single MCP server session across all tools, enabling stateful servers (e.g., login sessions, browser state) that tool adapters could not support.
  • Enables AssistantAgent to accept a workbench= parameter, wiring it directly to a shared-session tool collection.
  • Adds FunctionalTermination termination condition, letting teams define stop logic via an arbitrary function expression instead of only built-in conditions.
  • Adds new sample demonstrating autogen-core + FastAPI for a handoff multi-agent pattern with streaming and a UI.
4 more releases in this issue · 2025-04-03 → 2025-04-25
python-v0.5.4 NOTES STABLE

AutoGen v0.5.4 adds AgentTool/TeamTool nesting, Azure AI Agent adapter, Docker Jupyter executor, and Canvas shared memory.

└──▷ GET THIS VERSION
$ git clone --branch python-v0.5.4 https://github.com/microsoft/autogen.git
# already have the repo? check out this version:
$ git checkout python-v0.5.4
└──▷ USE IT
Delegate sub-tasks to a specialist agent by wrapping it as a tool — useful when an orchestrator should call a writer, coder, or researcher on demand.
python
writer_tool = AgentTool(agent=writer)
assistant = AssistantAgent(
    name="assistant",
    model_client=model_client,
    tools=[writer_tool],
    system_message="You are a helpful assistant.",
)
Let a CodeExecutorAgent automatically retry and self-debug when generated code fails, reducing manual intervention in automated pipelines.
python
from autogen_agentchat.agents import CodeExecutorAgent

executor_agent = CodeExecutorAgent(
    name="coder",
    code_executor=executor,
    max_retries_on_error=3,
)
  • Adds AgentTool and TeamTool to wrap agents and teams as callable tools for other agents, enabling nested agent hierarchies.
  • Introduces AzureAIAgent adapter with support for file search, code interpreter, and Azure AI Agent service integration.
  • Adds DockerJupyterCodeExecutor for sandboxed Jupyter code execution inside Docker containers.
  • Introduces experimental CanvasMemory — a shared whiteboard memory letting multiple agents collaboratively read/write a common artifact.
  • Adds autogen-contextplus community extension for advanced model context management with automatic summarization and truncation.
+4 moreshow less
  • SelectorGroupChat now supports streaming-only models (e.g., QwQ) via new model_client_streaming=True parameter, and can emit inner selector reasoning with emit_team_events=True.
  • CodeExecutorAgent gains max_retries_on_error parameter for automatic self-debugging retry loops on code execution failures.
  • Adds multiple_system_messages field to ModelInfo to generalize continuous system-message merging across model providers.
  • Docker code executor now supports exposing GPUs to the container.
python-v0.5.3 NOTES STABLE

AutoGen 0.5.3 adds code generation to CodeExecutorAgent, serializable AssistantAgent, MCP shared sessions, and team event controls.

└──▷ GET THIS VERSION
$ git clone --branch python-v0.5.3 https://github.com/microsoft/autogen.git
# already have the repo? check out this version:
$ git checkout python-v0.5.3
└──▷ USE IT
Generate and immediately execute LLM-produced code in one agent turn — useful for data-analysis or automation tasks where you want a single agent to both write and run code.
python
from autogen_agentchat.agents import CodeExecutorAgent

# model_client enables code generation; executor runs the result
agent = CodeExecutorAgent(
    name="coder",
    code_executor=executor,
    model_client=model_client,
)
result = await agent.run(task="Write and run a Python script that prints the first 10 Fibonacci numbers.")
Suppress internal team-coordination events from the stream when you only want final agent messages, or enable them for debugging selector decisions.
python
from autogen_agentchat.teams import SelectorGroupChat

team = SelectorGroupChat(
    participants=[agent1, agent2],
    model_client=model_client,
    emit_team_events=True,   # set False to hide SelectorSpeakerEvent etc.
)
async for msg in team.run_stream(task="Analyze this dataset."):
    print(msg)
  • Enables CodeExecutorAgent to generate and execute code in the same invocation via new code generation support.
  • Adds autogen_core.utils module with JSON schema utilities, enabling AssistantAgent to be serialized when output_content_type is set.
  • Introduces optional emit_team_events parameter on teams to control whether events like SelectorSpeakerEvent are emitted through run_stream.
  • Allows mcp_server_tools factory to reuse a shared MCP session, enabling patterns like a persistent Playwright MCP server connection.
  • Adds message type printing to the Console output.
python-v0.5.2 NOTES STABLE

AutoGen v0.5.2 adds Gemini 2.5 Pro support and exposes more Task-Centric Memory parameters and TypedDict classes.

└──▷ GET THIS VERSION
$ git clone --branch python-v0.5.2 https://github.com/microsoft/autogen.git
# already have the repo? check out this version:
$ git checkout python-v0.5.2
  • Adds Gemini 2.5 Pro Preview as a supported model.
  • Exposes additional Task-Centric Memory (TCM) configuration parameters for finer control over memory behavior.
  • Exposes TCM TypedDict classes so applications can directly reference and type-check Task-Centric Memory structures.
  • Adds PowerShell path detection to the code executor for Windows environments.
python-v0.5.1 NOTES STABLE

AutoGen v0.5.1 adds structured output, Azure AI Search tool, token-limited context, and richer model client capabilities.

└──▷ GET THIS VERSION
$ git clone --branch python-v0.5.1 https://github.com/microsoft/autogen.git
# already have the repo? check out this version:
$ git checkout python-v0.5.1
└──▷ USE IT
Have an AssistantAgent produce structured Pydantic output after a tool call — ideal for downstream programmatic consumption.
python
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.messages import TextMessage
from autogen_agentchat.ui import Console
from autogen_core import CancellationToken
from autogen_core.tools import FunctionTool
from autogen_ext.models.openai import OpenAIChatCompletionClient
from pydantic import BaseModel
from typing import Literal

class AgentResponse(BaseModel):
    thoughts: str
    response: Literal["happy", "sad", "neutral"]

def sentiment_analysis(text: str) -> str:
    return "happy" if "happy" in text else "sad" if "sad" in text else "neutral"

tool = FunctionTool(sentiment_analysis, description="Sentiment Analysis", strict=True)
model_client = OpenAIChatCompletionClient(model="gpt-4o-mini")
agent = AssistantAgent(
    name="assistant",
    model_client=model_client,
    tools=[tool],
    system_message="Use the tool to analyze sentiment.",
    output_content_type=AgentResponse,
)
await Console(agent.on_messages_stream(
    [TextMessage(content="I am happy today!", source="user")], CancellationToken()
))
  • Introduces StructuredMessage[T] generic message type, enabling custom application-defined message types in AgentChat.
  • Adds output_content_type parameter to AssistantAgent so agents can emit structured Pydantic model responses via StructuredMessage.
  • New AzureAISearchTool integration lets agents perform semantic/keyword search against Azure AI Search indexes.
  • Adds candidate_func parameter to SelectorGroupChat for filtering the pool of agent candidates before selection.
  • Adds async support for selector_func and candidate_func in SelectorGroupChat.
+7 moreshow less
  • Adds cancellation support to the Docker code executor.
  • Introduces TokenLimitedChatCompletionContext to cap token usage in long-running agent contexts.
  • Adds thought field support to AzureAIChatCompletionClient and OllamaChatCompletionClient for reasoning/chain-of-thought tokens.
  • Adds reasoning field to ModelClientStreamingChunkEvent to distinguish thought tokens from response tokens.
  • Introduces modular Transformer Pipeline for model clients (e.g. Gemini/Anthropic content transforms).
  • Extends model family resolution to support non-prefixed model names such as Mistral.
  • Changes CodeExecutor default working directory to a temporary directory.
└──▷ BREAKING ON UPGRADE
  • !Custom agents subclassing BaseChatAgent and custom TerminationCondition subclasses must update method signatures: replace AgentEvent with BaseAgentEvent and ChatMessage with BaseChatMessage in type hints.
  • !The CodeExecutor default directory is now a temporary directory instead of the previous default, which may affect executors that relied on the old default path for output artifacts.
Was this useful?

OpenAI Agents SDK

Sources Release notes → v0.0.14 5 RELEASES · 2025-04-03 → 2025-04-30 NOTES STABLE

OpenAI Agents SDK v0.0.14 exposes token usage in streaming context and makes TTS voice types exportable.

└──▷ GET THIS VERSION
$ git clone --branch v0.0.14 https://github.com/openai/openai-agents-python.git
# already have the repo? check out this version:
$ git checkout v0.0.14
  • Exposes usage data on the streaming context, letting callers inspect token consumption during streamed agent runs.
  • Makes the TTS voices type exportable from the SDK, enabling typed references to voice options in downstream code.
4 more releases in this issue · 2025-04-03 → 2025-04-30
v0.0.13 NOTES STABLE

OpenAI Agents SDK v0.0.13 adds extra_headers to ModelSettings, streaming cancellation, and to_json_dict serialization.

└──▷ GET THIS VERSION
$ git clone --branch v0.0.13 https://github.com/openai/openai-agents-python.git
# already have the repo? check out this version:
$ git checkout v0.0.13
└──▷ USE IT
Pass custom HTTP headers (e.g. for routing or auth) on every request made with a given ModelSettings.
python
from agents import ModelSettings

settings = ModelSettings(
    model="gpt-4o",
    extra_headers={"X-Custom-Header": "my-value", "X-Team-ID": "team-42"}
)
Serialize current ModelSettings to a dict for logging, caching, or passing over a network boundary.
python
from agents import ModelSettings

settings = ModelSettings(model="gpt-4o", temperature=0.7)
print(settings.to_json_dict())
  • Adds extra_headers parameter to ModelSettings to pass custom HTTP headers on a per-model-settings basis.
  • Adds to_json_dict() method to ModelSettings for serializing model configuration to a JSON-compatible dictionary.
  • Enables cancellation of in-progress streaming runs via the streaming result object.
v0.0.12 NOTES STABLE

OpenAI Agents SDK v0.0.12 adds LiteLLM integration for any third-party model and lifts strict-mode restrictions on agent output types.

└──▷ GET THIS VERSION
$ git clone --branch v0.0.12 https://github.com/openai/openai-agents-python.git
# already have the repo? check out this version:
$ git checkout v0.0.12
└──▷ USE IT
Run an agent backed by Anthropic Claude via LiteLLM without changing any other agent code.
python
from agents import Agent

agent = Agent(
    name="claude-agent",
    model="litellm/anthropic/claude-3-5-sonnet-20240620",
    instructions="You are a helpful assistant.",
)
  • Adds LiteLLM integration: pass any provider model to Agent via model="litellm/<provider>/<model_name>" (e.g. model="litellm/anthropic/claude-3-5-sonnet-20240620") to route completions through LiteLLM's unified interface.
  • Enables non-strict output types on Agent, allowing more complex structured outputs that previously required strict JSON schema mode.
v0.0.10 NOTES STABLE

OpenAI Agents SDK v0.0.10 adds previous_response_id support and new ModelSettings fields extra_query, extra_body, and stream_options.

└──▷ GET THIS VERSION
$ git clone --branch v0.0.10 https://github.com/openai/openai-agents-python.git
# already have the repo? check out this version:
$ git checkout v0.0.10
└──▷ USE IT
Pass custom query parameters or body fields through to the underlying API request for advanced use cases.
python
from agents import ModelSettings

settings = ModelSettings(
    extra_query={'my-param': 'value'},
    extra_body={'custom_field': True}
)
  • Adds extra_query and extra_body fields to ModelSettings for passing extra request parameters directly to the underlying API call.
  • Adds support for previous_response_id from the OpenAI Responses API, enabling stateful multi-turn conversations without re-sending full message history.
  • Adds overwrite mechanism for stream_options in ModelSettings, allowing fine-grained control over streaming behavior.
└──▷ BREAKING ON UPGRADE
  • !The referencable_id field is renamed to response_id — any code referencing referencable_id will break.
v0.0.8 NOTES STABLE

OpenAI Agents SDK v0.0.8 adds store, metadata, and reasoning to ModelSettings, plus Databricks MLflow tracing and MCP strict-schema conversion.

└──▷ GET THIS VERSION
$ git clone --branch v0.0.8 https://github.com/openai/openai-agents-python.git
# already have the repo? check out this version:
$ git checkout v0.0.8
└──▷ USE IT
Pass reasoning configuration and metadata alongside a stored model call in a single ModelSettings definition.
python
from agents import Agent, ModelSettings

agent = Agent(
    name="analyst",
    model="o3",
    model_settings=ModelSettings(
        store=True,
        reasoning={"effort": "high"},
        metadata={"session": "pentest-42", "owner": "red-team"}
    )
)
  • Adds store parameter to ModelSettings to control whether model responses are stored.
  • Adds metadata field to ModelSettings for attaching arbitrary key-value metadata to model requests.
  • Adds reasoning parameter to ModelSettings to configure model reasoning behavior.
  • Converts MCP tool schemas to strict mode where possible, improving compatibility with strict-schema model APIs.
  • Adds Databricks MLflow tracing integration for agent observability.
Was this useful?

PydanticAI

Sources Release notes → v0.1.8 13 RELEASES · 2025-04-01 → 2025-04-28 NOTES STABLE

PydanticAI v0.1.8 lets tools return multi-modal content such as images and audio alongside text.

└──▷ GET THIS VERSION
$ git clone --branch v0.1.8 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v0.1.8
  • Tools can now return multi-modal content (e.g. images, audio, binary data) directly from tool functions, not just text or structured data.
12 more releases in this issue · 2025-04-01 → 2025-04-28
v0.1.7 NOTES STABLE

PydanticAI v0.1.7 adds Gemini video support, multi-instruction agents, and attribute docstrings on tools by default.

└──▷ GET THIS VERSION
$ git clone --branch v0.1.7 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v0.1.7
  • Sets use_attribute_docstrings=True as the default on tools, so attribute-level docstrings are automatically used in tool schemas without explicit configuration.
  • Supports multiple instructions on an Agent, with correct concatenation when more than one instruction is provided.
  • Adds Gemini video support, enabling video content to be passed to Gemini models via the PydanticAI message API.
v0.1.6 NOTES STABLE

PydanticAI v0.1.6 adds OpenTelemetry tracing for AudioUrl, VideoUrl, DocumentUrl, and ImageUrl content.

└──▷ GET THIS VERSION
$ git clone --branch v0.1.6 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v0.1.6
  • OpenTelemetry spans now include AudioUrl, VideoUrl, DocumentUrl, and ImageUrl content metadata, enabling full observability over multimodal model interactions.
v0.1.4 NOTES STABLE

PydanticAI v0.1.4 adds MCP logging, o3/o4-mini support, and OpenAI document input types.

└──▷ GET THIS VERSION
$ git clone --branch v0.1.4 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v0.1.4
└──▷ USE IT
Target OpenAI's o3 or o4-mini reasoning models in an agent definition.
python
from pydantic_ai import Agent
from pydantic_ai.models.openai import OpenAIModel

agent = Agent(OpenAIModel('o3'))
# or
agent = Agent(OpenAIModel('o4-mini'))
  • Supports DocumentUrl and BinaryContent document types for OpenAI provider inputs.
  • Adds support for OpenAI o3 and o4-mini models.
  • Supports MCP logging and raises minimum MCP version requirement to 1.6.0.
  • Makes agent and graph runs serializable, enabling persistence and resumption of run state.
└──▷ BREAKING ON UPGRADE
  • !Minimum MCP version is now 1.6.0; installations using an older MCP version will break.
v0.1.3 NOTES STABLE

PydanticAI v0.1.3 adds extra_body to ModelSettings, OpenTelemetry instruction spans, and Gemini 2.5 Flash support.

└──▷ GET THIS VERSION
$ git clone --branch v0.1.3 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v0.1.3
└──▷ USE IT
Pass provider-specific body parameters that PydanticAI does not natively expose, such as enabling extended thinking on a compatible model.
python
from pydantic_ai import Agent
from pydantic_ai.settings import ModelSettings

agent = Agent(
    'openai:gpt-4o',
    model_settings=ModelSettings(extra_body={'reasoning_effort': 'high'})
)
result = agent.run_sync('Explain quantum entanglement.')
print(result.data)
  • Adds extra_body field to ModelSettings for passing arbitrary additional body parameters to model API requests.
  • Adds OpenTelemetry span events for instructions, making instruction content visible in traces.
  • Adds support for the gemini-2.5-flash-preview-04-17 model.
v0.1.2 NOTES STABLE

PydanticAI v0.1.2 exposes StdioServerParameters.cwd for controlling MCP server working directories.

└──▷ GET THIS VERSION
$ git clone --branch v0.1.2 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v0.1.2
└──▷ USE IT
Launch an MCP stdio server from a specific working directory so relative paths in the server process resolve correctly.
python
StdioServerParameters(command='npx', args=['-y', 'my-mcp-server'], cwd='/path/to/project')
  • Exposes StdioServerParameters.cwd parameter, allowing callers to set the working directory for stdio MCP server processes.
v0.1.0 NOTES STABLE

PydanticAI v0.1.0 renames result→output, adds VideoUrl for Bedrock, spans on run results, and an instructions parameter.

└──▷ GET THIS VERSION
$ git clone --branch v0.1.0 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v0.1.0
└──▷ USE IT
Access OpenTelemetry spans attached to a run result for custom trace export or assertion in tests.
python
result = await agent.run('Classify this alert.')
for span in result.spans:
    print(span.name, span.start_time)
  • Adds VideoUrl input support to BedrockConverseModel for passing video content to the Bedrock Converse API.
  • Adds additional configuration fields to BedrockConverseModel for the Bedrock Runtime API.
  • Adds instructions parameter to agents for supplying system-level instructions at call time.
  • Exposes spans as an attribute on agent/graph runs and run results for OpenTelemetry trace access.
  • Adds support for gemini-2.5-pro-preview-03-25 (paid tier of Gemini 2.5 Pro).
+1 moreshow less
  • Generalizes JSON schema transformations across model backends.
└──▷ BREAKING ON UPGRADE
  • !The result field/attribute is renamed to output across agent runs and run results — any code referencing .result will break on upgrade.
  • !format_as_xml has been moved to a new location — imports referencing the old module path will break on upgrade.
v0.0.55 NOTES STABLE

PydanticAI v0.0.55 allows empty user prompts in streaming runs and adds a PydanticAI User-Agent header to outbound requests.

└──▷ GET THIS VERSION
$ git clone --branch v0.0.55 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v0.0.55
  • Adds a PydanticAI User-Agent header to all outbound HTTP requests, enabling easier identification of traffic in server logs and API dashboards.
  • Supports empty user_prompt values in run_stream, allowing streaming runs to be initiated with no user message.
v0.0.54 NOTES STABLE

PydanticAI v0.0.54 adds stop_sequences to ModelSettings, optional user_prompt, and yields the initial graph node during iteration.

└──▷ GET THIS VERSION
$ git clone --branch v0.0.54 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v0.0.54
└──▷ USE IT
Stop model generation at a known delimiter — useful when parsing structured output from models that don't support native structured output.
python
from pydantic_ai import Agent
from pydantic_ai.settings import ModelSettings

agent = Agent(
    'openai:gpt-4o',
    model_settings=ModelSettings(stop_sequences=['---END---']),
)
result = await agent.run('Summarize this document.')
print(result.output)
  • Adds stop_sequences field to ModelSettings to control where model output is terminated.
  • Makes user_prompt optional, allowing agent invocations without a required user-facing prompt.
  • Graph (and therefore Agent) iteration now yields the initial node, giving callers visibility into the full execution sequence from the start.
v0.0.53 NOTES STABLE

PydanticAI v0.0.53 adds OpenAI strict mode support for structured output.

└──▷ GET THIS VERSION
$ git clone --branch v0.0.53 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v0.0.53
  • Adds OpenAI strict mode support, enabling stricter schema enforcement when using OpenAI models for structured output generation.
v0.0.52 NOTES STABLE

PydanticAI v0.0.52 adds dependency injection support to the evals framework.

└──▷ GET THIS VERSION
$ git clone --branch v0.0.52 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v0.0.52
  • Enables passing dependencies into evals, bringing PydanticAI's dependency-injection model to the evaluation framework.
v0.0.51 NOTES STABLE

PydanticAI v0.0.51 switches mcp-run-python to Deno and aligns OpenAI model strictness.

└──▷ GET THIS VERSION
$ git clone --branch v0.0.51 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v0.0.51
  • Switches the mcp-run-python server runtime from its previous backend to Deno.
  • Matches OpenAI models in strictness, aligning structured-output enforcement with OpenAI's strict mode behavior.
v0.0.49 NOTES STABLE

PydanticAI v0.0.49 adds Gemini 2.5 Pro, OpenAI built-in tools, and new OpenAIResponsesModelSettings fields

└──▷ GET THIS VERSION
$ git clone --branch v0.0.49 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v0.0.49
└──▷ USE IT
Control response summarization and truncation behaviour when using the OpenAI Responses API.
python
from pydantic_ai.models.openai import OpenAIResponsesModelSettings

settings = OpenAIResponsesModelSettings(
    generate_summary=True,
    truncation='auto'
)
  • Adds generate_summary and truncation fields to OpenAIResponsesModelSettings for controlling response summarization and context truncation.
  • Adds OpenAI built-in tools support, exposing OpenAI-native tool integrations through the PydanticAI interface.
  • Adds Gemini 2.5 Pro model support alongside CLI improvements.
  • Anthropic models now pass ImageUrl and DocumentUrl references directly without downloading content, enabling more efficient media handling.
Was this useful?

Microsoft Semantic Kernel

Sources Release notes → dotnet-1.48.0 8 RELEASES · 2025-04-03 → 2025-04-29 NOTES STABLE

Semantic Kernel .NET 1.48.0 adds Gemini thinking budget config, UserSecurityContext, OpenAPI operation selector, OpenTelemetry for Azure AI Inference, and graduates the Liquid prompt template package.

└──▷ GET THIS VERSION
$ git clone --branch dotnet-1.48.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:
$ git checkout dotnet-1.48.0
  • Adds UserSecurityContext to AzureOpenAIPromptExecutionSettings for passing user security context through Azure OpenAI prompt execution.
  • Introduces Gemini Thinking Budget Configuration for controlling reasoning token budgets in Google Gemini integrations.
  • Adds an OpenAPI operation selector, enabling callers to filter or choose which OpenAPI operations are exposed as kernel functions.
  • Adds OpenTelemetry support for Azure AI Inference, bringing tracing and metrics parity to the Azure AI Inference connector.
  • Graduates Microsoft.SemanticKernel.PromptTemplates.Liquid from experimental to stable, making the Liquid prompt template engine production-ready.
+4 moreshow less
  • Updates MCP integration to 0.1.0-preview.11, including details and support for remote MCP SSE servers and authentication.
  • Updates AgentFactory implementations to handle existing agents, enabling reuse of previously created agent instances.
  • Removes the experimental attribute from the stable OpenAPI API surface, formally stabilizing those APIs.
  • Adds a streaming retry filter example demonstrating how to implement retry logic for streaming kernel invocations.
└──▷ BREAKING ON UPGRADE
  • !SK planners are now marked obsolete and will generate compiler warnings in consuming code.
7 more releases in this issue · 2025-04-03 → 2025-04-29
python-1.29.0 NOTES STABLE

Semantic Kernel Python 1.29.0 adds Brave search, kernel cloning, process state management, and richer agent polling and metadata.

└──▷ GET THIS VERSION
$ git clone --branch python-1.29.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:
$ git checkout python-1.29.0
└──▷ USE IT
Clone a fully configured kernel (plugins, services, filters) to create an isolated variant without re-registering everything from scratch.
python
from semantic_kernel import Kernel

original_kernel = Kernel()
# ... register plugins, services, etc.
cloned_kernel = original_kernel.clone()
cloned_kernel.add_plugin(extra_plugin)
  • Adds RunPollingOptions at the run-level for AzureAIAgent, OpenAIAssistantAgent, and OpenAIResponsesAgent, and moves RunPollingOptions import to base level alongside continue during invoke tool calls support.
  • Returns thread_id and run_id in agent response metadata, giving callers direct access to run identifiers from agent invocations.
  • Adds Brave search capability as a new plugin/connector in the Python SDK.
  • Adds kernel.clone() (clone a kernel) to programmatically duplicate a configured Kernel instance.
  • Adds Process State Management support for stateful multi-step process workflows.
dotnet-1.47.0 NOTES STABLE

Semantic Kernel .NET 1.47.0 adds SK-agent-as-MCP-tool exposure, MCP tool consumption by agents, Brave search, and .yml prompt support.

└──▷ GET THIS VERSION
$ git clone --branch dotnet-1.47.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:
$ git checkout dotnet-1.47.0
└──▷ USE IT
Use Brave Search as the web search backend via the new BraveConnector in WebSearchPlugin.
csharp
var braveConnector = new BraveConnector(apiKey: "<your-brave-api-key>");
var webSearchPlugin = new WebSearchEnginePlugin(braveConnector);
kernel.ImportPluginFromObject(webSearchPlugin, "WebSearch");
  • Adds BraveConnector to WebSearchPlugin, enabling Brave Search as a web search backend alongside existing providers.
  • Enables SK agents to be exposed as MCP tools (SK agent as MCP tool), letting other MCP clients call Semantic Kernel agents via the Model Context Protocol.
  • Enables SK agents to consume MCP tools (Use Mcp tools by SK agents), so agents can invoke any MCP-compatible tool server.
  • Adds support for .yml file extensions (in addition to .yaml) when loading prompt templates in the C# SDK.
  • Adds support for relative file references in Prompty prompt files, allowing prompts to reference other assets by relative path.
+8 moreshow less
  • Adds type property to API documentation and schema definitions for improved JSON schema conformance.
  • Adds plugin description propagation (add plugin description) so plugin-level descriptions are included in tool metadata.
  • Adds RetainArgumentTypes option to agent arguments, preserving strong typing when passing arguments through ModelContextProtocolPlugin.
  • Adds an MCP sampling sample demonstrating how to use MCP sampling with Semantic Kernel agents.
  • Updates OpenTelemetry GenAI semantic attributes to align with the latest GenAI conventions.
  • Updates Qdrant integration to the latest Qdrant SDK version.
  • Uses dependency injection (DI) to manage prompt, resource, and resource template definitions in the MCP server layer.
  • Removes SingleAuthorizationHeaderPolicy, consolidating authorization header handling.
└──▷ BREAKING ON UPGRADE
  • !SingleAuthorizationHeaderPolicy has been removed; any code that referenced or registered this policy will break on upgrade.
python-1.28.1 NOTES STABLE

Semantic Kernel Python 1.28.1 expands MCP integration with prompt, sampling, and agent-as-server support.

└──▷ GET THIS VERSION
$ git clone --branch python-1.28.1 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:
$ git checkout python-1.28.1
  • Adds MCP prompt and sampling support to Semantic Kernel's MCP integration.
  • Enables creating an MCP server directly from a Semantic Kernel agent.
dotnet-1.46.0 NOTES STABLE

Semantic Kernel dotnet-1.46.0 adds declarative agents, exposes kernel function metadata, and graduates stable APIs from experimental.

└──▷ GET THIS VERSION
$ git clone --branch dotnet-1.46.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:
$ git checkout dotnet-1.46.0
  • Adds declarative agents support via the new Feature declarative agents capability, enabling agent definitions without imperative code.
  • Exposes the underlying MethodInfo from KernelFunction, giving callers direct access to the reflected method for inspection or invocation.
  • Removes [Experimental] flags from previously preview APIs, promoting them to stable surface in the public contract.
  • Adds a React sample app demonstrating SK Process Cloud Events integration.
  • Adds samples for MCP Resources and Resource Templates, showing how to surface and consume typed resource endpoints from an MCP server.
+6 moreshow less
  • Adds a structured output example combining Azure OpenAI with Function Calling.
  • Adds a document-generation gRPC sample for the SK Process framework.
  • Extends the MCP sample to show consuming MCP Tools from within an Agent.
  • Enables dependency injection (DI) for SK plugins in the MCP demo server.
  • Updates WebFileDownloadPlugin, HttpPlugin, and FileIOPlugin with new capabilities.
  • Bumps AWSSDK to 4.0.0-preview.13 and Microsoft.Extensions.AI to 9.4.0-preview.
python-1.28.0 NOTES STABLE

Semantic Kernel Python 1.28.0 adds MCP Server support, Auto Function Invocation Filters for agents, and multimodal Kernel Functions from Prompt.

└──▷ GET THIS VERSION
$ git clone --branch python-1.28.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:
$ git checkout python-1.28.0
  • Exposes Semantic Kernel as a Model Context Protocol (MCP) Server, letting external MCP clients invoke SK kernel functions directly.
  • Adds Auto Function Invocation Filter support for AzureAIAgent and OpenAIAssistantAgent, enabling pre/post-invocation hooks on auto-called functions.
  • Enables KernelFunction creation from prompts that include image and audio content, extending multimodal support to prompt-based function definitions.
  • Adds a sample demonstrating the GitHub MCP Server integrated with AzureAIAgent as a practical MCP + agent usage pattern.
  • Allows Semantic Kernel settings objects to be instantiated directly without requiring environment-variable or file-based configuration.
python-1.27.0 NOTES STABLE

Semantic Kernel Python 1.27.0 adds Agents-as-Kernel-Functions, an OpenAI Responses Agent, SQL Connector, and MCP server plugin support.

└──▷ GET THIS VERSION
$ git clone --branch python-1.27.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:
$ git checkout python-1.27.0
└──▷ USE IT
Receive intermediate agent messages during a long-running agent invocation, e.g. to stream tool-call progress to a UI.
python
async def handle_intermediate(message):
    print(f'Intermediate: {message}')

async for response in agent.invoke(
    thread=thread,
    on_intermediate_message=handle_intermediate,
):
    print(response)
  • Adds on_intermediate_message callback to the Agent abstraction, enabling callers to receive streamed intermediate messages during agent invocation.
  • Introduces the OpenAIResponsesAgent class, a new agent type backed by the OpenAI Responses API.
  • Supports using an MCP (Model Context Protocol) server as a Semantic Kernel plugin, allowing MCP-exposed tools to be called as kernel functions.
  • Introduces the SQL Connector, enabling vector store and data retrieval operations against SQL databases.
  • Allows Agents to be used directly as Kernel Functions, composing agent invocations inside kernel pipelines.
+1 moreshow less
  • Adds AzureAIAgent structured outputs support, enabling schema-constrained responses from Azure AI agents.
dotnet-1.45.0 NOTES STABLE

Semantic Kernel .NET 1.45.0 adds audio I/O for OpenAI, Tavily integration, MCP samples, and agent API improvements.

└──▷ GET THIS VERSION
$ git clone --branch dotnet-1.45.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:
$ git checkout dotnet-1.45.0
  • Adds OnIntermediateMessage callback (renamed from OnNewMessage) to receive notifications for all agent messages during invocation.
  • Adds audio input and output support for OpenAI chat completions.
  • Adds Tavily search integration as a new plugin/connector.
  • Adds ChatHistoryAgent (marked experimental) as a new agent type.
  • Adds agent-specific parameters support via new overloads in the common agent invoke API.
+7 moreshow less
  • Adds invoke overloads accepting a plain string message or no message, enabling simpler agent calls.
  • Adds Qdrant CRUD datetime support for datetime-typed vector store record fields.
  • Adds OpenAPI server URL override hierarchy support for OpenAPI-based plugins.
  • Adds MCP (Model Context Protocol) server/client sample and MCP prompt sample demonstrating client and server interop.
  • Adds hybrid search sample and moves hybrid search tests to updated project structure.
  • Removes Agent preview suffix, promoting the Agent API to non-preview status.
  • Merges KernelAgent functionality into Agent.cs, consolidating the agent base class.
└──▷ BREAKING ON UPGRADE
  • !The OnNewMessage callback is renamed to OnIntermediateMessage; any code referencing OnNewMessage will break.
  • !KernelAgent.cs is removed and its functionality merged into Agent.cs; any direct references to KernelAgent will break.
Was this useful?

browser-use

Sources Release notes → 0.1.41 NOTES

browser-use 0.1.41 adds multi-browser support, HAR recording, PDF saving, mobile/geo simulation, pre/post step hooks, and much more.

└──▷ GET THIS VERSION
$ git clone --branch 0.1.41 https://github.com/browser-use/browser-use.git
# already have the repo? check out this version:
$ git checkout 0.1.41
└──▷ TRY IT
Skip LLM API key verification at startup when deploying to a cloud environment where keys are injected at runtime.
$ SKIP_LLM_API_KEY_VERIFICATION=true python my_agent.py
  • Adds SKIP_LLM_API_KEY_VERIFICATION environment variable to bypass LLM API key validation on startup (useful for cloud deployments).
  • Adds browser context options for mobile simulation, geolocation, permissions, and timezone settings via BrowserContextConfig.
  • Adds HAR file recording support, enabling network traffic capture during browser sessions.
  • Adds wait_for_element action so agents can pause until a specific element appears in the DOM.
  • Adds page-scoped action registration — actions can now be restricted to specific page URL patterns (e.g., *.example.com).
+15 moreshow less
  • Adds pre- and post-step hooks to Agent.step() so developers can inject custom behavior around each agent step.
  • Adds save webpage as PDF action with a configurable output path.
  • Adds multi-browser support, allowing multiple browser instances to be managed simultaneously.
  • Adds clicking by XPath, CSS selector, or text as new element-targeting methods.
  • Adds Dolphin browser driver support as a new browser backend.
  • Adds flexible system prompt customization options for the agent.
  • Adds Google Sheets support by automating keyboard shortcuts.
  • Adds support for asking the agent to close tabs via a new action.
  • Adds fallback handling when the LLM does not produce the expected tool call format.
  • Adds DeepSeek R1 Distill and QwQ-32b model support.
  • Verifies LLM API keys work on startup and adds Ctrl+C error handling.
  • Improves Chrome launch flags with better chrome-in-docker support, anti-fingerprinting, and deterministic rendering.
  • Improves interactive element detection using computed cursor style for more accurate DOM parsing.
  • Processes shadow DOM children correctly so elements inside shadow roots are no longer skipped.
  • Improves error logging for LLM API calls and missing environment variables.
Was this useful?

camel-ai

Sources Release notes → v0.2.49 7 RELEASES · 2025-04-03 → 2025-04-26 NOTES STABLE

camel-ai v0.2.49 adds Netmind as a supported model platform.

└──▷ GET THIS VERSION
$ git clone --branch v0.2.49 https://github.com/camel-ai/camel.git
# already have the repo? check out this version:
$ git checkout v0.2.49
  • Adds support for the Netmind platform as a model backend.
6 more releases in this issue · 2025-04-03 → 2025-04-26
v0.2.47 NOTES STABLE

camel-ai v0.2.47 adds OceanBase DB integration, Jina reranker, Alibaba Tongxiao Search, ScrapeGraph SDK, and O4-mini/O3 model support.

└──▷ GET THIS VERSION
$ git clone --branch v0.2.47 https://github.com/camel-ai/camel.git
# already have the repo? check out this version:
$ git checkout v0.2.47
  • Adds support for O4-mini and O3 models.
  • Integrates OceanBase database as a new storage/retrieval backend.
  • Adds a Jina reranker toolkit for reranking retrieval results.
  • Adds Alibaba Tongxiao Search API support via search_toolkit.
  • Integrates scrapegraph-sdk for AI-powered web scraping.
v0.2.46 NOTES STABLE

camel-ai v0.2.46 adds PyAutoGUI toolkit, LM Studio integration, and refreshed AWS Bedrock and OpenAICompatibleModel support.

└──▷ GET THIS VERSION
$ git clone --branch v0.2.46 https://github.com/camel-ai/camel.git
# already have the repo? check out this version:
$ git checkout v0.2.46
  • Adds PyAutoGUI toolkit, enabling agents to drive desktop GUI automation through the new pyautogui toolkit interface.
  • Adds LM Studio integration via LMStudioModel, letting practitioners run locally-hosted LM Studio models as a camel-ai backend.
  • Updates AWS Bedrock integration with refreshed model support through aws_bedrock.
  • Enhances OpenAICompatibleModel so all model implementations inherit from it, simplifying custom model integration.
  • Refactors the video toolkit with expanded capabilities for video processing workflows.
v0.2.45 NOTES STABLE

camel-ai v0.2.45 adds Ubuntu Docker runtime and OpenAI GPT-4.1 model support

└──▷ GET THIS VERSION
$ git clone --branch v0.2.45 https://github.com/camel-ai/camel.git
# already have the repo? check out this version:
$ git checkout v0.2.45
  • Supports OpenAI gpt-4.1 as a model backend option.
  • Adds Ubuntu Docker runtime for sandboxed code execution environments.
  • Adds timeout setting for all model backends to cap inference wait time.
v0.2.43 NOTES STABLE

camel-ai v0.2.43 adds Exa search, crawl4ai, Google Calendar toolkit, Together/Azure embeddings, PPIO LLM, and Llama 4 via OpenRouter.

└──▷ GET THIS VERSION
$ git clone --branch v0.2.43 https://github.com/camel-ai/camel.git
# already have the repo? check out this version:
$ git checkout v0.2.43
  • Adds Exa search integration as a new toolkit for web search capabilities.
  • Integrates crawl4ai for AI-powered web crawling support.
  • Adds GoogleCalendarToolkit for interacting with Google Calendar from agents.
  • Adds Together embedding support as a new embedding backend.
  • Adds Azure embedding support as a new embedding backend.
+3 moreshow less
  • Adds PPIO as a new LLM provider platform.
  • Adds Llama 4 model support via the OpenRouter integration.
  • Implements Tic Tac Toe as a MultiStepEnv environment for reinforcement-learning-style agent tasks.
v0.2.42 NOTES STABLE

camel-ai v0.2.42 adds dict-of-strings input to the step function and enhances the terminal toolkit.

└──▷ GET THIS VERSION
$ git clone --branch v0.2.42 https://github.com/camel-ai/camel.git
# already have the repo? check out this version:
$ git checkout v0.2.42
  • Allows a dict of strings to be passed as input to the step function, enabling richer structured message passing to agents.
  • Enhances the terminal toolkit with new capabilities for agent-driven shell interactions.
v0.2.40 NOTES STABLE

camel-ai v0.2.40 adds ModelScope integration, YAML/JSON model config loading, MCP server support, and new data-generation verifiers

└──▷ GET THIS VERSION
$ git clone --branch v0.2.40 https://github.com/camel-ai/camel.git
# already have the repo? check out this version:
$ git checkout v0.2.40
└──▷ USE IT
Send a direct message to the user from within a tool-using agent, rather than routing output through the agent reply chain.
python
from camel.toolkits import HumanToolkit

toolkit = HumanToolkit()
toolkit.send_message_to_user('Task complete — results saved to output.csv')
  • Supports loading model configs from YAML and JSON files via SaranshPandya's implementation, enabling file-driven model configuration.
  • Adds send_message_to_user method to human_toolkit for direct user messaging from agent workflows.
  • Allows optional output dimension parameter in OpenAI-compatible embedding calls.
  • Integrates ModelScope models as a new model provider in camel.
  • Adds a self-instruct data generator for synthetic instruction dataset creation.
+4 moreshow less
  • Adds math verification as a new verifier (math verify) for evaluating model outputs against mathematical reference answers.
  • Exposes camel toolkits as an MCP server, making them accessible over the Model Context Protocol.
  • Supports one-command-line connection to MCP servers.
  • Implements resetting from a generative dataset in reinforcement-learning environments.
└──▷ BREAKING ON UPGRADE
  • !The ground_truth field in verifier is renamed to reference_answer — any code passing ground_truth to a verifier will break.
Was this useful?

holmesgpt

Sources Release notes → 0.10.9 2 RELEASES · 2025-04-10 → 2025-04-14 NOTES STABLE

SRE Agent - CNCF Sandbox Project

HolmesGPT 0.10.9 adds a by argument for investigating and enriching PagerDuty and JSM tickets.

└──▷ GET THIS VERSION
$ git clone --branch 0.10.9 https://github.com/HolmesGPT/holmesgpt.git
# already have the repo? check out this version:
$ git checkout 0.10.9
  • Adds by argument to the investigate and enrich commands for PagerDuty and JSM (Jira Service Management) tickets.
1 more release in this issue · 2025-04-10 → 2025-04-14
0.10.8 NOTES STABLE

HolmesGPT 0.10.8 adds custom Prometheus label support, streaming analysis, configurable Prometheus healthchecks, and improved ArgoCD and Coralogix toolsets.

└──▷ GET THIS VERSION
$ git clone --branch 0.10.8 https://github.com/HolmesGPT/holmesgpt.git
# already have the repo? check out this version:
$ git checkout 0.10.8
  • Adds configurable Prometheus healthcheck support, allowing control over how Holmes validates Prometheus connectivity.
  • Adds support for custom labels in Prometheus queries, enabling more targeted metric lookups.
  • Adds streaming analysis output, delivering investigation results incrementally rather than waiting for full completion.
  • Improves the ArgoCD toolset with enhanced integrations for application state analysis.
  • Improves the Coralogix toolset to return source URLs alongside log results, making it easier to pivot directly to Coralogix.
+1 moreshow less
  • Adds change history tools to support investigation workflows that incorporate recent change context.
Was this useful?

Hugging Face smolagents

Sources Release notes → v1.14.0 2 RELEASES · 2025-04-02 → 2025-04-18 NOTES STABLE

smolagents v1.14.0 adds MCPClient for MCP server connections, Amazon Bedrock native support, and star-pattern import authorization.

└──▷ GET THIS VERSION
$ git clone --branch v1.14.0 https://github.com/huggingface/smolagents.git
# already have the repo? check out this version:
$ git checkout v1.14.0
  • Adds MCPClient class to manage connections to one or more MCP servers, enabling flexible multi-server integration within smolagents.
  • Introduces star-pattern-based import authorization for fine-grained control over which modules agents are permitted to import, improving sandboxed execution security.
  • Adds client_kwargs pass-through for VLLMModel to supply model client parameters to the underlying vLLM client.
  • Adds api_key argument to HfApiModel / InferenceClientModel for explicit key configuration.
  • Implements Tool.from_dict and Agent.from_dict for deserializing tools and agents from dictionary representations.
+4 moreshow less
  • Supports Literal type annotations in the @tool decorator for defining enum-constrained arguments.
  • Adds custom Docker image support and enhanced configuration options for DockerExecutor.
  • Makes MultiStepAgent an abstract class, enabling cleaner subclassing for custom agent types.
  • Supports class docstrings and annotated assignments in LocalPythonExecutor, broadening the Python syntax handled during sandboxed code execution.
└──▷ BREAKING ON UPGRADE
  • !HfApiModel is renamed to InferenceClientModel; any code importing or instantiating HfApiModel by that name will break.
1 more release in this issue · 2025-04-02 → 2025-04-18
v1.13.0 NOTES STABLE

smolagents v1.13.0 adds agent interruption, image observation logging in the Gradio UI, and automatic submodule import authorization.

└──▷ GET THIS VERSION
$ git clone --branch v1.13.0 https://github.com/huggingface/smolagents.git
# already have the repo? check out this version:
$ git checkout v1.13.0
└──▷ USE IT
Load an MCP tool collection while explicitly trusting remote code — useful when working with third-party MCP servers.
python
from smolagents import ToolCollection

tools = ToolCollection.from_mcp("<mcp_server_url>", trust_remote_code=True)
Authorize a top-level package and rely on automatic submodule authorization instead of listing every subpackage.
python
from smolagents import CodeAgent, HfApiModel

agent = CodeAgent(
    tools=[],
    model=HfApiModel(),
    additional_authorized_imports=["numpy"],  # numpy.random, numpy.linalg, etc. are now also authorized
)
  • Adds trust_remote_code parameter to ToolCollection.from_mcp for controlling remote code trust when loading MCP tool collections.
  • Authorizes submodule imports automatically when a top-level package is listed in additional_authorized_imports — e.g. additional_authorized_imports=["numpy"] now also permits numpy.random and other subpackages without listing each one explicitly.
  • Adds agent interruption support, allowing a running agent to be interrupted mid-execution.
  • Gradio UI now logs images observed by the agent during a run, making multimodal agent traces visible in the interface.
  • Exposes the underlying Gradio app object so users can retrieve and customize it directly.
+3 moreshow less
  • Adds WikipediaSearchTool to the default tools available in smolagents.
  • Introduces distinct AgentToolCallError and AgentToolExecutionError exception types, separating tool-call failures from tool-execution failures.
  • Streaming run now yields PlanningSteps, making planning activity visible during streamed agent runs.
Was this useful?
◆  AI Coding Agents

Aider

Sources Release notes → v0.82.0 2 RELEASES · 2025-04-04 → 2025-04-14 NOTES STABLE

Aider v0.82.0 adds GPT-4.1/grok-3/Gemini 2.5 Pro support, new patch and editor edit formats, and Fireworks AI deepseek-v3.

└──▷ GET THIS VERSION
$ git clone --branch v0.82.0 https://github.com/Aider-AI/aider.git
# already have the repo? check out this version:
$ git checkout v0.82.0
└──▷ TRY IT
Use the grok3 alias to quickly target xai/grok-3-beta without typing the full model path.
$ aider --model grok3
  • Supports GPT-4.1, GPT-4.1 mini, and GPT-4.1 nano models.
  • Improved architect mode support for Gemini 2.5 Pro.
  • Adds support for xai/grok-3-beta, xai/grok-3-mini-beta, grok-3-fast-beta, grok-3-mini-fast-beta, and OpenRouter variants including openrouter/openrouter/optimus-alpha.
  • New patch edit format for OpenAI's GPT-4.1 model.
  • New editor-diff, editor-whole, and editor-diff-fenced edit formats.
+3 moreshow less
  • Adds short aliases: grok3 for xai/grok-3-beta and optimus for openrouter/openrouter/optimus-alpha.
  • Allows adding files by full path even when a file with the same basename is already in the chat.
  • Adds support for Fireworks AI model deepseek-v3-0324.
1 more release in this issue · 2025-04-04 → 2025-04-14
v0.81.0 NOTES STABLE

Aider v0.81.0 adds Quasar Alpha model support and OpenRouter OAuth authentication flow.

└──▷ GET THIS VERSION
$ git clone --branch v0.81.0 https://github.com/Aider-AI/aider.git
# already have the repo? check out this version:
$ git checkout v0.81.0
└──▷ TRY IT
Use the free Quasar Alpha model on OpenRouter for AI-assisted coding without any API cost.
$ aider --model quasar
  • Adds support for openrouter/openrouter/quasar-alpha model (currently free on OpenRouter), accessible via aider --model quasar.
  • Offers OpenRouter OAuth authentication automatically when an OpenRouter model is specified but no API key is present.
  • Adds model metadata for openrouter/google/gemini-2.0-flash-exp:free.
  • Configures gemini/gemini-2.0-flash and openrouter/google/gemini-2.0-flash-exp:free as weak models for Gemini 2.5 Pro models.
Was this useful?

Cline

Sources Release notes → v3.13.3 14 RELEASES · 2025-04-01 → 2025-04-25 NOTES STABLE

Autonomous coding agent as an SDK, IDE extension, or CLI assistant.

Cline v3.13.3 adds a /compact command, Gemini prompt caching, and MCP marketplace download counts.

└──▷ GET THIS VERSION
$ git clone --branch v3.13.3 https://github.com/cline/cline.git
# already have the repo? check out this version:
$ git checkout v3.13.3
└──▷ TRY IT
Compact the current conversation to free up context window space mid-task.
$ /compact
  • New /compact command for compacting context or conversation history.
  • Adds prompt caching support for Gemini models via the Cline and OpenRouter providers, reducing latency and cost on repeated context.
  • Displays download counts on MCP marketplace items to surface community adoption.
  • Adds tooltips to the bottom row menu for improved discoverability.
13 more releases in this issue · 2025-04-01 → 2025-04-25
v3.13.2 NOTES STABLE

Cline v3.13.2 adds Gemini 2.5 Flash, prompt caching, thinking budgets, and browser use for any image-capable model.

└──▷ GET THIS VERSION
$ git clone --branch v3.13.2 https://github.com/cline/cline.git
# already have the repo? check out this version:
$ git checkout v3.13.2
└──▷ TRY IT
Compose .clineignore from shared team ignore files without duplicating rules across projects.
$ # .clineignore
!include .clineignore-shared
!include .clineignore-secrets
  • Adds Gemini 2.5 Flash model support to both Vertex AI and Gemini providers.
  • Adds prompt caching support to the Gemini provider.
  • Adds thinking budget configuration for Gemini models.
  • Supports !include .file directive in .clineignore for composable ignore rules.
  • Enables browser use through any model that supports images, removing the prior supportsComputerUse restriction.
+2 moreshow less
  • Improves slash command functionality.
  • Improves prompting for the new task tool.
v3.13.0 NOTES STABLE

Cline v3.13.0 adds rules management, slash commands, message editing, and new model support including OpenAI o3 and Azure DeepSeek.

└──▷ GET THIS VERSION
$ git clone --branch v3.13.0 https://github.com/cline/cline.git
# already have the repo? check out this version:
$ git checkout v3.13.0
  • Adds a Cline rules popover under the chat field for adding, enabling, and disabling workspace-level or global rule files.
  • Adds a slash command menu (type "/") for quick actions such as creating new tasks.
  • Adds ability to edit past messages with options to restore the workspace back to that point in history.
  • Allows sending a custom message when selecting an option provided by the question or plan tool.
  • Adds a command to jump directly to Cline's chat input.
+6 moreshow less
  • Adds support for OpenAI o3 and GPT-4o-mini models.
  • Adds a baseURL option for the Google Gemini provider.
  • Adds support for Azure's DeepSeek model.
  • Enables models that support it to receive image responses from MCP servers.
  • Improves search-and-replace diff editing flexibility for models that struggle with structured output instructions.
  • Adds detection of Ctrl+C termination in terminal to improve output reading.
v3.12.3 NOTES STABLE

Cline v3.12.3 adds out-of-workspace tool indicators, global rules files, a Mermaid copy button, and a CLI for automated evals.

└──▷ GET THIS VERSION
$ git clone --branch v3.12.3 https://github.com/cline/cline.git
# already have the repo? check out this version:
$ git checkout v3.12.3
  • Adds visual indicators when Cline tools operate on files or paths outside the current workspace.
  • Supports fetching global Cline rules files, enabling shared rule sets beyond project-level configuration.
  • Adds a copy-code button to Mermaid diagram previews for quick extraction of diagram source.
  • New CLI for orchestrating automated evaluations of Cline agents.
v3.12.2 NOTES STABLE

Cline v3.12.2 adds GPT-4.1 as a supported model.

└──▷ GET THIS VERSION
$ git clone --branch v3.12.2 https://github.com/cline/cline.git
# already have the repo? check out this version:
$ git checkout v3.12.2
  • Adds GPT-4.1 as a supported model option.
v3.12.1 NOTES STABLE

Cline v3.12.1 adds a visual checkpoint indicator and improved context management.

└──▷ GET THIS VERSION
$ git clone --branch v3.12.1 https://github.com/cline/cline.git
# already have the repo? check out this version:
$ git checkout v3.12.1
  • Adds a visual checkpoint indicator to clearly show when checkpoints are created during a session.
  • Introduces improved context management for more effective handling of conversation context.
v3.12.0 NOTES STABLE

Cline v3.12.0 adds model favorites, out-of-workspace auto-approve, Grok 3 Mini streaming, and MCP settings shortcut.

└──▷ GET THIS VERSION
$ git clone --branch v3.12.0 https://github.com/cline/cline.git
# already have the repo? check out this version:
$ git checkout v3.12.0
  • Adds favorite toggles for models when using the Cline & OpenRouter providers, making it faster to pin preferred models.
  • New auto-approve options for file edits and reads outside of the workspace.
  • Adds an indicator showing the number of diff edits when Cline edits a file.
  • Adds streaming support and a reasoning effort option for xAI's Grok 3 Mini.
  • Adds a settings button to the MCP popover for quick access to modify installed servers.
+1 moreshow less
  • Improves the Ollama provider with a retry mechanism, timeout handling, and better error handling.
v3.11.0 NOTES STABLE

Cline v3.11.0 adds redesigned checkpoints with visual indicators and support for xAI Grok 3 models.

└──▷ GET THIS VERSION
$ git clone --branch v3.11.0 https://github.com/cline/cline.git
# already have the repo? check out this version:
$ git checkout v3.11.0
  • Redesigned Checkpoints: checkpoints are created more frequently during tasks and appear as line indicators on the left edge of chat, with hover-to-expand details including creation time.
  • Adds support for xAI's Grok 3 models as a provider option.
v3.10.1 NOTES STABLE

Cline v3.10.1 adds a 'Create New Task' autonomous tool and a CMD+' shortcut for quickly adding selected text.

└──▷ GET THIS VERSION
$ git clone --branch v3.10.1 https://github.com/cline/cline.git
# already have the repo? check out this version:
$ git checkout v3.10.1
  • New 'Create New Task' tool lets Cline autonomously spin up a new task without user initiation.
  • Adds CMD+' keyboard shortcut to send selected text directly to Cline.
  • Auto-focuses the text input field when the 'Add to Cline' shortcut is triggered.
v3.10.0 NOTES STABLE

Cline v3.10.0 adds local Chrome browser integration, smarter context shortening, and an all-commands auto-approve option.

└──▷ GET THIS VERSION
$ git clone --branch v3.10.0 https://github.com/cline/cline.git
# already have the repo? check out this version:
$ git checkout v3.10.0
  • Enables session-based browsing using your local Chrome browser, preserving actual browser state for debugging and productivity workflows.
  • Adds an in-chat modal for quickly enabling or disabling MCP servers without leaving the chat area.
  • New auto-approve option to approve ALL commands, bypassing per-command confirmation prompts.
  • Smarter context window shortening now removes old file contents from conversation history instead of truncating the first half of messages, preserving narrative integrity.
  • Supports drag-and-drop of files and folders directly into the Cline chat input.
+1 moreshow less
  • Adds prompt caching support for LiteLLM combined with Claude models.
v3.9.2 NOTES STABLE

Cline v3.9.2 adds manual-edit detection, smarter file mention search, and Bytedance Doubao support.

└──▷ GET THIS VERSION
$ git clone --branch v3.9.2 https://github.com/cline/cline.git
# already have the repo? check out this version:
$ git checkout v3.9.2
  • Detects when users manually edit files so Cline automatically re-reads them, reducing diff edit errors.
  • Adds relevance-based scoring and filtering to file mention search results for faster, more accurate lookups.
  • Supports Bytedance Doubao as a new model provider.
  • Adds recommended model suggestions for the Cline provider.
v3.9.0 NOTES STABLE

Cline v3.9.0 adds extended thinking for LiteLLM and a dedicated local MCP Server configuration tab.

└──▷ GET THIS VERSION
$ git clone --branch v3.9.0 https://github.com/cline/cline.git
# already have the repo? check out this version:
$ git checkout v3.9.0
  • Enables extended thinking mode for the LiteLLM provider.
  • Adds a dedicated tab for configuring local MCP Servers.
v3.8.6 NOTES STABLE

Cline v3.8.6 adds a UI for connecting remote servers and a new Mentions Feature Guide.

└──▷ GET THIS VERSION
$ git clone --branch v3.8.6 https://github.com/cline/cline.git
# already have the repo? check out this version:
$ git checkout v3.8.6
  • Adds UI for adding and managing remote servers directly from the interface.
  • Adds Mentions Feature Guide with updated related documentation.
v3.8.5 NOTES STABLE

Cline v3.8.5 adds remote MCP Server support via SSE, Gemini 2.5 Pro on Vertex AI, and new UI controls for MCP management.

└──▷ GET THIS VERSION
$ git clone --branch v3.8.5 https://github.com/cline/cline.git
# already have the repo? check out this version:
$ git checkout v3.8.5
  • Supports remote MCP Servers using Server-Sent Events (SSE) transport.
  • Adds gemini-2.5-pro-exp-03-25 model to the Vertex AI provider.
  • Adds history, MCP, and new task buttons to the popout view.
  • Adds thumbs up/down task feedback telemetry on task completion.
  • Adds a toggle to disable individual remote MCP servers.
+2 moreshow less
  • Adds an auto-approve-all toggle for MCP tools, with relocated Restart and Delete buttons.
  • Updates Requestly UX for model selection.
Was this useful?

Continue

Sources Release notes → v1.0.7-vscode 2 RELEASES · 2025-04-17 → 2025-04-26 NOTES STABLE

Continue v1.0.7 adds chatOptions.baseSystemMessage, lazy apply for full files, and a create-file button in the code block toolbar.

└──▷ GET THIS VERSION
$ git clone --branch v1.0.7-vscode https://github.com/continuedev/continue.git
# already have the repo? check out this version:
$ git checkout v1.0.7-vscode
└──▷ USE IT
Inject a standing security-focused instruction into every chat session without repeating it in each prompt.
json
"chatOptions": {
  "baseSystemMessage": "You are a security-aware coding assistant. Always flag use of deprecated crypto APIs and suggest modern alternatives."
}
  • Adds chatOptions.baseSystemMessage config key to set a base system message for chat sessions.
  • Reintroduces lazy apply for full files, enabling faster application of large AI-suggested edits.
  • Adds a 'create file' button directly in the code block toolbar for one-click file creation from a suggestion.
  • Adds a toolbar header to all code blocks, surfacing actions consistently across the UI.
  • Adds a refresh button on the right of the assistant selector to reload available assistants.
+4 moreshow less
  • Allows skipping the Ollama onboarding flow for users who have already configured Ollama.
  • Adds no-diff stream progress indicator for fast-apply models, giving visual feedback without a diff view.
  • Generates a JSON schema for the Continue configuration format.
  • Profiles now refresh automatically on deeplink navigation and when selecting an org or profile.
1 more release in this issue · 2025-04-17 → 2025-04-26
v1.0.6-vscode NOTES STABLE

Continue v1.0.6 adds Docker model runner, Inception/InceptionLabs providers, LS/Grep/Glob agent tools, prompt blocks, and Bedrock prompt caching.

└──▷ GET THIS VERSION
$ git clone --branch v1.0.6-vscode https://github.com/continuedev/continue.git
# already have the repo? check out this version:
$ git checkout v1.0.6-vscode
  • Adds support for the Docker model runner as a model provider.
  • Adds the inception provider for Inception Labs models.
  • Adds the inceptionlabs provider as a dedicated InceptionLabs integration.
  • Adds LS (list directory), Grep, and Glob built-in agent tools for file-system navigation during agentic sessions.
  • Adds prompt blocks feature (feat: prompt blocks), enabling reusable prompt components in assistant configurations.
+13 moreshow less
  • Adds Bedrock prompt caching support (feat/bedrock-prompt-caching and feat/bedrock-secure-prompt-caching) for AWS Bedrock-backed models.
  • Enables embedding and reranking capabilities across all model providers.
  • Lifts SiliconFlow to a reranker model provider and adds Google gemini-2.5-pro-exp-03-25 and additional models.
  • Adds rich LLM logging for detailed request/response observability.
  • Adds conditional rules support (if rules) for context-aware assistant behavior.
  • Adds a CLI for linting config-yaml configurations.
  • Implements hub client integration for Connect to Continue Hub workflows.
  • Adds an option to always route through the Continue proxy.
  • Enforces a file-size limit on file mentioning, blocking large files from being added as context.
  • Enables tools support for Cogito models running on Ollama.
  • Adds fallback to the chat model when the apply model is unavailable.
  • Adds metadata fields to config-yaml schema.
  • Improves MCP resource handling and refreshes context provider titles in the UI.
Was this useful?

Block Goose

Sources Release notes → v1.0.21 5 RELEASES · 2025-04-01 → 2025-04-29 NOTES STABLE

an open source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM

Goose v1.0.21 adds context-limit options, session ordering, model-switching without reinit, and spellcheck in the desktop app.

└──▷ GET THIS VERSION
$ git clone --branch v1.0.21 https://github.com/block/goose.git
# already have the repo? check out this version:
$ git checkout v1.0.21
  • Adds ascending/descending ordering support for goose session list.
  • Enables switching or adding a model without reinitializing extensions, reducing disruption mid-session.
  • Presents interactive options to the user when context length is exceeded, with a new context management modal.
  • Adds full spellcheck and autocorrection support for editable content in the desktop app.
  • Adds context limits for the latest Gemini and GPT models.
+7 moreshow less
  • Adds new Google model support in the provider configuration.
  • Adds a goose-llm crate for use by the Goose service.
  • Adds MCP router extension disable capability.
  • Reduces the number of Google Drive tools exposed, narrowing the tool surface.
  • Adds bottom bar text truncation with tooltips in the UI.
  • Adds session deletion preview showing the to-be-removed session before confirming.
  • Unifies the permission flow for enabling extensions.
4 more releases in this issue · 2025-04-01 → 2025-04-29
v1.0.20 NOTES STABLE

Goose v1.0.20 adds session removal, a GUI deeplink extension warning, and a bumped tool limit with updated alerts.

└──▷ GET THIS VERSION
$ git clone --branch v1.0.20 https://github.com/block/goose.git
# already have the repo? check out this version:
$ git checkout v1.0.20
  • Adds ability to remove sessions via new 'remove session' capacity.
  • Adds GUI warning when installing an extension from a deeplink.
  • Bumps tool limit and updates associated alerts.
v1.0.19 NOTES STABLE

Goose v1.0.19 adds o4-mini and GPT-4.1 support, persistent CLI themes, custom OpenAI headers, and an FFI for the Rust library.

└──▷ GET THIS VERSION
$ git clone --branch v1.0.19 https://github.com/block/goose.git
# already have the repo? check out this version:
$ git checkout v1.0.19
  • Adds support for the o4-mini model.
  • Adds per-model prompts for better GPT-4.1 support.
  • Supports OPENAI_CUSTOM_HEADERS being set in the Goose config file.
  • Builds a prototype FFI for the Goose Rust library, enabling external language bindings.
  • GOOSE_CLI_THEME now persists to the config file and applies to future sessions automatically.
+2 moreshow less
  • Adds a permissions page in the bottom menu bar of the chat UI.
  • Adds token and tools alerts in the chat bottom menu bar.
v1.0.18 NOTES STABLE

Goose v1.0.18 adds tool-level permission control, recipes/custom agents, SSE extensions, file-based secrets, and GCP Vertex AI support.

└──▷ GET THIS VERSION
$ git clone --branch v1.0.18 https://github.com/block/goose.git
# already have the repo? check out this version:
$ git checkout v1.0.18
└──▷ TRY IT
Set model temperature without modifying config — useful for scripting creative or deterministic runs.
$ GOOSE_TEMPERATURE=0.2 goose session
Point Goose at a self-hosted or proxy Anthropic endpoint instead of the default API.
$ ANTHROPIC_HOST=https://my-anthropic-proxy.internal goose session
  • Adds tool-level permission control in both CLI and UI, letting practitioners approve or deny individual tools before execution.
  • Introduces recipes — custom Goose agent configurations that can be shared via URL deeplinks.
  • Adds a recipe editor UI for building and sharing custom agent configurations.
  • Supports SSE (Server-Sent Events) extensions via scheme URI, enabling remote extension connectivity.
  • Adds support for generic GCP Vertex AI Claude and Gemini models as a provider.
+19 moreshow less
  • Adds ANTHROPIC_HOST configuration option for Anthropic in CLI and UI, enabling custom endpoint targeting.
  • Adds a temperature environment variable for controlling model temperature without code changes.
  • Supports file-based secrets for extension configuration.
  • Adds MCP router extension discovery and install tool, enabling in-session extension installation.
  • Enables Settings V2 UI with migration logic from Settings V1.
  • Parallelizes extension startup with toast-based error reporting for faster initialization.
  • Adds --with-remote-extension flag for launching Goose with a remote extension.
  • Adds exponential backoff to the Bedrock provider for improved reliability.
  • Supports NO_COLOR environment variable when PrettyPrinter is used.
  • Adds permission field to the list tools API response.
  • Enables frontend tools execution from the UI.
  • Adds full URL extraction support for Google Drive.
  • Auto-initializes goose config.yaml on first run.
  • Enables spellcheck in the chat input.
  • Adds a system theme option to the UI.
  • Adds tooltips throughout the UI.
  • Adds debounce for search and chat text inputs to improve typing responsiveness in large sessions.
  • Accumulates tokens across a session file for accurate total token usage reporting.
  • Adds Google Drive URI verification and example instructions.
v1.0.17 NOTES STABLE

Goose v1.0.17 adds session sharing, chat search, prompt library, VSCode server support, and input/output token tracking.

└──▷ GET THIS VERSION
$ git clone --branch v1.0.17 https://github.com/block/goose.git
# already have the repo? check out this version:
$ git checkout v1.0.17
└──▷ HOW TO FIND IT
Insert a new line mid-prompt without submitting — useful when composing multi-line instructions in the chat UI.
📍Option + Enter
  • Adds session sharing from the UI, with pre-configuration via GOOSE_BASE_URL_SHARE environment variable and additional metadata in the shared session view.
  • Adds search functionality to the chat view.
  • Adds a Prompt Library to the UI.
  • Adds the VSCode server to the extensions list.
  • Adds input and output token tracking to SessionMetadata.
+10 moreshow less
  • Adds tool annotations for built-in tools.
  • Adds a named feature flag system for Settings V2.
  • Adds a timeout field to the Settings V2 modal.
  • Adds an additive entry in the Settings V2 model selector.
  • Enables Option+Enter keyboard shortcut to insert a new line in chat input.
  • Adds env-var editor when adding or editing extensions.
  • Adds an allowlist option for the goosed daemon.
  • Adds copy button for extensions and makes extension builtins available at any time.
  • Adds Playwright end-to-end testing setup.
  • Turns the Goose entrypoint into a library function for programmatic use.
Was this useful?

All Hands AI OpenHands

Sources Release notes → 0.35.0 5 RELEASES · 2025-04-02 → 2025-04-29 NOTES STABLE

OpenHands: AI-Driven Development

OpenHands 0.35 adds API key management UI, GitLab suggested tasks, a VS Code tab, and new CLI commands.

└──▷ GET THIS VERSION
$ git clone --branch 0.35.0 https://github.com/All-Hands-AI/OpenHands.git
# already have the repo? check out this version:
$ git checkout 0.35.0
└──▷ TRY IT
Quickly start a new session, check status, or open settings without leaving the CLI.
$ /new
/status
/settings
Manage API keys for programmatic access to OpenHands Cloud from the settings page.
📍In the OpenHands Cloud console, go to Settings › API Keys to create or revoke keys.
  • Supports viewing and launching suggested tasks for GitLab repositories directly from the homepage.
  • Replaces the Workspace tab with a VS Code tab for in-browser code editing.
  • Enables /new, /status, and /settings commands in the CLI.
  • Sorts GitHub repos in OpenHands Cloud by most recently pushed, making active repos easier to find.
  • Simplifies microagent authoring: names in frontmatter are no longer required — only triggers matter for dynamically loaded microagents.
4 more releases in this issue · 2025-04-02 → 2025-04-29
0.34.0 NOTES STABLE

OpenHands 0.34 adds a Changes tab for reviewing agent modifications, custom sandboxes for the resolver, and tool disabling controls.

└──▷ GET THIS VERSION
$ git clone --branch 0.34.0 https://github.com/All-Hands-AI/OpenHands.git
# already have the repo? check out this version:
$ git checkout 0.34.0
└──▷ HOW TO FIND IT
When reviewing what an agent changed in a session, open the Changes tab to see a diff of all modified files before accepting or rolling back.
📍In the OpenHands UI, open an active or completed session and click the Changes tab to view a diff of all files modified by the agent.
  • New Changes tab in the UI surfaces all file modifications made by OpenHands during a session, making agent-driven diffs reviewable at a glance.
  • Adds ability to disable specific default tools, giving operators fine-grained control over which capabilities the agent can invoke.
  • Supports custom sandbox images for the resolver, enabling reproducible, project-specific environments when resolving GitHub issues.
  • Resolver now names branches with the openhands/ prefix, establishing a consistent convention for identifying agent-created branches.
  • Updated home screen layout improves navigation and workspace entry points.
└──▷ BREAKING ON UPGRADE
  • !Resolver branches are now created with the openhands/ prefix — any automation or filters matching previous branch name patterns must be updated.
0.33.0 NOTES STABLE

OpenHands 0.33 adds native MCP server support, GitLab OAuth/PAT integration, GitHub Enterprise resolver, and interactive CLI commands.

└──▷ GET THIS VERSION
$ git clone --branch 0.33.0 https://github.com/All-Hands-AI/OpenHands.git
# already have the repo? check out this version:
$ git checkout 0.33.0
  • Supports MCP servers natively via CodeActAgent, enabling model context protocol tool use within agents.
  • Adds GitLab API integration with both OAuth and PAT token authentication.
  • Enables PR type specification when using the GitHub Action resolver.
  • Supports GitHub Enterprise and on-premises GitLab in the GitHub Action resolver.
  • Adds interactive CLI commands /init, /help, and /exit with an enhanced startup experience.
+2 moreshow less
  • Displays agent 'think' actions as collapsible elements in the conversation view.
  • Improves SWE-bench_Verified single-pass baseline results to 59.6%.
0.32.0 NOTES STABLE

OpenHands 0.32 adds microagent context visibility, PR template awareness, and enables context condensation by default.

└──▷ GET THIS VERSION
$ git clone --branch 0.32.0 https://github.com/All-Hands-AI/OpenHands.git
# already have the repo? check out this version:
$ git checkout 0.32.0
  • Displays microagent context directly in the UI so practitioners can see which microagent knowledge is active during a session.
  • Shows edited file paths in the conversation headline for at-a-glance change tracking.
  • Enables context condensation by default, automatically compressing long conversation histories to stay within model context limits.
  • Expands GitLab repository listing to include repos where the user has membership but is not the owner.
  • Supports microagent files without a required header, reducing friction when authoring custom microagents.
+3 moreshow less
  • Adds a user-friendly UI message for content policy violation errors.
  • Prompts the agent to follow existing PR templates when creating new pull requests.
  • Improves event retrieval performance for conversations with a large number of events.
└──▷ BREAKING ON UPGRADE
  • !Condensation is now enabled by default; existing deployments that relied on full, uncompressed conversation history will have condensation applied automatically on upgrade.
0.31.0 NOTES STABLE

OpenHands 0.31.0 adds vision-based browsing with PDF/image support, OpenHands LM integration, and multi-provider Git configuration.

└──▷ GET THIS VERSION
$ git clone --branch 0.31.0 https://github.com/All-Hands-AI/OpenHands.git
# already have the repo? check out this version:
$ git checkout 0.31.0
└──▷ HOW TO FIND IT
Configure both GitHub and GitLab as Git providers at the same time for local OpenHands, so agents can operate across repositories on either platform.
📍In the OpenHands settings UI, go to Settings › Git Providers and add credentials for both GitHub and GitLab simultaneously.
  • Enables vision-based browsing by default, allowing OpenHands to see and interpret PDFs and images rendered in the browser.
  • Adds support for OpenHands LM as a new LLM provider option.
  • Supports configuring multiple Git providers simultaneously (e.g., GitHub + GitLab) in local OpenHands deployments.
  • Generates LLM-based natural-language titles for conversations automatically.
Was this useful?

Zed

Sources Release notes → v0.184.8 9 RELEASES · 2025-04-02 → 2025-04-30 NOTES STABLE

Zed v0.184.8 adds remote file drag-and-drop, remote branch picking, multi-venv Python support, and per-mode Vim cursor shapes.

└──▷ GET THIS VERSION
$ git clone --branch v0.184.8 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:
$ git checkout v0.184.8
└──▷ USE IT
Set distinct cursor shapes for each Vim mode so you can instantly tell which mode you are in.
json
{
  "vim_mode": true,
  "vim": {
    "cursor_shape": {
      "normal": "hollow",
      "insert": "bar",
      "replace": "block",
      "visual": "underline"
    }
  }
}
  • Adds vim.cursor_shape config block supporting per-mode cursor shapes (normal, insert, replace, visual) with values hollow, bar, block, and underline.
  • Adds editor::GoToPreviousChange and editor::GoToNextChange actions to navigate between changes in the editor.
  • Supports drag-and-drop of external files directly onto the project panel to copy them into remote projects.
  • Adds remote branch support to the branch picker, enabling checkout of remote branches without leaving the editor.
  • Adds head commit SHA display to the Git branch picker in the title bar and Git panel.
+2 moreshow less
  • Adds Qwen3 model support for Ollama, defaulting to a 16K token context window.
  • Improves terminal right-click to automatically select the word under the cursor when no selection is present.
└──▷ BREAKING ON UPGRADE
  • !Default key bindings for splitting terminals changed from ctrl-k {up,down,left,right} to ctrl-alt-{up,down,left,right}.
  • !outline_panel::Open is renamed to outline_panel::OpenSelectedEntry; any keybindings or config referencing the old name must be updated.
8 more releases in this issue · 2025-04-02 → 2025-04-30
v0.183.12 NOTES STABLE

Zed v0.183.12 adds Ollama support for Qwen3 models with 16K token context.

└──▷ GET THIS VERSION
$ git clone --branch v0.183.12 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:
$ git checkout v0.183.12
  • Adds Ollama support for Qwen3 models, defaulting to a 16K token context window (configurable via Assistant Configuration).
v0.183.10 NOTES STABLE

Zed v0.183.10 adds Git amend, customizable bottom dock layouts, OpenAI o3/o4-mini support, and new editor actions.

└──▷ GET THIS VERSION
$ git clone --branch v0.183.10 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:
$ git checkout v0.183.10
└──▷ USE IT
Keep the bottom dock full-width regardless of which side docks are open, useful for a wide terminal or AI panel.
json
{
  "bottom_dock_layout": "full"
}
Use left-aligned bottom dock layout so the bottom panel only spans the area not occupied by the left dock.
json
{
  "bottom_dock_layout": "left_aligned"
}
  • Adds bottom_dock_layout setting with options contained (default), full, left_aligned, and right_aligned to control how the bottom dock is laid out when multiple docks are open simultaneously.
  • Adds new actions editor::FindNextMatch and editor::FindPreviousMatch that jump to the first or last selection when multiple selections exist, similar to editor::SelectNext/editor::SelectPrevious with 'replace_newest': true.
  • Adds Git amend support in the Git panel.
  • Adds support for OpenAI o3 and o4-mini models via the OpenAI API and Copilot Chat providers.
  • Tasks are now loaded from local .vscode/tasks.json files even when they are .gitignored.
+10 moreshow less
  • Improves block diagnostics rendering in the diagnostics view and when using f8/shift-f8, which now always navigate to the next or previous diagnostic regardless of editor state.
  • Adds code actions to the right-click context menu for improved visibility.
  • Python: Adds auto-closing support for f, b, u, r, rb, and t string prefixes.
  • Vim: The :s// command now defaults to replacing the first match per line (matching Vim behavior); use /g to replace all matches.
  • Vim: Adds forced motion support for delete and yank, and a delete mapping in normal mode.
  • Adds file icon support for Vyper (.vy, .vyi) files.
  • Sublime Keymap: Adds git::Restore compatibility bind (revert_hunk) — cmd-k cmd-z on Mac and ctrl-k ctrl-z on Linux.
  • Markdown preview now uses the buffer font size instead of the UI font size.
  • Enables required Cargo features automatically when executing a Rust example or binary through a task.
  • Cursor position is now reset to where it was after the last edit when undoing a format operation.
└──▷ BREAKING ON UPGRADE
  • !The Vim :s// command now replaces only the first match per line by default (matching Vim behavior), rather than all matches; append /g to restore the previous all-matches behavior.
v0.182.11 NOTES STABLE

Zed v0.182.11 adds support for OpenAI o3 and o4-mini models via OpenAI API and Copilot Chat providers.

└──▷ GET THIS VERSION
$ git clone --branch v0.182.11 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:
$ git checkout v0.182.11
  • Adds support for OpenAI o3 and o4-mini models via the OpenAI API and Copilot Chat providers.
v0.182.9 NOTES STABLE

Zed v0.182.9 adds screensharing on X11, --user-data-dir CLI flag, task tags, LSP stop control, and new completions.lsp_insert_mode setting.

└──▷ GET THIS VERSION
$ git clone --branch v0.182.9 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:
$ git checkout v0.182.9
└──▷ TRY IT
Launch Zed with an isolated user data directory — useful for testing profiles or CI environments.
$ zed --user-data-dir /tmp/zed-profile-test .
  • Adds --user-data-dir CLI flag to specify a custom user data directory.
  • Adds completions.lsp_insert_mode setting to control what is replaced when an LSP completion is accepted.
  • Adds ConfirmCompletionInsert and ConfirmCompletionReplace actions for fine-grained LSP completion insertion control; shift-enter triggers ConfirmCompletionReplace by default, overriding completions.lsp_insert_mode.
  • Adds support for the insert_text_mode field of completions from the Language Server Protocol.
  • Adds an editor: toggle case command, bound to cmd-shift-u (macOS) and ctrl-shift-u (Linux) in the JetBrains keymap.
+10 moreshow less
  • Adds ability to spawn tasks by tag with key bindings, and surfaces tags in the tasks selector.
  • Adds a way to temporarily stop LSP servers from within the editor.
  • Adds tasks surfaced from rust-analyzer.
  • Adds screensharing support on X11 (Linux).
  • Adds a project search button to the status bar.
  • Adds a git activity indicator for long-running git commands.
  • Adds vim motions from the indent-wise plugin: [-, ]-, [+, ]+, [=, ]=.
  • Adds warning for leading or trailing whitespace when renaming or creating files/directories in the Project Panel.
  • Changes the default hosted LLM model to Claude 3.7 Sonnet.
  • Expands default helix-style keybindings in experimental HelixNormal mode.
└──▷ BREAKING ON UPGRADE
  • !When using a system Node runtime, Zed now requires Node >= v20. Previously Node >= v18 was accepted. The Zed bundled Node runtime (v23) is unaffected.
v0.181.7 NOTES STABLE

Zed v0.181.7 adds Gemini 2.5 Pro and GPT-4.1 family models to Copilot Chat and the Agent panel.

└──▷ GET THIS VERSION
$ git clone --branch v0.181.7 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:
$ git checkout v0.181.7
  • Adds Gemini 2.5 Pro to Copilot Chat, available in both the stable Assistant panel and the new Agent panel (beta).
  • Adds OpenAI GPT-4.1, GPT-4.1 mini, and GPT-4.1 nano via Copilot Chat and the OpenAI API, available in both the stable Assistant panel and the new Agent panel (beta).
v0.181.6 NOTES STABLE

Zed v0.181.6 restores screen sharing support on X11.

└──▷ GET THIS VERSION
$ git clone --branch v0.181.6 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:
$ git checkout v0.181.6
  • Re-adds screen sharing support on X11.
v0.181.5 NOTES STABLE

Zed v0.181.5 adds GPU selection on Linux, git commit viewer, Vim :ls/:options/g?, DeepSeek R1 on Bedrock, and project panel gitignore hiding.

└──▷ GET THIS VERSION
$ git clone --branch v0.181.5 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:
$ git checkout v0.181.5
└──▷ USE IT
Control when the mouse cursor hides — for example, hide it only while typing, not on movement.
yaml
hide_mouse: on_typing
  • Adds ZED_DEVICE_ID environment variable on Linux to force Zed to use a specific GPU (hex value, e.g. ZED_DEVICE_ID=0x2484); obtain the ID via lspci -nn | grep VGA.
  • Adds ProjectPanel::ToggleHideGitIgnore action and project_panel.hide_gitignore setting to hide gitignored files in the project panel.
  • Adds hide_mouse setting accepting values on_typing_and_movement, on_typing, or never to control mouse cursor auto-hiding behavior.
  • Adds support for Terminal && vi_mode as a keybinding context to detect when the terminal is in vi mode.
  • Vim: adds :ls and :buffers commands.
+17 moreshow less
  • Vim: adds :options and :map commands.
  • Vim: adds g? operator to convert text to Rot13/Rot47.
  • Adds the ability to view past git commits in Zed — click a commit message in the commit panel or a SHA in git blame to inspect the full commit.
  • Adds support for DeepSeek R1 hosted on AWS Bedrock as an AI provider.
  • Adds persistent history of command palette usages.
  • Respects an existing GIT_ASKPASS environment variable instead of overriding it, enabling git push workflows in tools like Coder.
  • Auto-inserts a newline when pressing Enter between opening and closing tags in JSX/TSX.
  • Improves restoration of editor state (folds, selections, scroll position) when files are reopened.
  • Improves handling of upper-case characters in keybinds: special keys (F8, CTRL, SHIFT, etc.) are now parsed case-insensitively.
  • Dims keybinds in context menus when the corresponding action is currently disabled.
  • Adds ability to double-click on an empty pane to open a new file.
  • Adds correct syntax highlighting for use bounds and async closures in Rust.
  • Deduplicates git UI to show only one repository when two subdirectories of a common repository root are open.
  • Git panel now prompts for confirmation before restoring a file.
  • Python: improves detection of virtualenvwrapper environments in work trees.
  • Python: improves highlighting of function parameters.
  • Python: improves display of environments in the toolchain selector.
└──▷ BREAKING ON UPGRADE
  • !The hide_mouse_while_typing setting is renamed to hide_mouse; existing configs using the old name will need to be updated.
  • !Upper-case ASCII characters in keymaps are now explicitly converted to shift + the lowercase version of the character; keybindings relying on the previous behavior may need to be updated.
v0.180.2 NOTES STABLE

Zed v0.180.2 adds fold persistence, LSP env vars, go_to_definition_fallback, --system-specs, and Gemini 2.5 Pro support.

└──▷ GET THIS VERSION
$ git clone --branch v0.180.2 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:
$ git checkout v0.180.2
└──▷ USE IT
Set environment variables for rust-analyzer without modifying your shell profile, useful for profiling or feature flags.
json
{
  "lsp": {
    "rust-analyzer": {
      "binary": {
        "path": "/usr/local/bin/rust-analyzer",
        "env": {
          "RA_PROFILE": "*>100"
        }
      }
    }
  }
}
Suppress the go-to-definition fallback so Zed does nothing instead of opening a references panel when no definition is found.
json
{
  "go_to_definition_fallback": "none"
}
Retrieve system specs for a GitHub bug report without launching the Zed GUI.
$ zed --system-specs
  • Adds editor::CopyAndTrim action to trim whitespace from selections when copying.
  • Adds go_to_definition_fallback setting, accepting find_all_references (default) or none, to control fallback behavior when go-to-definition finds no results.
  • Adds env key under lsp.<server>.binary in settings to set environment variables for any language server (e.g. {"lsp": {"rust-analyzer": {"binary": {"env": {"RA_PROFILE": "*>100"}}}}}).
  • Adds --system-specs flag to the Zed binary to retrieve system specs for GitHub issue reports without opening the GUI.
  • Adds persistence for editor folds so they are preserved across restarts.
+17 moreshow less
  • Adds :marks command in Vim mode to display a list of current marks.
  • Adds ' and ' marks in Vim mode tracking last jump location in the current buffer and last exit location.
  • Adds support for Gemini 2.5 Pro Experimental model in the AI assistant.
  • Adds support for Claude Sonnet 3.7 Thought in the assistant panel and GitHub Copilot Chat.
  • Updates Copilot to use the official @github/copilot-language-server language server.
  • Adds a notification when tasks.json is saved in an invalid state.
  • Adds a scrollbar to the extensions page.
  • Adds option to copy an extension author's name and email from the extension context menu.
  • Python: Adds detection for runnable Python modules and a task to run a Python file as a module from the project's scope.
  • Python: Makes file/line references in the format File "file.py", line 8 clickable in the terminal.
  • Python: Shows tasks from the Python plugin for standalone files.
  • Adds recognition for APKBUILD files as 'Shell Script'.
  • Updates bun.lock files to be recognized as JSONC.
  • Inline assistant now expands empty selections to the block under the cursor.
  • Reduces memory usage for installed monospace fonts (e.g. ~800MB to ~300MB on Arch Linux with nerd-fonts).
  • Improves autocomplete suggestions in settings.json to query the whole string rather than just the last word.
  • Improves Regex syntax highlighting.
└──▷ BREAKING ON UPGRADE
  • !Files 6GB or larger will no longer open; this is a temporary workaround for extreme memory usage with large files.
  • !Markdown default soft_wrap behavior changed from preferred_line_length to window width.
Was this useful?

shell-gpt

Sources Release notes → 1.4.5 NOTES

shell-gpt 1.4.5 adds LiteLLM support, unlocking hundreds of additional AI model backends.

└──▷ GET THIS VERSION
$ git clone --branch 1.4.5 https://github.com/TheR1D/shell_gpt.git
# already have the repo? check out this version:
$ git checkout 1.4.5
  • Supports all LiteLLM-compatible models, enabling use of any backend provider LiteLLM supports (e.g., Azure, Anthropic, Cohere, and more).
Was this useful?
◆  Local LLM Runtimes

KoboldCpp

Sources Release notes → v1.90.2 4 RELEASES · 2025-04-01 → 2025-04-29 NOTES STABLE

KoboldCpp v1.90.2 adds Android Termux auto-install, HuggingFace model search, Pixtral vision support, and OpenAI Structured Outputs in the chat completions API.

└──▷ GET THIS VERSION
$ git clone --branch v1.90.2 https://github.com/LostRuins/koboldcpp.git
# already have the repo? check out this version:
$ git checkout v1.90.2
└──▷ TRY IT
Run a multimodal model with the vision projector offloaded to CPU while the main LLM stays on GPU, useful when VRAM is tight.
$ koboldcpp.exe --model mymodel.gguf --mmproj myproj.gguf --mmprojcpu --gpulayers 999
Force a prompt-processing batch size of 1 to debug coherence issues or replicate minimal-batch behavior on a constrained GPU.
$ koboldcpp.exe --model mymodel.gguf --blasbatchsize -1
  • Adds --mmprojcpu flag to load and run the multimodal projector on CPU while keeping the main model on GPU.
  • Adds --blasbatchsize -1 mode that exclusively uses a batch size of 1 when processing prompts; also formally permits --blasbatchsize 16 to replicate the old non-GEMM batch-of-16 behavior.
  • Adds OpenAI Structured Outputs support in the chat completions API, including accepting a JSON schema sent as a stringified JSON object in the grammar field, enabling enforced structured JSON outputs.
  • Adds Android Termux auto-installer: a single command installs, downloads, compiles, and configures KoboldCpp with a Gemma3-1B model on Android via Termux (from F-Droid).
  • Adds a HuggingFace model search tool allowing users to find, browse, and download models directly from within KoboldCpp.
+7 moreshow less
  • Adds Qwen3 model support, including automatic --nobostoken triggering when model metadata explicitly indicates no BOS token.
  • Adds functioning Pixtral vision model support; note Pixtral is token-heavy (~4000 tokens per 1024px image); --contextsize or --visionmaxres can be tuned accordingly.
  • Merged overhaul to Qwen2.5VL projector, supporting both HimariO and ngxson multimodal projector versions with backwards compatibility.
  • Adds automatic handling of multipart GGUF file downloading, supporting up to 9 parts.
  • Adds ComfyUI compatibility improvements via rudimentary WebSocket spoof.
  • Improved auto GPU layer assignment when loading multi-part GGUF models on a single GPU, with tightened memory estimation and quantized KV cache accounting.
  • Kobold Lite adds a toggle to disable LaTeX rendering while keeping Markdown enabled, and adds ChatGLM-4 and Qwen3 (ChatML think/nothinking) presets.
└──▷ BREAKING ON UPGRADE
  • !--onready shell commands can no longer be embedded into a .kcppt or .kcpps file; they remain available only as a CLI parameter.
  • !ChatML (No Thinking) preset is removed from Kobold Lite; thinking control is now handled globally via Settings > Tokens > CoT.
3 more releases in this issue · 2025-04-01 → 2025-04-29
v1.89 NOTES STABLE

KoboldCpp v1.89 adds NoScript chat/image gen, new --overridekv/--overridetensors flags, and Vulkan coopmat2 support.

└──▷ GET THIS VERSION
$ git clone --branch v1.89 https://github.com/LostRuins/koboldcpp.git
# already have the repo? check out this version:
$ git checkout v1.89
└──▷ TRY IT
Force a model's context length metadata to a specific value at load time without editing the model file.
$ koboldcpp.exe --model mymodel.gguf --overridekv llama.context_length=uint32:8192
Offload only the output tensor to CPU while keeping everything else on GPU, useful for VRAM-constrained setups.
$ koboldcpp.exe --model mymodel.gguf --overridetensors output=CPU
  • Adds --overridekv launcher flag to overwrite a single model metadata property at runtime; input format is keyname=type:value.
  • Adds --overridetensors launcher flag to place tensors matching a pattern onto a specific backend; input format is tensornamepattern=buffertype.
  • Enables Vulkan coopmat2 (CM2) support for Nvidia GPUs with Game Ready Driver 576.02 or later, adding flash attention and overall speed improvements; OldCPU Vulkan binaries now exclude coopmat, coopmat2, and DP4A.
  • Improved NoScript mode at /noscript now supports chat mode and image generation without JavaScript, compatible with browsers as old as Internet Explorer 5 and Netscape Navigator 4.
  • Enables Image Generation LoRAs for use with quantized diffusion models (LoRA itself should remain unquantized).
+7 moreshow less
  • Displays available GPU memory when estimating layer counts.
  • Makes YAD the default filepicker, replacing Zenity; Legacy TK filepicker remains available in the extras page.
  • Increases Kobold Lite save slots to 10 local and 10 remote.
  • Relocates Tokens Tab and WebSearch Tab into the Settings Panel; regex and token sequence configs now persist in settings rather than per-story.
  • Adds Retain History toggle in Kobold Lite WebSearch to carry over prior search results into subsequent queries.
  • Adds an editable Template for the Kobold Lite character creator.
  • Reworks thinking-tag handling in Kobold Lite, separating display and submit regex behaviors across three modes each.
└──▷ BREAKING ON UPGRADE
  • !Kobold Lite regex and token sequence configs are now stored in settings rather than in the story, so existing per-story values will not automatically migrate.
v1.88 NOTES STABLE

KoboldCpp v1.88 adds image inpainting, a JSON-to-GBNF grammar endpoint, --maxrequestsize flag, and Llama 4 model support.

└──▷ GET THIS VERSION
$ git clone --branch v1.88 https://github.com/LostRuins/koboldcpp.git
# already have the repo? check out this version:
$ git checkout v1.88
└──▷ TRY IT
Limit accepted HTTP payload size to 64 MB to prevent oversized requests from reaching the server.
$ koboldcpp.exe --model mymodel.gguf --maxrequestsize 67108864
Convert a JSON schema to GBNF grammar on the fly for structured-output constrained generation.
$ curl -X POST http://localhost:5001/api/extra/json_to_grammar -H 'Content-Type: application/json' -d '{"type":"object","properties":{"name":{"type":"string"},"age":{"type":"integer"}},"required":["name","age"]}'
  • Adds --maxrequestsize flag to configure the server's maximum HTTP request payload size before dropping a request (default: 32 MB).
  • Adds new API endpoint POST /api/extra/json_to_grammar to convert a JSON schema into GBNF grammar.
  • Adds Image Inpainting support to StableUI, including a masking UI for Img2Img editing (similar to A1111) with updated API docs.
  • Adds a clip-skip slider to StableUI.
  • Adds Zenity and YAD support for native file picker dialogs on Linux; falls back to the previous TKinter picker via 'Use Classic FilePicker' in the extras tab.
+4 moreshow less
  • Adds GPU memory estimation via vulkaninfo when nvidia-smi is unavailable.
  • Merges Llama 4 support from upstream llama.cpp, with Qwen3 also included.
  • Adds Llama 4 prompt format to Kobold Lite.
  • Adds warnings in GUI and terminal when FlashAttention is used with the Vulkan backend due to performance concerns.
v1.87.4 NOTES STABLE

KoboldCpp v1.87.4 adds embeddings endpoint, voice cloning, Qwen2.5VL, auto tool calling, and a CLI chat mode.

└──▷ GET THIS VERSION
$ git clone --branch v1.87.4 https://github.com/LostRuins/koboldcpp.git
# already have the repo? check out this version:
$ git checkout v1.87.4
└──▷ TRY IT
Encode text for storage in a vector database using a dedicated GGUF embedding model.
$ koboldcpp --embeddingsmodel nomic-embed-text-v1.5.Q4_K_M.gguf
Run a fully interactive terminal chat session without launching the web UI.
$ koboldcpp --model gemma-3-12b-it-Q4_K_M.gguf --cli
Query the embeddings endpoint directly to get a vector representation of a text string.
$ curl http://localhost:5001/v1/embeddings -H 'Content-Type: application/json' -d '{"input": "The quick brown fox", "model": "nomic-embed-text"}'
  • Adds --embeddingsmodel flag to load GGUF embedding models, exposed via /v1/embeddings and /api/extra/embeddings for text encoding into vector databases.
  • Adds --cli flag to run KoboldCpp in a fully headless terminal chat mode, with no GUI required.
  • Adds --quantkv support without flash attention — when used without it, only quantized-K is applied (quantized-V is skipped).
  • Adds OuteTTS voice cloning support: Speaker JSON files representing a cloned voice can now be uploaded via the TTS API.
  • Adds automatic (auto) mode for function/tool calling, allowing the model to decide whether and which tool to invoke; the detection template is customizable via custom_tools_prompt in the chat completions adapter.
+6 moreshow less
  • Merges Qwen2.5VL vision-language model support, with GGUF weights and mmproj projectors available for 7B and 32B variants.
  • Adds World Info Groups in Kobold Lite UI: categorize world info entries by group, toggle groups on/off with a single click, and import/export each group as JSON.
  • Adds a menu in Kobold Lite to upload a cloned speaker JSON for OuteTTS voice cloning.
  • Adds a toggle in Kobold Lite to allow uploading images as a new turn in a conversation.
  • Increases maximum resolution of uploaded images used with vision models in Kobold Lite.
  • Adds localtunnel as a fallback tunneling option in the Colab environment when Cloudflare tunnels are blocked.
Was this useful?

LocalAI

Sources Release notes → v2.28.0 NOTES

LocalAI v2.28.0 adds SYCL support for stablediffusion.cpp, Lumina model family support, and relaunches LocalAGI v2 as a Go-based agent orchestration platform.

└──▷ GET THIS VERSION
$ git clone --branch v2.28.0 https://github.com/mudler/LocalAI.git
# already have the repo? check out this version:
$ git checkout v2.28.0
  • Adds SYCL support for stablediffusion.cpp, enabling Intel GPU-accelerated image generation.
  • Adds support for the Lumina model family (e.g., Lumina-Image-2.0) for local image generation.
  • Enhances the LOCALAI_SINGLE_ACTIVE_BACKEND loader to treat the backend as a true singleton, improving single-backend reliability.
  • Introduces LocalAGI v2, a fully rewritten Go-based AI agent orchestration platform with a no-code WebUI, compatible with the OpenAI Responses API and supporting built-in connectors for Slack, Telegram, Discord, GitHub Issues, and IRC.
  • Introduces LocalRecall, a standalone REST API for persistent agent memory, spun out of LocalAGI v2 as its own component.
Was this useful?

SGLang

Sources Release notes → v0.4.6 2 RELEASES · 2025-04-07 → 2025-04-27 NOTES STABLE

SGLang v0.4.6 adds FlashAttention3 as default backend, PD disaggregation with Mooncake/NIXL, FP4 inference, and preliminary Blackwell GPU support.

└──▷ GET THIS VERSION
$ git clone --branch v0.4.6 https://github.com/sgl-project/sglang.git
# already have the repo? check out this version:
$ git checkout v0.4.6
└──▷ TRY IT
Serve a Llama 4 multimodal model with multimodal support explicitly enabled via the new CLI flag.
$ python -m sglang.launch_server --model-path meta-llama/Llama-4-Scout-17B-16E-Instruct --enable-llama4-multimodal
  • Adds --enable-llama4-multimodal flag to enable Llama 4 multimodal inference support.
  • Enables FlashAttention3 as the default attention backend for mainstream models (DeepSeek, Qwen, Llama), including FA3 MLA by default on Hopper GPUs.
  • Adds PD (prefill-decode) disaggregation support with Mooncake and NIXL KV transfer backends.
  • Adds FP4 weight loading and inference support (NV FP4 precision).
  • Enables DeepGEMM by default for DeepSeek models, plus additional kernel fusions for improved DeepSeek performance.
+11 moreshow less
  • Adds preliminary support for NVIDIA Blackwell GPUs, including a Blackwell Dockerfile and Cutlass MLA kernel.
  • Adds sparse attention kernel to sgl-kernel.
  • Adds flash_attn_varlen_func to sgl-kernel.
  • Automatically inspects whether a model is ModelOpt quantized and sets the quantization method accordingly, including ModelOpt KV cache support.
  • Adds in-queue metrics to the metrics reporting surface.
  • Adds H20 dtype fp8_w8a8 fused MoE kernel tuning configs for DeepSeek V3/R1.
  • Disables grammar restrictions within reasoning sections, allowing structured output to work alongside chain-of-thought reasoning.
  • Enables bench_one_batch to support enable_dp_attention.
  • Adopts fast image processor by default for VLM (vision-language model) inputs.
  • Supports server-based rollout in VerlEngine for RL training workloads.
  • Adds Llama 4 FP8 inference support.
1 more release in this issue · 2025-04-07 → 2025-04-27
v0.4.5 NOTES STABLE

SGLang v0.4.5 adds Llama 4, FlashAttention 3, EAGLE3 speculative decoding, DeepEP MoE integration, and disaggregated prefill/decode.

└──▷ GET THIS VERSION
$ git clone --branch v0.4.5 https://github.com/sgl-project/sglang.git
# already have the repo? check out this version:
$ git checkout v0.4.5
  • Adds support for Llama 4 models (Llama-4-Scout-17B-16E-Instruct and Llama-4-Maverick-17B-128E-Instruct), achieving zero-shot MMLU Pro scores of 75.2 and 80.7 respectively.
  • Adds FlashAttention 3 backend for significant acceleration on long-context inference tasks.
  • Adds EAGLE3 speculative decoding support, delivering substantial gains in decoding throughput.
  • Integrates DeepEP for enhanced performance in MoE (Mixture-of-Experts) inference.
  • Introduces a prototype for disaggregated prefill and decoding.
+13 moreshow less
  • Adds support for Gemma 3 IT (gemma-3-it) model.
  • Adds support for Deepseek-VL2 multimodal model.
  • Adds support for QwenMoe model.
  • Adds FlashMLA backend support.
  • Adds online quantization support for W8A8 (weight 8-bit, activation 8-bit).
  • Adds support for serving DeepSeek-R1-Channel-INT8 on 32 L40S GPUs.
  • Adds tensor parallelism and weight slicing support for LoRA adapters.
  • Adds code completion serving support.
  • Sets xgrammar as the default grammar backend.
  • Adds hierarchical caching (HiCache) support for MLA (Multi-head Latent Attention).
  • Adds tool call with text support.
  • Supports variable remote backend for model loader.
  • Auto-detects device if not specified in server arguments.
Was this useful?

oobabooga's Text Generation WebUI (textgen)

Sources Release notes → v3.1 4 RELEASES · 2025-04-09 → 2025-04-27 NOTES STABLE

textgen v3.1 adds speculative decoding (up to +88.7% tokens/sec), Vulkan builds, and a universal --ctx-size flag across all loaders.

└──▷ GET THIS VERSION
$ git clone --branch v3.1 https://github.com/oobabooga/textgen.git
# already have the repo? check out this version:
$ git checkout v3.1
└──▷ HOW TO FIND IT
Boost generation speed on a large GGUF model by pairing it with a small draft model for speculative decoding in the llama.cpp loader.
📍# In the UI, load google_gemma-3-27b-it-Q8_0.gguf and set the draft model to google_gemma-3-1b-it-Q4_K_M.gguf under the llama.cpp speculative decoding settings.
  • Adds --extra-flags parameter to the llama.cpp loader for passing additional flags directly to llama-server (e.g. override-tensor=exps=CPU for MoE models).
  • Adds --streaming-llm flag to llama.cpp (mapped to --cache-reuse in llama.cpp internals) to skip full prompt reprocessing when context length is filled, useful for long role-playing sessions.
  • Adds universal --ctx-size flag to specify context size across all loaders.
  • Adds speculative decoding to the llama.cpp loader; benchmarks show +88.7% tokens/second with a 27B model using a 1B draft model, with gains of +34–88% observed across different model combinations.
  • Adds speculative decoding to the non-HF ExLlamaV2 loader.
+8 moreshow less
  • Adds KV cache quantization to the ExLlamaV3 loader.
  • Restructures all user data (models, characters, presets, saved settings) under text-generation-webui/user_data/ to enable portable install updates by moving a single folder.
  • Adds Vulkan portable builds supporting AMD and Intel Arc GPUs on both Windows and Linux.
  • Adds prompt processing progress messages to the llama.cpp loader.
  • UI: Adds a collapsible thinking block for messages containing <think> steps.
  • UI: Sets 'instruct' as the default chat mode.
  • UI: Adds a greeting when the web UI launches in instruct mode with an empty chat history.
  • UI: Model menu now displays only part 00001 of multipart GGUF files.
└──▷ BREAKING ON UPGRADE
  • !All user data has moved: models must be manually relocated from models/ to user_data/models/, presets from presets/ to user_data/presets/, and other user data (characters, saved settings) to their corresponding paths under user_data/ after upgrading.
3 more releases in this issue · 2025-04-09 → 2025-04-27
v3.0 NOTES STABLE

oobabooga text-generation-webui v3.0 ships portable zip builds with llama.cpp built in and makes llama.cpp the default loader.

└──▷ GET THIS VERSION
$ git clone --branch v3.0 https://github.com/oobabooga/textgen.git
# already have the repo? check out this version:
$ git checkout v3.0
  • Adds portable zip builds (~700 MB) for Windows, Linux, and macOS (variants: cuda12.4, cuda11.7, cpu, macOS arm64, macOS x86_64) bundling text-generation-webui + llama.cpp with no installation required.
  • API now starts by default on localhost in portable builds without requiring the --api flag.
  • The --gpu-split flag (previously EXL2-only) is now also reused for Transformers GPU memory control.
  • Makes llama.cpp the default loader across the project.
  • Adds support for llama.cpp builds from the ggml-org/llama.cpp fork.
└──▷ BREAKING ON UPGRADE
  • !The --gpu-memory flag has been removed; use --gpu-split instead for Transformers GPU memory configuration.
v2.8 NOTES STABLE

oobabooga text-generation-webui v2.8 replaces llama-cpp-python with a new llama-server loader and adds smoother chat streaming.

└──▷ GET THIS VERSION
$ git clone --branch v2.8 https://github.com/oobabooga/textgen.git
# already have the repo? check out this version:
$ git checkout v2.8
  • New llama-server-based llama.cpp loader replaces llama-cpp-python, adding sampling parameters xtc, dry, and dynatemp and reducing installation size.
  • Supports GGUF model subfolder organization inside text-generation-webui/models, enabling direct import from LM Studio directory layouts.
  • Adds support for the Llama-4-Scout-17B-16E-Instruct model via the updated llama.cpp backend.
  • Smoother per-word chat streaming in the Chat tab replaces chunked token delivery.
  • The llamacpp_HF loader has been removed; only one llama.cpp loader now exists.
└──▷ BREAKING ON UPGRADE
  • !The llamacpp_HF loader has been removed — any workflow that selected it will need to switch to the single remaining llama.cpp loader.
  • !Some command-line flags have been removed — existing launch scripts using those flags will break on upgrade.
v2.7 NOTES STABLE

oobabooga text-gen v2.7 adds ExLlamaV3 support via new ExLlamav3_HF loader, a Dark chat style, and default 8192 context-length cap.

└──▷ GET THIS VERSION
$ git clone --branch v2.7 https://github.com/oobabooga/textgen.git
# already have the repo? check out this version:
$ git checkout v2.7
  • Adds ExLlamav3_HF loader, providing ExLlamaV3 inference with the same sampler stack as Transformers and ExLlamav2_HF; pre-built wheels for Linux and Windows are included, removing manual installation (requires compute capability 8+).
  • Adds a new 'Dark' chat style option.
Was this useful?

vLLM

Sources Release notes → v0.8.5 3 RELEASES · 2025-04-06 → 2025-04-28 NOTES STABLE

vLLM v0.8.5 adds Qwen3/Qwen3MoE day-0 support, vllm bench CLI, structural_tag tool-calling, EAGLE-3, and a new /server_info endpoint.

└──▷ GET THIS VERSION
$ git clone --branch v0.8.5 https://github.com/vllm-project/vllm.git
# already have the repo? check out this version:
$ git checkout v0.8.5
└──▷ TRY IT
Benchmark inference latency of a model directly from the CLI without writing a custom script.
$ vllm bench latency --model meta-llama/Llama-3-8B-Instruct
Inspect the full running vLLM configuration programmatically after server startup.
$ curl http://localhost:8000/server_info | jq .
Benchmark end-to-end throughput for capacity planning on a newly supported model.
$ vllm bench throughput --model Qwen/Qwen3-8B
  • Adds vllm bench latency and vllm bench throughput CLI subcommands for on-demand benchmarking.
  • Adds structural_tag support via xgrammar for structured tool-calling in the V1 engine.
  • Adds /server_info API endpoint to retrieve the running vllm_config from the API server.
  • Adds sampling params to the v1/audio/transcriptions endpoint.
  • Enables dynamic LoRA loading from a remote server at runtime.
+20 moreshow less
  • Adds KV Connector API V1 for disaggregated serving, plus an LMCache KV connector for V1.
  • Day-0 model support for Qwen3 and Qwen3MoE, including fp8 weight loading and tuned MoE configs.
  • Adds EAGLE-3 speculative decoding support.
  • Adds support for FlashInfer Attention in the V1 engine.
  • Adds ModernBERT model support.
  • Adds Granite Speech model support.
  • Adds PLaMo2 model support.
  • Adds Kimi-VL model support.
  • Adds Qwen2.5-Omni (thinker-only) model support.
  • Adds Snowflake Arctic Embed family model support.
  • Enables structured decoding on TPU V1.
  • Enables Top-P and Top-K sampling on TPU V1.
  • Adds Cutlass MLA support for Blackwell GPUs.
  • Adds AMD AITER fused MoE V1 support and integrates the AITER Paged Attention kernel and MLA.
  • Adds prototype sequence parallelism via compilation pass.
  • Adds BitBLAS (Microsoft Runtime Kernel Lib) support for low-precision computation.
  • Adds Triton-based rotary_emb implementation for improved performance.
  • Adds URL validation for multimodal content parts.
  • Adds property-based testing for vLLM endpoints using an OpenAPI 3.1 schema.
  • Adds a security guide to documentation.
└──▷ BREAKING ON UPGRADE
  • !--enable-chunked-prefill, --multi-step-stream-outputs, and --disable-chunked-mm-input can no longer be explicitly set to False; use the --no- prefix instead (e.g., --no-enable-chunked-prefill).
2 more releases in this issue · 2025-04-06 → 2025-04-28
v0.8.4 NOTES STABLE

vLLM v0.8.4 adds Qwen3, Llama4, InternVL3 support, TorchAO quantization, 3x DeepSeek MLA speedup, and structured output auto-backend.

└──▷ GET THIS VERSION
$ git clone --branch v0.8.4 https://github.com/vllm-project/vllm.git
# already have the repo? check out this version:
$ git checkout v0.8.4
└──▷ TRY IT
Run benchmark_serving with custom sampling parameters to simulate realistic production traffic.
$ python benchmarks/benchmark_serving.py --model meta-llama/Llama-3.1-8B-Instruct --dataset-name sharegpt --sampling-params '{"temperature": 0.8, "top_p": 0.95}'
  • Adds --max-model-len hint to the error message when KV cache memory is insufficient, showing users how to set the flag to fit their model.
  • Adds hf_token to EngineArgs, allowing Hugging Face authentication to be passed directly through the engine configuration.
  • Adds disable_chunked_mm_input argument to the V1 engine to disable partial multimodal input prefill.
  • Sets the structured output backend to auto by default in the V1 engine (previously required explicit selection).
  • Adds supports_structured_output() method to the Platform interface for V1 structured output backend negotiation.
+19 moreshow less
  • Adds histogram buckets for request_latency, time_to_first_token, and time_per_output_token metrics.
  • Adds sampling parameters to benchmark_serving for more representative load testing.
  • Enables regex support with xgrammar in the V0 engine.
  • Supports matryoshka representation and dimensions parameter in the embedding API.
  • Supports TorchAO quantization for compatible models.
  • Adds modelopt quantization support for Mixtral models.
  • Enables PTPC FP8 for CompressedTensorsW8A8Fp8MoEMethod (triton fused_moe).
  • Supports W8A8 channel-wise weights and per-token activations in the triton fused_moe_kernel.
  • New merge_attn_states CUDA kernel for DeepSeek MLA delivers a 3x speedup.
  • Adds support for Qwen3 and Qwen3MoE models.
  • Adds support for SmolVLM, jinaai/jina-embeddings-v3, InternVL3, and GLM-4-0414 models.
  • Adds Llama4 support including chat templates for pythonic tool calling, tuned FusedMoE kernel config for Llama4 Scout (TP=8 on H100), and attention temperature tuning enabled by default for long context (>32k).
  • Enables multi-input by default in the V1 engine.
  • Adds Eagle model loading and KV cache slot support for Eagle speculative decoding heads in V1.
  • Enables zero-copy tensor/ndarray serialization and transmission in the V1 engine core.
  • Adds Intel Gaudi (HPU) multi-step scheduling implementation.
  • Enables @support_torch_compile for the XLA (TPU) backend.
  • Auto-detects bitsandbytes pre-quantized models.
  • Unifies engine configuration under LoadConfig and ParallelConfig via engine args.
v0.8.3 NOTES STABLE

vLLM v0.8.3 adds Day 0 Llama 4 support, single-node data parallel API serving, BitsAndBytes on V1, and SHA256 prefix-cache hashing.

└──▷ GET THIS VERSION
$ git clone --branch v0.8.3 https://github.com/vllm-project/vllm.git
# already have the repo? check out this version:
$ git checkout v0.8.3
  • Adds tags parameter to the wake_up API endpoint.
  • Adds HTTP service metrics via the API server (#15657).
  • Adds BitsAndBytes quantization support in the V1 engine.
  • Adds Enum support for xgrammar-based structured output in V1.
  • Adds LoRA CPU offload support in the V1 engine.
+21 moreshow less
  • Adds single-node data parallel serving with API server support in the V1 engine (AsyncLLM data parallel).
  • Adds Collective RPC support in the V1 engine.
  • Day 0 support for Llama 4 Scout and Maverick models (V1 engine only).
  • V1 engine now supports native sliding window attention with the hybrid memory allocator.
  • Adds new model support: Aya Vision, MiniMaxText01, Skywork-R1V, jina-reranker-v2.
  • Adds Reasoning Parser for Granite Models.
  • Adds Phi-4-mini function calling support.
  • Adds EAGLE Proposer for Speculative Decoding in V1, including speculative decoding metrics and n-gram interface update.
  • Adds CUTLASS grouped GEMM FP8 MoE kernel for expert parallelism.
  • Adds FP8 channelwise dynamic per-token GroupedGEMM support.
  • Adds option to use DeepGemm contiguous grouped GEMM kernel for fused MoE operations.
  • Supports XpYd disaggregated prefill with MooncakeStore.
  • Adds custom all-reduce support for ROCm (AMD GPUs).
  • Adds AITER integration for AMD: int8 scaled GEMM kernel and fused MoE kernel.
  • Adds paged attention for V1 on AMD ROCm.
  • Adds CPU MLA (Multi-head Latent Attention) kernel support.
  • TPU: adds sliding window and logit soft capping support in the paged attention kernel.
  • TPU: adds optimized top-p implementation that avoids scattering.
  • Adds middleware to log API server responses.
  • Adds minimum version pin for huggingface_hub to enable Xet downloads.
  • Adds multi-node offline DP+EP example.
Was this useful?
◆  AI Model & Data Infrastructure

Ollama

Sources Release notes → v0.6.7 4 RELEASES · 2025-04-02 → 2025-04-26 NOTES STABLE

Get up and running with Kimi-K2.6, GLM-5.2, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models.

Ollama v0.6.7 adds Llama 4 multimodal, Qwen3, Phi 4 reasoning models, and raises default context window to 4096 tokens.

└──▷ GET THIS VERSION
$ git clone --branch v0.6.7 https://github.com/ollama/ollama.git
# already have the repo? check out this version:
$ git checkout v0.6.7
└──▷ TRY IT
Pull and run Phi 4 Reasoning for complex, multi-step reasoning tasks without extra configuration.
$ ollama run phi4-reasoning
Pull Qwen3 MoE variant to leverage mixture-of-experts efficiency for large-context inference.
$ ollama run qwen3
  • Adds support for Meta's Llama 4 multimodal models, enabling image-and-text inference locally.
  • Adds support for Microsoft's Phi 4 Reasoning and Phi 4 Mini Reasoning models for state-of-the-art chain-of-thought tasks.
  • Adds Qwen3 family (dense and MoE variants) to the model library.
  • Increases default context window from its previous limit to 4096 tokens, unlocking longer conversations and documents out of the box.
3 more releases in this issue · 2025-04-02 → 2025-04-26
v0.6.6 NOTES STABLE

Ollama v0.6.6 adds IBM Granite 3.3 and DeepCoder models, experimental faster downloader, and expanded tool-call type support.

└──▷ GET THIS VERSION
$ git clone --branch v0.6.6 https://github.com/ollama/ollama.git
# already have the repo? check out this version:
$ git checkout v0.6.6
└──▷ TRY IT
Enable the experimental faster downloader to get improved pull speeds and reliability before it becomes default.
$ OLLAMA_EXPERIMENT=client2 ollama serve
  • Adds IBM Granite 3.3 (2B and 8B) models with 128K context length, fine-tuned for reasoning and instruction-following.
  • Adds DeepCoder 14B (and 1.5B) fully open-source coder model at O3-mini level.
  • New experimental faster model downloader with improved performance and reliability, enabled via OLLAMA_EXPERIMENT=client2.
  • Improves performance of ollama create when importing models from Safetensors.
  • Supports tool function parameters with either a single type or an array of types.
+2 moreshow less
  • Includes items and $defs fields in the API to properly handle array types.
  • Adds OpenAI-Beta headers to the CORS safelist, enabling broader cross-origin API access.
v0.6.5 NOTES STABLE

Ollama v0.6.5 adds Mistral Small 3.1, a top-performing vision model in its weight class.

└──▷ GET THIS VERSION
$ git clone --branch v0.6.5 https://github.com/ollama/ollama.git
# already have the repo? check out this version:
$ git checkout v0.6.5
└──▷ TRY IT
Pull and run Mistral Small 3.1 to get vision-capable inference locally.
$ ollama run mistral-small3.1
  • Adds support for Mistral Small 3.1, described as the best-performing vision model in its weight class.
v0.6.4 NOTES STABLE

Ollama v0.6.4 adds model capability metadata to /api/show and AMD RDNA4 GPU support on Linux.

└──▷ GET THIS VERSION
$ git clone --branch v0.6.4 https://github.com/ollama/ollama.git
# already have the repo? check out this version:
$ git checkout v0.6.4
└──▷ TRY IT
Programmatically detect whether a locally pulled model supports vision before routing multimodal requests to it.
$ curl http://localhost:11434/api/show -d '{"name": "llava"}'
  • Adds model capability metadata (e.g. vision) to /api/show API responses.
  • Adds AMD RDNA4 GPU support on Linux.
Was this useful?

NVIDIA Triton Inference Server

Sources Release notes → v2.56.0 NOTES

Triton v2.56.0 adds SageMaker generate/stream inference types and live KV-cache metrics in HTTP response headers for TRT-LLM.

└──▷ GET THIS VERSION
$ git clone --branch v2.56.0 https://github.com/triton-inference-server/server.git
# already have the repo? check out this version:
$ git checkout v2.56.0
  • Adds SAGEMAKER_TRITON_INFERENCE_TYPE environment variable to select inference type (infer, generate, or generate_stream) on SageMaker server launch, enabling generate and generate_stream endpoints for SageMaker deployments.
  • When used with TRT-LLM, Triton now includes live KV-cache utilization and capacity metrics in the HTTP response header during inference requests, enabling on-demand metric retrieval for external load balancers such as the Kubernetes Inference Gateway API.
└──▷ BREAKING ON UPGRADE
  • !The TensorFlow Backend is deprecated as of 25.03; the '25.03-tf2-python-py3' container is no longer available. Users must build the TensorFlow Backend from source and install it into /opt/tritonserver/backends/ to continue using it.
Was this useful?
Other / Uncategorized
◆  AI OBSERVABILITY

Arize Phoenix

Sources Release notes → arize-phoenix-v8.30.0 12 RELEASES · 2025-04-02 → 2025-04-30 NOTES STABLE

Phoenix 8.30.0 adds SpanQuery DSL to the client, RBAC for REST, and separate TLS flags for HTTP and gRPC.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v8.30.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v8.30.0
└──▷ USE IT
Query spans from a Phoenix project into a pandas DataFrame for offline analysis.
python
from phoenix.client import Client
from phoenix.client.dsl import SpanQuery

client = Client()
query = SpanQuery()
df = client.get_spans_dataframe(query=query, project_name='my-project')
print(df.head())
  • Adds SpanQuery DSL and get_spans_dataframe method to the Phoenix client for querying spans programmatically.
  • Adds RBAC primitives for FastAPI / REST endpoints to enforce role-based access control.
  • Adds separate TLS-enabled flags for HTTP and gRPC transports, allowing independent TLS configuration per protocol.
  • Adds a 'copy name' button to the project menu in the UI.
11 more releases in this issue · 2025-04-02 → 2025-04-30
arize-phoenix-v8.29.0 NOTES STABLE

Arize Phoenix v8.29.0 adds environment variables for TLS configuration.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v8.29.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v8.29.0
  • Adds environment variable support for TLS configuration, enabling certificate and key setup without code changes.
arize-phoenix-v8.28.0 NOTES STABLE

Phoenix 8.28.0 gracefully handles Ctrl-C interrupts during execution.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v8.28.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v8.28.0
  • Gracefully handles Ctrl-C (SIGINT) so the process shuts down cleanly instead of crashing or leaving state corrupted.
arize-phoenix-v8.27.0 NOTES STABLE

Adds /readyz health endpoint for database connectivity checks and auto-scrolls selected spans in the trace view.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v8.27.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v8.27.0
└──▷ TRY IT
Poll the new readiness endpoint in a health-check script or Kubernetes readinessProbe to confirm Phoenix has a live database connection before routing traffic.
$ curl -f http://localhost:6006/readyz
  • Adds GET /readyz endpoint to confirm database connectivity, enabling reliable liveness/readiness probes in orchestrated deployments.
  • Scrolls the selected span into view automatically when navigating to a trace in the tracing UI.
arize-phoenix-v8.26.0 NOTES STABLE

Arize Phoenix 8.26.0 adds PHOENIX_ADMIN_SECRET env var and infinite-scroll load-more in the tracing UI.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v8.26.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v8.26.0
└──▷ TRY IT
Restrict admin access to Phoenix by setting the admin secret before launching the server.
$ export PHOENIX_ADMIN_SECRET=my-secret-value
phoenix serve
  • Adds PHOENIX_ADMIN_SECRET environment variable to control admin-level access.
  • Adds 'load more' button and loading state to the infinite scroll in the tracing UI.
arize-phoenix-v8.25.0 NOTES STABLE

Arize Phoenix 8.25.0 adds tool call and tool result IDs to span details in the UI.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v8.25.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v8.25.0
  • Displays tool call and tool result IDs in the span details view, making it easier to correlate tool invocations with their results during trace inspection.
arize-phoenix-client-v1.3.0 NOTES STABLE

Phoenix client v1.3.0 adds a full REST API for project CRUD and lets you address projects by name in REST paths.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-client-v1.3.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-client-v1.3.0
  • Adds REST API endpoints for full CRUD operations on projects (create, read, update, delete).
  • Allows project name as an identifier in the REST path for projects endpoints, in addition to project ID.
arize-phoenix-v8.24.0 NOTES STABLE

Phoenix v8.24.0 lets you address projects by name in REST paths and sends welcome emails on user creation.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v8.24.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v8.24.0
  • Allows project name as an identifier in the REST path for projects endpoints, so you can reference a project by name instead of only by ID.
  • Sends a welcome email automatically after a new user is created.
arize-phoenix-v8.23.0 NOTES STABLE

Phoenix 8.23.0 adds a PHOENIX_ALLOWED_ORIGINS env var and a REST API for full project CRUD operations.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v8.23.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v8.23.0
  • Adds PHOENIX_ALLOWED_ORIGINS environment variable to the Phoenix server to control which origins are permitted (CORS allowlist).
  • New REST API endpoints for full CRUD operations on projects.
  • Enables deletion of annotations directly from the feedback column in the tracing UI.
  • Makes the feedback table scrollable in the tracing UI.
arize-phoenix-client-v1.2.0 NOTES STABLE

Arize Phoenix client adds REST endpoints to list and create prompt version tags.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-client-v1.2.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-client-v1.2.0
  • Adds REST endpoints to list and create prompt version tags, enabling programmatic management of prompt versioning via the API.
arize-phoenix-v8.22.0 NOTES STABLE

Phoenix v8.22.0 adds REST endpoints to list and create prompt version tags.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v8.22.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v8.22.0
  • Adds REST endpoints to list or create prompt version tags, enabling programmatic tag management on prompt versions.
arize-phoenix-v8.21.0 NOTES STABLE

Phoenix 8.21.0 moves span annotation editing into the Span Aside and adds chat/note-taking UI components.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v8.21.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v8.21.0
  • Moves the Span Annotation Editor into the Span Aside panel, consolidating annotation workflows in one place.
  • Adds chat and message UI components for note-taking within the interface.
  • Allows PostgreSQL deployments to run without a working directory configured.
  • Caches project table results when toggling the details slide-over, reducing redundant loads.
Was this useful?

Langfuse

Sources Release notes → v3.53.0 7 RELEASES · 2025-04-02 → 2025-04-28 NOTES STABLE

Langfuse v3.53.0 adds session-level scores, categorical score filters across tables, and score name filters on dashboards.

└──▷ GET THIS VERSION
$ git clone --branch v3.53.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.53.0
  • Adds categorical score filters across all tables, enabling filtering by categorical score values in the UI.
  • Adds score name filters on the dashboard, allowing dashboard views to be scoped by specific score names.
  • Supports session-level scores, extending scoring beyond traces and observations to the session entity.
  • Adds input_text and output_text support in markdown rendering for observations in the UI.
  • Increases the trace API observations payload limit to 10 MB, unlocking ingestion of larger observation payloads.
+2 moreshow less
  • Adds a dead-letter-exchange (DLX) retry queue and service for improved event processing resilience.
  • Shows model name in the observations table column for quicker identification of model usage.
6 more releases in this issue · 2025-04-02 → 2025-04-28
v3.52.0 NOTES STABLE

Langfuse v3.52.0 adds dashboard observation-name filtering, metadata on org/project CRUD APIs, and custom dashboards for self-hosters.

└──▷ GET THIS VERSION
$ git clone --branch v3.52.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.52.0
  • Adds optional metadata parameter to the organization and project CRUD API endpoints.
  • Adds filtering by observation name in the dashboard.
  • Makes custom dashboards available for self-hosted Langfuse deployments.
v3.51.0 NOTES STABLE

Langfuse v3.51.0 adds admin APIs for organizations, projects, users, memberships, and API keys plus table UI improvements.

└──▷ GET THIS VERSION
$ git clone --branch v3.51.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.51.0
  • Adds admin API endpoints covering organizations, projects, users, memberships, and API keys — enabling programmatic management of Langfuse tenants.
  • Adds peek view on the observations table and re-styled column visibility selector for traces and observations.
v3.50.0 NOTES STABLE

Langfuse v3.50.0 adds variable row height in compare runs view and expands project/org name limit to 60 characters.

└──▷ GET THIS VERSION
$ git clone --branch v3.50.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.50.0
  • Expands project and organization name character limit to 60 characters.
  • Adds variable row height support in the compare runs view, improving readability of long outputs.
v3.49.0 NOTES STABLE

Langfuse v3.49.0 adds customizable dashboards (beta), a metadata field on scores, and environment-based evaluator filtering.

└──▷ GET THIS VERSION
$ git clone --branch v3.49.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.49.0
  • Adds a metadata field to scores, enabling structured annotations on score objects.
  • Extends evaluator job configuration filter options so evaluators can run based on environments.
  • Introduces a beta preview for customizable dashboards with a new widget creator page.
  • Adds detail navigation in the run-compare view for deeper drill-down into evaluation results.
  • Makes batch export page size configurable, defaulting to 500 records per page.
v3.48.0 NOTES STABLE

Langfuse v3.48.0 adds JSON/JSONL scheduled blob exports, LangChain tool parsing in playground, and BASE_PATH cookie scoping.

└──▷ GET THIS VERSION
$ git clone --branch v3.48.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.48.0
  • Adds json and jsonl format support for scheduled blob storage exports.
  • Playground now parses tools automatically from LangChain generations, enabling direct tool reuse without manual entry.
  • Playground now accepts uppercase characters in tool and schema names.
  • Improves UI/UX of the dataset runs and compare page.
v3.47.0 NOTES STABLE

Langfuse v3.47.0 adds protected prompt labels, Gemini 2.5 Pro support, and persistent playground model selection.

└──▷ GET THIS VERSION
$ git clone --branch v3.47.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.47.0
  • Adds protected labels for prompts, preventing accidental modification of designated prompt versions.
  • Adds gemini-2.5-pro-exp-03-25 as a supported model in LLM connections.
  • Playground now persists the selected model across sessions, reducing repeated configuration.
Was this useful?

Weights & Biases Weave

Sources Release notes → v0.51.44 4 RELEASES · 2025-04-03 → 2025-04-24 NOTES STABLE

Weave v0.51.44 adds a Monitor SDK class for online monitoring, imperative eval improvements, and storage-size visibility in object details.

└──▷ GET THIS VERSION
$ git clone --branch v0.51.44 https://github.com/wandb/weave.git
# already have the repo? check out this version:
$ git checkout v0.51.44
  • Adds Monitor class to the SDK (Online Monitoring I), enabling programmatic monitoring of live model behaviour from Python.
  • Exposes name config and read-only props on EvaluationLogger for finer control over imperative evaluation logging.
  • Adds UI and API improvements for Imperative Evals, including individual scores in the Imperative Evals UI.
  • Supports emitting storage size in the object details view via trace_server, making artifact footprint visible per object.
  • Refactors OpenTelemetry (OTel) parsing to standardize fields across ingested spans.
+2 moreshow less
  • Enables editing of list-valued dataset cells in the UI.
  • Includes notes and reactions when adding calls to datasets.
3 more releases in this issue · 2025-04-03 → 2025-04-24
v0.51.43 NOTES STABLE

Weave v0.51.43 adds imperative evaluation APIs, MCP python-sdk support, OTEL/OpenInference semantic conventions, and promotes Playground to GA.

└──▷ GET THIS VERSION
$ git clone --branch v0.51.43 https://github.com/wandb/weave.git
# already have the repo? check out this version:
$ git checkout v0.51.43
  • Adds Imperative Evaluation APIs enabling programmatic evaluation workflows without decorator-based setup.
  • Adds support for the MCP python-sdk integration, enabling tracing of Model Context Protocol tool calls.
  • Adds semantic conventions parsing for OpenTelemetry (OTEL) and OpenInference trace formats.
  • Adds boolean all, boolean any, and number isInteger ops to weave_query.
  • Adds status filtering to the trace/calls UI.
+6 moreshow less
  • Displays trace storage size in the Trace view and on the call summary page.
  • Adds ability to include annotations when adding calls to a dataset.
  • Adds query shortcuts for an empty query panel.
  • Adds ability to add API keys in the Playground drawer; Playground promoted to GA.
  • Allows selection of a custom step metric in the stepper panel.
  • Conditionally surfaces trace metadata in ObjectView.
v0.51.42 NOTES STABLE

Weave v0.51.42 adds AWS Bedrock Guardrails scoring and OpenTelemetry tracing support.

└──▷ GET THIS VERSION
$ git clone --branch v0.51.42 https://github.com/wandb/weave.git
# already have the repo? check out this version:
$ git checkout v0.51.42
  • Adds OpenTelemetry (otel) tracing support, enabling trace export via the OTLP protocol.
  • Adds AWS Bedrock Guardrails integration with a new Scorer for evaluating LLM outputs against Bedrock safety policies.
  • Adds a default datetime filter on the trace table UI for scoped, time-bounded trace browsing.
v0.51.41 NOTES STABLE

Weave v0.51.41 adds DSPy 2.x and Google GenAI integrations, custom LLM providers in the playground, JSONL/TSV dataset uploads, and storage-size API support.

└──▷ GET THIS VERSION
$ git clone --branch v0.51.41 https://github.com/wandb/weave.git
# already have the repo? check out this version:
$ git checkout v0.51.41
└──▷ USE IT
Trace a DSPy 2.x pipeline end-to-end, including custom DSPy modules, inside a Weave project.
python
import weave
import dspy

weave.init('dspy-project')

lm = dspy.LM('openai/gpt-4o-mini')
dspy.configure(lm=lm)

class MyModule(dspy.Module):
    def __init__(self):
        self.predict = dspy.Predict('question -> answer')
    def forward(self, question):
        return self.predict(question=question)

module = MyModule()
result = module(question='What is DSPy?')
print(result.answer)
  • Adds caption attribute to ImageArtifactFileRef in weave_query, exposing image captions as a queryable field.
  • Adds storage size to the API via a new capability on calls (adds api capability to include storage size), letting callers retrieve payload size information programmatically.
  • Adds a new Google GenAI integration (weave.integrations for google-genai) for automatic tracing of Google Generative AI SDK calls.
  • Adds a DSPy 2.x integration for tracing DSPy pipelines, including support for custom DSPy modules.
  • Adds custom providers table to the Providers tab and enables custom providers in the Playground, allowing teams to configure and use their own LLM endpoints.
+8 moreshow less
  • Adds create_with_completion tracking in the Instructor integration.
  • Supports JSON, JSONL, and TSV file uploads for dataset creation in the UI.
  • Supports zooming images in the lightbox up to 5x natural pixel size.
  • Adds .cif file support in Weave molecule panels.
  • Adds OTel-style trace/span IDs for calls, enabling interoperability with OpenTelemetry-instrumented systems.
  • Emits a warning when Weave is used without calling weave.init, helping users catch misconfigured setups early.
  • Introduces a runs history plots stepper in the app for navigating multi-step run history plots.
  • Formats long durations with minutes in the trace tree view for improved readability.
Was this useful?
◆  VECTOR DB RAG

Chroma

Sources Release notes → 1.0.6 5 RELEASES · 2025-04-03 → 2025-04-22 NOTES STABLE

Chroma 1.0.6 adds collection config support with SPANN tuning, expanded Jina embedding models, and collection lineage tracking.

└──▷ GET THIS VERSION
$ git clone --branch 1.0.6 https://github.com/chroma-core/chroma.git
# already have the repo? check out this version:
$ git checkout 1.0.6
  • Adds SPANN index configuration to collection config, letting users tune the SPANN ANN index parameters per collection.
  • Exposes collection configuration in server responses and via gRPC, enabling clients to read and update collection config through the API.
  • Adds collection config support to the JavaScript client.
  • Updates the Jina embedding function to support all Jina models and their configurations, not just a fixed subset.
  • Adds root collection ID and lineage file name fields to the collection table for provenance tracking.
+3 moreshow less
  • Sets up a Grafana dashboard for the Foyer cache layer, enabling operational visibility into cache metrics.
  • Adds user-agent propagation to Rust frontend traces for improved distributed tracing context.
  • Improves backoff and throttling behavior for WAL3 and adds dynamic priority adjustment for S3 GET operations.
4 more releases in this issue · 2025-04-03 → 2025-04-22
1.0.5 NOTES STABLE

Chroma 1.0.5 adds image support in Cohere embeddings, request priority in storage, query retries, and wal3 re-enablement.

└──▷ GET THIS VERSION
$ git clone --branch 1.0.5 https://github.com/chroma-core/chroma.git
# already have the repo? check out this version:
$ git checkout 1.0.5
  • Adds image support to the Cohere embedding function, enabling multimodal embedding workflows.
  • Introduces request priority in the storage layer, allowing differentiated handling of storage I/O.
  • Re-enables wal3, the next-generation write-ahead log implementation.
  • Adds scout-logs function to find the max log position in wal3.
  • Adds TTL to the sysdb cache on RFE (read-for-existence) paths.
+7 moreshow less
  • Sets up rendezvous hashing for collection-to-garbage-collector node mapping in Kubernetes deployments.
  • Allows specifying environment variables for the garbage collector Kubernetes template.
  • Enables automatic retry of query paths on transport errors.
  • Adds prefetching of posting lists during query and compaction to improve throughput.
  • Makes snapshot operations recursive.
  • Adds OpenTelemetry export error logging for observability into telemetry pipeline failures.
  • Garbage collector logs now emitted to stdout.
└──▷ BREAKING ON UPGRADE
  • !The page, page_size, and sort arguments on get have been removed.
1.0.4 NOTES STABLE

Chroma 1.0.4 adds a Baseten integration, bundles the CLI in the JS client, and supports OTEL_EXPORTER_OTLP_METRICS_ENDPOINT for metrics routing.

└──▷ GET THIS VERSION
$ git clone --branch 1.0.4 https://github.com/chroma-core/chroma.git
# already have the repo? check out this version:
$ git checkout 1.0.4
└──▷ TRY IT
Route Chroma's OpenTelemetry metrics to a custom collector endpoint without touching Chroma-specific config.
$ export OTEL_EXPORTER_OTLP_METRICS_ENDPOINT=http://otel-collector:4318/v1/metrics
  • Supports overriding the metrics endpoint via the standard OTEL_EXPORTER_OTLP_METRICS_ENDPOINT environment variable.
  • Adds Baseten as a new embedding provider integration.
  • Bundles the Chroma CLI inside the JS client package.
  • Switches CLI login to server-side token verification.
  • Adds frontend metrics attributes for improved observability.
+2 moreshow less
  • Adds graceful shutdown for the garbage collection (GC) system.
  • Limits the maximum number of collections processed in a single GC run.
1.0.3 NOTES STABLE

Chroma 1.0.3 adds metrics for garbage collection and improves sysdb S3 configuration parity.

└──▷ GET THIS VERSION
$ git clone --branch 1.0.3 https://github.com/chroma-core/chroma.git
# already have the repo? check out this version:
$ git checkout 1.0.3
  • Adds metrics for garbage collection to enable observability into collection cleanup operations.
  • Improves sysdb S3 config to achieve parity between local development and deployed environments, including necessary additional parameters.
1.0.0 NOTES STABLE

Chroma 1.0.0 ships a Rust frontend with full CRUD routes, multi-dimensional admission control, round-robin gRPC load balancing, and a garbage-collection orchestrator.

└──▷ GET THIS VERSION
$ git clone --branch 1.0.0 https://github.com/chroma-core/chroma.git
# already have the repo? check out this version:
$ git checkout 1.0.0
  • Adds /add, /upsert, /update, /delete, /reset, and collection read/write routes to the new Rust frontend, making the Rust service a full API peer to the Python FastAPI layer.
  • Adds push_logs() to the log interface in the Rust frontend, exposing programmatic log ingestion.
  • Implements multi-dimensional admission control (mdac) with a circuit-breaker scorecard wired to config-supplied default rules, plus Prometheus metrics for the circuit breaker.
  • Implements a garbage-collection orchestrator with a Fetch version file operator and a background poller in the sysdb client crate, enabling automated GC of deleted collection data from S3.
  • Adds get_collection_size to the Python SysDB client and exposes GetCollectionSize on the SysDB read replica, letting callers query live record counts without hitting the primary.
+16 moreshow less
  • Adds num_records_last_compaction field to sysdb and updates the compactor to flush total record counts on each compaction cycle.
  • Adds a collection_id parameter to QuotaEnforcer.enforce() calls, enabling per-collection quota enforcement.
  • Implements a partitioned mutex for HNSW index loading, reducing contention when loading multiple segments concurrently.
  • Switches the Python Ollama embedding function to the official ollama Python client and switches the JS Ollama embedding function to the official ollama JS client.
  • Adds round-robin gRPC connection balancing across N query nodes and balances gRPC channels for frontend-to-query retries, improving query-node throughput.
  • Changes the dispatcher task queue from LIFO to FIFO ordering and bounds the maximum number of enqueued tasks, aborting tasks that exceed the limit.
  • Adds block prefetching for the fulltext index writer, reducing I/O latency during compaction.
  • Creates version files in S3 from SysDB, enabling object-level GC tracking.
  • Adds gRPC endpoints in SysDB to support garbage collection workflows.
  • Adds route-level tracing to the Rust frontend and propagates tracing spans through intermediate methods between SysDB and FastAPI, with dynamic span names visible in Jaeger.
  • Implements get_collections_with_segments deduplication on the SysDB RPC path, reducing redundant calls from the frontend.
  • Adds Rust–Python proxy calls, allowing the Rust frontend to call back into Python handlers during the migration period.
  • Adds a no-invalidation collection cache and a nop cache variant to the Rust frontend, with RwLock-protected memberlist access.
  • Serializes Where clause filters and full query plans to/from ProtoBuf in the Rust frontend, enabling typed query dispatch to query nodes.
  • Implements request validators in the Rust frontend for collection-level operations.
  • Increases the SysDB gRPC max concurrent streams limit to improve throughput under high collection-metadata load.
Was this useful?

LanceDB

Sources Release notes → v0.19.1-beta.1 12 RELEASES · 2025-04-04 → 2025-04-29 NOTES STABLE

LanceDB v0.19.1-beta.1 adds a table statistics API for inspecting table internals.

└──▷ GET THIS VERSION
$ git clone --branch v0.19.1-beta.1 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout v0.19.1-beta.1
  • Adds a table stats API, enabling programmatic inspection of table-level statistics.
11 more releases in this issue · 2025-04-04 → 2025-04-29
python-v0.22.1-beta.1 NOTES STABLE

LanceDB python-v0.22.1-beta.1 adds a table statistics API for inspecting table internals.

└──▷ GET THIS VERSION
$ git clone --branch python-v0.22.1-beta.1 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout python-v0.22.1-beta.1
  • Adds a table stats API to expose internal statistics for LanceDB tables.
v0.19.1-beta.0 NOTES STABLE

LanceDB v0.19.1-beta.0 adds tag management APIs for listing, creating, deleting, updating, and checking out tags.

└──▷ GET THIS VERSION
$ git clone --branch v0.19.1-beta.0 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout v0.19.1-beta.0
  • Adds list, create, delete, update, and checkout tag API for managing dataset version tags.
python-v0.22.1-beta.0 NOTES STABLE

LanceDB python-v0.22.1-beta.0 adds a tag management API for listing, creating, deleting, updating, and checking out tags.

└──▷ GET THIS VERSION
$ git clone --branch python-v0.22.1-beta.0 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout python-v0.22.1-beta.0
  • Adds list, create, delete, update, and checkout tag API methods for managing dataset tags programmatically.
v0.19.0 NOTES STABLE

LanceDB v0.19.0 adds explain/analyze plan APIs, ColPali multi-vector embeddings, FTS on string lists, query timeouts, and index prewarming.

└──▷ GET THIS VERSION
$ git clone --branch v0.19.0 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout v0.19.0
  • Adds explain_plan remote API to inspect query execution plans before running them.
  • Adds analyze_plan API to retrieve runtime execution statistics for queries.
  • Adds restore remote API to roll a table back to a previous version.
  • Adds prewarm_index function to load an index into memory ahead of query time.
  • Adds timeout option to query execution options for bounding long-running remote queries.
+5 moreshow less
  • Adds new table API to wait for async indexing to complete, enabling reliable post-ingest query patterns.
  • Supports creating Full-Text Search (FTS) indexes on columns of type list-of-strings.
  • Adds ColPali embedding support with the MultiVector type for multi-vector retrieval workflows.
  • Supports adding columns using a PyArrow schema directly.
  • Adds retries to the remote client for requests with stream bodies, improving reliability of large uploads.
python-v0.22.0 NOTES STABLE

LanceDB python-v0.22.0 adds ColPali/MultiVector embeddings, FTS on string lists, prewarm_index, explain/analyze plan APIs, and query timeouts.

└──▷ GET THIS VERSION
$ git clone --branch python-v0.22.0 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout python-v0.22.0
  • Adds explain_plan remote API to inspect query execution plans before running them.
  • Adds analyze_plan API to retrieve runtime execution statistics for queries.
  • Adds restore remote API to roll a table back to a previous version.
  • Adds prewarm_index function to load an index into memory before serving queries.
  • Adds a timeout option to query execution options, letting callers bound how long a query may run.
+6 moreshow less
  • Adds a new table API to wait for async indexing to complete.
  • Supports creating a Full-Text Search (FTS) index on columns containing lists of strings.
  • Supports Fixed-Size Binary (FSB) columns as the source for B-tree indices.
  • Adds ColPali embedding support with the MultiVector type for multi-vector retrieval workflows.
  • Supports adding columns using a PyArrow schema for schema-driven column definitions.
  • Adds retries to the remote client for requests with stream bodies, improving reliability of large uploads.
v0.19.0-beta.9 NOTES STABLE

LanceDB v0.19.0-beta.9 adds ColPali/MultiVector embedding support and a new async indexing wait API.

└──▷ GET THIS VERSION
$ git clone --branch v0.19.0-beta.9 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout v0.19.0-beta.9
  • Adds MultiVector type with ColPali embedding support, enabling multi-vector retrieval workflows for vision-language models.
  • Adds a new table API method to wait for async indexing to complete, allowing callers to block until an index is ready before querying.
python-v0.22.0-beta.9 NOTES STABLE

LanceDB python-v0.22.0-beta.9 adds ColPali/MultiVector embedding support and a new async indexing wait API.

└──▷ GET THIS VERSION
$ git clone --branch python-v0.22.0-beta.9 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout python-v0.22.0-beta.9
  • Adds MultiVector type with ColPali embedding support for multi-vector similarity search workflows.
  • Adds a new table API method to wait for async indexing to complete, enabling reliable post-index operations.
v0.19.0-beta.8 NOTES STABLE

LanceDB v0.19.0-beta.8 adds a prewarm_index function to load indexes into cache before query time.

└──▷ GET THIS VERSION
$ git clone --branch v0.19.0-beta.8 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout v0.19.0-beta.8
  • Adds prewarm_index function to load vector indexes into memory ahead of query time, reducing first-query latency.
python-v0.22.0-beta.8 NOTES STABLE

LanceDB python-v0.22.0-beta.8 adds prewarm_index for loading ANN indexes into memory ahead of queries.

└──▷ GET THIS VERSION
$ git clone --branch python-v0.22.0-beta.8 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout python-v0.22.0-beta.8
  • Adds prewarm_index function to load ANN indexes into memory before query time, reducing cold-start latency.
v0.19.0-beta.5 NOTES STABLE

LanceDB v0.19.0-beta.5 adds timeout support to query execution options.

└──▷ GET THIS VERSION
$ git clone --branch v0.19.0-beta.5 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout v0.19.0-beta.5
  • Adds timeout configuration to query execution options, enabling callers to bound how long a query runs before it is cancelled.
python-v0.22.0-beta.5 NOTES STABLE

LanceDB python-v0.22.0-beta.5 adds timeout support to query execution options.

└──▷ GET THIS VERSION
$ git clone --branch python-v0.22.0-beta.5 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout python-v0.22.0-beta.5
  • Adds timeout to query execution options, enabling callers to cap how long a query is allowed to run.
Was this useful?

Milvus

Sources Release notes → v2.5.11 5 RELEASES · 2025-04-01 → 2025-04-28 NOTES STABLE

Milvus 2.5.11 adds multi-analyzer support, new tokenizers (Jieba, Lindera, ICU, Language Identifier), new text filters, and expanded JSON index capabilities.

└──▷ GET THIS VERSION
$ git clone --branch v2.5.11 https://github.com/milvus-io/milvus.git
# already have the repo? check out this version:
$ git checkout v2.5.11
  • Introduces a run_analyzer API for dry-run tokenization analysis, letting practitioners inspect how text is tokenized before committing to an analyzer configuration.
  • Adds a remove_punct filter to strip punctuation marks from tokenized text during analysis.
  • Adds a regex filter for pattern-based text filtering during analysis.
  • Adds support for configuring multiple analyzers per field and selecting the appropriate one based on input data language or instruction.
  • Adds support for the Lindera tokenizer for Japanese/Korean text analysis.
+10 moreshow less
  • Adds support for the ICU tokenizer for Unicode-aware, locale-sensitive tokenization.
  • Adds a Language Identifier tokenizer for automatic language detection.
  • Adds support for customizing Jieba tokenizer parameters for Chinese text segmentation.
  • Expands language support for the built-in stop word filter.
  • Adds support for modifying the maximum capacity of array fields after collection creation.
  • Adds support for binary range expressions in JSON path indexes.
  • Adds support for infix and suffix match types in JSON stats.
  • Adds a configuration option to force rebuilding indexes to the latest version.
  • Enables dynamic updates to the segment loading thread pool size without restart.
  • Adds monitoring parameters for the expression filter ratio.
4 more releases in this issue · 2025-04-01 → 2025-04-28
v2.5.10 NOTES STABLE

Milvus 2.5.10 adds configurable RESTful timeouts, SVE-accelerated FP16/BF16 metric computation, and faster LIKE and index load performance.

└──▷ GET THIS VERSION
$ git clone --branch v2.5.10 https://github.com/milvus-io/milvus.git
# already have the repo? check out this version:
$ git checkout v2.5.10
  • Optimizes LIKE expression performance and switches LIKE to scan mode even when an inverted index exists, improving query correctness and speed.
  • Optimizes index format for improved collection load performance.
  • Suppresses index metrics reporting for non-existent indexes, reducing noise in metrics output.
v2.5.9 NOTES STABLE

Milvus 2.5.9 adds weighted re-ranker score normalization control and faster batch JSON key stats building.

└──▷ GET THIS VERSION
$ git clone --branch v2.5.9 https://github.com/milvus-io/milvus.git
# already have the repo? check out this version:
$ git checkout v2.5.9
  • Supports skipping score normalization for the weighted re-ranker, giving practitioners direct control over re-ranking score output.
  • Improves JSON key statistics build performance by adding documents in batches, accelerating indexing on JSON-heavy collections.
  • Uses int32 internally when creating array indexes for int8/int16 element types, broadening index compatibility for small-integer arrays.
  • Aligns brute-force search results with JSON index behavior for the exists expression, ensuring consistent query results regardless of execution path.
client/v2.5.2 NOTES STABLE

Milvus Go SDK v2.5.2 adds JSON Path index support for the milvusclient package.

└──▷ GET THIS VERSION
$ git clone --branch client/v2.5.2 https://github.com/milvus-io/milvus.git
# already have the repo? check out this version:
$ git checkout client/v2.5.2
  • Adds JSON Path index support to the Go SDK milvusclient package, enabling index creation on nested JSON fields.
v2.5.8 NOTES STABLE

Milvus 2.5.8 adds JSON null/exists expressions, UTF-8 validation, sparse vector Parquet support, and detailed manual compaction criteria.

└──▷ GET THIS VERSION
$ git clone --branch v2.5.8 https://github.com/milvus-io/milvus.git
# already have the repo? check out this version:
$ git checkout v2.5.8
  • Adds a trigger interval configuration for auto-balancing, giving operators control over how frequently segment rebalancing fires.
  • Supports JSON null and exists expressions in query/filter conditions.
  • Supports parsing sparse vectors from Parquet structs during bulk inserts.
  • Adds UTF-8 string validation for all VARCHAR fields and during import operations.
  • Supports detailed manual compaction criteria, enabling finer-grained control over compaction runs.
+5 moreshow less
  • Retains raw tokens for audit logging, improving auditability of authenticated requests.
  • Introduces batch subscriptions in MsgDispatcher to improve message fan-out throughput.
  • Converts multiple OR expressions to IN expressions automatically for more efficient query execution.
  • Balances collections with the largest row count first, improving load distribution across nodes.
  • Refines array views to reduce memory usage for array-type fields.
Was this useful?

Qdrant

Sources Release notes → v1.14.0 NOTES

Qdrant v1.14.0 adds server-side score boosting with custom formulas, a new sum_scores recommendation strategy, and full query auto-completion in the Web UI.

└──▷ GET THIS VERSION
$ git clone --branch v1.14.0 https://github.com/qdrant/qdrant.git
# already have the repo? check out this version:
$ git checkout v1.14.0
└──▷ TRY IT
Use the sum_scores strategy in the Recommend API to implement relevance feedback — boosting results similar to liked examples and suppressing those similar to dislikes.
$ POST /collections/{collection_name}/points/recommend
{
  "positive": [1, 2, 3],
  "negative": [4],
  "strategy": "sum_scores",
  "limit": 10
}
  • New sum_scores recommendation strategy available in the Explore API, designed for relevance feedback workflows.
  • Adds server-side score boosting via user-defined formulas in hybrid queries, allowing custom ranking logic without client-side post-processing.
  • Changed behavior: offset parameter in queries with prefetch is now applied only to the prefetch result and is no longer propagated into the prefetch query itself.
  • Incremental HNSW building — segment optimizer partially re-uses the existing HNSW graph when merging segments, reducing rebuild cost.
  • Parallelizes large segment search batches for improved throughput.
+1 moreshow less
  • Full query auto-completion added to the Qdrant Web UI.
└──▷ BREAKING ON UPGRADE
  • !The offset parameter in a query that uses prefetch now applies only to the prefetch result and is not propagated into the prefetch sub-query — queries relying on the previous propagation behavior will return different results.
Was this useful?

Weaviate

Sources Release notes → v1.30.1 2 RELEASES · 2025-04-03 → 2025-04-16 NOTES STABLE

Weaviate v1.30.1 adds DB user last-used tracking, a BM25 block reindex REST trigger, and a configurable RAFT trailing-logs setting.

└──▷ GET THIS VERSION
$ git clone --branch v1.30.1 https://github.com/weaviate/weaviate.git
# already have the repo? check out this version:
$ git checkout v1.30.1
  • Adds a REST call to trigger BM25 block (blockmax) reindexing by initiating a shard reinit, enabling on-demand reindex without a restart.
  • Adds an environment variable to set a higher segment inspection limit for BM25 block searches.
  • Adds 'last used time' tracking to DB users, surfaced through the /users/db endpoint.
  • Returns the first 3 characters of an API key in API key response payloads, enabling key identification without exposing the full secret.
  • Adds configurable collections, properties, and tenants selection to the blockmax migrator, allowing targeted migration rather than full-index migration.
1 more release in this issue · 2025-04-03 → 2025-04-16
v1.30.0 NOTES STABLE

Weaviate v1.30.0 ships runtime config management, dynamic user/API-key REST APIs, dynamic RAG model selection, BlockMax WAND BM25, and multi-value vector GA.

└──▷ GET THIS VERSION
$ git clone --branch v1.30.0 https://github.com/weaviate/weaviate.git
# already have the repo? check out this version:
$ git checkout v1.30.0
  • Adds maximum_allowed_collection_limit as a runtime-configurable variable via the runtime config manager, enabling live tuning without restarts.
  • Adds AUTOSCHEMA_ENABLED as a runtime override, controllable through the runtime config manager without a restart.
  • Adds ASYNC_REPLICATION_DISABLED as a runtime override, controllable through the runtime config manager without a restart.
  • Adds an environment variable to enable dynamic (DB) user management (DYNAMIC_USERS_ENABLED, later renamed); enables REST API-driven creation, update, suspension, activation, and revocation of users and API keys at runtime.
  • Adds RBAC tenant filtering to batch object operations and POST batch/references, giving role-based access control coverage over batch workflows.
+8 moreshow less
  • Adds RBAC filtering to the nodes endpoint so only nodes the caller has permission to see are returned.
  • Adds a creationTime field to dynamically created users and saves the first letters of the API key for identification.
  • Introduces the xAI generative module, adding xAI as a supported provider for retrieval-augmented generation.
  • Dynamic RAG model selection is now GA: select the generative model per query at runtime; supports image inputs split across images and imageProperties fields in the dynamic provider.
  • Adds ENABLE_EXPERIMENTAL_DYNAMIC_RAG_SYNTAX environment variable as a fallback option for enabling dynamic RAG syntax.
  • BlockMax WAND-based BM25 is now GA and enabled by default, delivering significantly faster BM25 keyword search with an online, zero-downtime migration process for existing indexes.
  • Multi-value vector search (ColBERT-style embeddings) is now GA; all multi-vector indexes now support BQ, PQ, and SQ quantization options.
  • Adds metrics support for the internal http server, expanding observability coverage.
└──▷ BREAKING ON UPGRADE
  • !BlockMax WAND migration produces segment files that are not backwards compatible with previous Weaviate versions; rolling back to an earlier version after migration is not supported.
Was this useful?
◆  MCP TOOLING

Composio

Sources Release notes → v0.7.15 2 RELEASES · 2025-04-01 → 2025-04-07 NOTES STABLE

Composio v0.7.15 adds Llama 4 agent support, v3 API migration, and updated MCP API references.

└──▷ GET THIS VERSION
$ git clone --branch v0.7.15 https://github.com/ComposioHQ/composio.git
# already have the repo? check out this version:
$ git checkout v0.7.15
  • Adds Llama 4 agent integration for running agentic workflows with Meta's Llama 4 model.
  • Introduces v3 API migration with updated changelogs and v3 API references alongside updated MCP API refs.
  • Updates file utilities to support Windows file processing.
1 more release in this issue · 2025-04-01 → 2025-04-07
v0.7.13 NOTES STABLE

Composio v0.7.13 adds Mastra framework integration and MCP support with agents SDK example.

└──▷ GET THIS VERSION
$ git clone --branch v0.7.13 https://github.com/ComposioHQ/composio.git
# already have the repo? check out this version:
$ git checkout v0.7.13
  • Adds Mastra framework integration instructions, enabling Composio tools to be used within the Mastra agent framework.
  • Adds Model Context Protocol (MCP) support with documentation and an agents SDK MCP example.
  • Adds tool-level documentation surfaced directly alongside individual tools.
Was this useful?
my-toolchain — 0 tools
paste an install list to detect your tools

A brew list, a Brewfile, requirements.txt, a Dockerfile — or just the product names, free-form. Nothing leaves your browser.

    browse all tools →