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 -370, January 31, 2025

THE AI TOOLCHAIN NO. -370
Tail
THE DAILY RELEASE FIREHOSE
PUBLISHED JANUARY 31, 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   # 34 tools matched
AI & LLM Tooling
◆  AI Agent Frameworks

Agno (formerly Phidata)

Sources Release notes → v1.0.2 3 RELEASES · 2025-01-30 → 2025-01-31 NOTES STABLE

Agno v1.0.2 caches model clients for faster agent startup and renames TwitterTools to XTools with Twitter API v2 support.

└──▷ GET THIS VERSION
$ git clone --branch v1.0.2 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:
$ git checkout v1.0.2
  • Renames TwitterTools to XTools and updates capabilities to be compatible with Twitter API v2.
  • Caches model client instantiation across all models, improving Agno agent startup time.
└──▷ BREAKING ON UPGRADE
  • !TwitterTools has been renamed to XTools; any code importing or referencing TwitterTools will break on upgrade.
2 more releases in this issue · 2025-01-30 → 2025-01-31
v1.0.1 NOTES STABLE

Agno v1.0.1 enables response caching for Mistral models.

└──▷ GET THIS VERSION
$ git clone --branch v1.0.1 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:
$ git checkout v1.0.1
  • Enables caching support for Mistral models.
v1.0.0 NOTES STABLE

Agno v1.0.0 introduces an Evals framework and a fully restructured multi-modal API with typed Image, Audio, Video, and Artifact classes.

└──▷ GET THIS VERSION
$ git clone --branch v1.0.0 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:
$ git checkout v1.0.0
└──▷ USE IT
Build a PDF knowledge base using the renamed embedder id parameter and updated import paths.
python
from agno.knowledge.pdf_url import PDFUrlKnowledgeBase
from agno.vectordb.pgvector import PgVector
from agno.embedder.ollama import OllamaEmbedder

knowledge_base = PDFUrlKnowledgeBase(
    urls=['https://phi-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf'],
    vector_db=PgVector(
        table_name='recipes',
        db_url='postgresql+psycopg://ai:ai@localhost:5532/ai',
        embedder=OllamaEmbedder(id='llama3.2', dimensions=3072),
    ),
)
knowledge_base.load(recreate=True)
  • Adds an Evals system to measure performance, accuracy, and reliability of agents.
  • Typed multi-modal input classes — Image, Audio, Video — now accepted by agent.run() and agent.print_response(), with fields for url, filepath, content, detail, format, and id.
  • Typed output artifact classes — ImageArtifact, AudioArtifact, VideoArtifact, AudioOutput — now returned on RunResponse.images, RunResponse.audio, RunResponse.videos, and RunResponse.response_audio.
  • Embedders now accept id instead of model as the identifier parameter (e.g. OllamaEmbedder(id='llama3.2', dimensions=3072)).
  • All toolkit classes are now suffixed with Tools (e.g. DuckDuckGoTools).
+6 moreshow less
  • Model namespace moved from phi.model.x to agno.models.x; knowledge base namespace moved from phi.knowledge_base.x to agno.knowledge.x.
  • Document readers renamed with _reader suffix under agno.document.reader.* (e.g. agno.document.reader.pdf_reader).
  • Storage classes renamed for clarity: PgAgentStoragePostgresAgentStorage, SqlAgentStorageSqliteAgentStorage, MongoAgentStorageMongoDbAgentStorage, S2AgentStorageSingleStoreAgentStorage.
  • Workflow storage classes renamed: SqlWorkflowStorageSqliteWorkflowStorage, PgWorkflowStoragePostgresWorkflowStorage, MongoWorkflowStorageMongoDbWorkflowStorage.
  • Model classes renamed: AzureOpenAIChatAzureOpenAI, CohereChatCohere, DeepSeekChatDeepSeek, GeminiOpenAIChatGeminiOpenAI, HuggingFaceChatHuggingFace, HermesOllamaHermes.
  • Performance improvement: several internal Pydantic models converted to dataclasses to reduce overhead.
└──▷ BREAKING ON UPGRADE
  • !All imports under phi.* are replaced by agno.* — code importing from phi.model.x, phi.knowledge_base.x, phi.document.reader.*, etc. will break.
  • !All toolkit class names must now be suffixed with Tools (e.g. DuckDuckGo is now DuckDuckGoTools).
  • !agent.run(images=[...]) and agent.print_response(images=[...]) now require Image objects instead of bare values; same for Audio and Video.
  • !RunResponse.images is now a list of ImageArtifact; RunResponse.audio is a list of AudioArtifact; RunResponse.videos is a list of VideoArtifact; RunResponse.response_audio is now of type AudioOutput — any code accessing these fields by prior type assumptions will break.
  • !Embedders no longer accept the model parameter — it must be replaced with id.
  • !PgAgentStorage, SqlAgentStorage, MongoAgentStorage, S2AgentStorage are renamed to PostgresAgentStorage, SqliteAgentStorage, MongoDbAgentStorage, SingleStoreAgentStorage respectively.
  • !SqlWorkflowStorage, PgWorkflowStorage, MongoWorkflowStorage are renamed to SqliteWorkflowStorage, PostgresWorkflowStorage, MongoDbWorkflowStorage respectively.
  • !Model classes AzureOpenAIChat, CohereChat, DeepSeekChat, GeminiOpenAIChat, HuggingFaceChat, Hermes are renamed to AzureOpenAI, Cohere, DeepSeek, GeminiOpenAI, HuggingFace, OllamaHermes respectively.
  • !Assistant, llm, PhiTools, PythonAgent, and DuckDbAgent have been removed with no direct replacement.
  • !The similarity_threshold parameter on semantic chunking is replaced by threshold.
  • !Knowledge base phi.knowledge.pdf.PDFUrlKnowledgeBase is now at agno.knowledge.pdf_url.PDFUrlKnowledgeBase; phi.knowledge.csv.CSVUrlKnowledgeBase is now at agno.knowledge.csv_url.CSVUrlKnowledgeBase.
Was this useful?

AutoGPT

Sources Release notes → autogpt-platform-beta-v0.4.4 2 RELEASES · 2025-01-10 → 2025-01-29 NOTES STABLE

AutoGPT Platform v0.4.4 adds an external API, store-agent execution, video blocks, Mem0 memory, Linear integration, and auto top-up credits.

└──▷ GET THIS VERSION
$ git clone --branch autogpt-platform-beta-v0.4.4 https://github.com/Significant-Gravitas/AutoGPT.git
# already have the repo? check out this version:
$ git checkout autogpt-platform-beta-v0.4.4
  • Introduces an external API for the AutoGPT platform, enabling programmatic access to platform capabilities.
  • Splits CodeExecutionBlock into InstantiationBlock and StepExecutionBlock for finer-grained code execution control.
  • Adds new blocks for GitHub checks and statuses, enabling CI/CD status monitoring in agent workflows.
  • Adds multimedia file support and basic Video blocks for processing video content in agent pipelines.
  • Adds a Mem0 AI memory block for persistent, cross-agent memory via the Mem0 service.
+9 moreshow less
  • Adds a Linear integration with dedicated blocks for interacting with Linear project management.
  • Adds a username+password credentials type and restores email and Reddit blocks.
  • Enables executing store agents without requiring agent ownership, broadening access to marketplace agents.
  • Exposes the LLM prompt as an output pin on LLM blocks, making the constructed prompt inspectable and chainable.
  • Implements Auto-Top-Up credits capability so agent runs are not interrupted by credit exhaustion.
  • Adds a billing portal entry point for managing subscriptions and payment methods.
  • Changes the /store* URL to /marketplace* for the agent store.
  • Adds graph/node id and execution id fields to the CreditTransaction table for per-execution credit tracking.
  • Adds default value support in oneOf fields in the block schema.
└──▷ BREAKING ON UPGRADE
  • !The /store* URL path is renamed to /marketplace*; any bookmarks, webhooks, or integrations pointing to /store* routes will break.
1 more release in this issue · 2025-01-10 → 2025-01-29
autogpt-platform-beta-v0.4.2 NOTES STABLE

AutoGPT Platform v0.4.2 adds Twitter integration, API key generation, Nvidia deepfake detection, and new GitHub blocks.

└──▷ GET THIS VERSION
$ git clone --branch autogpt-platform-beta-v0.4.2 https://github.com/Significant-Gravitas/AutoGPT.git
# already have the repo? check out this version:
$ git checkout autogpt-platform-beta-v0.4.2
  • Adds API key generation frontend, enabling users to create and manage API keys directly from the UI.
  • Adds TERMINATED execution status to the backend executor, providing a new distinct state for agent run lifecycle tracking.
  • Adds Twitter integration block, enabling agents to interact with Twitter as a connected service.
  • Adds Nvidia Deepfake Detection block via backend/blocks/nvidia, with Nvidia provided as a default backend.
  • Adds GitHub Create File block for automating file creation in repositories.
+3 moreshow less
  • Adds GitHub Create Repo block for programmatic repository creation.
  • Adds GitHub List Stargazers block for retrieving stargazer data from repositories.
  • Supports multiple credentials inputs on blocks, allowing a single block to accept more than one set of credentials simultaneously.
└──▷ BREAKING ON UPGRADE
  • !Python.format and Jinja templating format backward compatibility has been removed; agents relying on either templating format must be updated.
Was this useful?

CrewAI

Sources Release notes → 0.100.0 3 RELEASES · 2025-01-04 → 2025-01-28 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.100.0 adds Amazon SageMaker as a supported LLM provider.

└──▷ GET THIS VERSION
$ git clone --branch 0.100.0 https://github.com/crewAIInc/crewAI.git
# already have the repo? check out this version:
$ git checkout 0.100.0
  • Supports Amazon SageMaker as an LLM provider for running agents against hosted SageMaker endpoints.
2 more releases in this issue · 2025-01-04 → 2025-01-28
0.98.0 NOTES STABLE

CrewAI 0.98.0 adds Conversation Crew, flow state persistence with @persist, and SambaNova/NVIDIA NIM/VoyageAI integrations.

└──▷ GET THIS VERSION
$ git clone --branch 0.98.0 https://github.com/crewAIInc/crewAI.git
# already have the repo? check out this version:
$ git checkout 0.98.0
└──▷ USE IT
Persist flow state across runs so a long-running security workflow can resume where it left off after interruption.
python
from crewai.flow.persistence import persist, FlowPersistence

class MySecurityFlow(Flow):
    @persist
    def analyze_targets(self):
        # state is automatically saved after this method completes
        ...
  • New Conversation Crew v1 enables interactive, dialogue-driven crew execution.
  • Adds unique IDs to flow states for tracking and referencing individual flow runs.
  • New @persist decorator with FlowPersistence interface enables durable flow state persistence across runs.
  • Adds SambaNova as a new LLM provider integration.
  • Adds NVIDIA NIM as a new provider via the CrewAI CLI.
+1 moreshow less
  • Introduces VoyageAI as a new embedding/model integration.
0.95.0 NOTES STABLE

CrewAI 0.95.0 adds multimodal agents, programmatic guardrails, multi-round HITL, Gemini 2.0, Langfuse, Portkey, Docling, and Weaviate support.

└──▷ GET THIS VERSION
$ git clone --branch 0.95.0 https://github.com/crewAIInc/crewAI.git
# already have the repo? check out this version:
$ git checkout 0.95.0
  • Adds multimodal abilities to Crew, enabling agents to process image and other non-text inputs.
  • Introduces programmatic guardrails for enforcing constraints on agent outputs at runtime.
  • Supports multiple rounds of Human-in-the-Loop (HITL) interaction within a single crew run.
  • Adds Gemini 2.0 model support.
  • Delivers CrewAI Flows improvements for more capable workflow orchestration.
+6 moreshow less
  • Adds workflow permissions to control agent and task access within a crew.
  • Supports Langfuse observability via LiteLLM integration.
  • Adds Portkey integration for LLM gateway and observability.
  • Introduces interpolate_only method on prompt/template handling for targeted variable substitution.
  • Adds Docling support for document ingestion and parsing.
  • Adds Weaviate support as a vector store for agent knowledge.
Was this useful?

Stanford NLP DSPy

Sources Release notes → 2.6.0 2 RELEASES · 2025-01-01 → 2025-01-30 NOTES STABLE

DSPy 2.6.0 adds streaming support, sandboxed Python interpreter, LiteLLM retry policy, and BootstrapFT improvements.

└──▷ GET THIS VERSION
$ git clone --branch 2.6.0 https://github.com/stanfordnlp/dspy.git
# already have the repo? check out this version:
$ git checkout 2.6.0
  • Adds streaming support via dspy (PR #1874), enabling real-time token-by-token output from LM calls.
  • Refactors the Python interpreter to run in a sandbox for safer code execution in agentic pipelines.
  • Supports LLM call retries via LiteLLM RetryPolicy integration.
  • Improves BootstrapFT optimizer relative to the 2.4 baseline.
  • Adds argument parsing support for dspy.ReAct.
+2 moreshow less
  • Improves Literal type format adherence in ChatAdapter and JSONAdapter.
  • Refines thread-safety semantics for Settings.
└──▷ BREAKING ON UPGRADE
  • !Removes deprecated functional/ module — code importing from it will break.
  • !Removes deprecated dsp/ clients — code importing from them will break.
  • !Removes old caches — any tooling relying on the previous cache layout will break.
1 more release in this issue · 2025-01-01 → 2025-01-30
2.6.0rc8 NOTES STABLE

DSPy 2.6.0rc8 adds AlfWorld dataset, sandboxed Python interpreter, and dspy.__version__ introspection.

└──▷ GET THIS VERSION
$ git clone --branch 2.6.0rc8 https://github.com/stanfordnlp/dspy.git
# already have the repo? check out this version:
$ git checkout 2.6.0rc8
└──▷ USE IT
Check the installed DSPy version at runtime without parsing package metadata.
python
import dspy
print(dspy.__version__)
  • Exposes dspy.__version__ for programmatic version introspection.
  • Refactors the Python interpreter tool to run in a sandbox for safer code execution.
  • Adds the AlfWorld dataset and an accompanying tutorial for interactive decision-making tasks.
  • Improves BootstrapFT optimizer behavior.
  • Allows DatabricksRM to return empty results when no documents are retrieved, instead of raising an error.
Was this useful?

deepset Haystack

Sources Release notes → v2.9.0 NOTES

Haystack v2.9.0 adds Tool/ToolInvoker abstractions, ComponentTool, RecursiveDocumentSplitter, XLSXToDocument, and StringJoiner.

└──▷ GET THIS VERSION
$ git clone --branch v2.9.0 https://github.com/deepset-ai/haystack.git
# already have the repo? check out this version:
$ git checkout v2.9.0
└──▷ USE IT
Wire an LLM to a live web search tool so the pipeline can answer questions requiring real-time information.
python
from haystack import Pipeline
from haystack.tools import ComponentTool
from haystack.components.websearch import SerperDevWebSearch
from haystack.utils import Secret
from haystack.components.tools.tool_invoker import ToolInvoker
from haystack.components.generators.chat import OpenAIChatGenerator
from haystack.dataclasses import ChatMessage

search = SerperDevWebSearch(api_key=Secret.from_env_var("SERPERDEV_API_KEY"), top_k=3)
tool = ComponentTool(
    component=search,
    name="web_search",
    description="Search the web for current information on any topic"
)

pipeline = Pipeline()
pipeline.add_component("llm", OpenAIChatGenerator(model="gpt-4o-mini", tools=[tool]))
pipeline.add_component("tool_invoker", ToolInvoker(tools=[tool]))
pipeline.connect("llm.replies", "tool_invoker.messages")

result = pipeline.run({"llm": {"messages": [ChatMessage.from_user("Who founded SpaceX?")]}})
print(result)
  • Adds Tool dataclass (importable from haystack.tools) to represent callable tools for LLMs, plus a create_tool_from_function helper and @tool decorator for automatic name, description, and parameter generation.
  • Adds ToolInvoker component (haystack.components.tools.tool_invoker) that executes LLM-prepared tool calls and returns results as a List[ChatMessage] with tool role; connects directly to OpenAIChatGenerator and HuggingFaceAPIChatGenerator via llm.repliestool_invoker.messages.
  • Adds ComponentTool (haystack.tools) to wrap any Haystack component (web search, document processing, custom) as an LLM-callable tool with automatic schema generation and input type conversion, supporting basic types, dataclasses, and List[Document].
  • Adds RecursiveDocumentSplitter (haystack.components.preprocessors) with split_length, split_overlap, and separators parameters for recursive, separator-ordered text splitting.
  • Adds XLSXToDocument converter that loads Excel files via Pandas + openpyxl, converting each sheet into a separate Document in CSV format.
+9 moreshow less
  • Adds store_full_path parameter to PyPDFToDocument and AzureOCRDocumentConverter __init__ methods — True stores the full file path in document metadata, False stores only the filename.
  • Adds StringJoiner component to collect strings from multiple pipeline components into a single list of strings.
  • Adds from_openai_dict_format class method to ChatMessage for constructing a ChatMessage from an OpenAI Chat API-format dictionary.
  • Adds default_headers parameter to AzureOpenAIDocumentEmbedder and AzureOpenAITextEmbedder.
  • Adds token argument to NamedEntityExtractor to support private Hugging Face models.
  • Merges NLTKDocumentSplitter functionality into DocumentSplitter: split_by='sentence' now uses NLTK-based sentence boundary detection; previous behaviour is available via split_by='period'.
  • Refactors ChatMessage dataclass to support multiple content types (text, tool calls, tool call results); the content attribute is replaced by the new text property.
  • Extends tool calling support to HuggingFaceAPIChatGenerator and OpenAIChatGenerator.
  • Improves callable serialization to support class methods and static methods; explicitly prohibits serialization of instance methods, lambdas, and nested functions.
└──▷ BREAKING ON UPGRADE
  • !The content attribute of ChatMessage is removed; use the new text property to access textual content. Pipelines containing ChatPromptBuilder serialized with haystack-ai <= 2.9.0 may fail to deserialize.
  • !The converter init argument is removed from PyPDFToDocument; use the component's other init arguments or create a custom component.
  • !The store_full_path parameter default is changed to False in document converters — previously the full path was stored; now only the filename is stored unless store_full_path=True is set explicitly.
  • !The SentenceWindowRetriever output key context_documents now returns List[Document] (ordered by split_idx_start) instead of List[List[Document]].
Was this useful?

LangChain

Sources Release notes → langchain-ollama==0.2.3 13 RELEASES · 2025-01-03 → 2025-01-29 NOTES STABLE

langchain-ollama 0.2.3 adds backwards-compatible OllamaEmbeddings init to ease migration from langchain_community.

└──▷ GET THIS VERSION
$ git clone --branch langchain-ollama==0.2.3 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-ollama==0.2.3
  • Adds backwards-compatible initialization for OllamaEmbeddings so existing code using langchain_community.embeddings can migrate to langchain_ollama.embeddings without changes.
  • Adds standard metadata to structured output tracing.
12 more releases in this issue · 2025-01-03 → 2025-01-29
langchain-mistralai==0.2.5 NOTES STABLE

langchain-mistralai 0.2.5 adds JSON Schema structured output and AI message prefix support for MistralAI.

└──▷ GET THIS VERSION
$ git clone --branch langchain-mistralai==0.2.5 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-mistralai==0.2.5
└──▷ USE IT
Force a MistralAI model to return output conforming to a strict JSON Schema, useful when downstream code must parse a guaranteed structure.
python
from langchain_mistralai import ChatMistralAI
from pydantic import BaseModel

class Answer(BaseModel):
    answer: str
    confidence: float

llm = ChatMistralAI(model='mistral-large-latest')
structured = llm.with_structured_output(Answer, method='json_schema')
result = structured.invoke('What is the capital of France?')
print(result)
  • Supports method='json_schema' in structured output calls, enabling strict JSON Schema-based response shaping with MistralAI models.
  • Allows setting a Prefix in AIMessage for MistralAI, enabling prefill/prefix-guided generation workflows.
langchain-community==0.3.16 NOTES STABLE

langchain-community 0.3.16 adds GitHub releases retrieval, SambaNova integration, and broader Azure AI credential support.

└──▷ GET THIS VERSION
$ git clone --branch langchain-community==0.3.16 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-community==0.3.16
  • Adds support for fetching GitHub releases for a configured repository via the GitHub tool.
  • Adds the sambanova-langchain integration package for SambaNova LLM support.
  • Allows setting a custom GitLab URL in the GitLab tool constructor.
langchain==0.3.16 NOTES STABLE

LangChain 0.3.16 adds DeepSeek and Ollama provider support to init_chat_model and init_embeddings.

└──▷ GET THIS VERSION
$ git clone --branch langchain==0.3.16 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain==0.3.16
└──▷ USE IT
Initialize a DeepSeek chat model through the unified factory without importing provider-specific classes.
python
from langchain.chat_models import init_chat_model

llm = init_chat_model("deepseek-chat", model_provider="deepseek")
Initialize Ollama embeddings through the unified factory for drop-in use with any LangChain vector store or retriever.
python
from langchain.embeddings import init_embeddings

embeddings = init_embeddings("ollama", model="nomic-embed-text")
  • Adds deepseek as a supported provider in init_chat_model, enabling direct DeepSeek model initialization alongside existing providers.
  • Adds ollama support in init_embeddings, allowing Ollama embedding models to be initialized through the unified embeddings factory.
langchain-community==0.3.15 NOTES STABLE

langchain-community 0.3.15 adds image blob parsers, PyMuPDF refactor, OBSFileLoader mode arg, and page_label metadata for PyPDF.

└──▷ GET THIS VERSION
$ git clone --branch langchain-community==0.3.15 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-community==0.3.15
└──▷ USE IT
Load a file from OBS in a specific mode, e.g. to control whether the file is read as text or binary.
python
from langchain_community.document_loaders import OBSFileLoader

loader = OBSFileLoader(bucket='my-bucket', key='docs/file.txt', mode='text')
docs = loader.load()
  • Adds mode argument to OBSFileLoader.load() to control file loading behavior.
  • Adds page_label field to metadata in PyPDFLoader output, exposing PDF page labels alongside page numbers.
  • Refactors PyMuPDFParser and PyMuPDFLoader and introduces new image blob parsers for extracting images from PDFs.
  • Streams citations from ChatPerplexity into additional_kwargs on response chunks.
  • Adds stream() method support to the Xinference LLM integration alongside a rewritten _stream() method.
+2 moreshow less
  • Adds cost-per-1K-tokens tracking for fine-tuned model cached input in OpenAI cost utilities.
  • Adds __init__ for UnstructuredFileLoader and UnstructuredHTMLLoader to support pathlib.Path inputs.
langchain==0.3.15 NOTES STABLE

LangChain 0.3.15 adds API key argument support to OpenAI moderation chain and expands OpenAI Assistant parameters.

└──▷ GET THIS VERSION
$ git clone --branch langchain==0.3.15 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain==0.3.15
  • Adds api_key argument support to the OpenAI moderation chain, enabling per-call key configuration.
  • Adds additional_instructions parameter to OpenAI Assistant runs create calls via OpenAIAssistantV2Runnable.
  • Adds additional parameters to OpenAIAssistantV2Runnable for broader control over assistant run configuration.
langchain-anthropic==0.3.2 NOTES STABLE

langchain-anthropic 0.3.2 adds parallel_tool_calls support for Anthropic chat models.

└──▷ GET THIS VERSION
$ git clone --branch langchain-anthropic==0.3.2 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-anthropic==0.3.2
  • Adds parallel_tool_calls parameter to Anthropic chat model calls, enabling concurrent tool invocation in a single model turn.
langchain-core==0.3.30 NOTES STABLE

langchain-core 0.3.30 allows retriever tools to surface artifacts alongside retrieved documents.

└──▷ GET THIS VERSION
$ git clone --branch langchain-core==0.3.30 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-core==0.3.30
  • Allows artifact to be passed in create_retriever_tool, enabling retriever tools to return artifact data alongside retrieved documents.
langchain-openai==0.3.0 NOTES STABLE

langchain-openai 0.3 switches structured output to json_schema by default and removes hardcoded parameter defaults.

└──▷ GET THIS VERSION
$ git clone --branch langchain-openai==0.3.0 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-openai==0.3.0
└──▷ USE IT
Enable strict schema validation when extracting structured output from a model that supports json_schema, to guarantee the response exactly matches your TypedDict schema.
python
from langchain_openai import ChatOpenAI
from typing import TypedDict

class Answer(TypedDict):
    score: int
    reasoning: str

llm = ChatOpenAI(model='gpt-4o-mini')
structured = llm.with_structured_output(Answer, method='json_schema', strict=True)
result = structured.invoke('Rate the following code quality from 1-10 and explain why.')
Restore 0.2 behaviour for a Pydantic model with constrained fields or when targeting a model like gpt-3.5-turbo that does not support json_schema.
python
from langchain_openai import ChatOpenAI
from pydantic import BaseModel, Field

class Verdict(BaseModel):
    confidence: float = Field(ge=0.0, le=1.0)
    label: str

llm = ChatOpenAI(model='gpt-3.5-turbo', temperature=0.7, max_retries=2, n=1)
structured = llm.with_structured_output(Verdict, method='function_calling')
result = structured.invoke('Classify the following text as spam or ham.')
  • Changes the default method parameter of ChatOpenAI(...).with_structured_output() from 'function_calling' to 'json_schema', using OpenAI's dedicated structured output feature instead of function calling.
  • Adds support for strict=True in with_structured_output() to enable strict schema validation for schemas specified via TypedDict or JSON schema (disabled by default).
└──▷ BREAKING ON UPGRADE
  • !The default method for ChatOpenAI(...).with_structured_output() changes from 'function_calling' to 'json_schema'; models that do not support json_schema (e.g. gpt-4 and gpt-3.5-turbo) will raise an error unless method='function_calling' is explicitly passed.
  • !Pydantic BaseModel schemas with fields that have non-null defaults or metadata (such as min/max constraints) will raise an error with the new json_schema default; pass method='function_calling' to restore previous behaviour.
  • !Non-null defaults for the optional temperature (was 0.7), max_retries (was 2), and n (was 1) parameters on ChatOpenAI are removed; callers that relied on these defaults must now set them explicitly.
langchain-chroma==0.2.0 NOTES STABLE

langchain-chroma 0.2.0 adds get_by_ids, embedding vector retrieval, and document.id support to the Chroma vector store.

└──▷ GET THIS VERSION
$ git clone --branch langchain-chroma==0.2.0 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-chroma==0.2.0
  • Adds get_by_ids method to the Chroma vector store for direct document lookup by ID.
  • Adds document.id support so documents carry their IDs through the Chroma store.
  • Enables retrieval of embedding vectors alongside documents from a Chroma collection.
  • Passes through kwargs to Chroma collection.delete, exposing the full Chroma delete API surface.
langchain-text-splitters==0.3.5 NOTES STABLE

langchain-text-splitters 0.3.5 adds HTMLSemanticPreservingSplitter for structure-aware HTML chunking.

└──▷ GET THIS VERSION
$ git clone --branch langchain-text-splitters==0.3.5 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-text-splitters==0.3.5
└──▷ USE IT
Split an HTML document into chunks that respect semantic boundaries like headings and paragraphs, rather than splitting on raw character count.
python
from langchain_text_splitters import HTMLSemanticPreservingSplitter

splitter = HTMLSemanticPreservingSplitter()
chunks = splitter.split_text(html_content)
  • Adds HTMLSemanticPreservingSplitter class for splitting HTML documents while preserving semantic structure.
langchain-community==0.3.14 NOTES STABLE

langchain-community 0.3.14 adds SQL LanguageParser and expands AzureSearch credential support

└──▷ GET THIS VERSION
$ git clone --branch langchain-community==0.3.14 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-community==0.3.14
  • Adds SQL LanguageParser to langchain_community, enabling parsing of SQL files as a supported language in document loaders.
  • Adds embed_documents and embed_query methods to LlamaCppEmbeddings, enabling batch and single-query embedding with the local Llama.cpp backend.
  • Changes DuckDuckGoSearchAPIWrapper default backend from api to auto, broadening search fallback behavior.
└──▷ BREAKING ON UPGRADE
  • !The DuckDuckGoSearchAPIWrapper backend parameter default changed from api to auto; existing code relying on the api backend must now pass backend='api' explicitly.
langchain==0.3.14 NOTES STABLE

LangChain 0.3.14 adds Google Anthropic Vertex AI model garden support to init_chat_model.

└──▷ GET THIS VERSION
$ git clone --branch langchain==0.3.14 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain==0.3.14
  • Adds support for the Google Anthropic Vertex AI model garden provider in init_chat_model, enabling Anthropic models hosted on Vertex AI to be initialized through the standard chat model factory.
Was this useful?

LangChain LangGraph

Sources Release notes → 0.2.69 17 RELEASES · 2025-01-05 → 2025-01-31 NOTES STABLE

Build resilient agents.

LangGraph 0.2.69 adds context utilities (get_config, get_store, get_stream_writer), tag support for streamed LLM messages, and optional store in ToolNode.

└──▷ GET THIS VERSION
$ git clone --branch 0.2.69 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout 0.2.69
└──▷ USE IT
Emit custom progress events from inside a node during streaming without threading store/config through function signatures.
python
from langgraph.config import get_stream_writer

def my_node(state):
    writer = get_stream_writer()
    writer({"status": "starting scan", "targets": state["targets"]})
    # ... do work ...
    writer({"status": "complete", "findings": 42})
    return state
Access the LangGraph store inside a node to read or write persistent data without passing it explicitly through the graph.
python
from langgraph.config import get_store

def enrich_node(state):
    store = get_store()
    record = store.get("threat-intel", state["ioc"])
    state["intel"] = record.value if record else {}
    return state
Give a ToolNode access to the store for lookups during tool execution without making it a required parameter.
python
from langgraph.prebuilt import ToolNode
from langgraph.store.memory import InMemoryStore

store = InMemoryStore()
tool_node = ToolNode(tools=[my_tool], store=store)
  • Adds get_config(), get_store(), and get_stream_writer() utilities in the new langgraph.config module to access runtime context (config, store, and custom stream writer) from inside any node or task.
  • Adds optional store parameter support in ToolNode, enabling tools to access the LangGraph store without requiring it as a mandatory dependency.
  • Adds tag support in StreamMessagesHandler so streamed LLM messages carry filtered tag metadata (excluding internal sequence-step tags).
  • Adds subgraphs property to PregelNode and subgraphs field to PregelExecutableTask for direct tracking and caching of nested graph references.
16 more releases in this issue · 2025-01-05 → 2025-01-31
cli==0.1.70 NOTES STABLE

LangGraph CLI now supports auth configuration in langgraph.json with path validation and Docker container handling.

└──▷ GET THIS VERSION
$ git clone --branch cli==0.1.70 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout cli==0.1.70
└──▷ USE IT
Wire a custom auth handler into your LangGraph deployment so it is validated locally and resolved correctly inside the Docker container.
json
{
  "graphs": {
    "my_agent": "./agent.py:graph"
  },
  "auth": {
    "path": "./auth/handler.py:auth"
  }
}
  • Supports auth configuration block in langgraph.json, with validation that auth.path follows the required ./path/to/file.py:attribute_name format.
  • Enables auth path resolution in Docker environments via new _update_auth_path function, so auth handlers are correctly wired when deploying containers.
0.2.68 NOTES STABLE

LangGraph 0.2.68 promotes the Functional API to Beta and adds a name parameter to the task decorator.

└──▷ GET THIS VERSION
$ git clone --branch 0.2.68 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout 0.2.68
└──▷ USE IT
Assign a human-readable display name to a task that wraps a lambda or method where the default __name__ would be unhelpful.
python
from langgraph.func import task

@task(name="fetch_user_profile")
def _t(user_id: str) -> dict:
    # your implementation
    return {"id": user_id}

future = _t("u-123")
result = future.result()
Use the new prompt parameter name in create_react_agent instead of the deprecated state_modifier.
python
from langgraph.prebuilt import create_react_agent
from langchain_openai import ChatOpenAI

agent = create_react_agent(
    model=ChatOpenAI(model="gpt-4o"),
    tools=[...],
    prompt="You are a concise security analyst. Answer in bullet points.",
)

result = agent.invoke({"messages": [{"role": "user", "content": "Summarize CVE-2024-1234"}]})
  • Adds name parameter to the task decorator, allowing custom display names for tasks regardless of the underlying function name.
  • Promotes the Functional API (@task, @entrypoint) from Experimental to Beta status with expanded documentation.
  • Introduces unified SyncAsyncFuture type in langgraph.pregel.call that implements both the Future interface and the awaitable protocol for task return values.
  • Renames state_modifier parameter to prompt in create_react_agent, with full backward compatibility retained.
└──▷ BREAKING ON UPGRADE
  • !Generators are no longer supported in the Functional API (@entrypoint); any entrypoint using a generator function will break on upgrade.
cli==0.1.69 NOTES STABLE

LangGraph CLI now ships PostgreSQL with pgvector enabled for vector operations support.

└──▷ GET THIS VERSION
$ git clone --branch cli==0.1.69 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout cli==0.1.69
  • Upgrades the bundled PostgreSQL Docker image to pgvector/pgvector:pg16, enabling vector operations in local dev environments.
  • Loads the pgvector extension automatically via shared_preload_libraries=vector in the generated Docker Compose configuration.
0.2.67 NOTES STABLE

LangGraph 0.2.67 adds entrypoint.final for separating return vs. checkpointed values and async state modifiers in the chat agent executor.

└──▷ GET THIS VERSION
$ git clone --branch 0.2.67 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout 0.2.67
└──▷ USE IT
Return a clean response to the caller while persisting richer state to the checkpoint — useful when you want the graph's saved context to differ from what the user receives.
python
from langgraph.func import entrypoint

@entrypoint(checkpointer=checkpointer)
def my_graph(input: str) -> entrypoint.final[str, dict]:
    result = run_pipeline(input)
    # Return the string to the caller; save the full dict to the checkpoint
    return entrypoint.final(value=result["summary"], save=result)
  • Adds entrypoint.final primitive to return a value to the caller that differs from the value saved in the checkpoint.
  • Supports async coroutine functions as state modifiers in the chat agent executor.
  • Adds thread-safe atomic counters in PregelScratchpad for safer concurrent graph execution.
  • Supports Union types in node function return annotations so add_node correctly extracts Command types.
  • Enhances Command.update with automatic field extraction from type hints on dataclasses and typed objects.
+1 moreshow less
  • Reduces tracing noise by applying recurse=False to internal RunnableCallable instances.
└──▷ BREAKING ON UPGRADE
  • !The CONFIG_KEY_END constant is renamed to CONFIG_KEY_PREVIOUS; any code referencing CONFIG_KEY_END will break.
  • !PregelScratchpad is changed from a TypedDict to a dataclass; code that constructs or unpacks it as a plain dict will break.
0.2.66 NOTES STABLE

LangGraph 0.2.66 adds run_coroutine_threadsafe, explode_args, and trace_inputs for safer async execution and richer tracing.

└──▷ GET THIS VERSION
$ git clone --branch 0.2.66 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout 0.2.66
└──▷ USE IT
Safely submit a coroutine to a running event loop from a background thread — useful when mixing sync worker threads with an async LangGraph executor.
python
from langgraph.utils.future import run_coroutine_threadsafe
import asyncio

loop = asyncio.get_event_loop()
future = run_coroutine_threadsafe(my_async_task(), loop)
result = future.result(timeout=30)
Customize how inputs appear in LangSmith / callback traces for a multi-step chain without changing runtime behaviour.
python
from langgraph.utils.runnable import RunnableSeq

seq = RunnableSeq(
    step_a,
    step_b,
    trace_inputs=lambda x: {"sanitized_input": x["query"]},
)
result = seq.invoke({"query": "explain RBAC", "user_token": "s3cr3t"})
  • Adds explode_args parameter to RunnableCallable to unpack a tuple of (args, kwargs) instead of passing it as the first positional argument; affects both invoke and ainvoke methods.
  • Adds trace_inputs parameter to RunnableSeq to customize how inputs are recorded in callbacks across invoke, ainvoke, stream, and astream.
  • Adds run_coroutine_threadsafe function in langgraph.utils.future for safely running coroutines from any thread context.
  • Adds CONTEXT_NOT_SUPPORTED flag in langgraph.utils.future to handle Python versions whose event loops do not support contextvars.
  • Adds get_runnable_for_entrypoint and get_runnable_for_task functions in langgraph.pregel.call for targeted handling of distinct execution contexts.
+4 moreshow less
  • Moves the call function from langgraph.func.__init__ to langgraph.pregel.call for better module organization.
  • Adds _explode_args_trace_inputs utility in langgraph.pregel.call to flatten function arguments in traces for improved debugging.
  • Enhances chain_future in langgraph.utils.future to return the destination future, enabling direct chaining.
  • Removes the restriction in PregelRunner that only coroutine functions could be called in an async context, and adds context detection to return the appropriate future type (async or sync) based on the calling context.
0.2.65 NOTES STABLE

LangGraph 0.2.65 adds graph visualization for entrypoint functions and a new get_store() utility for easy store access.

└──▷ GET THIS VERSION
$ git clone --branch 0.2.65 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout 0.2.65
└──▷ USE IT
Visualize an entrypoint function and all its nested tasks during development or debugging.
python
from langgraph.func import entrypoint, task

@task
def fetch_data(url: str):
    ...

@entrypoint()
def pipeline(input: dict):
    return fetch_data(input["url"]).result()

# pipeline is now an EntrypointPregel
graph = pipeline.get_graph(xray=True)
graph.print_ascii()
Access the configured store inside a node or task without threading config through manually.
python
from langgraph.config import get_store

@task
def save_result(key: str, value: str):
    store = get_store()
    store.put(("results",), key, {"value": value})
  • New EntrypointPregel class exposes a get_graph() method to visualize entrypoint functions and their dependent tasks, including nested subgraphs via x-ray mode.
  • New get_store() utility function retrieves the BaseStore from the current config context without manual extraction.
  • Tasks decorated with @task now carry a _is_pregel_task attribute, making them automatically discoverable for graph visualization.
└──▷ BREAKING ON UPGRADE
  • !The entrypoint decorator now returns an EntrypointPregel instance instead of a Pregel instance; code that type-checks or depends on the exact return type being Pregel will break.
cli==0.1.68 NOTES STABLE

LangGraph CLI 0.1.68 adds Bun package manager support and clearer JS-graph error guidance.

└──▷ GET THIS VERSION
$ git clone --branch cli==0.1.68 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout cli==0.1.68
  • Supports Bun as a detected package manager: detects bun.lockb and runs bun i automatically for Bun-based projects.
  • Adds a clear error message when users attempt to run JS graphs with the Python CLI, directing them to use npx @langchain/langgraph-cli instead.
0.2.64 NOTES STABLE

LangGraph 0.2.64 adds config schema validation and previous state access to the entrypoint decorator.

└──▷ GET THIS VERSION
$ git clone --branch 0.2.64 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout 0.2.64
└──▷ USE IT
Enforce a typed config schema on a workflow so callers get validation errors when they pass unexpected config keys.
python
from langgraph.func import entrypoint
from pydantic import BaseModel

class MyConfig(BaseModel):
    temperature: float = 0.7
    max_tokens: int = 256

@entrypoint(config_schema=MyConfig)
def my_workflow(inputs: dict) -> str:
    # config is validated against MyConfig before execution
    ...
Accumulate state across invocations by reading the last return value via previous — useful for iterative, stateful agent loops.
python
from langgraph.func import entrypoint

@entrypoint()
def my_workflow(inputs: dict, previous: list | None = None) -> list:
    history = previous or []
    history.append(inputs["message"])
    return history
  • Adds config_schema parameter to the entrypoint decorator, enabling schema validation for workflow configuration.
  • Adds support for an optional previous parameter in entrypoint-decorated functions to access the prior return value in stateful Pregel graphs.
  • Adds automatic input/output type detection from function signatures in the entrypoint decorator, removing the need for manual type annotation wiring.
0.2.63 NOTES STABLE

LangGraph 0.2.63 adds subgraph checkpointing, string model IDs in create_react_agent, human-interrupt types, and eager streaming.

└──▷ GET THIS VERSION
$ git clone --branch 0.2.63 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout 0.2.63
└──▷ USE IT
Enable persistent checkpointing for a subgraph without wiring up a full checkpointer object.
python
subgraph = subgraph_builder.compile(checkpointer=True)
parent = parent_builder.compile(checkpointer=memory_checkpointer)
parent.add_node("sub", subgraph)
Spin up a ReAct agent by referencing a model by string instead of instantiating a model object.
python
from langgraph.prebuilt import create_react_agent

agent = create_react_agent("openai:gpt-4", tools)
  • Supports checkpointer=True on subgraphs to enable persistent checkpointing without passing a full checkpointer object.
  • Accepts string model identifiers in create_react_agent, e.g. create_react_agent("openai:gpt-4", tools).
  • Adds structured type definitions for human-in-the-loop interactions: HumanInterruptConfig, ActionRequest, HumanInterrupt, and HumanResponse in langgraph.prebuilt.interrupt.
  • Adds stream_eager option to langgraph.pregel to force stream events to emit eagerly.
  • Enables method chaining on add_node, add_edge, add_sequence, add_conditional_edges, set_entry_point, set_conditional_entry_point, and set_finish_point via updated Self return types.
+1 moreshow less
  • Allows mixed Command and non-Command types in list commands, removing the requirement that all list items be Command objects.
└──▷ BREAKING ON UPGRADE
  • !get_configurable in langgraph.utils.config is renamed to get_config; any code calling get_configurable will break.
checkpointpostgres==2.0.12 NOTES STABLE

langgraph-checkpoint-postgres 2.0.12 adds task_path tracking to checkpoint writes for better data organization.

└──▷ GET THIS VERSION
$ git clone --branch checkpointpostgres==2.0.12 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout checkpointpostgres==2.0.12
└──▷ USE IT
Tag checkpoint writes with a task path so you can trace which graph node produced each write.
python
await saver.aput_writes(config, writes, task_id, task_path="agent/subgraph")
  • Adds task_path parameter to put_writes() and aput_writes() on all saver classes (PostgresSaver, AsyncPostgresSaver, ShallowPostgresSaver, AsyncShallowPostgresSaver) to tag checkpoint writes with their originating task path.
  • Extends the checkpoint_writes table schema with a task_path column, enabling path-based ordering and querying of checkpoint write records.
checkpointsqlite==2.0.3 NOTES STABLE

LangGraph SQLite checkpointer adds task_path parameter to write-tracking methods for improved task traceability.

└──▷ GET THIS VERSION
$ git clone --branch checkpointsqlite==2.0.3 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout checkpointsqlite==2.0.3
└──▷ USE IT
Tag writes with the originating task path so checkpoint records can be traced back to a specific graph node or subgraph.
python
saver.put_writes(config, writes, task_id, task_path="agent:tool_call")
Do the same in async workflows using the async saver.
python
await async_saver.aput_writes(config, writes, task_id, task_path="agent:tool_call")
  • Adds optional task_path parameter to SqliteSaver.put_writes() for tracking which task path created a given set of writes.
  • Adds optional task_path parameter to AsyncSqliteSaver.put_writes() and AsyncSqliteSaver.aput_writes() for async task traceability.
checkpoint==2.0.10 NOTES STABLE

LangGraph checkpoint 2.0.10 adds task path tracking to put_writes/aput_writes for consistent ordering in nested task graphs.

└──▷ GET THIS VERSION
$ git clone --branch checkpoint==2.0.10 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout checkpoint==2.0.10
└──▷ USE IT
Pass the nested task path when writing checkpoint data so that sends are retrieved in a consistent, hierarchical order in complex subgraph workflows.
python
saver.put_writes(config, writes, task_id, task_path="parent_task/child_task")
  • Adds task_path parameter to put_writes and aput_writes on BaseCheckpointSaver and InMemorySaver to track the nested path of tasks creating checkpoint writes.
  • Enables deterministic, consistent ordering of pending sends by sorting on task path, task ID, and sequence number during checkpoint retrieval.
checkpointduckdb==2.0.2 NOTES STABLE

LangGraph DuckDB checkpointer adds in-memory vector search support

└──▷ GET THIS VERSION
$ git clone --branch checkpointduckdb==2.0.2 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout checkpointduckdb==2.0.2
  • Adds in-memory vector search capability to the DuckDB checkpointer
0.2.62 NOTES STABLE

LangGraph 0.2.62 adds a response_format parameter to create_react_agent for structured, schema-validated agent outputs.

└──▷ GET THIS VERSION
$ git clone --branch 0.2.62 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout 0.2.62
└──▷ USE IT
Enforce a typed output schema on a ReAct agent so downstream code can rely on structured data instead of free-form text.
python
from pydantic import BaseModel
from langgraph.prebuilt import create_react_agent

class AgentAnswer(BaseModel):
    answer: str
    confidence: float

agent = create_react_agent(
    model,
    tools=[...],
    response_format=AgentAnswer,
)
result = agent.invoke({"messages": [("user", "What is the capital of France?")]})
print(result["structured_response"])  # AgentAnswer(answer='Paris', confidence=0.99)
Supply a custom extraction prompt alongside the schema when the default structured-output prompt doesn't fit your domain.
python
from typing import TypedDict
from langgraph.prebuilt import create_react_agent

class Summary(TypedDict):
    key_findings: list[str]
    risk_level: str

agent = create_react_agent(
    model,
    tools=[...],
    response_format=(
        "Extract the security findings and risk level from the conversation.",
        Summary,
    ),
)
result = agent.invoke({"messages": [("user", "Analyze this log: ...")]})
print(result["structured_response"])
  • Adds response_format parameter to create_react_agent to enforce a schema on final agent output, returned in the structured_response state key.
  • Supports OpenAI function/tool schemas, JSON Schema, TypedDict classes, and Pydantic models as the response schema.
  • Accepts a (prompt, schema) tuple for response_format to supply a custom prompt when generating structured output.
sdk==0.1.50 NOTES STABLE

LangGraph SDK 0.1.50 adds store authorization handlers and expands Command.update to accept tuple sequences.

└──▷ GET THIS VERSION
$ git clone --branch sdk==0.1.50 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout sdk==0.1.50
└──▷ USE IT
Use tuple sequences in Command.update when state keys contain ordering semantics or you're building updates dynamically.
python
from langgraph.types import Command

updates = [("messages", new_message), ("turn_count", 5)]
cmd = Command(update=updates)
  • Adds auth.on.store decorators to authorize store operations (put, get, search, list_namespaces, delete) at the handler level.
  • Introduces new TypedDict classes — StoreGet, StoreSearch, StoreListNamespaces, StorePut, StoreDelete — for typed store operation authorization.
  • Expands Command.update to accept sequences of tuples in addition to dictionaries, enabling more flexible graph state updates.
0.2.61 NOTES STABLE

LangGraph 0.2.61 adds OpenAI-format message conversion to add_messages and a more flexible task decorator with async support.

└──▷ GET THIS VERSION
$ git clone --branch 0.2.61 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:
$ git checkout 0.2.61
└──▷ USE IT
Ensure all messages stored in a graph state channel are automatically normalized to OpenAI format (string, 'text', 'image_url' blocks) before passing to an OpenAI-compatible LLM.
python
from langgraph.graph.message import add_messages
from typing import Annotated
from typing_extensions import TypedDict

class State(TypedDict):
    messages: Annotated[list, add_messages(format="langchain-openai")]
Wrap an async function as a LangGraph task using the decorator directly without parentheses — useful for fire-and-forget subtasks in a functional graph.
python
from langgraph.func import task

@task
async def fetch_data(url: str, timeout: int = 30) -> dict:
    # async I/O here
    ...
  • Adds format="langchain-openai" parameter to add_messages to automatically convert message content (strings, text blocks, image_url blocks) to OpenAI-compatible format.
  • Enables add_messages as a partial function when called without arguments, improving flexibility in type annotations.
  • Rewrites the task decorator to support both direct (@task) and parameterized (@task(...)) usage, with proper coroutine detection and wrapping for async functions.
  • Expands task decorator function signature to accept *args and **kwargs and adds overloads for better IDE type inference.
Was this useful?

Letta (formerly MemGPT)

Sources Release notes → 0.6.9 2 RELEASES · 2025-01-09 → 2025-01-11 NOTES STABLE

Letta 0.6.9 adds tag-matching, new types, and improved provider integration in the client.

└──▷ GET THIS VERSION
$ git clone --branch 0.6.9 https://github.com/letta-ai/letta.git
# already have the repo? check out this version:
$ git checkout 0.6.9
  • Adds support for matching all tags when querying agents via the client.
  • Introduces new types and updates Tool schemas with improved provider integration.
1 more release in this issue · 2025-01-09 → 2025-01-11
0.6.8 NOTES STABLE

Letta 0.6.8 adds provider persistence so configured providers survive restarts.

└──▷ GET THIS VERSION
$ git clone --branch 0.6.8 https://github.com/letta-ai/letta.git
# already have the repo? check out this version:
$ git checkout 0.6.8
  • Adds provider persistence so that configured LLM/embedding providers are saved and restored across server restarts.
Was this useful?

Microsoft AutoGen

Sources Release notes → v0.4.4 4 RELEASES · 2025-01-10 → 2025-01-29 NOTES STABLE

AutoGen v0.4.4 adds serializable agent/team configs, Azure AI model client, rich CLI output, and zero-config in-memory LLM caching.

└──▷ GET THIS VERSION
$ git clone --branch v0.4.4 https://github.com/microsoft/autogen.git
# already have the repo? check out this version:
$ git checkout v0.4.4
└──▷ USE IT
Persist a multi-agent team across sessions by serializing its config and state to disk, then reloading both later.
python
config = group_chat.dump_component()
with open("team_config.json", "w") as f:
    f.write(config.model_dump_json(indent=4))
state = await group_chat.save_state()
with open("team_state.json", "w") as f:
    f.write(json.dumps(state, indent=4))

# Later, restore the team:
with open("team_config.json", "r") as f:
    config = json.load(f)
group_chat = Team.load_component(config)
with open("team_state.json", "r") as f:
    state = json.load(f)
await group_chat.load_state(state)
Use GitHub-hosted Phi-4 via the new Azure AI client without switching to the OpenAI client.
python
from autogen_ext.models.azure import AzureAIChatCompletionClient
from azure.core.credentials import AzureKeyCredential

client = AzureAIChatCompletionClient(
    model="Phi-4",
    endpoint="https://models.inference.ai.azure.com",
    credential=AzureKeyCredential(os.environ["GITHUB_TOKEN"]),
    model_info={"json_output": False, "function_calling": False, "vision": False, "family": "unknown"},
)
result = await client.create([UserMessage(content="Summarize this CVE.", source="user")])
Wrap any model client with zero-config in-memory caching to avoid redundant LLM calls during repeated queries.
python
from autogen_ext.models.cache import ChatCompletionCache
from autogen_ext.models.openai import OpenAIChatCompletionClient

client = OpenAIChatCompletionClient(model="gpt-4o")
cached_client = ChatCompletionCache(client)
result = await cached_client.create([UserMessage(content="What is the capital of France?", source="user")])
print(result.content, result.cached)  # False on first call, True on subsequent identical calls
  • Adds dump_component() and load_component() to serialize/deserialize agent and team configurations to/from JSON, enabling persistent sessions across server-client interactions.
  • Introduces AzureAIChatCompletionClient in autogen_ext.models.azure for Azure- and GitHub-hosted models including Phi-4, Mistral, and Cohere.
  • Adds --rich flag to the m1 CLI for pretty-printed, colorized console output via the Rich library.
  • Adds a default in-memory store to ChatCompletionCache, enabling model call caching without configuring an external cache service.
  • Adds description field support in dump_component() output for richer component metadata.
3 more releases in this issue · 2025-01-10 → 2025-01-29
v0.4.3 NOTES STABLE

AutoGen v0.4.3 adds model response caching, GraphRAG tools, Semantic Kernel adapters, Jupyter execution, and agent memory.

└──▷ GET THIS VERSION
$ git clone --branch v0.4.3 https://github.com/microsoft/autogen.git
# already have the repo? check out this version:
$ git checkout v0.4.3
└──▷ USE IT
Cache OpenAI completions to disk so repeated identical prompts are served instantly without additional API calls.
python
from autogen_ext.models.openai import OpenAIChatCompletionClient
from autogen_ext.models.cache import ChatCompletionCache, CHAT_CACHE_VALUE_TYPE
from autogen_ext.cache_store.diskcache import DiskCacheStore
from autogen_core.models import UserMessage
from diskcache import Cache
import asyncio

async def main():
    openai_client = OpenAIChatCompletionClient(model="gpt-4o")
    cache_store = DiskCacheStore[CHAT_CACHE_VALUE_TYPE](Cache("/tmp/autogen-cache"))
    cache_client = ChatCompletionCache(openai_client, cache_store)

    response = await cache_client.create([UserMessage(content="Summarise zero-trust networking.", source="user")])
    print(response)  # live response
    response = await cache_client.create([UserMessage(content="Summarise zero-trust networking.", source="user")])
    print(response)  # served from disk cache

asyncio.run(main())
Give an agent global GraphRAG search capability to answer broad, dataset-wide questions from an indexed knowledge graph.
python
from autogen_ext.models.openai import OpenAIChatCompletionClient
from autogen_ext.tools.graphrag import GlobalSearchTool
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.ui import Console
import asyncio

async def main():
    global_tool = GlobalSearchTool.from_settings(settings_path="./settings.yaml")
    agent = AssistantAgent(
        name="search_assistant",
        tools=[global_tool],
        model_client=OpenAIChatCompletionClient(model="gpt-4o-mini"),
        system_message="Use global_search for broad questions about the dataset.",
    )
    await Console(agent.run_stream(task="What are the main themes across all community reports?"))

asyncio.run(main())
  • Adds ChatCompletionCache to wrap any ChatCompletionClient and transparently cache model completions, with DiskCacheStore and RedisStore backends via a new CacheStore interface.
  • Adds LocalSearchTool and GlobalSearchTool for GraphRAG integration, enabling agents to call local and global graph-based retrieval as first-class tools.
  • Adds SKChatCompletionAdapter to adapt any Semantic Kernel AI Connector into an AutoGen ChatCompletionClient.
  • Adds KernelFunctionFromTool adapter to expose AutoGen tools as Kernel functions inside a Semantic Kernel workflow.
  • Adds JupyterCodeExecutor for local Jupyter-based code execution, restoring functionality from the 0.2 lineage.
+3 moreshow less
  • Introduces a core Memory interface for agent memory and RAG; AssistantAgent now accepts a memory parameter to enrich context from a memory store.
  • Expands declarative config support to termination conditions and base chat agents, moving toward full team-of-agents configuration from a single file.
  • Adds sources field to TextMentionTermination for filtering by message source.
v0.4.1 NOTES STABLE

AutoGen v0.4.1 enables subclassing BaseComponent for custom serializable component configs.

└──▷ GET THIS VERSION
$ git clone --branch v0.4.1 https://github.com/microsoft/autogen.git
# already have the repo? check out this version:
$ git checkout v0.4.1
  • Supports subclassing BaseComponent to create custom component configs with serialization support.
└──▷ BREAKING ON UPGRADE
  • !Console output usage statistics are now disabled by default.
v0.4.0 NOTES STABLE

AutoGen v0.4.0 stable: agent activate/deactivate, o1-2024-12-17 model support, and new m1 CLI package.

└──▷ GET THIS VERSION
$ git clone --branch v0.4.0 https://github.com/microsoft/autogen.git
# already have the repo? check out this version:
$ git checkout v0.4.0
  • Adds m1 CLI package for interacting with AutoGen agents from the command line.
  • Supports activating and deactivating individual agents at runtime.
  • Adds support for the o1-2024-12-17 model in autogen-ext[openai].
└──▷ BREAKING ON UPGRADE
  • !The Azure auth provider has been moved to a separate module; existing imports will break.
  • !The intervention handler signature now requires a message_context argument; existing intervention handler implementations will break.
  • !Deprecated items removed for the v0.4.0 release; any code relying on previously deprecated APIs will break.
Was this useful?

PydanticAI

Sources Release notes → v0.0.21 5 RELEASES · 2025-01-03 → 2025-01-30 NOTES STABLE

PydanticAI v0.0.21 adds model-specific ModelSettings subclasses, drops OllamaModel in favor of OpenAIModel, and adds Cohere support.

└──▷ GET THIS VERSION
$ git clone --branch v0.0.21 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v0.0.21
  • Adds subclasses of ModelSettings to support specialized, per-model request parameters beyond the base settings common to all models.
  • Removes OllamaModel — Ollama is now used via OpenAIModel with the appropriate base URL, consolidating provider support.
  • Adds Cohere model support with documentation and live tests.
└──▷ BREAKING ON UPGRADE
  • !OllamaModel has been removed; existing code using OllamaModel must be migrated to use OpenAIModel with Ollama's OpenAI-compatible endpoint.
  • !ArgsDict and ArgsJson have been removed from the public API.
  • !AgentDeps type alias is renamed to AgentDepsT.
4 more releases in this issue · 2025-01-03 → 2025-01-30
v0.0.20 NOTES STABLE

PydanticAI v0.0.20 adds Cohere model support, Anthropic streaming, parallel tool calls, and DeepSeek-R1 via Ollama.

└──▷ GET THIS VERSION
$ git clone --branch v0.0.20 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v0.0.20
└──▷ USE IT
Disable parallel tool calls when you need strict sequential tool execution, e.g. to avoid race conditions on shared state.
python
from pydantic_ai import Agent
from pydantic_ai.settings import ModelSettings

agent = Agent('openai:gpt-4o', model_settings=ModelSettings(parallel_tool_calls=False))
result = agent.run_sync('Book a flight and then a hotel')
  • Adds parallel_tool_calls field to ModelSettings to control whether the model may invoke multiple tools simultaneously.
  • Adds model_name field to ModelResponse, exposing which model produced each response.
  • Adds support for Cohere models as a new model provider integration.
  • Adds 'deepseek-r1' to the recognized Ollama model name list, enabling typed use of DeepSeek-R1 via Ollama.
  • Adds Anthropic streaming support, enabling streamed responses from Anthropic models.
+2 moreshow less
  • Adds support for user-role system prompts for o1-preview-2024-09-12 to work around that model's system-prompt restrictions.
  • Adds direction control for Mermaid state diagram generation.
└──▷ BREAKING ON UPGRADE
  • !Removes from_text and from_tool_call utilities, which will break any code that imports or calls these methods.
v0.0.19 NOTES STABLE

PydanticAI v0.0.19 adds graph support, tool docstring controls, streaming refactor, and phi4 on Ollama.

└──▷ GET THIS VERSION
$ git clone --branch v0.0.19 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v0.0.19
  • Adds docstring_format and require_parameter_descriptions parameters to tool definitions, giving callers explicit control over how tool schemas are generated from Python docstrings.
  • Introduces graph support via pydantic_ai.graph, enabling stateful, multi-step agent workflows modelled as explicit graphs.
  • Adds phi4 model support to the Ollama provider.
  • Refactors streaming internals, improving the reliability and composability of streamed agent responses.
v0.0.18 NOTES STABLE

PydanticAI v0.0.18 adds dynamic system prompts, per-run custom result types, and provider-prefixed model names.

└──▷ GET THIS VERSION
$ git clone --branch v0.0.18 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v0.0.18
└──▷ USE IT
Re-evaluate a system prompt on every run to inject fresh context such as the current user or timestamp.
python
@agent.system_prompt(dynamic=True)
def my_prompt(ctx: RunContext) -> str:
    return f"Today is {date.today()}. User: {ctx.deps.username}"
Override the expected result type for a single run without redefining the agent — useful for multi-step pipelines with varying output schemas.
python
result = await agent.run("Summarise this", result_type=MySummaryModel)
  • Adds dynamic parameter to the system_prompt decorator, enabling system prompts to be re-evaluated on each agent run rather than computed once at definition time.
  • Supports custom result_type overrides on individual .run() calls, allowing the expected output type to be set per-run without changing the agent definition.
  • All model names are now prefixed with their provider (e.g. openai:gpt-4o) for consistency across providers.
└──▷ BREAKING ON UPGRADE
  • !All models are now prefixed with their provider name for consistency — any hardcoded unprefixed model strings passed to agents may need to be updated to the new provider-prefixed format.
v0.0.17 NOTES STABLE

PydanticAI v0.0.17 defaults AgentDeps to None and adds formatting examples support

└──▷ GET THIS VERSION
$ git clone --branch v0.0.17 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v0.0.17
  • Adds formatting examples support to improve how examples are structured and displayed.
  • AgentDeps now defaults to None, simplifying agent definitions that do not require explicit dependency typing.
Was this useful?

Microsoft Semantic Kernel

Sources Release notes → python-1.20.0 6 RELEASES · 2025-01-07 → 2025-01-29 NOTES STABLE

Semantic Kernel Python 1.20.0 adds chat history reducers, prompt template config for agents, and an instruction_role parameter for reasoning models.

└──▷ GET THIS VERSION
$ git clone --branch python-1.20.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:
$ git checkout python-1.20.0
└──▷ USE IT
Use instruction_role='developer' when targeting OpenAI reasoning models so that system messages are sent as developer-role messages.
python
chat_service = OpenAIChatCompletion(service_id=service_id, instruction_role="developer")
  • Adds instruction_role keyword argument to OpenAIChatCompletion and AzureChatCompletion, converting AuthorRole.SYSTEM messages to AuthorRole.DEVELOPER before sending to the model — enabling correct behavior with reasoning models like o1.
  • Replaces ChatCompletionAgent's execution_settings constructor parameter with KernelArguments(settings=<execution_settings>), enabling use of the AI Service Selector inside ChatCompletionAgent.
  • Adds Chat History Reducer support, allowing agents and chat completion flows to summarize or truncate history, including preservation of FunctionCallContent and FunctionResultContent items.
  • Adds prompt template config and KernelArguments support for ChatCompletionAgent and AssistantAgent, aligning Python agent templating with the .NET Agent Framework.
  • Adds Deepseek service support in concept samples, demonstrating integration with the Deepseek model provider.
└──▷ BREAKING ON UPGRADE
  • !The ChatCompletionAgent execution_settings constructor parameter has been removed; pass execution settings via KernelArguments(settings=<execution_settings>) instead.
5 more releases in this issue · 2025-01-07 → 2025-01-29
dotnet-1.35.0 NOTES STABLE

Semantic Kernel dotnet-1.35.0 adds Azure AI Agent support, Ollama/Aspire integration, cloud-event scaffolding, and Gemini cached-content settings.

└──▷ GET THIS VERSION
$ git clone --branch dotnet-1.35.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:
$ git checkout dotnet-1.35.0
└──▷ USE IT
Cache a large system prompt with Gemini to avoid re-processing it on every call, reducing latency and token cost.
csharp
var settings = new GeminiPromptExecutionSettings
{
    CachedContent = "cachedContents/my-cached-system-prompt"
};
var result = await kernel.InvokePromptAsync(prompt, new KernelArguments(settings));
  • Adds CachedContent property to GeminiPromptExecutionSettings for controlling Gemini prompt caching behavior.
  • Adds Azure AI Agent support via the Agents package (#10134), enabling Azure AI Foundry-hosted agents alongside existing agent types.
  • Adds Ollama extension for improved .NET Aspire integration experience.
  • Introduces SK Process Cloud Events publish interface abstractions and scaffolding, enabling cloud-event-driven process orchestration.
  • Moves IChatHistoryReducer from the Agents package into core SK packages, broadening its availability across the library.
+2 moreshow less
  • Updates ChatPromptParser to support zero-or-more text parts per message instead of a single value, enabling richer multi-part chat prompt construction.
  • Adds improved auto-recovery logic for Azure OpenAI models under transient failures.
dotnet-1.34.0 NOTES STABLE

Semantic Kernel dotnet-1.34.0 adds Base64 image support for MistralAI, structured output schema for Google Gemini, and async streaming for Bedrock Converse.

└──▷ GET THIS VERSION
$ git clone --branch dotnet-1.34.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:
$ git checkout dotnet-1.34.0
  • Adds support for Base64 encoded images in MistralAI connector, enabling inline image payloads without external URLs.
  • Adds structured outputs (response schema) support for Google Gemini, allowing callers to constrain model responses to a defined schema.
  • Adds async support for ConverseStreamResponse in the AWS Bedrock connector to avoid thread blocking during streaming.
  • Adds a request index to streamed function call update content, enabling callers to correlate parallel streamed tool calls.
python-1.19.0 NOTES STABLE

Semantic Kernel Python 1.19.0 adds DEVELOPER role support for OpenAI o1 models and agent invocation tracing spans.

└──▷ GET THIS VERSION
$ git clone --branch python-1.19.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:
$ git checkout python-1.19.0
  • Adds agent invocation spans for observability tracing of agent calls.
  • Supports the DEVELOPER role for OpenAI o1 models, enabling o1-compatible message construction.
python-1.18.0 NOTES STABLE

Semantic Kernel Python 1.18.0 removes the deprecated OpenAI plugin and improves Azure assistant agent settings and retrieval.

└──▷ GET THIS VERSION
$ git clone --branch python-1.18.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:
$ git checkout python-1.18.0
  • Improves Azure assistant agent settings and retrieval operations.
  • Removes the deprecated OpenAI plugin, aligning the Python library with the .NET version.
└──▷ BREAKING ON UPGRADE
  • !The OpenAI plugin has been removed. Any code that relied on it will break on upgrade.
dotnet-1.33.0 NOTES STABLE

Semantic Kernel 1.33.0 adds strict mode for OpenAI, a Postgres vector store, OpenAPI response factory, and name-based agent strategies.

└──▷ GET THIS VERSION
$ git clone --branch dotnet-1.33.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:
$ git checkout dotnet-1.33.0
└──▷ USE IT
Attach metadata and a store reference to a prompt execution request, useful for tracing or persisting prompt state.
csharp
var settings = new OpenAIPromptExecutionSettings
{
    Store = true,
    Metadata = new Dictionary<string, string> { { "session", "abc123" } }
};
  • Adds store and metadata properties to OpenAIPromptExecutionSettings for controlling prompt execution context.
  • Adds strict mode support for OpenAI function calling via OpenAIPromptExecutionSettings.
  • Adds a factory for customizing OpenAPI plugin responses, enabling per-operation response transformation.
  • Adds PostgresVectorStore memory connector for vector similarity search backed by PostgreSQL.
  • Adds support for name-based KernelFunctionSelectionStrategy and KernelFunctionTerminationStrategy in .NET Agents, allowing strategies to be resolved by function name.
+5 moreshow less
  • Adds InnerContent metadata support to the Amazon Bedrock connector, exposing raw provider response data.
  • Adds support for DateTime parameters in tools used with the Assistants API.
  • Adds REST API operation URL, payload, and header customization via RestApiOperationRunner.
  • Adds support for media types with parameters in REST API operation handling.
  • Enables Mermaid flowchart code generation and image generation from flowcharts in Process framework.
Was this useful?

browser-use

Sources Release notes → 0.1.27 2 RELEASES · 2025-01-20 → 2025-01-22 NOTES STABLE

browser-use 0.1.27 adds initial action execution, agent callbacks, and action exclusions for more controllable browser automation.

└──▷ GET THIS VERSION
$ git clone --branch 0.1.27 https://github.com/browser-use/browser-use.git
# already have the repo? check out this version:
$ git checkout 0.1.27
  • Adds initial actions support — define setup steps (e.g., navigate to a URL, scroll) that run before LLM interactions begin.
  • Introduces callbacks for step and done events, enabling monitoring and control hooks during agent execution.
  • Adds the ability to exclude specific actions from the agent's available action set for finer customization.
  • Migrates time.sleep to asyncio.sleep for non-blocking async operation throughout the library.
  • Optimizes cloud infrastructure support for smoother deployments and improved scalability.
1 more release in this issue · 2025-01-20 → 2025-01-22
0.1.26 NOTES STABLE

browser-use 0.1.26 adds viewport_expansion and highlight_elements controls for page context and visual output.

└──▷ GET THIS VERSION
$ git clone --branch 0.1.26 https://github.com/browser-use/browser-use.git
# already have the repo? check out this version:
$ git checkout 0.1.26
└──▷ USE IT
Suppress element highlights for cleaner screenshots or when visual overlays interfere with the page layout.
python
agent = Agent(
    task="...",
    browser=browser,
    highlight_elements=False
)
  • Adds viewport_expansion setting to control how much of the page is included in context, defaulting to slightly beyond the visible viewport; set it to the full page size to include all content.
  • Adds highlight_elements setting (set to False) to suppress element highlight overlays in the browser view.
Was this useful?

camel-ai

Sources Release notes → v0.2.19 5 RELEASES · 2025-01-02 → 2025-01-31 NOTES STABLE

camel-ai v0.2.19 adds Jina embeddings, OpenAI o3-mini support, and tool calling for SGLang and Groq

└──▷ GET THIS VERSION
$ git clone --branch v0.2.19 https://github.com/camel-ai/camel.git
# already have the repo? check out this version:
$ git checkout v0.2.19
  • Adds support for OpenAI o3-mini model.
  • Adds Jina embedding integration.
  • Enables tool calling for SGLang and Groq backends.
  • Enhances source2synth data synthesis pipeline.
4 more releases in this issue · 2025-01-02 → 2025-01-31
v0.2.18 NOTES STABLE

camel-ai v0.2.18 adds DeepSeek R1 reasoning content support, a new DeepSeek Reasoner model, and native tool calls for SambaCloud and TogetherAI.

└──▷ GET THIS VERSION
$ git clone --branch v0.2.18 https://github.com/camel-ai/camel.git
# already have the repo? check out this version:
$ git checkout v0.2.18
  • Supports extracting reasoning content from DeepSeek R1 model responses via the model backend.
  • Adds deepseek_reasoner model to the supported model list.
  • Enables native tool call support for SambaCloud and TogetherAI providers.
v0.2.17 NOTES STABLE

camel-ai v0.2.17 adds Discord OAuth, InternLM models, Skywork reward model, Source2Synth, and a structured document loader.

└──▷ GET THIS VERSION
$ git clone --branch v0.2.17 https://github.com/camel-ai/camel.git
# already have the repo? check out this version:
$ git checkout v0.2.17
  • Adds Discord OAuth Flow integration, enabling agent workflows to authenticate with Discord.
  • Integrates InternLM models as a supported model backend.
  • Adds Skywork reward model support for scoring and evaluating agent outputs.
  • Adds Source2Synth for synthetic data generation from source material.
  • Adds a structured document loader via feat: structured loader for ingesting structured data into agent pipelines.
+2 moreshow less
  • Adds free proxies option to the Google Scholar Toolkit to work around access restrictions.
  • Updates function call result message format for tool-calling responses.
v0.2.16 NOTES STABLE

camel-ai v0.2.16 adds the Dappier toolkit for real-time AI-powered data access.

└──▷ GET THIS VERSION
$ git clone --branch v0.2.16 https://github.com/camel-ai/camel.git
# already have the repo? check out this version:
$ git checkout v0.2.16
  • Adds DappierToolkit integration, enabling agents to query Dappier's real-time data and AI recommendations API.
v0.2.15 NOTES STABLE

camel-ai v0.2.15 adds graph sampling via Neo4j, OpenBB and Linkup integrations, new benchmarks, native structured output, and a self-instruct pipeline.

└──▷ GET THIS VERSION
$ git clone --branch v0.2.15 https://github.com/camel-ai/camel.git
# already have the repo? check out this version:
$ git checkout v0.2.15
  • Adds native structured output property to ChatAgent, enabling schema-enforced responses without post-processing.
  • Adds graph sampling support with Neo4j integration for graph-based retrieval workflows.
  • Adds time-label support to the NebulaGraph integration.
  • Integrates Linkup as a new data-source provider.
  • Integrates OpenBB into the library for financial data access within agentic workflows.
+4 moreshow less
  • Adds benchmarks API-Bank, APIBench, and Nexus to the benchmarks API.
  • Adds a preliminary self-instruct pipeline for automated instruction-data generation.
  • Refactors ChatAgent internals (PR #1142).
  • Adds the o1datagen (CoTDataGenerator) core pipeline for chain-of-thought data generation.
Was this useful?

holmesgpt

Sources Release notes → 0.8.1 NOTES

SRE Agent - CNCF Sandbox Project

HolmesGPT 0.8.1 adds Gemini, ArgoCD, OpenSearch, and Grafana Loki toolsets plus AI output customization and global instructions.

└──▷ GET THIS VERSION
$ git clone --branch 0.8.1 https://github.com/HolmesGPT/holmesgpt.git
# already have the repo? check out this version:
$ git checkout 0.8.1
  • Adds ArgoCD toolset integration, bringing ArgoCD application state into Holmes investigations.
  • Adds OpenSearch toolset integration for querying OpenSearch data during investigations.
  • Adds Grafana Loki toolset integration for pulling logs from Loki during root-cause analysis.
  • Adds Gemini LLM support as a backend model option.
  • Adds global instructions capability, allowing operators to inject persistent context into all Holmes prompts.
+5 moreshow less
  • Adds AI output customization (MAIN-2806), enabling custom sections and structured output shaping in RCA responses.
  • Adds kubectl with jq as a built-in tool, enabling JSON-filtered Kubernetes queries inside Holmes investigations.
  • Adds pod affinity configuration support to the Helm chart.
  • Adds optional performance logging to improve observability of Holmes internals.
  • Adds app diagnose chat capability for interactive application diagnosis sessions.
Was this useful?

Hugging Face smolagents

Sources Release notes → v1.7.0 7 RELEASES · 2025-01-06 → 2025-01-31 NOTES STABLE

smolagents v1.7.0 adds smolagent and webagent CLI commands, a persistent memory attribute, and an agent.replay() function.

└──▷ GET THIS VERSION
$ git clone --branch v1.7.0 https://github.com/huggingface/smolagents.git
# already have the repo? check out this version:
$ git checkout v1.7.0
└──▷ TRY IT
Quickly kick off a web research task from the terminal without writing any Python.
$ webagent "Find me a cheap train from Paris to Torino before Thursday"
Replay the last agent run to inspect its reasoning steps without triggering new LLM calls.
python
agent.replay()
  • Adds smolagent CLI command to run agents directly from the terminal (e.g. smolagent "Your task!").
  • Adds webagent CLI command to launch a web browser agent from the terminal (e.g. webagent "Find me a cheap train from Paris to Torino before Thursday").
  • Adds a memory attribute to agents for persistent storage of run history across steps.
  • Adds agent.replay() method to replay the last agent run from stored memories without making additional LLM calls.
  • Code execution outputs are now stored to memory even when an error is raised later, improving CodeAgent performance.
+1 moreshow less
  • Supports third-party inference providers in HfApiModel.
6 more releases in this issue · 2025-01-06 → 2025-01-31
v1.6.0 NOTES STABLE

smolagents v1.6.0 adds VLM auto-detection, DuckDuckGo kwargs, richer Gradio chatbot metrics, and makes transformers an optional dependency.

└──▷ GET THIS VERSION
$ git clone --branch v1.6.0 https://github.com/huggingface/smolagents.git
# already have the repo? check out this version:
$ git checkout v1.6.0
└──▷ USE IT
Pass custom DDGS options (e.g. a proxy or region) directly through the tool constructor instead of patching the client manually.
python
from smolagents import DuckDuckGoSearchTool

tool = DuckDuckGoSearchTool(ddgs_kwargs={"proxies": "http://proxy.corp:8080", "region": "us-en"})
results = tool("latest CVE disclosures")
  • Adds ddgs_kwargs parameter to the DuckDuckGoSearchTool constructor, allowing callers to pass arbitrary keyword arguments to the underlying DDGS client.
  • Adds additional parameters support for the OpenAI client integration.
  • Adds kwargs passthrough to gradio launch, enabling full control over Gradio server startup options.
  • TransformersModel now auto-detects Vision-Language Models (VLMs), removing the need for manual configuration when loading a VLM.
  • Makes transformers an optional dependency, reducing the mandatory install footprint for users who do not need local transformer inference.
+1 moreshow less
  • Gradio chatbot now displays step duration, step number, and token counts, and supports rendering nested thoughts.
v1.5.0 NOTES STABLE

smolagents v1.5.0 adds VLM support, Azure OpenAI integration, and tightened local interpreter security

└──▷ GET THIS VERSION
$ git clone --branch v1.5.0 https://github.com/huggingface/smolagents.git
# already have the repo? check out this version:
$ git checkout v1.5.0
  • Adds Azure OpenAI support as a model backend.
  • Adds VLM (vision-language model) support, enabling agents to process image inputs.
  • Hardens local interpreter security: builtin functions are now blocked unless explicitly added as tools.
  • Supports any and none tool types in tool call handling.
v1.4.1 NOTES STABLE

smolagents v1.4.1 adds MCP server support via ToolCollection, kwargs passthrough to all models, and new TransformersModel options.

└──▷ GET THIS VERSION
$ git clone --branch v1.4.1 https://github.com/huggingface/smolagents.git
# already have the repo? check out this version:
$ git checkout v1.4.1
└──▷ USE IT
Load a model that requires custom remote code, such as a fine-tuned model with non-standard architecture.
python
from smolagents import TransformersModel

model = TransformersModel(
    model_id="org/custom-model",
    trust_remote_code=True
)
  • Adds trust_remote_code argument to TransformersModel for loading custom model code from remote repositories.
  • Adds MCP (Model Context Protocol) server support via ToolCollection, making thousands of MCP-compatible tools usable with smolagents.
  • Allows passing arbitrary kwargs to all model classes, enabling fine-grained control over inference parameters at call time.
  • Makes the openai package an optional dependency, reducing mandatory install footprint.
  • Adds a max-length parameter for print outputs as an agent-level setting to cap verbose tool output.
+1 moreshow less
  • Adds a resizable option to the Gradio UI component for improved usability.
v1.3.0 NOTES STABLE

smolagents v1.3.0 adds OpenTelemetry tracing, multi-GPU support, wildcard imports, and granular verbosity control.

└──▷ GET THIS VERSION
$ git clone --branch v1.3.0 https://github.com/huggingface/smolagents.git
# already have the repo? check out this version:
$ git checkout v1.3.0
└──▷ USE IT
Control how much output an agent emits during a run — useful for CI pipelines (level 0) or deep debugging (level 2).
python
from smolagents import CodeAgent, HfApiModel

agent = CodeAgent(
    tools=[],
    model=HfApiModel(),
    verbosity_level=2  # 0=silent, 1=normal, 2=verbose
)
agent.run('Summarize the latest CVE advisories.')
Allow an agent to import any Python library inside its sandbox — helpful when tool code relies on arbitrary third-party packages.
python
from smolagents import CodeAgent, HfApiModel

agent = CodeAgent(
    tools=[],
    model=HfApiModel(),
    additional_authorized_imports=['*']
)
agent.run('Use the requests library to fetch and parse the NVD feed.')
  • Adds verbosity_level=0/1/2 parameter to agent initialization, replacing the old verbose=True/False boolean for finer-grained log control.
  • Enables unrestricted code-sandbox imports via additional_authorized_imports=['*'] on agent initialization.
  • Adds OpenTelemetry instrumentation support for tracing and inspecting agent runs.
  • Adds multi-GPU support for TransformersModel.
  • Adds file upload capability to GradioUI.
└──▷ BREAKING ON UPGRADE
  • !The verbose=True/False agent initialization parameter is replaced by verbosity_level=0/1/2; existing code using verbose= will need to be updated.
v1.2.0 NOTES STABLE

smolagents v1.2.0 adds OpenAIServerModel, OpenTelemetry observability, Hugging Chat integration, and halves import time by dropping torch.

└──▷ GET THIS VERSION
$ git clone --branch v1.2.0 https://github.com/huggingface/smolagents.git
# already have the repo? check out this version:
$ git checkout v1.2.0
└──▷ USE IT
Connect smolagents to a locally running vLLM or TGI server instead of a hosted model provider.
python
from smolagents import OpenAIServerModel

model = OpenAIServerModel(
    model_id="meta-llama/Llama-3-8b-instruct",
    api_base="http://localhost:8000/v1",
    api_key="none"
)
  • Adds OpenAIServerModel class, enabling use of any OpenAI-format-compatible inference server (TGI, vLLM, etc.) as a model backend.
  • Simplifies the Model base class to a single __call__ method: passing tools_to_call_from returns a tool call; omitting it returns a plain string.
  • Adds OpenTelemetry support for agent observability and tracing.
  • Integrates smolagents tools into Hugging Chat, enabling agent tool use directly from the chat interface.
  • Halves library import time by removing the torch dependency.
v1.1.0 NOTES STABLE

smolagents v1.1.0 adds max_results to DDGS tool, device param for TransformerModel, and broader LiteLLMModel kwargs support.

└──▷ GET THIS VERSION
$ git clone --branch v1.1.0 https://github.com/huggingface/smolagents.git
# already have the repo? check out this version:
$ git checkout v1.1.0
  • Adds max_results keyword argument to the DDGS (DuckDuckGo Search) tool to control the number of results returned.
  • Adds device parameter to TransformerModel in models.py for explicit device placement.
  • Adds support for additional keyword arguments (kwargs) in LiteLLMModel, enabling pass-through of provider-specific options.
  • Adds a warning to CodeAgent when required imports are missing at runtime.
└──▷ BREAKING ON UPGRADE
  • !The max_iterations argument to agent initialization is renamed to max_steps; any code constructing an agent with max_iterations=... will break.
Was this useful?
◆  AI Coding Agents

Aider

Sources Release notes → v0.73.0 3 RELEASES · 2025-01-10 → 2025-01-31 NOTES STABLE

Aider v0.73.0 adds full o3-mini and DeepSeek R1 support with new --reasoning-effort control.

└──▷ GET THIS VERSION
$ git clone --branch v0.73.0 https://github.com/Aider-AI/aider.git
# already have the repo? check out this version:
$ git checkout v0.73.0
└──▷ TRY IT
Run o3-mini with reduced reasoning verbosity to keep context usage low during large refactors.
$ aider --model o3-mini --reasoning-effort low
Use DeepSeek R1 free tier via OpenRouter for cost-free reasoning-model sessions.
$ aider --model openrouter/deepseek/deepseek-r1:free
  • Adds full support for OpenAI o3-mini via aider --model o3-mini.
  • New --reasoning-effort flag accepts low, medium, or high to tune reasoning model verbosity.
  • New remove_reasoning: <tagname> model setting strips model-specific reasoning tags from responses.
  • Supports DeepSeek R1 free tier on OpenRouter via --model openrouter/deepseek/deepseek-r1:free.
  • Auto-creates parent directories when creating new files in a session.
+1 moreshow less
  • Case-insensitive model name matching while preserving original case.
2 more releases in this issue · 2025-01-10 → 2025-01-31
v0.72.0 NOTES STABLE

Aider v0.72.0 adds DeepSeek R1 support, Kotlin repo-map parsing, and configurable line endings.

└──▷ GET THIS VERSION
$ git clone --branch v0.72.0 https://github.com/Aider-AI/aider.git
# already have the repo? check out this version:
$ git checkout v0.72.0
└──▷ TRY IT
Use DeepSeek R1 as the coding model for a session — useful when evaluating a reasoning-focused model against your codebase.
$ aider --model r1
Use DeepSeek R1 via OpenRouter to route through a managed API endpoint instead of the direct DeepSeek service.
$ aider --model openrouter/deepseek/deepseek-r1
  • Supports DeepSeek R1 via --model r1 shortcut or OpenRouter with --model openrouter/deepseek/deepseek-r1.
  • Adds Kotlin syntax support to the repo map for accurate code context.
  • New --line-endings flag controls line-ending style when writing files.
  • Adds read-only file announcements so practitioners can see which files Aider will not modify.
v0.71.0 NOTES STABLE

Aider v0.71.0 adds custom voice device settings, doubles chat history limit, and makes bare mode-switch commands easier.

└──▷ GET THIS VERSION
$ git clone --branch v0.71.0 https://github.com/Aider-AI/aider.git
# already have the repo? check out this version:
$ git checkout v0.71.0
└──▷ TRY IT
Switch chat mode on the fly without arguments to quickly pivot between asking questions and requesting code changes.
$ /ask
# ... ask questions ...
/code
# ... request edits ...
/architect
  • Bare /ask, /code, and /architect commands now switch the active chat mode without requiring additional arguments.
  • Increases max chat history tokens from 4k to 8k, enabling longer context for complex sessions.
  • Increases default repomap size for broader codebase awareness.
  • Adds support for custom voice format and input device settings.
  • Adds token count feedback when adding command output to chat.
+3 moreshow less
  • Streaming automatically disables for models that don't support it, enabling seamless switching between /model o1 and streaming models.
  • Improves markdown rendering performance with adaptive delay based on render time.
  • Pretty output remains enabled when editing files containing triple-backtick fences.
Was this useful?

Cline

Sources Release notes → v3.2.6 3 RELEASES · 2025-01-06 → 2025-01-30 NOTES STABLE

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

Cline v3.2.6 adds per-mode model memory, a context window progress bar, and new Advanced Settings for token/checkpoint control.

└──▷ GET THIS VERSION
$ git clone --branch v3.2.6 https://github.com/cline/cline.git
# already have the repo? check out this version:
$ git checkout v3.2.6
  • Saves the last used API/model per mode so Plan and Act can each remember their own model selection across switches.
  • New context window progress bar in the task header shows token consumption, cost pressure, and when older messages are being dropped to stay within limits.
  • New Advanced Settings panel lets users remove MCP prompts from requests to reduce token usage and enable/disable checkpoints independently of git.
2 more releases in this issue · 2025-01-06 → 2025-01-30
v3.2.0 NOTES STABLE

Cline v3.2.0 adds Plan/Act mode, VS Code LM API provider, and per-tool MCP auto-approve controls.

└──▷ GET THIS VERSION
$ git clone --branch v3.2.0 https://github.com/cline/cline.git
# already have the repo? check out this version:
$ git checkout v3.2.0
  • New Plan/Act mode toggle: Plan mode lets Cline gather information and design a solution before switching to Act mode for execution.
  • New popup menu under the chat field for switching between API providers and models without leaving the conversation.
  • Adds VS Code LM API provider, enabling use of models supplied by other VS Code extensions such as GitHub Copilot.
  • Adds on/off toggle for individual MCP servers and per-tool auto-approve settings within MCP servers.
v3.1.0 NOTES STABLE

Cline v3.1.0 adds workspace checkpoints with diff/restore, a post-task change summary, and per-task disk-usage tracking.

└──▷ GET THIS VERSION
$ git clone --branch v3.1.0 https://github.com/cline/cline.git
# already have the repo? check out this version:
$ git checkout v3.1.0
  • Adds workspace checkpoints: every tool use snapshots the workspace so you can Compare (diff vs. current state) or Restore (task+workspace, task only, or workspace only) at any hover point.
  • Adds a 'See new changes' button on task completion, giving a consolidated diff overview of all workspace changes since the last 'Task Completed' — useful when Auto-approve is enabled.
  • Adds per-task disk-usage display and a delete button so you can manage the git-backed checkpoint storage consumed by each task.
Was this useful?

Block Goose

Sources Release notes → v1.0.4 2 RELEASES · 2025-01-31 NOTES STABLE

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

Goose v1.0.4 adds Azure OpenAI as a provider and configures Electron to open links in new windows.

└──▷ GET THIS VERSION
$ git clone --branch v1.0.4 https://github.com/block/goose.git
# already have the repo? check out this version:
$ git checkout v1.0.4
  • Adds Azure OpenAI as a supported LLM provider.
  • Configures Electron app to open external links in a new window instead of in-app.
1 more release in this issue · 2025-01-31
v1.0.3 NOTES STABLE

Goose v1.0.3 adds a CONFIGURE=false install option and Ollama host configuration support.

└──▷ GET THIS VERSION
$ git clone --branch v1.0.3 https://github.com/block/goose.git
# already have the repo? check out this version:
$ git checkout v1.0.3
└──▷ TRY IT
Install Goose non-interactively in CI or automated environments without being prompted to configure a provider.
$ CONFIGURE=false curl -fsSL https://github.com/block/goose/releases/latest/download/install.sh | bash
  • Adds CONFIGURE=false option to the install script to skip interactive configuration during automated or scripted installs.
  • Supports setting a custom Ollama host, enabling Goose to connect to remote or non-default Ollama instances.
  • Updates the UI to expose Ollama host configuration directly in the interface.
Was this useful?

All Hands AI OpenHands

Sources Release notes → 0.22.0 5 RELEASES · 2025-01-02 → 2025-01-29 NOTES STABLE

OpenHands: AI-Driven Development

OpenHands 0.22.0 adds VisualWebArena evaluation support and drops the Redis dependency.

└──▷ GET THIS VERSION
$ git clone --branch 0.22.0 https://github.com/All-Hands-AI/OpenHands.git
# already have the repo? check out this version:
$ git checkout 0.22.0
  • Adds VisualWebArena evaluation support, enabling visual web-navigation benchmark testing within OpenHands.
  • Removes the Redis dependency, simplifying self-hosted deployments with fewer infrastructure requirements.
4 more releases in this issue · 2025-01-02 → 2025-01-29
0.21.0 NOTES STABLE

OpenHands 0.21 adds trajectory replay, downloadable trajectories, multi-language UI, and a dedicated draft-editor LLM config.

└──▷ GET THIS VERSION
$ git clone --branch 0.21.0 https://github.com/All-Hands-AI/OpenHands.git
# already have the repo? check out this version:
$ git checkout 0.21.0
└──▷ HOW TO FIND IT
Route edit-draft generation to a cheaper or faster model while keeping your primary LLM for reasoning — set the draft_editor custom LLM config and enable the LLM editor in agent options.
📍In Settings, add a custom LLM configuration named draft_editor pointing to your preferred model, then enable codeact_enable_llm_editor in the agent options.
Cap compute cost on o1-family models by setting reasoning_effort to a lower tier for less complex tasks.
📍In Settings › LLM, select an o1-family model and set reasoning_effort to low (or medium/high) to trade off reasoning depth against token cost.
  • Adds multi-language UI support, broadening accessibility for non-English practitioners.
  • Supports the reasoning_effort parameter for OpenAI o1-family models, giving control over model reasoning depth.
  • Introduces a draft_editor named custom LLM config so a separate, dedicated model can handle edit drafts independently of the primary LLM.
  • Adds trajectory replay in headless mode, enabling automated re-execution of recorded agent sessions.
  • Adds a chat-panel button to download the current agent trajectory for offline review or auditing.
+1 moreshow less
  • Agent now explicitly receives the cloned repo name and path when connecting to a GitHub repository, improving context awareness.
└──▷ BREAKING ON UPGRADE
  • !The trajectories_path config key is renamed to save_trajectory_path; existing configurations using trajectories_path will break on upgrade.
0.20.0 NOTES STABLE

OpenHands 0.20.0 adds a live App tab for interacting with web apps and a conversation info display.

└──▷ GET THIS VERSION
$ git clone --branch 0.20.0 https://github.com/All-Hands-AI/OpenHands.git
# already have the repo? check out this version:
$ git checkout 0.20.0
└──▷ HOW TO FIND IT
Preview and interact with a web app your agent is building without leaving the OpenHands UI.
📍In the OpenHands UI, open your conversation and click the App tab (bottom panel) to view and interact with the running web app in real time.
  • Adds a new App tab (Beta) that lets users interact directly with the web app running inside OpenHands.
  • Displays current conversation info in the bottom-right corner of the UI.
0.19.0 NOTES STABLE

OpenHands 0.19.0 adds custom microagents in headless/CLI modes, toggleable function calling, multi-conversation support, and runtime size configuration.

└──▷ GET THIS VERSION
$ git clone --branch 0.19.0 https://github.com/All-Hands-AI/OpenHands.git
# already have the repo? check out this version:
$ git checkout 0.19.0
  • Supports custom microagents in headless and CLI modes, extending agent customization beyond the UI.
  • Enables or disables function calling via user configuration, giving practitioners control over LLM tool-use behavior.
  • Adds rate-limit error visibility in the UI and agent state, surfacing provider throttling in real time.
  • Introduces multi-conversation feature (behind a feature flag), allowing parallel conversation management.
  • Adds runtime size configuration, letting users tune the sandbox compute footprint per session.
└──▷ BREAKING ON UPGRADE
  • !Developer mode now defaults to storing data on the filesystem instead of in-memory, which changes persistence behavior for existing developer-mode deployments.
0.18.0 NOTES STABLE

OpenHands 0.18.0 adds per-repo prompt customization, resizable panels, and server-side settings storage.

└──▷ GET THIS VERSION
$ git clone --branch 0.18.0 https://github.com/All-Hands-AI/OpenHands.git
# already have the repo? check out this version:
$ git checkout 0.18.0
└──▷ HOW TO FIND IT
Customize the agent's system prompt for a specific repository so it follows project-specific conventions on every run.
📍In your repository root, create a .openhands directory and add your prompt customization files there. OpenHands will automatically detect and apply them when operating on that repo.
  • Adds .openhands directory support for customizing agent prompts on a per-repository basis.
  • Introduces a resizable and collapsible panel layout in the UI for a more flexible workspace.
  • Enables workspace downloads on mobile and browsers lacking the Directory API.
  • Migrates settings storage from browser localStorage to the server API, enabling persistent settings across devices and browsers.
  • Adds navbar tooltips for improved UI discoverability.
└──▷ BREAKING ON UPGRADE
  • !File editing functionality has been removed from the OpenHands UI — workflows that relied on in-UI file editing must use an alternative method.
Was this useful?

Zed

Sources Release notes → v0.171.3 6 RELEASES · 2025-01-01 → 2025-01-29 NOTES STABLE

Zed v0.171.3 adds Emacs mark mode, Vim shell commands, new workspace actions, and a terminal scrollbar.

└──▷ GET THIS VERSION
$ git clone --branch v0.171.3 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:
$ git checkout v0.171.3
└──▷ HOW TO FIND IT
Cycle between open Zed windows without reaching for the mouse — useful when working across a project window and a scratch buffer.
📍workspace: activate next window
Run a shell command on a visual selection in-place (Vim-style filter), e.g. sort selected lines.
$ :'<,'>!sort
  • Adds editor: swap selection ends action to move the cursor between the beginning and end of the current selection.
  • Adds workspace: activate next window and workspace: activate previous window actions for cycling between open windows.
  • Adds workspace: move focused panel to next position command to relocate the focused panel across dock positions.
  • Adds Emacs mark mode: ctrl-space / ctrl-@ sets the mark; ctrl-x ctrl-x swaps mark and cursor.
  • Adds Vim :!, :<range>!, and :r! shell command support, plus the ! operator in normal and visual mode.
+10 moreshow less
  • Adds a scrollbar to the integrated terminal.
  • Adds deepseek-r1 to Ollama context size defaults for the AI provider.
  • Switches the OpenAI provider from o1-preview to o1 as the default model.
  • Adds new Python syntax highlight capture groups: @function.arguments, @function.kwargs, @type.class.inheritance, @keyword.definition, @attribute.builtin, and @type.builtin.
  • Persists font size changes made via editor actions to user settings automatically.
  • Linux: Adds audio support in collaboration rooms.
  • Linux: Adds Cut, Copy, Paste, Undo, Redo, New, Open, Save, and Find keys to the default keymap.
  • Auto-expands directories on hover during drag-and-drop operations in the project panel.
  • Keybinding display now gives precedence to later entries within bindings, with default keymaps updated accordingly.
  • Keymap file parse errors in context, keystrokes, or actions no longer block loading of valid bindings.
└──▷ BREAKING ON UPGRADE
  • !The selection keyboard context key is replaced by selection_mode; any custom keybindings that reference selection must be updated to selection_mode.
5 more releases in this issue · 2025-01-01 → 2025-01-29
v0.170.1 NOTES STABLE

Zed v0.170.1 adds LM Studio AI support, vim-sneak, SubWord TextObject, and a new project_panel.entry_spacing setting.

└──▷ GET THIS VERSION
$ git clone --branch v0.170.1 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:
$ git checkout v0.170.1
└──▷ USE IT
Set a compact spacing between project panel entries to fit more files on screen.
json
{
  "project_panel": {
    "entry_spacing": "standard"
  }
}
Enable vim-sneak-style motion by binding keys to Sneak and SneakBackward in your keymap.
json
[
  {
    "context": "VimControl",
    "bindings": {
      "s": "vim::Sneak",
      "S": "vim::SneakBackward"
    }
  }
]
Bind a key to a custom action that fires only when the Diagnostics pane is focused.
json
[
  {
    "context": "Diagnostics",
    "bindings": {
      "r": "diagnostics::Deploy"
    }
  }
]
  • Adds project_panel.entry_spacing setting to configure project panel entry spacing; accepted values are comfortable (default) or standard.
  • Adds Diagnostics key context to enable Diagnostics pane-specific keybindings in keymap config.
  • Adds LM Studio as a supported AI provider in the Assistant.
  • Adds vim-sneak plugin emulation via the Sneak and SneakBackward operators (disabled by default; must be enabled by binding a key).
  • Adds SubWord TextObject in Vim mode.
+12 moreshow less
  • Adds support for detecting yaml-language-server on the $PATH.
  • Changes the default formatter for C/C++ to the primary language server (e.g. clangd) instead of Prettier when using the editor: format command.
  • Adds the process ID (PID) to terminal tab tooltips.
  • Adds error toast notification when a dev extension fails to install.
  • Adds initialization configuration to the Server Info section of language server logs.
  • Adds fn-f keyboard shortcut for fullscreen toggle on macOS.
  • Adds ctrl-t transposing characters support for Emacs mode on Linux.
  • Improves LSP debug logs with soft wrap, long-line folding, and tail-style autoscroll.
  • Improves keymap settings JSON schema for better json-language-server completions and tooltips.
  • Improves diagnostic excerpts by using syntactic info to determine context lines.
  • Reports language server errors in the UI when the user invokes an LSP action.
  • Supports formatting selections across multiple cursors.
v0.169.2 NOTES STABLE

Zed v0.169.2 adds workspace::OpenFiles, fine-grained scrollbar diagnostics, Gemini 2.0 Flash, Claude 3.5 Haiku, and new Vim/Emacs keybinds.

└──▷ GET THIS VERSION
$ git clone --branch v0.169.2 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:
$ git checkout v0.169.2
└──▷ HOW TO FIND IT
Open individual files from the command palette on Linux or Windows without going through the project panel.
📍workspace::OpenFiles
Bind keyboard shortcuts to open application menus on Linux for full keyboard-driven navigation.
json
{
  "context": "Workspace",
  "bindings": {
    "alt-z": ["app_menu::OpenApplicationMenu", "Zed"],
    "alt-f": ["app_menu::OpenApplicationMenu", "File"],
    "alt-e": ["app_menu::OpenApplicationMenu", "Edit"],
    "alt-s": ["app_menu::OpenApplicationMenu", "Selection"],
    "alt-v": ["app_menu::OpenApplicationMenu", "View"],
    "alt-g": ["app_menu::OpenApplicationMenu", "Go"],
    "alt-w": ["app_menu::OpenApplicationMenu", "Window"],
    "alt-h": ["app_menu::OpenApplicationMenu", "Help"]
  }
}
  • Adds workspace::OpenFiles action to enable opening individual files on Linux and Windows.
  • Adds app_menu::OpenApplicationMenu action with keyboard navigation for menus on Linux, bindable via the user keymap.
  • Adds fine-grained control of scrollbar diagnostic indicators.
  • Adds support for Google's Gemini 2.0 Flash experimental model.
  • Adds support for the Claude 3.5 Haiku model.
+14 moreshow less
  • Adds the ability to specify additional beta headers for custom Anthropic models.
  • Adds Vim aq/iq 'any quote' text objects (smallest of a", a', or a\).
  • Adds Vim g J JoinLines and JoinLinesNoWhitespace commands.
  • Adds Emacs keybindings including alt-; Toggle Comments, alt-^ Join Lines, ctrl-/ Undo, alt-. GotoDefinition, alt-, GoBack, alt-</alt-> Goto End/Beginning of Buffer, alt-g g / alt-g alt-g Goto Line Number, ctrl-x h SelectAll, ctrl-x b Switch Tabs, ctrl-g Menu::cancel, ctrl-x 5 0 CloseWindow, and ctrl-x 5 2 workspace::NewWindow.
  • Sets TERM to xterm-256color in Zed's built-in terminal.
  • Improves debug: open language server logs to display more language server data.
  • Improves ExpandExcerpts action (shift+enter) to expand all excerpts that have selected text, not just those containing the end of a selection.
  • Supports diagnostic navigation in multibuffers.
  • Improves support for file:// URLs with line numbers in the Zed terminal.
  • Improves RemoveFromProject action to remove all selected items.
  • Adds auto-focus for the docked terminal on load when no other item is focused.
  • Adds Python detection for pixi-environments.
  • Improves Tree-sitter support with added compatibility for standard injections captures.
  • Improves support for Phi4 with Ollama.
└──▷ BREAKING ON UPGRADE
  • !The OpenFile action is renamed to OpenSelectedFilename; any keybindings or automation referencing OpenFile will break.
  • !<tab> at the start of a line when an inline completion (Copilot, Supermaven, …) is visible now indents the line instead of accepting the completion when the cursor is before the suggested indentation.
v0.168.3 NOTES STABLE

Zed v0.168.3 adds auto-focus for the docked terminal on load when no other item is focused.

└──▷ GET THIS VERSION
$ git clone --branch v0.168.3 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:
$ git checkout v0.168.3
  • Adds auto-focus for the docked terminal on load when no other item is focused.
v0.168.2 NOTES STABLE

Zed v0.168.2 adds Linux menus, sticky multibuffer headers, OpenAI o1 Copilot support, and new vim/terminal capabilities.

└──▷ GET THIS VERSION
$ git clone --branch v0.168.2 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:
$ git checkout v0.168.2
  • Adds workspace::ToggleRightDock behavior change: now opens the assistant panel when no right-dock panel has previously been activated.
  • Adds terminal::ToggleViMode action (bound by default to ctrl-shift-space) to enable Alacritty vi-mode arrow key movement across more keyboard layouts in the Zed terminal.
  • Adds keybinds cmd-k e / cmd-k t (macOS) and ctrl-k e / ctrl-k t (Linux) for 'Close Left' / 'Close Right' tab actions.
  • Adds support for OpenAI o1 model (non-preview) in GitHub Copilot Chat.
  • Adds block comment syntax <!-- and --> for Markdown files.
+8 moreshow less
  • Adds menus on Linux.
  • Multibuffer headers now stick to the top of the viewport while scrolling.
  • Multibuffer diagnostic excerpts can now be expanded.
  • Clicking line numbers in multibuffers jumps the cursor to that location in the file; keybinds for 'jump to file/location' and 'expand excerpt' are now shown.
  • Terminal: cmd-n now opens a new terminal instead of a new file.
  • Adds support for searching the command palette using keymap-style action names.
  • Adds syntax highlighting for the JavaScript using keyword.
  • Adds support for find and replace in diagnostics, enabling vim search bindings such as * and # to work in diagnostics.
v0.167.1 NOTES STABLE

Zed v0.167.1 adds multibuffer folding, task center-pane targeting, new settings for scroll/tabs/hover, and simultaneous inline+menu completions.

└──▷ GET THIS VERSION
$ git clone --branch v0.167.1 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:
$ git checkout v0.167.1
└──▷ USE IT
Launch a specific named task into the editor's center pane via a custom keybinding instead of the terminal panel.
json
// In keymap.json
{
  "bindings": {
    "ctrl--": ["task::Spawn", { "task_name": "echo hello", "target": "center" }]
  }
}
Reduce UI jitter on large files by tuning hover and LSP highlight delays, and cap open tabs to keep the tab bar manageable.
json
{
  "hover_popover_delay": 600,
  "lsp_highlight_debounce": 200,
  "max_tabs": 10,
  "horizontal_scroll_margin": 4,
  "scrollbar": { "axis": "vertical" }
}
  • Adds target: 'center' parameter to task::Spawn keybinding action, allowing tasks launched via custom keybindings to open in the center pane.
  • Adds hover_popover_delay setting to control the delay before hover boxes appear.
  • Adds lsp_highlight_debounce setting to configure the delay for querying highlights from a language server.
  • Adds horizontal_scroll_margin and scrollbar.axis settings for scroll behavior control.
  • Adds max_tabs setting to limit the maximum number of open tabs.
+12 moreshow less
  • Adds MoveItemToPane and MoveItemToPaneInDirection actions for moving editor items between panes.
  • Adds Editor::DuplicateSelection action, bound to cmd-d / ctrl-d in JetBrains and SublimeText keymaps.
  • Adds Editor && selection context for keybindings that activate only when text is selected.
  • Adds ToggleRegex action (macOS: cmd-alt-x, Linux: ctrl-alt-x) for buffer search.
  • Vim mode now supports :g/<pattern>/<cmd> and :v/<pattern>/<cmd> global commands.
  • Vim mode adds <count> support for [x / ]x motions.
  • Emacs mode adds ctrl-s / ctrl-r / ctrl-g keybindings for navigating buffer search results.
  • Multibuffers now support folding (hiding) results from a given file or buffer.
  • Inline completions (Copilot, Supermaven, etc.) are now shown simultaneously with the completion menu; accept inline completion with <shift-tab> and menu entry with <tab>.
  • Adds .prettierignore support to the Prettier integration.
  • Adds a Restart button to the Inline Assistant when the prompt is unchanged.
  • Suggests the Cython extension for syntax highlighting of .pyx, .pxd, and .pxi files.
Was this useful?
◆  Local LLM Runtimes

KoboldCpp

Sources Release notes → v1.82.4 2 RELEASES · 2025-01-04 → 2025-01-18 NOTES STABLE

KoboldCpp v1.82.4 adds OuteTTS text-to-speech with OpenAI Speech/XTTS API compatibility, a GGUF file analyzer, and multilingual Whisper support.

└──▷ GET THIS VERSION
$ git clone --branch v1.82.4 https://github.com/LostRuins/koboldcpp.git
# already have the repo? check out this version:
$ git checkout v1.82.4
└──▷ TRY IT
Run KoboldCpp with OuteTTS enabled on GPU to serve OpenAI Speech and XTTS API endpoints for TTS frontends.
$ koboldcpp.exe --model mymodel.gguf --ttsmodel outettsv03.gguf --ttswavtokenizer wavtokenizer.gguf --ttsgpu --ttsthreads 4
Inspect an unknown GGUF file to review its metadata and tensor layout before loading it.
$ koboldcpp.exe --analyze mymodel.gguf
Disable VAE tiling to eliminate bleeding graphical artifacts on image generation with certain GPUs.
$ koboldcpp.exe --model mymodel.gguf --sdmodel sdmodel.gguf --sdvaeauto --sdnotile
  • Adds OuteTTS text-to-speech via --ttsmodel (OuteTTS GGUF) and --ttswavtokenizer (WavTokenizer GGUF) flags; --ttsgpu offloads models to GPU and --ttsthreads sets a custom thread count.
  • Adds --analyze CLI flag (also in the GUI Extras tab) to inspect any GGUF file, displaying metadata, tensor names, dimensions, and types.
  • Adds --sdnotile flag to disable VAE tiling for image generation, eliminating bleeding graphical artifacts on some GPUs.
  • Adds --usemmap flag to opt in to memory-mapped loading; mmap is no longer enabled by default.
  • OuteTTS integration exposes OpenAI Speech API (OpenAiSpeechApi) and XTTS API (XttsApi) compatibility endpoints for hooking KoboldCpp TTS into existing TTS frontends.
+6 moreshow less
  • OuteTTS New Speaker Synthesis lets you generate unique voices by entering a random name; supports v0.2 and v0.3 models (500M and 1B).
  • Extends TAESD (compressed to fp8, ~3 MB) to SD3 and Flux via --sdvaeauto or 'AutoFix VAE' in the GUI.
  • Increases max supported images per API request for Multimodal Vision from the previous limit to 8.
  • Enables multilingual Whisper (Voice Recognition) support with specific language codes, selectable via a 2-character code (e.g. ja, fr) in Kobold Lite.
  • KoboldCpp now displays all enabled capabilities and API endpoints on launch, listing modules such as TextToSpeech, VoiceRecognition, MultimodalVision and APIs such as OpenAiSpeechApi, XttsApi, WhisperTranscribeApi.
  • CLBlast (Older CPU) build no longer requires AVX, extending GPU-assisted inference to very old or low-cost systems.
└──▷ BREAKING ON UPGRADE
  • !mmap is no longer enabled by default; existing setups relying on memory-mapped model loading must now explicitly pass --usemmap or enable it in the GUI.
1 more release in this issue · 2025-01-04 → 2025-01-18
v1.81.1 NOTES STABLE

KoboldCpp v1.81.1 adds local WebSearch augmentation via DuckDuckGo, a heuristic chat-template guesser, and browser-based RAG via TextDB.

└──▷ GET THIS VERSION
$ git clone --branch v1.81.1 https://github.com/LostRuins/koboldcpp.git
# already have the repo? check out this version:
$ git checkout v1.81.1
└──▷ TRY IT
Start KoboldCpp with web-search augmentation enabled so every generation request can be enriched with live DuckDuckGo results.
$ koboldcpp.exe --model mymodel.gguf --websearch
Enable browser-based RAG for a long threat-intelligence document without needing an embedding model.
📍In Kobold Lite, go to Context › TextDB tab, paste your threat-intel document, then send prompts normally — relevant chunks will be injected into context automatically.
  • Adds --websearch CLI flag (and GUI toggle) to enable KoboldCpp as a local WebSearch proxy, powered by DuckDuckGo, augmenting model queries with live web results.
  • Adds /api/extra/websearch endpoint for submitting web-search-augmented queries directly to the running KoboldCpp instance.
  • Adds TextDB Document Lookup in Kobold Lite (Context > TextDB tab), a browser-based RAG layer using lunr/minisearch to chunk, store, and retrieve relevant snippets from a pasted text document at inference time — no embedding model required.
  • Switches Kobold Lite autosaves and save slots from localStorage to indexedDb, significantly increasing the maximum supported browser save size; existing localStorage data is auto-migrated on first launch.
  • Expands supported resolutions and aspect ratios for generated and uploaded images, and improves multimodal image handling quality for larger, more detailed images.
└──▷ BREAKING ON UPGRADE
  • !Windows builds now require explicit target flags (e.g. make LLAMA_PORTABLE=1 LLAMA_VULKAN=1 LLAMA_CLBLAST=1) where previously a bare make was sufficient — existing Windows build scripts will break without updating.
  • !Kobold Lite save data written to indexedDb in v1.81.1 cannot be read by older versions of KoboldAI Lite.
Was this useful?

LocalAI

Sources Release notes → v2.25.0 NOTES

LocalAI v2.25.0 adds KV cache quantization, Jinja templates from GGUF, streaming token usage, and resumable downloads

└──▷ GET THIS VERSION
$ git clone --branch v2.25.0 https://github.com/mudler/LocalAI.git
# already have the repo? check out this version:
$ git checkout v2.25.0
└──▷ USE IT
Quantize the KV cache to Q8_0 to cut VRAM usage when running large models locally.
yaml
cache_type_k: q8_0
cache_type_v: q8_0
Stream token usage stats in a chat completion request to monitor prompt and completion token counts in real time.
$ curl http://localhost:8080/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"model": "llama-3.3-70b-instruct", "stream": true, "stream_options": {"include_usage": true}, "messages": [{"role": "user", "content": "Hello"}]}'
  • Exposes cache_type_k and cache_type_v llama.cpp config keys to enable quantization of the KV cache, reducing VRAM usage for large models.
  • Supports reading Jinja templates directly from GGUF model files, eliminating the need for separate template configuration.
  • Streams token usage statistics alongside generated tokens during inference.
  • Adds UI path prefix support via HTTP header, enabling reverse-proxy deployments at non-root paths.
  • Allows skipping driver installation in the Dockerfile build process.
+2 moreshow less
  • Enables resuming partial downloads when fetching models, avoiding full re-downloads on interrupted transfers.
  • Adds a large batch of new models to the model gallery, including phi-4, phi-3.5-moe-instruct, llama-3.3-70b-instruct, qwen2-vl-72b-instruct, qvq-72b-preview, falcon3 series (1b/3b/7b/10b), dolphin3.0 series, and many others.
Was this useful?

oobabooga's Text Generation WebUI (textgen)

Sources Release notes → v2.4 3 RELEASES · 2025-01-09 → 2025-01-29 NOTES STABLE

Adds 'Continue' and 'Remove' chat buttons, strftime_now in JINJA, and smarter installer caching in v2.4

└──▷ GET THIS VERSION
$ git clone --branch v2.4 https://github.com/oobabooga/textgen.git
# already have the repo? check out this version:
$ git checkout v2.4
  • Adds 'Continue' and 'Remove' buttons below the last chat message in the UI for quick in-place edits.
  • Adds strftime_now to JINJA template support, enabling LLAMA 3.1, 3.2, and Granite model chat templates to render correctly.
  • Installer now skips re-downloading .whl requirements during updates unless the files or local repo commit have changed, speeding up updates after manual branch switches.
  • Adds a descriptive error message when llama.cpp fails to load a model, prompting users to lower the context length.
  • Extends OpenAI-compatible leniency to SillyTavern API clients.
2 more releases in this issue · 2025-01-09 → 2025-01-29
v2.3 NOTES STABLE

oobabooga text-gen v2.3 cuts Chat tab CPU usage via morphdom incremental rendering and adds per-message copy/regenerate buttons.

└──▷ GET THIS VERSION
$ git clone --branch v2.3 https://github.com/oobabooga/textgen.git
# already have the repo? check out this version:
$ git checkout v2.3
  • Adopts the morphdom library for incremental DOM updates in the Chat tab during streaming, drastically reducing CPU usage on long contexts or high token throughput and keeping the UI responsive.
  • Enables text and code selection/copying from previous chat messages while a reply is still streaming, since only changed elements are updated.
  • Adds a 'copy raw message content' button below each chat message.
  • Adds a 'regenerate reply' button below the last chat message.
  • Activates auto_max_new_tokens by default, removing the need to manually continue replies every 512 tokens.
v2.2 NOTES STABLE

oobabooga textgen v2.2 adds branch/search chat UI, --torch-compile, --exclude-pattern, IPv6 API support, and ExLlamaV2 sampler expansions.

└──▷ GET THIS VERSION
$ git clone --branch v2.2 https://github.com/oobabooga/textgen.git
# already have the repo? check out this version:
$ git checkout v2.2
└──▷ TRY IT
Speed up transformers inference on repeated prompt patterns by compiling the model graph at first run.
$ python server.py --torch-compile
Download a model while skipping large or unwanted shard files to save disk space.
$ python download-model.py TheBloke/Mixtral-8x7B-v0.1-GGUF --exclude-pattern '*.Q8_0.gguf'
  • Adds --torch-compile flag for the transformers loader to improve inference performance.
  • Adds --exclude-pattern flag to the download-model.py script to filter files during model downloads.
  • Connects XTC, DRY, smoothing_factor, and dynatemp sampling parameters to the ExLlamaV2 loader (non-HF).
  • Adds IPv6 support to the API.
  • Adds a 'Static KV cache' option for transformers to improve performance.
+5 moreshow less
  • Adds a 'Branch chat' option to the chat tab, enabling conversation branching from any point.
  • Adds a 'Search chats' menu to the chat tab for finding past conversations.
  • Removes a 0.2-second startup delay for llama.cpp and ExLlamaV2, increasing reported tokens/second.
  • Adds a horizontal scrollbar to code blocks wider than the chat area.
  • Removes the AutoGPTQ loader; GPTQ models can still be loaded through ExLlamaV2.
└──▷ BREAKING ON UPGRADE
  • !The AutoGPTQ loader has been removed; any setup relying on it must switch to the ExLlamaV2 loader to load GPTQ models.
Was this useful?

vLLM

Sources Release notes → v0.7.0 NOTES

vLLM v0.7.0 ships a rewritten V1 engine, torch.compile by default, new LLM methods, Flash Attention 3, and a Rerank API

└──▷ GET THIS VERSION
$ git clone --branch v0.7.0 https://github.com/vllm-project/vllm.git
# already have the repo? check out this version:
$ git checkout v0.7.0
└──▷ TRY IT
Enable torch.compile optimizations on the V0 engine when V1 is not yet suitable for your deployment.
$ vllm serve meta-llama/Llama-3.1-8B-Instruct -O3
Use the new LLM lifecycle methods to pause a model during post-training, free GPU memory, then resume — useful in RLHF or fine-tuning loops.
python
from vllm import LLM
llm = LLM(model='meta-llama/Llama-3.1-8B-Instruct')
llm.sleep()   # release GPU resources between training steps
# ... run optimizer step ...
llm.wake_up() # restore model for next inference pass
llm.reset_prefix_cache()  # clear stale KV cache after weight update
  • Enables the new V1 engine by setting the VLLM_USE_V1=1 environment variable — a fully rewritten engine focused on performance and architectural simplicity.
  • Adds torch.compile integration, enabled by default in V1 and toggleable via the -O3 engine parameter in the existing engine.
  • Adds LLM.sleep, LLM.wake_up, LLM.collective_rpc, and LLM.reset_prefix_cache methods to the LLM class for post-training framework integration.
  • Adds a new collective_rpc distributed abstraction for coordinating across workers.
  • Adds Jina- and Cohere-compatible Rerank API to the API server.
+15 moreshow less
  • Adds Flash Attention 3 kernel support.
  • Adds native macOS Apple Silicon support.
  • Adds TPU support for W8A8 quantization format.
  • Adds x86 Multi-LoRA and MoE support.
  • Adds AMD MI300 FP8 format for block quantization, tuned MoE configurations, and a block size heuristic delivering an average 2.8x speedup for int8 models.
  • Adds support for torchrun and SPMD-style offline inference.
  • Adds Punica prefill kernel fusion.
  • Adds new generative model support: CogAgent, Deepseek-VL2, fairseq2 Llama, InternLM3, and Whisper.
  • Adds new pooling model support: Qwen2 PRM and InternLM2 reward models.
  • Adds merged multi-modal processor for VLMs, automatically supported by the V1 engine for any model implementing get_*_embeddings methods.
  • Adds Rank Stabilized LoRA (RSLoRA) support.
  • Adds LoRA support for MolmoForCausalLM.
  • Adds a new benchmark script for CPU offloading.
  • Adds out-of-tree hardware platform plugin support.
  • Implements Cascade Attention in the V1 engine.
Was this useful?
◆  AI Model & Data Infrastructure

Ollama

Sources Release notes → v0.5.7 2 RELEASES · 2025-01-08 → 2025-01-16 NOTES STABLE

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

Ollama v0.5.7 adds native import support for Command R and Command R+ safetensor models.

└──▷ GET THIS VERSION
$ git clone --branch v0.5.7 https://github.com/ollama/ollama.git
# already have the repo? check out this version:
$ git checkout v0.5.7
  • Supports importing Command R and Command R+ architectures directly from safetensors files.
1 more release in this issue · 2025-01-08 → 2025-01-16
v0.5.5 NOTES STABLE

Ollama v0.5.5 adds 8 new models including DeepSeek-V3 and Phi-4, plus a faster /api/create endpoint that now accepts JSON.

└──▷ GET THIS VERSION
$ git clone --branch v0.5.5 https://github.com/ollama/ollama.git
# already have the repo? check out this version:
$ git checkout v0.5.5
  • Adds Phi-4 (14B, Microsoft) to the model library.
  • Adds Command R7B (Cohere) for efficient inference on commodity GPUs and edge devices.
  • Adds DeepSeek-V3, a 671B MoE model with 37B parameters activated per token.
  • Adds OLMo 2 (7B and 13B) trained on up to 5T tokens.
  • Adds Dolphin 3, a general-purpose instruct-tuned model supporting coding, math, agentic, and function-calling use cases.
+4 moreshow less
  • Adds SmallThinker, a small reasoning model fine-tuned from Qwen 2.5 3B Instruct.
  • Adds Granite 3.1 Dense (2B and 8B) from IBM, trained on over 12 trillion tokens.
  • Adds Granite 3.1 MoE (1B and 3B) from IBM, designed for low-latency long-context inference.
  • Updates the /api/create endpoint to improve model conversion speed and accept a JSON object body.
└──▷ BREAKING ON UPGRADE
  • !The /api/create API endpoint (used by ollama create) is not backwards compatible: both the Ollama server and the ollama CLI must be version 0.5.5 or later, and the Python/JavaScript ollama library must be updated to the latest version when calling ollama.create.
Was this useful?

NVIDIA Triton Inference Server

Sources Release notes → v2.54.0 NOTES

Triton v2.54.0 adds Blackwell GPU support, vLLM ZMQ engine comms, and major GenAI-Perf expansions including a new 'analyze' subcommand.

└──▷ GET THIS VERSION
$ git clone --branch v2.54.0 https://github.com/triton-inference-server/server.git
# already have the repo? check out this version:
$ git checkout v2.54.0
└──▷ TRY IT
Send a fixed number of requests with a custom auth header to a secured inference endpoint during CI load testing.
$ genai-perf profile --model my-model --request-count 1000 --header 'Authorization: Bearer <token>'
  • GenAI-Perf gains --num-system-prompts and --system-prompt-length flags to create a prefix pool that emulates system prompts in benchmarking runs.
  • GenAI-Perf gains --request-count to send a specific number of requests and --header to attach custom headers to every request.
  • GenAI-Perf gains a new analyze subcommand (migrated from Model Analyzer) to sweep configurations and find the optimal model setup.
  • GenAI-Perf gains a compare subcommand that accepts a custom tokenizer for comparing multiple benchmark profiles.
  • GenAI-Perf now reports time-to-second-token and request count as first-class metrics.
+6 moreshow less
  • GenAI-Perf now surfaces more detailed errors when OpenAI frontends return an error or metric generation fails.
  • GenAI-Perf now provides the exact input sequence length requested for synthetic text generation.
  • vLLM backend can now communicate with the vLLM engine via ZMQ, enabling vLLM v0.6 performance improvements.
  • Supports Blackwell GPU architectures starting with this release.
  • The vLLM container shipped with Triton is now NVIDIA-optimized; users who prefer the public vLLM build can continue to construct their own Triton-vLLM container.
  • Triton Windows beta release now includes CUDA context sharing support in the TensorRT Backend.
Was this useful?
Other / Uncategorized
◆  AI OBSERVABILITY

Arize Phoenix

Sources Release notes → arize-phoenix-otel-v0.7.0 7 RELEASES · 2025-01-03 → 2025-01-22 NOTES STABLE

phoenix.otel gains automatic gRPC port inference from environment and an explicit OTEL protocol override.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-otel-v0.7.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-otel-v0.7.0
  • Adds explicit OTEL protocol override support to phoenix.otel, letting callers force a specific transport protocol rather than relying on defaults.
  • phoenix.otel now infers the gRPC port from the environment automatically, removing the need to hard-code port values when a relevant env var is set.
6 more releases in this issue · 2025-01-03 → 2025-01-22
arize-phoenix-v7.9.0 NOTES STABLE

Phoenix v7.9.0 adds support for OpenAI o1 developer messages and the reasoning parameter.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v7.9.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v7.9.0
  • Adds support for o1 developer messages and the reasoning parameter in OpenAI o1 model integrations.
arize-phoenix-v7.8.0 NOTES STABLE

Phoenix 7.8.0 improves error visibility with prettified user-facing mutation error messages.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v7.8.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v7.8.0
  • Improves user-facing error display for GraphQL mutations, making error messages more readable in the UI.
arize-phoenix-evals-v0.19.0 NOTES STABLE

Phoenix Evals 0.19.0 adds audio evaluation support to llm_classify().

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-evals-v0.19.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-evals-v0.19.0
  • Adds audio evals and a data processor to llm_classify(), enabling evaluation of audio-based LLM inputs.
arize-phoenix-v7.7.0 NOTES STABLE

Arize Phoenix 7.7.0 adds experiment run filtering on the compare experiments page.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v7.7.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v7.7.0
  • Adds experiment run filter to the compare experiments page, enabling side-by-side comparison of specific runs across experiments.
arize-phoenix-v7.6.0 NOTES STABLE

Phoenix playground now supports anyOf JSON schema for structured output definitions.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v7.6.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v7.6.0
  • Adds anyOf JSON schema support in the playground for defining structured LLM outputs.
arize-phoenix-v7.4.0 NOTES STABLE

Phoenix v7.4.0 adds a token breakdown view in the project header UI.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v7.4.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v7.4.0
  • Shows a breakdown of tokens in the project header for at-a-glance token usage visibility.
Was this useful?

Langfuse

Sources Release notes → v3.23.0 22 RELEASES · 2025-01-07 → 2025-01-31 NOTES STABLE

Langfuse v3.23.0 adds built-in model definitions for OpenAI o3-mini and o3-mini-2025-01-31.

└──▷ GET THIS VERSION
$ git clone --branch v3.23.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.23.0
  • Adds built-in model definitions for o3-mini and o3-mini-2025-01-31, enabling automatic cost and usage tracking for these OpenAI models.
21 more releases in this issue · 2025-01-07 → 2025-01-31
v3.22.0 NOTES STABLE

Langfuse v3.22.0 adds a native OpenTelemetry traces ingestion endpoint and a quick-access cmd+k command menu.

└──▷ GET THIS VERSION
$ git clone --branch v3.22.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.22.0
  • Adds otel/v1/traces endpoint to accept OpenTelemetry spans directly, enabling native OTEL trace ingestion without a separate collector.
  • Adds cmd+k keyboard shortcut to open the command menu from the main UI navigation.
v3.21.0 NOTES STABLE

Langfuse v3.21.0 adds CodeMirror-powered prompt variable highlighting and linting in the UI.

└──▷ GET THIS VERSION
$ git clone --branch v3.21.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.21.0
  • Adds CodeMirror editor for text area input in the prompt UI, with syntax highlighting and linting of prompt variables.
  • Adds a customizable CodeMirror theme for the editor UI.
v3.20.0 NOTES STABLE

Langfuse v3.20.0 adds cmd+k project/org switching and independent prompt version scrolling in the UI.

└──▷ GET THIS VERSION
$ git clone --branch v3.20.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.20.0
  • Enables switching between projects and organizations directly from the cmd+k menu.
  • Allows scrolling through prompt versions independently from the prompt itself in the Prompts UI.
  • Automatically scrolls the selected prompt version into view in the Prompts UI.
v3.19.0 NOTES STABLE

Langfuse v3.19.0 adds commit messages for prompts, a cmd+k command menu, and LANGFUSE_INIT_PROJECT_RETENTION env var for initializing data retention.

└──▷ GET THIS VERSION
$ git clone --branch v3.19.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.19.0
  • Adds LANGFUSE_INIT_PROJECT_RETENTION environment variable to set data retention on project initialization (self-host enterprise).
  • Adds commit_message field support to prompts, letting teams annotate prompt versions with a description of what changed.
  • New cmd+k command menu in the UI for quick keyboard-driven navigation.
  • Allows removing the system message directly in the messages UI.
  • Data retention feature exits beta and is now available to self-hosted enterprise plans.
+2 moreshow less
  • Adds more x-axis ticks to charts for finer time-series granularity.
  • Supports uploading CSV files with a single column in dataset imports.
v3.17.1 NOTES STABLE

Langfuse v3.17.1 adds automatic removal of ClickHouse data beyond the configured retention limit.

└──▷ GET THIS VERSION
$ git clone --branch v3.17.1 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.17.1
  • Automatically removes data beyond the retention limit from ClickHouse, enforcing data lifecycle policies at the storage layer.
v3.17.0 NOTES STABLE

Langfuse v3.17.0 adds configurable auth checks and SSO provider methods.

└──▷ GET THIS VERSION
$ git clone --branch v3.17.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.17.0
  • Adds configurable authentication checks and auth method selection across SSO providers.
v2.95.0 NOTES STABLE

Langfuse v2.95.0 makes SSO auth checks and auth methods configurable per provider.

└──▷ GET THIS VERSION
$ git clone --branch v2.95.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v2.95.0
  • Adds configurable checks and auth method settings across SSO providers for more flexible identity provider integration.
v2.94.0 NOTES STABLE

Langfuse v2.94.0 adds proxy support for OAuth flows.

└──▷ GET THIS VERSION
$ git clone --branch v2.94.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v2.94.0
  • Adds proxy support for OAuth authentication flows, enabling deployments behind HTTP proxies to use OAuth-based integrations.
v3.16.0 NOTES STABLE

Langfuse v3.16.0 adds proxy support for OAuth authentication flows.

└──▷ GET THIS VERSION
$ git clone --branch v3.16.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.16.0
  • Adds proxy support for OAuth flows, enabling deployments behind an HTTP proxy to authenticate via OAuth.
v3.15.0 NOTES STABLE

Langfuse v3.15.0 adds AUTH_CUSTOM_ID_TOKEN env var, media retention deletion, time-to-first-token in trace timeline, and prompt version updates.

└──▷ GET THIS VERSION
$ git clone --branch v3.15.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.15.0
  • Adds AUTH_CUSTOM_ID_TOKEN environment variable to support custom ID token configuration for authentication.
  • Adds media asset deletion driven by retention settings, enabling automatic cleanup of stored media.
  • Adds time-to-first-token metric to the trace timeline view for LLM latency visibility.
  • Displays count of all log kinds (observations) directly on the trace table.
  • Adds the ability to update prompt versions in the prompt management UI.
v2.93.9 NOTES STABLE

Langfuse v2.93.9 adds DATABASE_ARGS config support and a new AUTH_CUSTOM_ID_TOKEN environment variable.

└──▷ GET THIS VERSION
$ git clone --branch v2.93.9 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v2.93.9
  • Adds DATABASE_ARGS environment variable to pass extra arguments to the database connection configuration.
  • Adds AUTH_CUSTOM_ID_TOKEN environment variable to supply a custom ID token for authentication flows.
v3.14.0 NOTES STABLE

Langfuse v3.14.0 adds prompt diff view, prompt duplication, extra LLM API headers, and data retention config in project settings.

└──▷ GET THIS VERSION
$ git clone --branch v3.14.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.14.0
  • Adds data retention configuration in project settings, letting teams control how long trace and observation data is stored.
  • Supports extra headers on LLM API key configurations, enabling custom auth or routing headers for LLM provider calls.
  • Adds a diff view when creating a new prompt version, making it easy to review changes between prompt iterations.
  • Supports prompt duplication directly in the UI, streamlining the creation of prompt variants.
  • Enables cloud users to switch between available subscription plans directly from the product.
v3.13.0 NOTES STABLE

Langfuse v3.13.0 adds an audit log view in project settings.

└──▷ GET THIS VERSION
$ git clone --branch v3.13.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.13.0
  • Adds an audit log view to project settings, giving teams visibility into project-level activity.
  • Adds product analytics events for dataset runs.
v3.12.0 NOTES STABLE

Langfuse v3.12.0 adds DATABASE_ARGS environment variable support for custom database connection parameters.

└──▷ GET THIS VERSION
$ git clone --branch v3.12.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.12.0
  • Adds DATABASE_ARGS environment variable to pass additional configuration arguments to the database connection.
v3.11.0 NOTES STABLE

Langfuse v3.11.0 merges the generations view into a unified observations table.

└──▷ GET THIS VERSION
$ git clone --branch v3.11.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.11.0
  • Converts the generations view into the observations table, unifying LLM call data under a single UI surface.
v3.10.0 NOTES STABLE

Langfuse v3.10.0 adds CSV dataset import, gemini-2.0-flash-exp support, and a single-user analytics view.

└──▷ GET THIS VERSION
$ git clone --branch v3.10.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.10.0
  • Adds CSV import for uploading datasets directly via the UI.
  • Adds playground and eval support for gemini-2.0-flash-exp.
  • New single-user view with simplified metrics and a link to the dashboard.
v3.9.0 NOTES STABLE

Langfuse v3.9.0 adds trace observation-level filtering, hidden observation hints, and o1 model cost tracking.

└──▷ GET THIS VERSION
$ git clone --branch v3.9.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.9.0
  • Adds minObservationlvl filter in the trace detail UI to narrow down observations by minimum level.
  • Adds a hint in the trace tree UI when observations are hidden, improving visibility into filtered trace data.
  • Adds cost tracking support for OpenAI o1 models in the model cost configuration.
└──▷ BREAKING ON UPGRADE
  • !Removes legacy v3-migration environment variables — any existing setup referencing those variables will break on upgrade.
v3.8.0 NOTES STABLE

Langfuse v3.8.0 adds streaming to observation and trace list endpoints and persists dashboard score graph selections.

└──▷ GET THIS VERSION
$ git clone --branch v3.8.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.8.0
  • Uses streaming for observation and trace list endpoints, enabling faster and more scalable data retrieval for large result sets.
  • Saves selected score graphs on the dashboard to localStorage on a per-project basis, so dashboard configurations persist across sessions.
  • Shows count of group selection on column visibility controls in UI tables.
v3.7.0 NOTES STABLE

Langfuse v3.7.0 adds an 'Add to Dataset' button in annotation queues and a script to replay missing events.

└──▷ GET THIS VERSION
$ git clone --branch v3.7.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.7.0
  • Adds an 'Add to Dataset' button directly on the trace preview inside annotation queues, streamlining dataset curation during review.
  • Adds a script to replay missing events, enabling recovery of lost ingestion data.
v3.6.1 NOTES STABLE

Langfuse v3.6.1 adds Redis-to-Postgres queue backup, 24-hour eval retry on rate limits, and a last-used sort for the models table.

└──▷ GET THIS VERSION
$ git clone --branch v3.6.1 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.6.1
  • Backs up Redis queues to Postgres to improve durability of queued work.
  • Retries eval executions that receive 429 rate-limit errors for up to 24 hours, preventing dropped evaluations during LLM provider throttling.
  • Adds a lastUsed column to the models table with full lookback, sortable by last-used date.
v3.6.0 NOTES STABLE

Langfuse v3.6.0 adds CLICKHOUSE_DB environment variable support for self-hosted ClickHouse configuration.

└──▷ GET THIS VERSION
$ git clone --branch v3.6.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.6.0
  • Adds CLICKHOUSE_DB environment variable to configure the ClickHouse database name in self-hosted deployments.
Was this useful?

Weights & Biases Weave

Sources Release notes → v0.51.32 6 RELEASES · 2025-01-03 → 2025-01-29 NOTES STABLE

Weave v0.51.32 adds artifact ref links in the UI, predefined keyboard bindings, and the ability to disable context capture.

└──▷ GET THIS VERSION
$ git clone --branch v0.51.32 https://github.com/wandb/weave.git
# already have the repo? check out this version:
$ git checkout v0.51.32
  • Adds support for disabling capture of context (PR #3523).
  • Adds predefined keyboard binding controls to the UI (PR #3390).
  • Adds artifact ref links in the UI, enabling navigation to artifact references directly (PR #3500).
5 more releases in this issue · 2025-01-03 → 2025-01-29
v0.51.31 NOTES STABLE

Weave v0.51.31 adds Dataset construction from Calls, pandas bridging helpers, and an in-UI dataset editing interface.

└──▷ GET THIS VERSION
$ git clone --branch v0.51.31 https://github.com/wandb/weave.git
# already have the repo? check out this version:
$ git checkout v0.51.31
  • Adds helper methods to convert between pandas DataFrames and Weave datasets, bridging pandas workflows with Weave's dataset primitives.
  • Allows Dataset to be constructed directly from Calls, enabling trace data to be turned into a dataset without manual transformation.
  • New dataset editing UI lets users modify dataset contents directly in the browser.
v0.51.30 NOTES STABLE

Weave v0.51.30 adds autopatch opt-out support and a configurable grid page size in the UI.

└──▷ GET THIS VERSION
$ git clone --branch v0.51.30 https://github.com/wandb/weave.git
# already have the repo? check out this version:
$ git checkout v0.51.30
  • Adds the ability to disable autopatch, giving users programmatic control over whether Weave automatically patches supported integrations.
  • Adds configurable page size in the grid view, letting users control how many rows are displayed per page.
  • Adds Amazon Bedrock to the Weave sidebar as a tracked integration surface.
v0.51.29 NOTES STABLE

Weave v0.51.29 adds Bedrock integration, JPEG/PNG tracking, SDK object deletion, and improved ref-getting.

└──▷ GET THIS VERSION
$ git clone --branch v0.51.29 https://github.com/wandb/weave.git
# already have the repo? check out this version:
$ git checkout v0.51.29
  • Adds weave.delete (delete objects and ops from the SDK) so practitioners can programmatically remove objects and ops without going through the UI.
  • Adds Amazon Bedrock support via a new integration, enabling tracing of Bedrock model calls.
  • Adds support for tracking JPEG and PNG images natively, expanding logged artifact types beyond text and structured data.
  • Improves ref-getting ergonomics, making it more convenient to retrieve references to tracked objects in the SDK.
  • Tracks the creating user on object creation, surfacing the user column in objects and ops tables in the UI.
+1 moreshow less
  • Non-admin users can now delete objects through the UI object deletion interface.
v0.51.28 NOTES STABLE

Weave v0.51.28 adds code redaction, global post-processing options, UI object deletion, and guardrails/monitoring via scorer application.

└──▷ GET THIS VERSION
$ git clone --branch v0.51.28 https://github.com/wandb/weave.git
# already have the repo? check out this version:
$ git checkout v0.51.28
└──▷ USE IT
Use len() on a CallsIter result to quickly count matching traced calls without materializing the full list.
python
calls = client.calls(filter={'op_name': 'my_op'})
print(len(calls))
  • Adds global post-processing options for controlling how captured data is transformed before storage.
  • Enables call.feedback.add() for annotation-type feedback on traced calls.
  • Supports len() on CallsIter, making iteration over call results more Pythonic.
  • Implements public 'apply scorer' capability, the MVP foundation for Guardrails and Monitoring workflows.
  • Adds ability to delete objects directly from the UI.
+3 moreshow less
  • Makes annotation values in the traces table clickable.
  • Adds annotation spec name column to the feedback grid.
  • Higher-precision formatting for token and cost displays in the UI.
v0.51.27 NOTES STABLE

Weave v0.51.27 adds op configuration for autopatched integrations and ChatNVIDIA autopatch support in LangChain.

└──▷ GET THIS VERSION
$ git clone --branch v0.51.27 https://github.com/wandb/weave.git
# already have the repo? check out this version:
$ git checkout v0.51.27
  • Adds op configuration support for autopatched functions across remaining integrations, enabling per-function tracing customization.
  • Adds autopatching of ChatNVIDIA in LangChain, extending Weave's automatic tracing to NVIDIA-hosted models.
  • Creates an API client for the trace server in weave_query, enabling programmatic access to trace data.
  • Adds a mods page and menu item for wandb admins.
Was this useful?
◆  VECTOR DB RAG

Chroma

Sources Release notes → 0.6.3 3 RELEASES · 2025-01-03 → 2025-01-14 NOTES STABLE

Chroma 0.6.3 adds list/delete database APIs, a GC service, async rate limiting, and raises the default ef_search to 100.

└──▷ GET THIS VERSION
$ git clone --branch 0.6.3 https://github.com/chroma-core/chroma.git
# already have the repo? check out this version:
$ git checkout 0.6.3
  • Updates ef_search default value to 100, improving out-of-the-box HNSW recall.
  • Adds API to list all databases for a tenant, with both single-node and distributed implementations.
  • Adds method to delete a database, with both single-node and distributed implementations.
  • Introduces a GC (garbage collection) tool and service for distributed deployments.
  • Adds a simple async rate limiter for async request handling.
+1 moreshow less
  • Adds concurrency and stream-processing flags to the Go binary.
2 more releases in this issue · 2025-01-03 → 2025-01-14
0.6.2 NOTES STABLE

Chroma 0.6.2 adds Voyage AI embedding integration and parallelized log materialization for faster segment writes.

└──▷ GET THIS VERSION
$ git clone --branch 0.6.2 https://github.com/chroma-core/chroma.git
# already have the repo? check out this version:
$ git checkout 0.6.2
  • Adds Voyage AI embedding integration via the [ENH] Voyage Integration feature, enabling Voyage models as an embedding function.
  • Parallelizes applying materialized log to segment writers, improving write throughput for high-volume ingestion workloads.
  • Pipelines segment committing and flushing to reduce latency during compaction.
0.6.1 NOTES STABLE

Chroma 0.6.1 adds MPS-accelerated OpenCLIP embeddings, HNSW integrity validation on load, and OpenTelemetry foyer metrics export.

└──▷ GET THIS VERSION
$ git clone --branch 0.6.1 https://github.com/chroma-core/chroma.git
# already have the repo? check out this version:
$ git checkout 0.6.1
  • Exports foyer metrics via OpenTelemetry (otel), enabling observability of Chroma's internal cache layer.
  • Validates HNSW index integrity on load, catching corrupted index state at startup rather than at query time.
  • Supports MPS (Apple Silicon GPU) accelerated OpenCLIP embeddings, improving embedding throughput on macOS devices.
Was this useful?

LanceDB

Sources Release notes → v0.15.1-beta.1 10 RELEASES · 2025-01-06 → 2025-01-28 NOTES STABLE

LanceDB v0.15.1-beta.1 adds distance_type() and metric() alias to Python sync query builders

└──▷ GET THIS VERSION
$ git clone --branch v0.15.1-beta.1 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout v0.15.1-beta.1
  • Adds distance_type() parameter to Python sync query builders, plus metric() as an alias, for specifying vector distance metrics at query time.
9 more releases in this issue · 2025-01-06 → 2025-01-28
python-v0.18.1-beta.2 NOTES STABLE

LanceDB python-v0.18.1-beta.2 adds distance_type() and metric() alias to sync query builders.

└──▷ GET THIS VERSION
$ git clone --branch python-v0.18.1-beta.2 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout python-v0.18.1-beta.2
└──▷ USE IT
Set the distance metric on a synchronous vector query to use cosine similarity instead of the index default.
python
results = table.search(query_vector).distance_type('cosine').limit(10).to_list()
  • Adds distance_type() parameter to Python sync query builders, plus metric() as an alias, for controlling vector distance calculations inline with query construction.
python-v0.18.1-beta.1 NOTES STABLE

LanceDB python-v0.18.1-beta.1 adds a drop_index() method for programmatic index removal.

└──▷ GET THIS VERSION
$ git clone --branch python-v0.18.1-beta.1 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout python-v0.18.1-beta.1
└──▷ USE IT
Remove a vector index from a table when you want to rebuild it with different parameters or free resources.
python
table.drop_index("index_name")
  • Adds drop_index() method to tables, enabling programmatic removal of vector indexes.
v0.15.1-beta.0 NOTES STABLE

LanceDB v0.15.1-beta.0 adds a drop_index() method and upgrades the Lance storage engine to v0.23.0-beta.2.

└──▷ GET THIS VERSION
$ git clone --branch v0.15.1-beta.0 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout v0.15.1-beta.0
└──▷ USE IT
Remove a vector index from a table when you want to rebuild it with different parameters or free resources.
python
table.drop_index("vector_idx")
  • Adds drop_index() method to tables, enabling programmatic removal of vector indexes.
  • Upgrades the underlying Lance storage engine to v0.23.0-beta.2, incorporating the latest storage improvements.
v0.15.0 NOTES STABLE

LanceDB v0.15.0 adds hybrid search to Node/Rust SDKs, distance thresholds and ranges, multivector type, and flips default filtering to prefiltering.

└──▷ GET THIS VERSION
$ git clone --branch v0.15.0 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout v0.15.0
└──▷ USE IT
Stream query results directly into a Polars DataFrame in the Python async API for downstream analysis.
python
result = await table.query().nearest_to(vector).to_polars()
  • Adds to_polars method to AsyncQueryBase in Python, returning query results as a Polars DataFrame.
  • Adds flatten method to AsyncQuery in Python for flattening nested query results.
  • Supports .rerank() on non-hybrid queries in the Python Async API.
  • Adds hybrid search to Node and Rust SDKs.
  • Supports vector search with distance thresholds, enabling results to be filtered by a maximum distance value.
+6 moreshow less
  • Supports distance range filtering in queries, allowing minimum and maximum distance bounds.
  • Supports inserting and upserting subschemas in Python, allowing partial-schema writes without providing all columns.
  • Adds IVF_FLAT index creation on remote tables (Python and Rust SDKs).
  • Exposes dataset config for inspection and configuration of underlying Lance datasets.
  • Supports multivector type, enabling columns that store multiple vectors per row.
  • Upgrades underlying Lance dependency to v0.22.0.
└──▷ BREAKING ON UPGRADE
  • !The default filtering mode for sync Python changed from postfiltering to prefiltering; existing queries that relied on postfiltering behavior will now behave differently without explicit configuration.
python-v0.18.0 NOTES STABLE

LanceDB python-v0.18.0 adds distance thresholds, multivector support, hybrid search in Node/Rust, and to_polars for async queries.

└──▷ GET THIS VERSION
$ git clone --branch python-v0.18.0 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout python-v0.18.0
└──▷ USE IT
Return async vector search results directly as a Polars DataFrame for downstream analysis.
python
results = await table.search(query_vector).to_polars()
print(results)
  • Adds .to_polars() method to AsyncQueryBase for returning async query results as Polars DataFrames.
  • Adds .flatten() method to AsyncQuery for flattening nested struct columns in async query results.
  • Adds .rerank() support on non-hybrid queries in the Async API.
  • Supports vector search with distance thresholds, letting queries filter results by a maximum distance value.
  • Supports distance range filtering in queries, enabling min/max distance bounds on vector search results.
+6 moreshow less
  • Supports inserting and upserting subschemas, allowing partial-schema writes without specifying all columns.
  • Adds IVF_FLAT index creation support on remote tables (Python and Rust SDKs).
  • Adds hybrid search to the Node and Rust SDKs.
  • Supports multivector type for indexing and querying multi-vector embeddings.
  • Exposes dataset config via the API, making underlying Lance dataset configuration accessible.
  • Default filtering mode for sync Python changes from postfiltering to prefiltering.
└──▷ BREAKING ON UPGRADE
  • !The default filtering mode for sync Python changed from postfiltering to prefiltering; existing queries that relied on postfiltering behavior will now produce different result counts.
  • !Insert and upsert operations now support subschemas — callers passing full schemas where column sets no longer match may see changed behavior.
python-v0.18.0-beta.0 NOTES STABLE

LanceDB python-v0.18.0-beta.0 adds distance-range queries, subschema upserts, reranking on non-hybrid queries, and switches sync Python to prefiltering by default.

└──▷ GET THIS VERSION
$ git clone --branch python-v0.18.0-beta.0 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout python-v0.18.0-beta.0
  • Adds to_polars() method to AsyncQueryBase, enabling direct Polars DataFrame output from async queries.
  • Adds flatten to AsyncQuery, allowing nested struct columns to be flattened in async query results.
  • Adds .rerank() support on non-hybrid queries in the Async API, extending reranking beyond hybrid search.
  • Supports distance range filtering in queries, letting callers bound results by minimum and maximum vector distances.
  • Supports inserting and upserting subschemas, so partial-schema data can be written without supplying all columns.
+1 moreshow less
  • Exposes dataset config, making underlying dataset configuration accessible from the Python API.
└──▷ BREAKING ON UPGRADE
  • !The default filtering mode for sync Python queries has changed from postfiltering to prefiltering; existing queries that relied on postfiltering behavior will now produce different results unless prefilter is explicitly set.
  • !Inserting and upserting subschemas changes how partial-schema writes are handled; existing insert/upsert code that depended on strict full-schema enforcement may need review.
v0.15.0-beta.0 NOTES STABLE

LanceDB v0.15.0-beta.0 adds distance range queries, subschema upserts, reranking on non-hybrid queries, and switches default filtering to prefiltering.

└──▷ GET THIS VERSION
$ git clone --branch v0.15.0-beta.0 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout v0.15.0-beta.0
└──▷ USE IT
Return async vector search results directly as a Polars DataFrame instead of Arrow or Pandas.
python
results = await table.search([0.1, 0.2, 0.3]).limit(10).to_polars()
  • Adds to_polars() method to AsyncQueryBase for returning async query results as Polars DataFrames.
  • Adds flatten support to AsyncQuery for flattening nested struct columns in async query results.
  • Adds .rerank() support on non-hybrid queries in the Async API, extending reranking beyond hybrid search.
  • Adds support for distance range filtering in vector queries, enabling min/max distance bounds on ANN results.
  • Adds support for inserting and upserting subschemas, allowing partial-schema writes without specifying all columns.
+1 moreshow less
  • Exposes dataset config through the LanceDB API.
└──▷ BREAKING ON UPGRADE
  • !The default filtering mode for sync Python API changes from postfiltering to prefiltering; existing queries that relied on postfiltering behavior will now behave differently without explicit configuration.
  • !Inserting and upserting subschemas changes how partial-schema inserts are handled in the Python API; existing code that inserted data with mismatched schemas may behave differently.
v0.14.2-beta.0 NOTES STABLE

LanceDB v0.14.2-beta.0 adds hybrid search to Node and Rust SDKs, IVF_FLAT on remote tables, and vector search distance thresholds.

└──▷ GET THIS VERSION
$ git clone --branch v0.14.2-beta.0 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout v0.14.2-beta.0
  • Supports vector search with distance thresholds, allowing searches to filter results beyond a maximum distance cutoff.
  • Adds IVF_FLAT index creation on remote tables, available in both the primary SDK and the Rust SDK.
  • Adds hybrid search capability to the Node and Rust SDKs, combining vector and full-text search in a single query.
python-v0.17.2-beta.2 NOTES STABLE

LanceDB python-v0.17.2-beta.2 adds distance threshold filtering for vector search queries.

└──▷ GET THIS VERSION
$ git clone --branch python-v0.17.2-beta.2 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout python-v0.17.2-beta.2
  • Supports distance thresholds in vector search, letting queries filter out results beyond a maximum distance from the query vector.
Was this useful?

Milvus

Sources Release notes → v2.5.4 5 RELEASES · 2025-01-02 → 2025-01-24 NOTES STABLE

Milvus 2.5.4 adds PartitionKey isolation, Sparse Index DAAT MaxScore, is_null expressions, and scales to 10K collections and 1M partitions.

└──▷ GET THIS VERSION
$ git clone --branch v2.5.4 https://github.com/milvus-io/milvus.git
# already have the repo? check out this version:
$ git checkout v2.5.4
  • Adds is_null expression support for filtering queries on nullable fields.
  • Introduces PartitionKey isolation to improve query performance when multiple partition keys are in use.
  • Sparse Index now supports DAAT MaxScore algorithm for improved sparse vector search performance.
  • Root privileges can now be customized, enabling finer-grained access control configuration.
  • Scales to support 10,000 collections and 1 million partitions in a single cluster, unlocking large-scale multi-tenant deployments.
+4 moreshow less
  • Adds primary field names in SearchResult and QueryResults responses.
  • Expands RESTful API surface with additional endpoint support.
  • Disk quota throttling now uses both binlog size and index size as combined standards.
  • Adds version control for scalar indexes.
4 more releases in this issue · 2025-01-02 → 2025-01-24
v2.4.21 NOTES STABLE

Milvus v2.4.21 adds customizable root privileges and surfaces primary field names in search/query results.

└──▷ GET THIS VERSION
$ git clone --branch v2.4.21 https://github.com/milvus-io/milvus.git
# already have the repo? check out this version:
$ git checkout v2.4.21
  • Adds primary field names to SearchResult and QueryResults responses, making result parsing more explicit without requiring a separate lookup.
  • Root privileges can now be customized, giving administrators finer control over built-in RBAC permissions.
  • Accelerates bitset operations with SIMD, improving filter and expression evaluation throughput.
v2.5.3 NOTES STABLE

Milvus 2.5.3 adds a resource group API for the RESTful interface and boosts retrieve performance via bitset SIMD methods.

└──▷ GET THIS VERSION
$ git clone --branch v2.5.3 https://github.com/milvus-io/milvus.git
# already have the repo? check out this version:
$ git checkout v2.5.3
  • Adds a resource group API for the RESTful interface, enabling programmatic resource group management over HTTP.
  • Optimizes retrieve performance by leveraging bitset SIMD methods, unlocking faster query throughput at scale.
  • Adds missing delete metrics, improving observability for delete operations.
  • Uses MVCC timestamp as the guarantee timestamp when specified, enabling more precise consistency control.
v2.5.2 NOTES STABLE

Milvus 2.5.2 adds tunable maximum VARCHAR length and supports parameter type conversion in expressions.

└──▷ GET THIS VERSION
$ git clone --branch v2.5.2 https://github.com/milvus-io/milvus.git
# already have the repo? check out this version:
$ git checkout v2.5.2
  • Adds a parameter to tune the maximum VARCHAR column length, restoring the upper limit to 65,535 characters.
  • Supports automatic parameter type conversion for filter/query expressions, reducing the need for explicit casting.
v2.4.20 NOTES STABLE

Milvus 2.4.20 adds a YAML config param to tune the system maximum varchar length.

└──▷ GET THIS VERSION
$ git clone --branch v2.4.20 https://github.com/milvus-io/milvus.git
# already have the repo? check out this version:
$ git checkout v2.4.20
  • Adds a YAML configuration parameter to adjust the system limit for maximum varchar length, lifting a previously hard-coded constraint.
Was this useful?

Qdrant

Sources Release notes → v1.13.2 3 RELEASES · 2025-01-08 → 2025-01-28 NOTES STABLE

Qdrant v1.13.2 adds GPU support for devices without half-float capability, falling back to full floats.

└──▷ GET THIS VERSION
$ git clone --branch v1.13.2 https://github.com/qdrant/qdrant.git
# already have the repo? check out this version:
$ git checkout v1.13.2
  • Adds support for GPUs that do not feature half floats, automatically falling back to full floats to enable indexing on a broader range of GPU hardware.
2 more releases in this issue · 2025-01-08 → 2025-01-28
v1.13.0 NOTES STABLE

Qdrant v1.13.0 adds GPU-accelerated HNSW indexing, runtime resharding, strict mode, and a new Has Vector filter condition.

└──▷ GET THIS VERSION
$ git clone --branch v1.13.0 https://github.com/qdrant/qdrant.git
# already have the repo? check out this version:
$ git checkout v1.13.0
  • Adds has vector filtering condition to check whether a named vector is present on a point, enabling queries that target only partially-vectorized records.
  • Adds strict mode to collections to restrict certain categories of operations, giving operators tighter control over collection behaviour.
  • Allows max_optimization_threads to be set back to automatic after being manually configured.
  • Adds GPU support for HNSW indexing, dramatically accelerating index build times.
  • Adds runtime resharding in Qdrant Cloud, allowing the number of shards on a collection to be changed without downtime.
+4 moreshow less
  • Switches payload storage to mmap by default, reducing unexpected latency spikes.
  • Switches sparse vector storage to mmap, improving resource management.
  • Compresses HNSW graph links to reduce memory footprint.
  • Streams snapshots during snapshot transfer instead of writing them to disk first, reducing I/O overhead.
└──▷ BREAKING ON UPGRADE
  • !Payload storage now defaults to mmap; existing deployments will use the new default on upgrade, which may change memory and disk I/O behaviour.
  • !Sparse vector storage now defaults to mmap; existing deployments will use the new default on upgrade.
v1.12.6 NOTES STABLE

Qdrant v1.12.6 adds 64-bit sparse vector indices, Issues API support for limited API keys, and JSON-format logging.

└──▷ GET THIS VERSION
$ git clone --branch v1.12.6 https://github.com/qdrant/qdrant.git
# already have the repo? check out this version:
$ git checkout v1.12.6
  • Adds JSON-format logging support, enabling structured log ingestion into SIEM and log-aggregation pipelines.
  • Extends the Issues API to work with limited (scoped) API keys, not just full-access credentials.
  • Supports 64-bit dimension indices for sparse vectors, lifting the previous 32-bit index ceiling for very high-dimensional sparse data.
  • Bundles the web UI in the official Debian package, removing the need for a separate installation step on Debian-based deployments.
Was this useful?
◆  MCP TOOLING

Composio

Sources Release notes → v0.6.17 7 RELEASES · 2025-01-02 → 2025-01-24 NOTES STABLE

Composio v0.6.17 adds Pydantic AI integration and action versioning support.

└──▷ GET THIS VERSION
$ git clone --branch v0.6.17 https://github.com/ComposioHQ/composio.git
# already have the repo? check out this version:
$ git checkout v0.6.17
  • Adds Pydantic AI integration with Composio, enabling Pydantic AI agents to use Composio-managed tools and connected accounts.
  • Implements action versioning, allowing callers to target specific versions of actions.
6 more releases in this issue · 2025-01-02 → 2025-01-24
js-v-0.5.5 NOTES STABLE

Composio JS SDK v0.5.5 adds account enable/disable controls, reInitiateConnection(), and appUniqueKeys support.

└──▷ GET THIS VERSION
$ git clone --branch js-v-0.5.5 https://github.com/ComposioHQ/composio.git
# already have the repo? check out this version:
$ git checkout js-v-0.5.5
  • Adds reInitiateConnection() method for managing and re-initiating existing connections.
  • Adds appUniqueKeys as a replacement identifier for appName when referencing apps.
  • Enables enabling and disabling connected accounts via the SDK.
└──▷ BREAKING ON UPGRADE
  • !The .create() method on Connections is removed entirely — use .initiate() instead to create new connections.
  • !Integration deletion now requires an object parameter instead of a string ID.
  • !.getRequiredParams() on integrations now requires an object parameter instead of a string.
  • !.getTriggerInfo is deprecated — use .get() on Triggers instead.
v0.6.16 NOTES STABLE

Composio v0.6.16 adds new integration/connection APIs, Helicone caching, crypto kit agents, and renames trigger identifiers.

└──▷ GET THIS VERSION
$ git clone --branch v0.6.16 https://github.com/ComposioHQ/composio.git
# already have the repo? check out this version:
$ git checkout v0.6.16
  • Renames triggerId to triggerName and triggerInstanceId, and adds new methods for managing trigger connections via updated API schema.
  • Adds Helicone integration for caching OpenAI responses, reducing latency and cost for AI-backed workflows.
  • Introduces new API schema for creating integrations, initiating connections, re-initiating, and updating connections.
  • Adds crypto kit agents for cryptocurrency-related automation use cases.
└──▷ BREAKING ON UPGRADE
  • !The triggerId field is renamed to triggerName; existing code or API calls referencing triggerId will break on upgrade.
v0.6.15 NOTES STABLE

Composio v0.6.15 adds refresh_token to AuthConnectionParamsModel

└──▷ GET THIS VERSION
$ git clone --branch v0.6.15 https://github.com/ComposioHQ/composio.git
# already have the repo? check out this version:
$ git checkout v0.6.15
  • Adds refresh_token field to AuthConnectionParamsModel, exposing refresh tokens in authenticated connection parameters.
v0.6.14 NOTES STABLE

Composio v0.6.14 adds custom action support in the Vercel toolkit and updates the AutoGen tools integration.

└──▷ GET THIS VERSION
$ git clone --branch v0.6.14 https://github.com/ComposioHQ/composio.git
# already have the repo? check out this version:
$ git checkout v0.6.14
  • Supports custom actions in the Vercel toolkit, with type safety improvements.
  • Updates AutoGen tools to a new version, refreshing the AutoGen integration.
v0.6.10 NOTES STABLE

Composio v0.6.10 adds JS agent support and custom auth delegation for runtime actions.

└──▷ GET THIS VERSION
$ git clone --branch v0.6.10 https://github.com/ComposioHQ/composio.git
# already have the repo? check out this version:
$ git checkout v0.6.10
  • Adds support for delegating custom authentication to runtime actions, enabling dynamic auth injection at execution time.
  • Introduces JavaScript agent support (JS agents).
js-v-0.5.0 NOTES STABLE

Composio JS v0.5.0 adds frontend framework support, new trigger APIs, and slashes bundle size from 10 MB to 400 KB.

└──▷ GET THIS VERSION
$ git clone --branch js-v-0.5.0 https://github.com/ComposioHQ/composio.git
# already have the repo? check out this version:
$ git checkout js-v-0.5.0
└──▷ USE IT
Migrate a custom action to the new inputParams / structured callback shape required in v0.5.0.
javascript
await toolset.createAction({
  // ...other fields
  inputParams: z.object({
    name: z.string().optional()
  }),
  callback: async (params) => {
    const { name } = params;
    return {
      successful: true,
      data: { name: name || 'World' }
    };
  }
});
  • Adds getTriggerInfo and getTriggerConfig methods to the trigger interface for querying trigger metadata.
  • Exposes .apps, .actions, .triggers, and .connectedAccounts directly on toolset classes.
  • Exposes ComposioToolset from index.ts for top-level imports.
  • Adds a new typed API client with full type definitions.
  • All errors are now instances of ComposioError, each carrying an error.error_code property for programmatic debugging.
+4 moreshow less
  • Adds support for frontend frameworks including React server components.
  • Reduces bundle size from 10 MB to 400 KB, enabling use in browser and edge environments.
  • Adds improved format for PreProcessor, PostProcessor, and SchemaProcessor types.
  • Adds Zod-based early validation and improved type safety across the SDK.
└──▷ BREAKING ON UPGRADE
  • !Support for local and Docker workspaces has been removed; any code referencing workspace configurations will break.
  • !In toolset.createAction, the params argument is renamed to inputParams, and the callback signature now receives params as its argument and must return { successful: boolean, data: object } instead of a plain string. Callers using the old params key or returning plain strings must migrate.
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 →