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.
Aider v0.59.0 adds glob support for /read-only, faster large-repo launch, and editor-model sanity checks.
└──▷ GET THIS VERSION
$ git clone --branch v0.59.0 https://github.com/Aider-AI/aider.git
# already have the repo? check out this version:$ git checkout v0.59.0
└──▷ TRY IT
Add all Python files under a directory as read-only context without adding them one by one.
$ /read-only src/**/*.py
Speed up aider startup when working inside a very large repository where repo validation is slow.
$ aider --skip-sanity-check-repo--model gpt-4o
›Adds shell-style filesystem auto-complete and glob support (e.g. src/**/*.py) to the /read-only command.
›New --skip-sanity-check-repo flag skips repository sanity checks at launch to speed up startup in large repos.
›The /settings command now includes the full announcement lines printed at launch for a complete config snapshot.
›Sanity-checks the --editor-model on launch, matching the validation already applied to main and weak models.
›Repo-map generation is now deterministic with improved caching logic.
└──▷ BREAKING ON UPGRADE
!The --yes flag is renamed to --yes-always; existing YAML files using yes: and .env files using AIDER_YES must be updated to yes-always: and AIDER_YES_ALWAYS respectively.
!Config files now use standard YAML list syntax ( - list entries, one per line); existing config files using the old list format must be updated.
Autonomous coding agent as an SDK, IDE extension, or CLI assistant.
Cline gains browser control via Anthropic's Computer Use — click, type, scroll, and debug end-to-end autonomously.
└──▷ GET THIS VERSION
$ git clone --branch v2.1.0 https://github.com/cline/cline.git
# already have the repo? check out this version:$ git checkout v2.1.0
›Adds browser automation via Anthropic's Computer Use feature, enabling Cline to launch a browser and perform clicks, typing, and scrolling for runtime debugging, end-to-end testing, and general web tasks (requires Claude 3.5 Sonnet v2).
1 more release in this issue
· 2024-10-09 → 2024-10-28
Cline v2.0 streams edits live, cuts API requests 40%, and adds real-time cancel plus full OpenRouter model search.
└──▷ GET THIS VERSION
$ git clone --branch v2.0.0 https://github.com/cline/cline.git
# already have the repo? check out this version:$ git checkout v2.0.0
›Streams AI-generated edits directly into the editor with a yellow text-decoration animation showing progress in real time.
›Adds a Cancel button to stop mid-generation and redirect Cline before it goes off track.
›Replaces the rigid Tool Use / Function Calling API with a custom XML-tags approach (e.g., <read_file>, <execute_command>), reducing requests by ~40% for Claude 3.5 Sonnet and enabling reliable tool calling for non-Claude models like Llama and DeepSeek.
›Automatically fetches the full OpenRouter model list with pricing details, with search support (e.g., search "free" to find no-cost models).
›Relicensed from MIT to Apache 2.0 for stronger open-source protections.
OpenHands 0.12.0 adds function calling to CodeAct 2.1 and prompt caching for Claude 3.5 Sonnet, hitting 53% on SWE-Bench Verified.
└──▷ GET THIS VERSION
$ git clone --branch 0.12.0 https://github.com/All-Hands-AI/OpenHands.git
# already have the repo? check out this version:$ git checkout 0.12.0
›Adds function calling support to the CodeAct 2.1 agent, boosting benchmark performance to 53% on SWE-Bench Verified and 41.7% on SWE-Bench Lite — the highest score among open-source AI software engineering systems.
›Supports prompt caching for claude-3-5-sonnet-20241022, reducing latency and cost on repeated context.
›Surfaces backend error messages directly in the chat UI so practitioners see failure details without digging through logs.
3 more releases in this issue
· 2024-10-03 → 2024-10-31
Zed SSH Remoting exits alpha with broad Linux/macOS host support, plus toolchain selector, code folding by level, and .editorconfig.
└──▷ GET THIS VERSION
$ git clone --branch v0.159.5 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:$ git checkout v0.159.5
└──▷ USE IT
Restore Option-as-Meta behavior in the terminal (required for Emacs users after the default change).
json
"terminal": {
"option_as_meta": true
}
Fold all code blocks to nesting level 2 to get a high-level overview of a large file.
📍cmd-k, cmd-2
›Adds terminal.option_as_meta config key (default now false) controlling whether the Option key acts as Meta in the terminal — Terminal Emacs users should set this to true.
›Adds fold-all-blocks-at-level command: cmd-k, cmd-<number> (macOS) / ctrl-k, ctrl-<number> (Linux) to collapse code to a target nesting depth.
›Adds keybinding cmd-shift-y / ctrl-shift-y for applying hunks in Proposed Changes.
›Adds .editorconfig support for per-directory editor settings.
›Launches SSH Remoting in Beta, supporting macOS (x86_64 and aarch64) and Linux (x86_64/ARM) remote hosts including Ubuntu 20/22/24, Debian 11/12, Fedora 40/41/42, NixOS, ArchLinux, Alpine, SUSE/OpenSUSE, RedHat 8.x/9.x, Rocky Linux, CentOS Stream, AlmaLinux, Amazon Linux, and Oracle Linux.
+9 moreshow less
›Adds toolchain selector to the status bar with initial support for Rust and Python.
›Adds indent guides to the project panel and outline panel.
›Adds ability to cancel language server work in remote development sessions.
›Adds macOS Services menu integration.
›Registers .postcss files as CSS.
›Adds autoclosing of Rust multiline strings.
›Adds support for incrementing/decrementing numbers with leading zeros in Vim mode.
›Adds file icons for Gleam, Zig, Julia, SCSS, HCL, Nix, and Roc files.
›Adds support for detecting images with non-lowercase file extensions.
└──▷ BREAKING ON UPGRADE
!The terminal.option_as_meta default changed from true to false; Terminal Emacs users must explicitly set terminal.option_as_meta: true in their config to restore the previous behavior.
!The original remote development mode that routed traffic via Zed's servers is no longer available as of v0.157; SSH Remoting is now the only supported mode.
5 more releases in this issue
· 2024-10-02 → 2024-10-30
›Adds regex and caseSensitive arguments to vim::MoveToNext and vim::MoveToPrev commands, enabling per-binding control over regex and case-sensitive search behavior.
›Adds runnables for main functions in C, with a c-main tag for use in task configurations.
›Adds color swatch previews in the language server completions list.
›Streamlines new branch creation from the branch selector.
›Adds a notice in the activity indicator when an error occurs while loading the shell environment.
└──▷ BREAKING ON UPGRADE
!Built-in support for Protocol Buffers has been removed; .proto files will now prompt download of the Protocol Buffers extension instead.
Zed v0.156.0 adds snippet management commands, terminal cursor shape setting, SSH assistant panel, llama3.2 support, and expanded Vim fold operations.
└──▷ GET THIS VERSION
$ git clone --branch v0.156.0 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:$ git checkout v0.156.0
└──▷ USE IT
Set the terminal cursor to a bar shape by default instead of the standard block.
json
{
"terminal": {
"cursor_shape": "bar"
}
}
Open your personal snippets folder to add or edit custom snippets for any language.
📍snippets: open folder
›Adds snippets: configure snippets command to create and modify user snippets stored in ~/.config/zed/snippets.
›Adds snippets: open folder command to open the ~/.config/zed/snippets directory directly.
›Adds terminal.cursor_shape setting supporting values block, bar, hollow, and underline to control the terminal's default cursor shape.
›Adds editor.document_highlight.bracket_background theme field to set the background color of highlighted brackets, falling back to editor.document_highlight.read_background when unset.
›Adds Vim fold commands :fo[ld], :foldo[pen], and :foldc[lose], plus motions za (toggle fold), zO/zC/zA (open/close/toggle recursively), and zR/zM (open/close all folds).
›Enables assistant panel and inline assists when working over SSH remoting (running on client).
›Adds support for running LSP adapters on the SSH remote host.
›Adds llama3.2 model support in the AI assistant.
›Adds ability to paste images into the Assistant Panel as context on Linux Wayland.
›Adds support for using a locally installed pyright if available, rather than requiring the bundled version.
›Adds file watching support for symlinks.
›Adds keyboard shortcuts displayed inside tooltips in project search and buffer search panels.
›Improves direnv integration to use direnv export json direct mode by default instead of relying on a shell hook.
›Associates uv.lock files with the TOML language.
›Adds PHP heredoc string syntax highlighting.
›Improves C++ syntax highlighting.
└──▷ BREAKING ON UPGRADE
!Protocol Buffers language identifier renamed from proto to Proto; users must update file_types and languages settings from proto to Proto.
!To disable finding LSP adapters in your PATH, you must now specify {"lsp":{"<lsp-name>":{"binary":{"ignore_system_version": true}}}} — the previous key path_lookup: false no longer works.
Keep Zed from downloading its own Node binary and instead use your project's managed Node version (e.g. via nvm or volta).
json
{
"node": {
"disable_path_lookup": true
}
}
›Adds assistant.inline_alternatives setting to configure additional models that run inline assists in parallel alongside the primary model.
›Adds a Fix with Assistant action on code with errors or warnings, letting the AI address diagnostics inline.
›Adds node.disable_path_lookup config key (true/false) to control whether Zed uses the Node.js binary on $PATH (now the default when Node ≥ v18 is found) instead of downloading its own.
›Adds icons to the file finder for faster visual identification of file types.
›Adds a notification when user settings or project-local settings fail to deserialize.
+5 moreshow less
›Adds g-A and g-I Vim motions in visual select mode to spawn multiple cursors.
›Adds gq and gw Vim commands for rewrapping lines.
›Adds escape string highlights to JSON and JSONC files.
›Improves performance in repositories using the Git fsmonitor--daemon feature.
›Preview tabs are now permanently promoted when saved, reducing accidental tab replacement.
└──▷ BREAKING ON UPGRADE
!Zed now uses the Node.js binary on $PATH (if v18 or newer) instead of downloading its own; set {"node": {"disable_path_lookup": true}} in your settings to restore the previous download behavior.
AutoGPT platform beta v0.2.0 adds Pinecone and Jina blocks and overhauls secrets management with rotation and resealing.
└──▷ GET THIS VERSION
$ git clone --branch agpt-platform-beta-v0.2.0 https://github.com/Significant-Gravitas/AutoGPT.git
# already have the repo? check out this version:$ git checkout agpt-platform-beta-v0.2.0
›Adds support for Pinecone and Jina blocks to the blocks system, expanding integrations available for automation workflows.
›Introduces secret rotation and resealing in secrets management to reduce credential exposure risk.
›Removes dotenv dependency in favor of a streamlined platform configuration process with default secrets support.
└──▷ BREAKING ON UPGRADE
!Environment variable names were updated as part of the infrastructure configuration change — existing environment configs may need to be updated to match the new variable names.
2 more releases in this issue
· 2024-10-17 → 2024-10-31
AutoGPT Platform beta v0.1.1 adds Claude latest model support, LLM token usage tracking, and credit metering for Jina and LLM blocks.
└──▷ GET THIS VERSION
$ git clone --branch agpt-platform-beta-v0.1.1 https://github.com/Significant-Gravitas/AutoGPT.git
# already have the repo? check out this version:$ git checkout agpt-platform-beta-v0.1.1
›Tracks LLM token usage across LLM blocks, enabling consumption visibility for platform operators.
›Adds credit metering for Jina/Search and LLM blocks so usage costs are accounted per execution.
›Adds the latest Claude model version as a supported LLM option in the platform.
›Merges the login and sign-in flows into a single unified authentication screen.
›Improves block positioning logic in the flow editor to handle collisions and variable block dimensions when adding new blocks.
+1 moreshow less
›Implements a custom save keyboard shortcut in the SaveControl component.
AutoGPT Platform beta adds cross-flow block copy/paste, credential management, health endpoints, and sealed secrets.
└──▷ GET THIS VERSION
$ git clone --branch agpt-platform-beta-v0.1.0 https://github.com/Significant-Gravitas/AutoGPT.git
# already have the repo? check out this version:$ git checkout agpt-platform-beta-v0.1.0
›Adds a health endpoint to the Platform/Backend for monitoring and security checks.
›Adds a health router to the Platform for improved service monitoring.
›Introduces sealed secrets for protecting sensitive data in platform deployments.
›Introduces configmap support for builder configuration management.
›Adds copy-and-paste of blocks across different flows in the UI.
+3 moreshow less
›Adds credential listing and revocation in the user profile for account management.
›Introduces a shared DB connection for executors to optimize resource usage.
›Adds comprehensive documentation for all available blocks.
Framework for orchestrating role-playing, autonomous AI agents. By fostering collaborative intelligence, CrewAI empowers agents to work together seamlessly, tackling complex tasks.
CrewAI 0.76.9 adds crewai flow add-crew and updates the flow plot command to crewai flow plot.
└──▷ GET THIS VERSION
$ git clone --branch 0.76.9 https://github.com/crewAIInc/crewAI.git
# already have the repo? check out this version:$ git checkout 0.76.9
└──▷ TRY IT
Add a new crew to an existing flow without manually editing boilerplate — useful when extending a flow with a parallel or sequential crew.
$ crewai flow add-crew
Visualize your flow's structure to review crew connections and routing logic before deploying.
$ crewai flow plot
›New crewai flow add-crew CLI command lets you scaffold and add additional crews to an existing flow.
›Flow visualization command updated to crewai flow plot.
›Forwards install command options to uv sync for more flexible dependency management.
›Python 3.10 support added via tomli dependency.
└──▷ BREAKING ON UPGRADE
!The flow plot command is renamed from its previous form to crewai flow plot; any scripts or docs referencing the old command will break.
3 more releases in this issue
· 2024-10-11 → 2024-10-30
DSPy 2.5.9 adds reasoning/rationale support to MultiChainComparison.
└──▷ GET THIS VERSION
$ git clone --branch 2.5.9 https://github.com/stanfordnlp/dspy.git
# already have the repo? check out this version:$ git checkout 2.5.9
›Adds reasoning/rationale support to MultiChainComparison, enabling the module to incorporate chain-of-thought rationale when comparing multiple completions.
$ git clone --branch v2.6.0 https://github.com/deepset-ai/haystack.git
# already have the repo? check out this version:$ git checkout v2.6.0
└──▷ USE IT
Extract structured fields from a nested JSON source into separate Documents using jq filtering — useful for ingesting datasets where each record should become its own Document.
python
from haystack.components.converters import JSONConverter
from haystack.dataclasses import ByteStream
import json
data = {"laureates": [{"firstname": "Enrico", "surname": "Fermi", "motivation": "discovery of nuclear reactions"}]}
source = ByteStream.from_string(json.dumps(data))
converter = JSONConverter(jq_schema=".laureates[]", content_key="motivation", extra_meta_fields=["firstname", "surname"])
results = converter.run(sources=[source])
print(results["documents"][0].content) # 'discovery of nuclear reactions'
print(results["documents"][0].meta) # {'firstname': 'Enrico', 'surname': 'Fermi'}
Apply a domain-specific tokenization strategy (e.g., split on section headers) without subclassing DocumentSplitter.
python
from haystack.components.preprocessors import DocumentSplitter
from haystack.dataclasses import Document
def split_on_headers(text: str) -> list[str]:
import re
return [s for s in re.split(r'(?=^#{1,3} )', text, flags=re.MULTILINE) if s.strip()]
splitter = DocumentSplitter(split_by="function", splitting_function=split_on_headers)
result = splitter.run(documents=[Document(content="# Intro\nHello\n## Details\nMore info")])
print([d.content for d in result["documents"]])
›New JSONConverter component converts JSON files to Documents, with optional jq_schema filtering, content_key selection, and extra_meta_fields extraction.
›New TransformersZeroShotDocumentClassifier component enables binary and multi-label zero-shot document classification into user-defined classes using Hugging Face pre-trained models.
›New NLTKDocumentSplitter component splits documents by word count, sentence boundaries, and page breaks with multi-language support and configurable abbreviation handling.
›New CSVToDocument component loads CSV files as byte objects and produces Documents compatible with DocumentSplitter.
›New DocumentNDCGEvaluator component computes normalized discounted cumulative gain for retrieval evaluation when multiple ground-truth relevant documents exist and ranking order matters.
+9 moreshow less
›New GreedyVariadic input type replaces @component(is_greedy=True) — Pipeline runs the component as soon as any input arrives without waiting for all senders.
›New max_runs_per_component init argument on Pipeline replaces max_loops_allowed with clearer semantics; adds companion PipelineMaxComponentRuns exception.
›DocumentSplitter now accepts a custom splitting function via split_by='function' and splitting_function=<callable>, where the callable takes a string and returns a list of strings.
›PromptBuilder templates now support dynamic date injection via {% now '<timezone>' %} syntax, with optional offset arithmetic and strftime format strings.
›Adds azure_kwargs dictionary parameter to pass AzureOpenAI-supported parameters not explicitly defined in Haystack.
›Exposes default_headers on Azure components to forward custom HTTP headers such as APIM subscription keys.
›Adds usage meta field with prompt_tokens and completion_tokens keys to HuggingFaceAPIChatGenerator responses.
›SentenceTransformersDocumentEmbedder and SentenceTransformersTextEmbedder now propagate model_max_length from tokenizer_kwargs to the underlying max_seq_length of the SentenceTransformer model.
›Adds batching during inference in TransformerSimilarityRanker to prevent out-of-memory errors when ranking large document sets.
└──▷ BREAKING ON UPGRADE
!The legacy Haystack v1 filter syntax and operators ($and, $or, $eq, $lt, etc.) are fully removed; only the new filter syntax is accepted.
!The default model for all OpenAI-backed components changes from gpt-3.5-turbo to gpt-4o-mini.
LangChain Core 0.2.43 makes get_all_basemodel_annotations part of the public API
└──▷ GET THIS VERSION
$ git clone --branch langchain-core==0.2.43 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-core==0.2.43
›Makes get_all_basemodel_annotations a public function, allowing callers to inspect all BaseModel field annotations programmatically.
14 more releases in this issue
· 2024-10-04 → 2024-10-31
langchain-groq 0.2.1 adds support for tool_choice=any and tool_choice=required in Groq chat models.
└──▷ GET THIS VERSION
$ git clone --branch langchain-groq==0.2.1 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-groq==0.2.1
›Supports tool_choice='any' and tool_choice='required' values when binding tools to Groq chat models, enabling stricter tool-use enforcement.
langchain-core 0.3.15 adds public model-annotation utils, Bedrock↔OpenAI tool conversion, message trimming, and VectorStore id/index improvements.
└──▷ GET THIS VERSION
$ git clone --branch langchain-core==0.3.15 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-core==0.3.15
└──▷ USE IT
Convert a LangChain message list to OpenAI-compatible message dicts for direct use with the OpenAI API or any OpenAI-format endpoint.
langchain-community 0.3.4 adds Writer integration, Naver chat/embeddings, and new OpenAIAssistantV2Runnable parameters
└──▷ GET THIS VERSION
$ git clone --branch langchain-community==0.3.4 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-community==0.3.4
└──▷ USE IT
Inspect token usage and model name in a streaming response from ChatZhipuAI — useful for cost tracking and audit logging in production pipelines.
python
from langchain_community.chat_models import ChatZhipuAI
llm = ChatZhipuAI(model="glm-4")
for chunk in llm.stream("Explain zero-trust networking in one paragraph."):
print(chunk.content, end="")
if chunk.response_metadata:
print(chunk.response_metadata.get("token_usage"))
print(chunk.response_metadata.get("model_name"))
›Adds new parameters to OpenAIAssistantV2Runnable for finer control over assistant invocation.
›Adds token_usage and model_name metadata fields to ChatZhipuAIstream() and astream() responses.
›Adds Writer LLM integration via a new community integration module.
›Adds Naver chat model and embeddings integration.
›Adds async Azure AD token provider support for Azure OpenAI.
+3 moreshow less
›Updates file_path type in JSONLoader.__init__() signature.
›Modernizes the Cassandra Vector Store implementation.
›Adds anthropic.claude-3-5-sonnet-20241022-v2:0 cost details for token usage tracking.
$ git clone --branch langchain-core==0.3.14 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-core==0.3.14
›Supports converting Bedrock Converse tool format to OpenAI tool format, enabling cross-provider tool interoperability.
›Extends message trimming to work on single messages, not just sequences.
›Improves performance of InMemoryVectorStore.
›Makes get_all_basemodel_annotations part of the public API.
langchain-openai 0.2.4 adds JSON Schema response format passthrough and async Azure AD token provider support.
└──▷ GET THIS VERSION
$ git clone --branch langchain-openai==0.2.4 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-openai==0.2.4
›Supports passing a raw JSON Schema object directly as the response format for OpenAI calls, bypassing previous schema conversion requirements.
›Adds async Azure AD token provider support for Azure OpenAI, enabling non-blocking credential refresh in async applications.
langchain-community 0.3.3 adds proxy support to RecursiveUrlLoader, TLS/auth for Infinispan VectorStore, CLOB datatype support for Oracle, and extended Cassandra metadata methods.
└──▷ GET THIS VERSION
$ git clone --branch langchain-community==0.3.3 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-community==0.3.3
›Adds proxy support to RecursiveUrlLoader for crawling through HTTP proxies.
›Adds TLS and authentication support to the VectorStore Infinispan integration.
›Adds support for the CLOB datatype in the Oracle database integration.
›Extends metadata-related methods in the Cassandra Vector Store integration.
›Updates the Firecrawl Document Loader to v1 of the Firecrawl API.
langchain-openai 0.2.3 adds audio modality support and sets default temperature=1 for o1 models.
└──▷ GET THIS VERSION
$ git clone --branch langchain-openai==0.2.3 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-openai==0.2.3
›Supports audio modality for OpenAI models, enabling audio-capable API interactions through the library.
›Sets default temperature=1 for o1 models, aligning with OpenAI's recommended parameter for that model family.
langchain-core 0.3.11 adds a convert_to_openai_messages utility for message format conversion.
└──▷ GET THIS VERSION
$ git clone --branch langchain-core==0.3.11 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-core==0.3.11
›Adds convert_to_openai_messages utility function for converting messages to the OpenAI messages format.
langchain-couchbase 0.2.0 adds TTL support for caches and chat message history, plus Pydantic v2 compatibility.
└──▷ GET THIS VERSION
$ git clone --branch langchain-couchbase==0.2.0 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-couchbase==0.2.0
›Adds TTL (time-to-live) support to Couchbase-backed caches and chat_message_history, enabling automatic expiry of cached entries and stored conversation history.
›Adds Pydantic v2 compatibility across the integration, aligning with langchain-core v0.3 requirements.
$ git clone --branch langchain-community==0.3.2 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-community==0.3.2
›Adds sqlite-vec as a new vector store integration for lightweight, embedded vector similarity search.
›Adds SambaStudio chat model integration.
›Adds conversions from Graph Vector Store (GVS) to NetworkX for graph-based analysis workflows.
›Adds timeout control and retry logic for Unity Catalog (UC) tool execution.
LangChain Core 0.3.10 adds kwargs support for vector field customization and improves VectorStore ID handling.
└──▷ GET THIS VERSION
$ git clone --branch langchain-core==0.3.10 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-core==0.3.10
›Adds **kwargs to index and aindex functions to support custom vector_field configuration in vector store indexing.
›Improves support for id in VectorStore, enabling more reliable document identity handling.
›Adds utility functions for adding and subtracting usage metadata.
langchain-fireworks 0.2.1 allows tool_choice with multiple tools and relaxes model_kwargs field validation.
└──▷ GET THIS VERSION
$ git clone --branch langchain-fireworks==0.2.1 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-fireworks==0.2.1
›Supports tool_choice when multiple tools are provided, enabling tool selection control in multi-tool call scenarios.
›No longer raises an error for unrecognized fields passed via model_kwargs, allowing forward-compatible model configurations.
langchain-anthropic 0.2.2 adds richer token-usage detail via usage_metadata.
└──▷ GET THIS VERSION
$ git clone --branch langchain-anthropic==0.2.2 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-anthropic==0.2.2
›Adds usage_metadata details to Anthropic model responses, exposing richer token-usage information.
langchain-core 0.3.9 adds detailed UsageMetadata fields and tolerates extra model_kwargs without errors.
└──▷ GET THIS VERSION
$ git clone --branch langchain-core==0.3.9 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-core==0.3.9
›Adds details to UsageMetadata to expose richer token/usage information from model responses.
›Stops raising errors when unknown fields are passed in model_kwargs, improving forward compatibility with new model parameters.
LangGraph 0.2.42 improves nested streaming in RemoteGraph with proper parent-graph stream mode propagation.
└──▷ GET THIS VERSION
$ git clone --branch 0.2.42 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout 0.2.42
└──▷ USE IT
Stream a remote subgraph from a parent graph, letting the parent's stream modes flow through to the RemoteGraph automatically.
python
from langgraph.pregel.remote import RemoteGraph
remote = RemoteGraph("my-remote-graph", url="http://localhost:8000")
# When invoked as a subgraph, RemoteGraph now inherits and propagates
# the parent graph's stream modes and namespace context automatically.
async for chunk in remote.astream(
{"input": "hello"},
config={"configurable": {"thread_id": "abc"}},
stream_mode="updates",
):
print(chunk)
›Enables RemoteGraph to accept stream-mode configuration from parent graphs and propagate it correctly through nested graph hierarchies.
›Supports namespace information propagation between parent and child graphs during streaming sessions.
›Removes events stream mode support in Pregel, as it was never functional.
└──▷ BREAKING ON UPGRADE
!The events stream mode is explicitly no longer supported in Pregel; any working setup that requested events as a stream mode will no longer function.
12 more releases in this issue
· 2024-10-01 → 2024-10-31
Apply fine-grained ToolNode error handling: catch only specific exception types and format the error dynamically.
python
from langgraph.prebuilt import ToolNode
tool_node = ToolNode(
tools,
handle_tool_errors=(ValueError, KeyError), # only catch these types
)
# — or use a callable for dynamic formatting —
tool_node = ToolNode(
tools,
handle_tool_errors=lambda exc: f"Tool failed: {type(exc).__name__}: {exc}",
)
›Adds DuckDB checkpointing support via the new langgraph-checkpoint-duckdb package.
›Adds messages_key parameter to ToolNode and tools_condition for flexible integration with non-standard state schemas.
›Enhances ToolNode error handling: accepts a boolean, custom string, callable, or tuple of exception types to selectively catch and format errors, and attaches status="error" to error tool messages.
›Adds concurrency limiting to AsyncBackgroundExecutor via max_concurrency config parameter and semaphore-based gated utility.
›Adds node_finished callback parameter to PregelRunner via CONFIG_KEY_NODE_FINISHED for node-completion hooks.
+1 moreshow less
›Improves schema inference in StateGraph for class method node functions via the extracted _get_input_schema_from_type_hint helper.
LangGraph SDK 0.1.35 adds error-handling control to wait and raises default timeouts to 300 s
└──▷ GET THIS VERSION
$ git clone --branch sdk==0.1.35 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout sdk==0.1.35
└──▷ USE IT
Poll a long-running graph run without crashing your process on error — inspect the result yourself instead of catching an exception.
python
result = await client.wait(thread_id, run_id, raise_error=False)
if "__error__" in result:
print("Run failed:", result["__error__"])
›Adds raise_error parameter to LangGraphClient.wait and SyncLangGraphClient.wait, letting callers suppress exception raising and inspect error objects directly.
›Increases default read/write timeouts from 60 s to 300 s in get_client and get_sync_client, enabling reliable use with long-running graph operations.
LangGraph SDK 0.1.34 adds if_not_exists parameter and new "error" thread status for safer run handling.
└──▷ GET THIS VERSION
$ git clone --branch sdk==0.1.34 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout sdk==0.1.34
└──▷ USE IT
Auto-provision a thread on first run so a new user session starts without a separate thread-creation step.
python
async for chunk in client.runs.stream(
thread_id=user_thread_id,
assistant_id="my-assistant",
input={"messages": [{"role": "user", "content": "Hello"}]},
if_not_exists="create",
):
print(chunk)
Gate on thread existence explicitly — raise fast if the thread ID supplied by a client is stale or invalid.
python
result = await client.runs.wait(
thread_id=incoming_thread_id,
assistant_id="my-assistant",
input={"messages": [{"role": "user", "content": "Continue"}]},
if_not_exists="reject", # raises if thread_id not found
)
›Adds if_not_exists parameter to stream, create, and wait client methods, letting callers auto-create a missing thread ("create") or reject the operation ("reject") instead of always raising.
›Adds "error" as a valid ThreadStatus value, surfacing when an exception occurred during task processing.
›Widens type annotations for stream_mode, interrupt_before, interrupt_after, and feedback_keys from list to Sequence, accepting tuples and other sequences without casting.
$ git clone --branch 0.2.39 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout 0.2.39
└──▷ USE IT
Suppress a cost-tracking or internal chat model call from appearing in the user-facing stream.
python
from langgraph.constants import TAG_NOSTREAM
# When binding or invoking a chat model you want kept off the stream,
# pass TAG_NOSTREAM as a tag so StreamMessagesHandler skips it.
silent_model = llm.with_config({"tags": [TAG_NOSTREAM]})
# Use silent_model inside a node as normal — its tokens won't be streamed.
def my_node(state):
result = silent_model.invoke(state["messages"])
return {"messages": [result]}
Catch and branch on specific LangGraph error categories in production error handlers.
python
from langgraph.errors import ErrorCode
from langgraph.errors import GraphRecursionError
try:
graph.invoke(inputs)
except GraphRecursionError as e:
if ErrorCode.GRAPH_RECURSION_LIMIT.value in str(e):
# surface a user-friendly message or increase recursion_limit
print("Graph hit recursion limit — consider increasing recursion_limit or breaking cycles.")
›New TAG_NOSTREAM constant in langgraph.constants lets you tag chat models to suppress their output from the stream.
›New ErrorCode enum in langgraph.errors provides standardized codes (GRAPH_RECURSION_LIMIT, INVALID_CONCURRENT_GRAPH_UPDATE, INVALID_GRAPH_NODE_RETURN_VALUE, MULTIPLE_SUBGRAPHS) for programmatic error handling.
›New create_error_message helper in langgraph.errors generates consistent error messages with links to troubleshooting documentation.
›StreamMessagesHandler now respects TAG_NOSTREAM on chat model starts and TAG_HIDDEN on chain starts for fine-grained control over what gets streamed.
LangGraph 0.2.37 adds RemainingSteps managed value and LoopProtocol for finer-grained loop termination control.
└──▷ GET THIS VERSION
$ git clone --branch 0.2.37 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout 0.2.37
└──▷ USE IT
Guard an agent node against runaway tool calls by checking how many steps remain — useful when you want to abort gracefully before hitting the recursion limit.
python
from langgraph.managed import RemainingSteps
def agent_node(state, remaining_steps: RemainingSteps):
if remaining_steps < 2:
# Not enough headroom — return a safe fallback instead of calling tools
return {"messages": [AIMessage(content="Stopping early: too few steps remaining.")]}
# ... normal tool-calling logic
return model_with_tools.invoke(state["messages"])
›Adds RemainingSteps managed value to expose the number of remaining steps during loop execution, usable alongside IsLastStep for precise loop control.
›Introduces LoopProtocol interface, giving managed values and channels structured access to loop execution context (config, store, stream, step, stop).
›Improves checkpointing in nested loops with proper parent configuration propagation via updated patch_checkpoint_map.
└──▷ BREAKING ON UPGRADE
!The ManagedValue.__call__ signature no longer accepts a step parameter; callers that passed step explicitly will break.
LangGraph 0.2.36 adds RemoteGraph for interacting with hosted LangGraph deployments via the LangGraph API.
└──▷ GET THIS VERSION
$ git clone --branch 0.2.36 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout 0.2.36
└──▷ USE IT
Connect to a remotely hosted LangGraph deployment and stream results — useful when your graph runs in production and you want to interact with it programmatically from a client.
python
from langgraph.pregel.remote import RemoteGraph
remote_graph = RemoteGraph(
url="https://my-deployment.langgraph.app",
api_key="<your-api-key>",
graph_id="my-graph"
)
async for chunk in remote_graph.astream({"input": "Hello"}):
print(chunk)
›New RemoteGraph class enables invoking, streaming, and inspecting state on remote LangGraph deployments through the LangGraph API.
›New PregelProtocol defines a standard interface for interacting with graphs, providing both sync and async methods for state management, visualization, subgraph traversal, and execution.
›Adds a result field to PregelTask to store and access structured task execution results in state snapshots.
$ git clone --branch sdk==0.1.33 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout sdk==0.1.33
└──▷ USE IT
Inspect the checkpoint produced after patching thread state, so you can resume from or verify the exact saved point.
python
response = await client.threads.update_state(
thread_id=thread_id,
values={"messages": [{"role": "assistant", "content": "Corrected reply"}]},
)
print(response) # ThreadUpdateStateResponse with checkpoint info
Consume custom stream events alongside standard ones to handle application-defined data emitted during a run.
python
async for chunk in client.runs.stream(
thread_id=thread_id,
assistant_id=assistant_id,
input={"messages": [{"role": "user", "content": "Hello"}]},
stream_mode=["messages", "custom"],
):
print(chunk)
›Supports passing "*" to interrupt_before/interrupt_after parameters in RunsClient and CronClient to interrupt all nodes without listing them individually.
›Adds "custom" option to StreamMode, giving more flexibility in how streams are handled.
›update_state now returns a ThreadUpdateStateResponse containing checkpoint information instead of None.
›Expands update_statevalues parameter to accept Sequence[dict] in addition to a single dict, enabling multi-dictionary state updates.
└──▷ BREAKING ON UPGRADE
!update_state on ThreadsClient and SyncThreadsClient now returns ThreadUpdateStateResponse instead of None — code that assumes a None return (e.g., ignores or asserts on the return value) will behave differently.
LangGraph 0.2.35 adds cross-thread memory for agents and a new find_subgraph_pregel utility for nested graph introspection.
└──▷ GET THIS VERSION
$ git clone --branch 0.2.35 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout 0.2.35
└──▷ USE IT
Inspect a compiled runnable to find whether it contains a Pregel subgraph, useful before attaching a checkpointer to a nested graph.
python
from langgraph.pregel.utils import find_subgraph_pregel
subgraph = find_subgraph_pregel(my_runnable)
if subgraph:
print("Found Pregel subgraph:", subgraph)
›Adds cross-thread memory support in agent executors, enabling agents to retain information across separate conversation threads.
›Introduces find_subgraph_pregel utility to recursively locate Pregel subgraphs within runnable components — useful for checkpoint handling and graph introspection.
›Enhances map_debug_checkpoint to include task state information and properly maintain checkpoint namespaces for nested subgraph debugging.
AsyncPostgresStore now inherits from AsyncBatchedBaseStore, enabling efficient batched async operations.
└──▷ GET THIS VERSION
$ git clone --branch checkpointpostgres==2.0.1 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout checkpointpostgres==2.0.1
›Enables batched async operations in AsyncPostgresStore via AsyncBatchedBaseStore inheritance, reducing round-trips for high-throughput workloads.
›Adds explicit ORDER BY updated_at DESC to search queries in PostgresStore, providing consistent, deterministic result ordering.
└──▷ BREAKING ON UPGRADE
!BasePostgresStore is no longer a direct subclass of BaseStore; code that relied on that inheritance chain (e.g., isinstance checks or super() calls through BasePostgresStore) will break.
!_deserializer is now a class attribute on BasePostgresStore rather than an instance attribute set in __init__; subclasses that override or reference self._deserializer set during __init__ may behave differently.
LangGraph 0.2.34 adds a store parameter to create_react_agent for cross-thread persistence.
└──▷ GET THIS VERSION
$ git clone --branch 0.2.34 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout 0.2.34
└──▷ USE IT
Persist memory across multiple user conversations by wiring a store into a ReAct agent at creation time.
python
from langgraph.prebuilt import create_react_agent
agent = create_react_agent(
model=llm,
tools=tools,
checkpointer=checkpointer, # single-thread (per-conversation) state
store=store, # cross-thread (multi-user) persistence
)
›Adds store parameter to create_react_agent, enabling data persistence across multiple threads (e.g., different users or conversations) alongside the existing checkpointer parameter.
›Adds a warning when InjectedStore annotation is used without langchain-core >= 0.3.8, surfacing the dependency requirement at runtime.
LangGraph 0.2.33 adds InjectedStore annotation so tools can read/write the LangGraph store without exposing it to the model.
└──▷ GET THIS VERSION
$ git clone --branch 0.2.33 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout 0.2.33
└──▷ USE IT
Give a tool direct access to the LangGraph store (e.g. to look up or persist memory) without surfacing the store parameter to the LLM.
python
from typing import Annotated
from langgraph.prebuilt.tool_node import InjectedStore
from langgraph.store.base import BaseStore
def save_note(note: str, store: Annotated[BaseStore, InjectedStore()]) -> str:
"""Save a note to the store."""
store.put(("notes",), "latest", {"text": note})
return "Saved."
›Adds InjectedStore annotation to inject LangGraph store objects directly into tool arguments, hiding them from the tool-calling model (similar to InjectedState).
›Enhances ToolNode to automatically detect and inject the store for tools annotated with InjectedStore, with precomputed caching of state and store arguments for efficiency.
›Enables RunnableCallable keyword arguments to override config values in invoke and ainvoke, giving callers finer control over execution.
LangGraph SDK 0.1.32 adds a key-value Store API with namespaced put, get, delete, search, and list operations for both async and sync clients.
└──▷ GET THIS VERSION
$ git clone --branch sdk==0.1.32 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout sdk==0.1.32
└──▷ USE IT
Persist and retrieve agent memory across runs by storing key-value data in a user-scoped namespace.
python
from langgraph_sdk import get_client
client = get_client()
# Store a user preference
await client.store.put_item(
namespace=("users", "alice"),
key="preferences",
value={"theme": "dark", "language": "en"}
)
# Retrieve it later
item = await client.store.get_item(
namespace=("users", "alice"),
key="preferences"
)
print(item["value"])
Search stored items within a namespace prefix to find relevant context for an agent, with filtering.
python
from langgraph_sdk import get_client
client = get_client()
results = await client.store.search_items(
namespace_prefix=("users",),
filter={"language": "en"}
)
for item in results["items"]:
print(item["namespace"], item["key"], item["value"])
Use the synchronous client in a non-async script to list all namespaces under a given prefix.
python
from langgraph_sdk import get_sync_client
client = get_sync_client()
namespaces = client.store.list_namespaces(prefix=("users",))
for ns in namespaces["namespaces"]:
print(ns)
›New StoreClient and SyncStoreClient classes provide async and sync key-value storage with put_item, get_item, delete_item, search_items, and list_namespaces methods.
›Adds store property to LangGraphClient and SyncLangGraphClient for direct access to the new store API.
›Exposes get_sync_client in module exports for easier access to the synchronous client.
›New Item, ListNamespaceResponse, and SearchItemsResponse TypedDicts formalize storage operation schemas.
›Adds output_schema field to the GraphSchema TypedDict.
+1 moreshow less
›HttpClient and SyncHttpClient now support JSON payloads in DELETE requests.
Letta 0.5.1 adds Composio/CrewAI/LangChain tool auto-loading, multi-agent swarm support, and new context-window and tool APIs.
└──▷ GET THIS VERSION
$ git clone --branch 0.5.1 https://github.com/letta-ai/letta.git
# already have the repo? check out this version:$ git checkout 0.5.1
└──▷ TRY IT
Auto-load Composio tools on server startup so agents can use them without manual registration.
$ export LETTA_LOAD_DEFAULT_EXTERNAL_TOOLS=true
export COMPOSIO_API_KEY=<your_key>
pip install 'letta[external-tools,server]'
letta server
›Adds LETTA_LOAD_DEFAULT_EXTERNAL_TOOLS=true environment variable to auto-load tools from Composio, CrewAI, and LangChain when running letta server (install via letta[external-tools,server]).
›Adds put_inner_thoughts_in_kwargs field to LLMConfig so models like gpt-4o-mini that require inner thoughts as keyword arguments in tool calls work correctly, including streaming support.
›Adds a GET route to retrieve the breakdown of an agent's context window, plus library functions to get a context window overview.
›Adds a DELETE endpoint to remove a file from a source.
›Adds an endpoint to retrieve full Tool objects belonging to an agent.
+4 moreshow less
›Adds pagination support for the list-tools endpoint.
›Adds function IDs to LettaMessage function calls and responses.
›Adds support for agent 'swarm' (multi-agent) orchestration.
›Removes the requirement for authentication to use the Letta server and ADE; agents are now assigned a default user_id automatically, and user_id can still be passed via BEARER_TOKEN.
└──▷ BREAKING ON UPGRADE
!The Admin client and admin authentication are removed; Letta server no longer requires creating a user before creating an agent, and external services are now expected to manage users and authentication.
2 more releases in this issue
· 2024-10-04 → 2024-10-23
Letta 0.5.0 adds env-var-driven multi-provider model listing, Groq/Mistral/vLLM support, agent types, automated DB migrations, and a multi-message POST API.
└──▷ GET THIS VERSION
$ git clone --branch 0.5.0 https://github.com/letta-ai/letta.git
# already have the repo? check out this version:$ git checkout 0.5.0
└──▷ TRY IT
Run a Letta server with multiple providers active simultaneously, so agents can use any available model without restarting.
$ export OPENAI_API_KEY=sk-...
export ANTHROPIC_API_KEY=sk-ant-...
export OLLAMA_BASE_URL=http://localhost:11434
letta server
›Enables model providers via environment variables (OPENAI_API_KEY, ANTHROPIC_API_KEY, OLLAMA_BASE_URL) so a single letta server can serve agents with different model configurations concurrently without restart.
›Adds VLLMProvider support, enabling vLLM-served models to appear in the CLI and ADE model dropdowns when configured.
›Adds Groq as a provider option, with Llama 3.1 70b available for selection.
›Adds MistralProvider as a new model provider option.
›Refactors the POSTagent/messages API endpoint to accept multiple messages in a single request.
+6 moreshow less
›Adds AssistantMessage subtype support for LettaMessage in the API.
›Introduces agent types via a new agent types capability.
›Supports automated database migrations via Alembic, enabling future schema changes without manual intervention.
›Persists tools to the database when saving an agent.
›Lists available LLM and embedding models dynamically for Ollama, Azure OpenAI, and Google AI (Gemini) providers in the CLI and ADE dropdowns.
›Enables adding files to agents via the ADE.
└──▷ BREAKING ON UPGRADE
!The letta configure and letta quickstart commands are deprecated and removed; provider configuration is now done via environment variables.
!The ~/.letta/config file is no longer used for specifying default LLMConfig and EmbeddingConfig; these must now be explicitly specified per agent at creation time.
!LLMConfig and EmbeddingConfig are now required fields for agent creation.
›Adds function calling support for Gemini models (Part 2), expanding tool-use capabilities to Google's Gemini backend.
›Enables function calling in AutoBuild, allowing automatically constructed agent teams to invoke tools.
›Adds LangChain integration example, demonstrating interoperability between LangChain and AutoGen agents.
›Adds Couchbase as a supported vector database backend with an example notebook.
+1 moreshow less
›Adds Zep memory integration with documentation and notebook.
└──▷ BREAKING ON UPGRADE
!The Text Cache default is changed to None (previously a non-None default); setups relying on the old default cache behavior will no longer cache by default after upgrading.
1 more release in this issue
· 2024-10-02 → 2024-10-23
Semantic Kernel 1.26.0 adds AWS Bedrock connector, parallel function calls, ME.AI bidirectional adapters, and Native AOT support.
└──▷ GET THIS VERSION
$ git clone --branch dotnet-1.26.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout dotnet-1.26.0
└──▷ USE IT
Interop between Semantic Kernel services and Microsoft.Extensions.AI consumers using the new bidirectional adapters.
csharp
// Wrap an SK IChatCompletionService as an ME.AI IChatClient
IChatClient chatClient = kernel.GetRequiredService<IChatCompletionService>().AsChatClient();
›Adds ParallelFunctionCalls option to control parallel function call execution in .NET.
›Adds a streaming flag to filter context models, enabling streaming-aware filtering.
›Adds Amazon AWS Bedrock connector for .NET, expanding model provider integrations.
›Enables bidirectional adapters between Semantic Kernel and Microsoft.Extensions.AI interfaces.
›Adds GenericDataModel support to the Pinecone VectorStore connector.
+5 moreshow less
›Allows any key type when using a custom collection factory in VectorStore.
›Adds Native AOT support for .NET.
›Adds state management support to Processes (Part 1), enabling stateful process steps.
›Facilitates parallel execution of LocalProcess in .NET Processes.
›Updates Azure AI Inference to beta.2.
8 more releases in this issue
· 2024-10-02 → 2024-10-31
Semantic Kernel Python 1.13.0 adds Ollama tool call and image content support plus parallel tool call control for OpenAI.
└──▷ GET THIS VERSION
$ git clone --branch python-1.13.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout python-1.13.0
└──▷ USE IT
Disable parallel tool calls in an OpenAI chat completion request to force sequential tool execution.
python
from semantic_kernel.connectors.ai.open_ai import OpenAIChatPromptExecutionSettings
settings = OpenAIChatPromptExecutionSettings(
parallel_tool_calls=False
)
›Adds parallel_tool_calls attribute to OpenAI chat prompt execution settings, enabling control over whether OpenAI calls tools in parallel during a completion.
›Adds support for Ollama tool calls and image content, bringing multimodal and function-calling capabilities to the Ollama connector.
›Allows callers to specify pre-existing file IDs when creating an assistant, avoiding redundant file uploads.
Semantic Kernel Python 1.12.0 adds ONNX and AWS Bedrock connectors, PostgreSQL vector store, process framework, and structured output support.
└──▷ GET THIS VERSION
$ git clone --branch python-1.12.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout python-1.12.0
›Adds 'low' severity level to the ContentFilterResultSeverity enum, expanding content filter granularity.
›Adds a new ONNX connector for local model inference via the Semantic Kernel connector interface.
›Adds a new AWS Bedrock connector for integrating Bedrock-hosted models.
›Adds Vector Store support to the PostgreSQL connector.
›Adds OpenAI Structured Output response_format support for constrained, schema-driven completions.
+3 moreshow less
›Adds streaming code output for OpenAI Assistants, surfacing code interpreter results in real time.
›Adds ability to specify a default timeout for the Assistant polling operation.
›Introduces the Python process framework for orchestrating multi-step agent processes.
Semantic Kernel .NET 1.25.0 adds Pinecone vector search, MongoDB memory connector, SQL Server vector support, concurrent parallel function calls, and streaming tool call output.
└──▷ GET THIS VERSION
$ git clone --branch dotnet-1.25.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout dotnet-1.25.0
›Adds vector search support to the Pinecone connector for .NET.
›Adds a MongoDB connector implementation for the new memory/vector design in .NET.
›Adds SQL Server vector support (Dm/sqlserver/vector) for .NET.
›Invokes parallel function calls concurrently in .NET, enabling parallel tool execution in a single inference turn.
›Scopes step IDs to a process in .NET Processes, reducing cross-process ID collisions.
+9 moreshow less
›Supports shared runtime code for .NET Processes.
›Emits streaming function call content for the Assistant Agent in .NET.
›Adds server URLs to additional properties in .NET OpenAPI/connector metadata.
›Adds the ability to specify a default timeout for polling operations in the Python SDK.
›Returns streaming tool call output to the caller in the Python SDK.
›Improves vector search query in the Azure CosmosDB NoSQL connector for .NET.
›Adds image-to-text support to the RAG sample for .NET.
›Adds .NET samples showing interop with LangChain-ingested data.
›Adds an example for retrieving citations from a 'chat with data' response in .NET.
Semantic Kernel dotnet-1.24.1 adds a SQLite vector store connector and JSON Schema generation for .NET Processes.
└──▷ GET THIS VERSION
$ git clone --branch dotnet-1.24.1 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout dotnet-1.24.1
›Adds SQLite connector for the new memory/vector store design (Microsoft.SemanticKernel.Connectors.Sqlite or equivalent vectordata implementation).
›.NET Processes now generates JSON Schema from a Type directly, replacing manual schema definition.
Semantic Kernel .NET adds a Dapr runtime backend for the Process framework.
└──▷ GET THIS VERSION
$ git clone --branch dotnet-1.24.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout dotnet-1.24.0
›Adds a Dapr runtime for the Processes framework, enabling distributed, durable process orchestration via Dapr.
Semantic Kernel .NET 1.23.0 adds new Process error handling, fluent edge building, VectorStore search, ONNX and Bedrock connectors, and CreateFromType factory methods.
└──▷ GET THIS VERSION
$ git clone --branch dotnet-1.23.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout dotnet-1.23.0
›Adds OnError event handling exposure in .NET Processes via Expose OnError Event Handling, enabling structured error routing within process graphs.
›Adds fluent edge building API for .NET Processes, allowing process step connections to be defined with a fluent builder pattern.
›Adds CreateFromType and CreateMetadataFromType static factory methods for constructing kernel function metadata from CLR types.
›Adds AddVectorStoreTextSearch support for service IDs on dependencies, allowing named DI registrations to be resolved for text search services.
›Adds collection registration methods for the InMemory vector store connector, enabling IVectorStore collection lifecycle management in-process.
+14 moreshow less
›Removes the class constraint from VectorStore record generics, allowing value types and non-reference types as vector store records.
›Removes the notnull constraint from the generic data model for vector records.
›Adds default index kind and distance function defaults for the Azure CosmosDB MongoDB connector.
›Adds default index kind and distance function defaults for the Azure CosmosDB NoSQL connector.
›Adds getting-started samples for Text Search, covering InMemory, Qdrant, and Google text search integrations.
›Adds vector search RAG sample demonstrating retrieval-augmented generation with the VectorStore abstraction.
›Moves VectorStore abstractions and VolatileVectorStore to updated package locations in preparation for stable release.
›Adds OpenAI support to the RAG sample.
›Makes the endpoint parameter in AddHuggingFaceChatCompletion optional.
›Adds backward compatibility and data migration examples for VectorStore record schemas.
›Adds Python Bedrock connector for Amazon Bedrock model access.
›Adds Python ONNX connector for local ONNX model inference.
›Adds low severity level to the Python ContentFilterResultSeverity enum.
›Adds process abstractions and core builders updated in preparation for Dapr runtime support.
$ git clone --branch dotnet-1.22.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout dotnet-1.22.0
›Adds optional version parameter to Azure OpenAI API connectors, allowing callers to pin a specific API version per request.
›Expands ITextToImageService abstractions to support ExecutionSettings, enabling per-call generation configuration.
›Adds token usage and other metadata to Assistant agent responses for cost and observability tracking.
›Adds usage metadata to OpenAI streaming chunks, surfacing token counts during streamed completions.
›Implements generic data model support for the Weaviate connector, matching the generic data model pattern available in other vector store connectors.
+7 moreshow less
›Supports sub-processes in the Process Framework, enabling nested process composition.
›Includes code and output generated by the code-interpreter tool in streaming output for agent runs.
›Adds lazy step initialization to the Process Framework.
›Improves mapper efficiency for Pinecone and Redis hashsets.
›Improves mapping efficiency for Qdrant by removing the JSON intermediary layer.
›Updates OpenAI connector to 2.0.0-beta.12 and Azure OpenAI connector to 2.0.0-beta.6.
›Updates Azure/OpenAI connectors to 2.1.0-beta.1.
└──▷ BREAKING ON UPGRADE
!Gemini connector no longer throws an exception on invalid responses — previously raised exceptions are suppressed, which may change error-handling behavior in code that caught those exceptions.
Semantic Kernel Python 1.11.0 adds streaming support for OpenAI Assistants and improved Anthropic function calling.
└──▷ GET THIS VERSION
$ git clone --branch python-1.11.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout python-1.11.0
›Adds streaming support for OpenAI Assistants, enabling real-time token-by-token output from assistant runs.
›Updates Anthropic function calling to support latest function-calling capabilities in the Anthropic integration.
camel-ai v0.2.3 adds WhatsApp, Discord, Slack, Arxiv, Google Scholar, AskNews, and Chunkr integrations plus FunctionTool refactor
└──▷ GET THIS VERSION
$ git clone --branch v0.2.3 https://github.com/camel-ai/camel.git
# already have the repo? check out this version:$ git checkout v0.2.3
└──▷ USE IT
Drop system_message to spin up a minimal ChatAgent without boilerplate role definition.
python
from camel.agents import ChatAgent
agent = ChatAgent() # system_message now optional
response = agent.step('Summarize the latest AI news')
print(response.msg.content)
Wrap a plain Python function as a FunctionTool (formerly OpenAIFunction) and attach it to an agent.
python
from camel.toolkits import FunctionTool
from camel.agents import ChatAgent
def get_weather(city: str) -> str:
return f'Sunny in {city}'
tool = FunctionTool(get_weather)
agent = ChatAgent(tools=[tool])
response = agent.step('What is the weather in Paris?')
print(response.msg.content)
›Renames OpenAIFunction to FunctionTool, providing a unified interface for defining callable tools across agents.
›Makes system_message optional in ChatAgent, reducing boilerplate for minimal agent setups.
›Adds ChatAgent interface enhancements and a configurable default model setting.
›New ArxivToolkit for querying and retrieving academic papers from arXiv.
›New GoogleScholarToolkit for searching Google Scholar from within agents.
+7 moreshow less
›New AskNewsToolkit for fetching live news context inside agent workflows.
›Integrates WhatsApp messaging as a new toolkit for agent-driven communication.
›Integrates Discord as a new app toolkit, enabling agents to interact with Discord channels.
›Integrates Slack as a new app toolkit, enabling agents to interact with Slack workspaces.
›Integrates Chunkr for document chunking and processing workflows.
›Adds Mistral ministral-3b and ministral-8b model support.
›Adds AgentOps observability support for SambaNova-hosted models.
└──▷ BREAKING ON UPGRADE
!The model parameter in ModelFactory is renamed to model_type; any code passing model= as a keyword argument will break.
1 more release in this issue
· 2024-10-10 → 2024-10-22
KoboldCpp v1.76 adds Anti-Slop phrase banning via banned_strings and a new Roleplay Character Creator scenario in Kobold Lite.
└──▷ GET THIS VERSION
$ git clone --branch v1.76 https://github.com/LostRuins/koboldcpp.git
# already have the repo? check out this version:$ git checkout v1.76
└──▷ TRY IT
Block overused filler phrases from LLM output to reduce 'slop' — useful when running automated generation pipelines where clichéd phrases degrade quality.
$ curl -s http://localhost:5001/api/v1/generate -H 'Content-Type: application/json' -d '{"prompt": "Tell me a story.", "banned_strings": ["In the realm of", "suddenly", "little did he know"]}'
›Adds Anti-Slop Sampling (Phrase Banning) via the banned_strings field: up to 48 case-insensitive words or phrases can be blocked by backtracking and regenerating when they appear in output.
›The /api/extra/perf/ endpoint now returns whether the instance was launched in quiet mode (terminal output suppression).
›Adds timestamp information to each request start event.
›Adds a new Roleplay Character Creator scenario in Kobold Lite: a wizard-driven UI for building roleplay bots with the Aesthetic UI, with support for loading pre-existing Tavern Character Cards.
LocalAI v2.22.1 adds Sprig templating and text extraction for multimodal requests, plus Phi-3 Vision and 30+ new gallery models.
└──▷ GET THIS VERSION
$ git clone --branch v2.22.1 https://github.com/mudler/LocalAI.git
# already have the repo? check out this version:$ git checkout v2.22.1
›Adds Sprig template functions to multimodal templates, enabling richer data manipulation in prompt construction.
›Adds text extraction from multimodal requests in templates, allowing templates to pull plain text out of mixed-media inputs.
›Adds phi-3 vision to the model gallery, enabling multimodal vision inference locally.
›Adds 30+ new models to the gallery, including llama-3.1-nemotron-70b-instruct-hf, supernova-medius, cursorcore-qw2.5-7b-i1, ml-ms-etheris-123b, and multiple CursorCore, Hermes-3, and Llama-3.x variants.
1 more release in this issue
· 2024-10-12 → 2024-10-21
›Adds template.video, template.image, and template.audio keys to model YAML config to override per-backend multimodal placeholder notation (e.g. <|video_{{.ID}}|> {{.Text}}).
›Extends the chat completions API to accept video_url and audio content types alongside images, enabling video and audio understanding via the vLLM backend.
›Lists all currently loaded models via the GET /system endpoint for real-time model management.
›Adds a tokenization endpoint to the API.
›Adds token metrics retrieval to the GRPC server.
+3 moreshow less
›Adds a correlationID field to chat request tracking via the API.
›Adds force-shutdown capability for backends.
›The Transformers backend now reuses an already-downloaded model instead of re-downloading it.
SGLang v0.3.4.post1 adds an offline Engine API, overlap scheduler, async/streaming engine support, and new model/hardware coverage.
└──▷ GET THIS VERSION
$ git clone --branch v0.3.4.post1 https://github.com/sgl-project/sglang.git
# already have the repo? check out this version:$ git checkout v0.3.4.post1
└──▷ TRY IT
Tune continuous decode batch size from the CLI to reduce CPU overhead on high-throughput serving deployments.
oobabooga textgen v1.15 adds XTC sampler, sortable repetition penalties, and ExLlamaV2 tensor parallelism for multi-GPU inference.
└──▷ GET THIS VERSION
$ git clone --branch v1.15 https://github.com/oobabooga/textgen.git
# already have the repo? check out this version:$ git checkout v1.15
›Adds xtc to the Sampler priority ordering keywords, alongside new keywords repetition_penalty, presence_penalty, frequency_penalty, dry, encoder_repetition_penalty, and no_repeat_ngram, enabling fine-grained control over the order repetition penalties are applied.
›Adds Exclude Top Choices (XTC) sampler to boost creativity, break writing clichés, and inhibit non-verbatim repetition.
›Enables ExLlamaV2 tensor parallelism to increase multi-GPU inference speeds.
›Removes AutoAWQ, AutoGPTQ, HQQ, and AQLM from requirements.txt; these can still be installed manually.
›Adds a beforeunload confirmation dialog when leaving the page to prevent accidental session loss.
+2 moreshow less
›Updates API documentation with examples to list and load models.
›Defers PEFT import until needed, reducing web UI launch time.
└──▷ BREAKING ON UPGRADE
!AutoAWQ and AutoGPTQ are removed from requirements.txt due to lack of support for PyTorch 2.4.1 and CUDA 12.1; setups relying on these quantization backends must install them manually.
!HQQ and AQLM are removed from requirements.txt; setups using these experimental backends must install them manually.
›Adds VLLM_TORCH_COMPILE_LEVEL environment variable to control torch.compile compilation levels; setting VLLM_TORCH_COMPILE_LEVEL=3 enables Inductor full graph compilation without vLLM custom ops.
›Adds VLLM_SKIP_P2P_CHECK flag to skip peer-to-peer GPU connectivity checks in distributed deployments.
›Moves guided decoding params into SamplingParams, unifying the interface for structured-output control.
›Makes scheduling policy settable via EngineArgs, enabling priority-based scheduling to be configured at engine startup.
›Adds support for Llama 3.1 and 3.2 tool use via the tool calling interface.
+21 moreshow less
›Adds tool calling support for InternLM2.5 models.
›Adds new text models: Granite MoE and Mamba.
›Adds new vision-language models: GLM-4V, Molmo, and NVLM-D.
›Adds reward model support for Qwen2.5-Math-RM-72B.
›Adds Gemma2 embedding model support.
›Adds input embeddings support for Qwen2-VL and MiniCPMV.
›Adds LoRA support for MiniCPMV2.5 and MiniCPMV2.6.
›Expands LoRA modules for Mixtral.
›Expands bitsandbytes quantization support to Falcon, OPT, Gemma, Gemma2, and Phi models.
›Adds AWQ quantization support for the CPU backend.
›Adds cross-attention and encoder-decoder model support on the x86 CPU backend.
›Adds async output processor for the XPU backend.
›Adds on-device sampling support for Neuron.
›Enables OpenVINO GPU backend support.
›Enables combined multi-step scheduling, chunked prefill, and prefix caching simultaneously.
›Enables CUDA Graphs for multi-step scheduling combined with chunked prefill.
›Adds priority scheduling support for embedding requests and via the OpenAI-compatible API.
›Extends pipeline parallelism support to remaining text and embedding models.
›Adds explicit out-of-tree (OOT) interface for vLLM models including OOT embedding models.
›Adds support for HuggingFace's continue_final_message parameter in the frontend.
›Exposes InternVL2max_dynamic_patch as a mm_processor_kwarg for multimodal processing control.
└──▷ BREAKING ON UPGRADE
!BlockSpaceManagerV2 is now the default block manager, replacing BlockSpaceManagerV1; deployments relying on V1 behavior will use the new code path automatically on upgrade.
Triton Inference Server v2.51.0 optimizes vLLM performance with custom metrics support.
└──▷ GET THIS VERSION
$ git clone --branch v2.51.0 https://github.com/triton-inference-server/server.git
# already have the repo? check out this version:$ git checkout v2.51.0
Phoenix 5.6.0 adds LLMRelationalEvaluator, Anthropic token counts in playground, and tool call support for span replay.
└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v5.6.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:$ git checkout arize-phoenix-v5.6.0
›Adds LLMRelationalEvaluator to the Phoenix experiments library for relational LLM-based evaluation tasks.
›Playground now surfaces tool_calls from spans and plumbs span-defined tools into the playground UI, enabling full tool-call replay from production traces.
›Playground displays token counts for Anthropic models alongside existing providers.
›Playground adds tool role messages to the conversation UI, rounding out multi-turn message type support.
›Adds a model invocation parameters form scaffold to the playground for configuring model-specific parameters.
+2 moreshow less
›Adds a markdown toggle to playground output cards so LLM responses can be rendered as formatted markdown.
›Adds an Annotate button and slide-over panel to the run metadata footer for inline annotation of experiment runs.
5 more releases in this issue
· 2024-10-05 → 2024-10-29
Arize Phoenix v5.5.0 adds Anthropic support to subscription streaming.
└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v5.5.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:$ git checkout arize-phoenix-v5.5.0
›Adds Anthropic model support to subscription streaming.
Phoenix 5.4.0 adds secure WSS connection support and playground span details on run completion.
└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v5.4.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:$ git checkout arize-phoenix-v5.4.0
›Adds support for secure wss connections to Phoenix.
›Playground now returns the finalized span at the end of a subscription, making trace data available immediately after a run.
›Playground now displays span details when a run ends, surfacing trace information inline.
Phoenix 5.3.0 ships a full Playground UI for LLM span replay, streaming completions, tool calling, Azure OpenAI support, and a TypeScript client scaffold.
└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v5.3.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:$ git checkout arize-phoenix-v5.3.0
›Playground replays LLM spans by parsing the llm.input_messages span attribute and pre-populating the prompt editor, letting teams iterate on prompts directly from a captured trace.
›Playground supports streaming chat completions, letting practitioners see model output token-by-token during interactive prompt tuning.
›Playground adds a tools UI with full tool-calling backend support, including wiring up tool choice to the model invocation.
›Playground supports Azure OpenAI as a provider alongside existing providers, with model name and provider inferred automatically from the span.
›Playground allows up to 4 side-by-side instances, distinguished alphabetically, for parallel prompt comparison.
+6 moreshow less
›Playground includes a template language toggle and a CodeMirror-based template string editor that extracts and displays variables from all message templates as 'inputs'.
›Playground provides credential storage so API keys are persisted across sessions without re-entry.
›Playground creates an LLM span for each playground run, recording invocation parameters for traceability.
›Adds a LiteLLM integrations UI surface for configuring LiteLLM-backed models.
›Adds a generic model listing UI, enabling selection of models from configured providers.
›Scaffolds a TypeScript Phoenix client (ts package) for programmatic access to Phoenix from JavaScript/TypeScript environments.
Phoenix Evals now always sends prompts as system messages for OpenAI models.
└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-evals-v0.17.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:$ git checkout arize-phoenix-evals-v0.17.0
›OpenAI model evaluations now always send prompts as system-role messages instead of user-role messages.
Arize Phoenix v5.2.0 introduces a new Phoenix CLI.
└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v5.2.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:$ git checkout arize-phoenix-v5.2.0
›Adds a Phoenix command-line interface (phoenix CLI) for interacting with Phoenix from the terminal.
›Exposes TableQueryStats and paginated table queries via a new streaming interface, enabling efficient traversal of large datasets without loading all rows into memory.
›Adds display_name field to ops, letting practitioners label operations with human-readable names distinct from their code identifiers.
›Adds a finish handler for ops, allowing post-execution callbacks to be registered on op completion.
›Minimizes blocking calls during tracing, reducing latency impact on instrumented code paths.
›New NotDiamond integration for automatic LLM routing tracking within Weave traces.
+1 moreshow less
›New Callout UI component available in the frontend component library.
Chroma 0.5.12 delivers 21x faster full-text queries, unified filter-operator semantics, and a new disk/memory-backed cache.
└──▷ GET THIS VERSION
$ git clone --branch 0.5.12 https://github.com/chroma-core/chroma.git
# already have the repo? check out this version:$ git checkout 0.5.12
›Changes the semantics of $ne, $nin, and $not_contains operators for local Chroma to align with hosted Chroma behavior.
›Delivers 21x faster full-text querying via internal index improvements.
›Adds disk- and memory-backed caching powered by Foyer 0.10, enabling larger-than-RAM working sets.
›Adds tenant, database, and collection IDs to distributed traces when available, improving observability.
›Introduces a RateLimitEnforcer abstract class for implementing rate-limiting policies.
+1 moreshow less
›Makes Chroma available in early access on hosted infrastructure.
└──▷ BREAKING ON UPGRADE
!The semantics of $ne, $nin, and $not_contains for local Chroma have changed — queries relying on the previous local behavior may return different results after upgrading.
LanceDB python-v0.15.0 adds fast_search on remote tables, distance type control in hybrid search, and add_embedding on empty tables.
└──▷ GET THIS VERSION
$ git clone --branch python-v0.15.0 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:$ git checkout python-v0.15.0
›Enables fast_search on Python remote tables for approximate nearest-neighbor queries against cloud-hosted indexes.
›Allows distance type (metric) to be specified during hybrid search, giving control over similarity scoring per query.
›Supports add_embedding on create_empty_table in Rust, letting embedding functions be attached at table-creation time before any data is added.
›Upgrades underlying Lance storage to 0.19.1, bringing its associated storage and performance improvements.
└──▷ BREAKING ON UPGRADE
!Upgrading Lance to 0.19.1 is a breaking change; any setup depending on Lance 0.18.x behavior or on-disk format compatibility should review the Lance 0.19.1 changelog before upgrading.
5 more releases in this issue
· 2024-10-09 → 2024-10-29
LanceDB v0.11.1-beta.0 adds fast_search on Python remote tables and add_embedding support on empty table creation in Rust.
└──▷ GET THIS VERSION
$ git clone --branch v0.11.1-beta.0 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:$ git checkout v0.11.1-beta.0
›Enables add_embedding on create_empty_table in the Rust API, allowing embedding configurations to be attached at table creation time.
›Supports fast_search on Python remote tables, extending the fast search capability to remote table workflows.
›Upgrades lance to 0.18.3, bringing underlying engine improvements.
LanceDB python-v0.14.1-beta.0 adds fast_search on remote tables and embedding support on empty table creation.
└──▷ GET THIS VERSION
$ git clone --branch python-v0.14.1-beta.0 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:$ git checkout python-v0.14.1-beta.0
›Enables fast_search on Python remote tables for accelerated vector search against remote LanceDB deployments.
›Allows add_embedding to be used on create_empty_table in the Rust client, enabling embedding configuration at table creation time before data is added.
LanceDB python-v0.14.0 adds async merge_insert, fast_search, hybrid search in SaaS, trust_remote_code for HF embeddings, and a Rust-backed remote SDK.
└──▷ GET THIS VERSION
$ git clone --branch python-v0.14.0 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:$ git checkout python-v0.14.0
└──▷ USE IT
Run a faster approximate vector search by enabling fast_search to skip full index traversal.
›Adds merge_insert to the async Python API, enabling upsert workflows without blocking the event loop.
›Adds fast_search option to vector queries for approximate nearest-neighbor searches that trade recall for speed.
›Adds trust_remote_code support in Hugging Face embeddings, allowing models that require remote code execution to be loaded directly.
›Enables explicit hybrid search query patterns in the SaaS (remote) Python SDK, reaching feature parity with the local SDK.
›Adds with_row_id to the Rust SDK for queries that need to surface internal row identifiers.
+12 moreshow less
›Adds list_indices endpoint to the remote Rust SDK for inspecting available indexes on a table.
›Exposes the underlying dataset URI of a table, making it possible to access the raw Lance dataset path programmatically.
›Upgrades Lance to v0.18.2, pulling in the latest engine improvements.
›Binds the async Python remote client to the Rust client implementation, replacing the prior pure-Python remote backend.
›Binds the Node remote SDK to the Rust implementation for consistency and performance.
›Adds remote index stats retrieval to the remote SDK.
›Adds remote query and create_index endpoints to the Rust remote client.
›Adds remote rename table capability to the Rust remote client.
›Adds remote endpoints for schema, version, and count_rows to the Rust remote client.
›Adds a write data endpoint to the Rust remote client.
›Adds client configuration options for the Rust remote client.
›Sets embedding values to Null when an embedding function returns invalid results, rather than propagating errors.
└──▷ BREAKING ON UPGRADE
!Embedding functions that return invalid results now produce Null embeddings instead of raising an error, which changes downstream query behaviour for any pipeline that previously relied on the error being surfaced.
!Table.add no longer accepts a plain dictionary as input; callers must migrate to a supported data format (e.g. list of dicts, Arrow RecordBatch, pandas DataFrame).
›Adds with_row_id option to the Rust SDK for queries that need to retrieve internal row identifiers.
›Adds fast_search option to vector search, enabling approximate search without scanning the full index.
›Adds trust_remote_code support in Hugging Face embeddings via Python SDK, allowing custom model code to run during embedding.
›Adds merge_insert to the async Python API, enabling upsert workflows without blocking the event loop.
›Adds list_indices endpoint to the Rust remote SDK for programmatic index discovery.
+8 moreshow less
›Adds index_stats to the remote SDK; all index_stats APIs now accept index name instead of UUID.
›Adds hybrid search query support in the Python SaaS (remote) client, reaching feature parity with the local client.
›Exposes the underlying dataset URI of a table, making it possible to access raw Lance data directly.
›Implements full remote connection support for the Rust SDK, including query, create_index, rename_table, schema, version, count_rows, and write-data endpoints.
›Binds the Python async remote client to the Rust client implementation, and similarly binds the Node remote SDK to the Rust implementation.
›Sets embedding column values to Null (instead of erroring) when an embedding function returns invalid results.
›NODE API region now defaults to us-east-1 when no region is specified.
›Upgrades Lance to v0.18.2, bringing underlying storage engine improvements.
└──▷ BREAKING ON UPGRADE
!The return value of the index_stats method has changed shape, and all index_stats APIs now take an index name instead of a UUID; several deprecated index statistics methods were removed.
!Embedding functions that return invalid results now set the embedding column to Null instead of propagating an error — pipelines that relied on the error to detect bad embeddings will no longer see one.
!Table.add no longer accepts a dictionary as input in the Python SDK; callers must pass a supported tabular type instead.
!Lance upgraded to 0.18.0 (and subsequently 0.18.2); any behavior changes introduced by Lance 0.18.x apply on upgrade.
Qdrant v1.12.0 adds Facets API, Distance Matrix API, mmap vector storage by default, and on-disk text/geo index offloading.
└──▷ GET THIS VERSION
$ git clone --branch v1.12.0 https://github.com/qdrant/qdrant.git
# already have the repo? check out this version:$ git checkout v1.12.0
›New Facets API retrieves unique payload values with counts for a given index field under a given filter, enabling faceted search workflows.
›New Distance Matrix API calculates many-to-many distances between stored vectors, supporting clustering, dimensionality reduction, and data visualization use cases.
›Switches default vector storage to memory-mapped files (mmap), replacing rocksdb to accelerate uploads for large datasets and reduce RSS anonymous memory consumption — Qdrant now slows gracefully under memory pressure instead of OOM-crashing.
›Enables sparse snapshots so that allocated-but-empty files in vector storage no longer consume extra disk space in snapshot archives.
›Adds ability to offload text-index to disk, reducing in-memory footprint for text-indexed collections.
+4 moreshow less
›Adds ability to offload geo-index to disk.
›Triggers optimizers automatically when uploading snapshots.
›Instantly self-elects a Raft leader when the cluster contains a single peer, reducing startup latency in single-node deployments.
›Improved Web UI graph visualization allows sampling large chunks of data from a collection, with improved panning UX and more interactive tutorials.
Weaviate v1.27.0 adds ACORN-based HNSW filters, backup cancellation APIs, experimental read-compute scaling, dynamic RAG via gRPC, and new embedding/generative modules.
└──▷ GET THIS VERSION
$ git clone --branch v1.27.0 https://github.com/weaviate/weaviate.git
# already have the repo? check out this version:$ git checkout v1.27.0
›Adds a backup cancellation endpoint and a 'list backups in progress' endpoint, with CANCELED status now propagated across all backup API responses and a path field added to list backup responses.
›Adds experimental read-compute scaling via a separate querier component (exp/query) supporting vector search, property filters, and object retrieval from the LSMKV store for offloaded (FROZEN) tenants.
›Supports dynamic RAG syntax through the gRPC API.
›Supports sending Azure OpenAI deployment ID and resource name via request headers.
›Adds support for custom number of dimensions when using Azure OpenAI.
+13 moreshow less
›Adds weaviate_build_info Prometheus metric for build observability.
›Adds batch-size metrics for Prometheus observability.
›Adds SIMD implementation for Bitwise Hamming distance on x86 and ARM architectures.
›Adds ACORN-based minority filter improvements to HNSW for more accurate filtered vector search.
›Supports multiple inputs for a single target vector in multi-target vector search.
›Adds a Weaviate-hosted embeddings module.
›Adds a Generative FriendliAI module.
›Adds support for the JinaAI reranker API.
›Enables arrays in generative searches.
›Adds gpt-4o model support in the Generative-OpenAI module.
›Renames generative-palm module to generative-google, multi2vec-palm to multi2vec-google, and text2vec-palm to text2vec-google, with AltNames support for backward compatibility.
›Adds a progress indicator for schema catchup on restart.
Composio v0.5.36 adds check_connected_accounts flag to get_tools and auth_scheme support on get_expected_params_for_user.
└──▷ GET THIS VERSION
$ git clone --branch v0.5.36 https://github.com/ComposioHQ/composio.git
# already have the repo? check out this version:$ git checkout v0.5.36
›Adds check_connected_accounts flag to get_tools to filter tools based on whether the entity has connected accounts.
›Adds auth_scheme parameter support on get_expected_params_for_user to specify the authentication scheme when retrieving expected auth params for a user.
›Adds API key and entityId support for auth handling, enabling per-entity authentication flows.
Composio v0.5.35 adds user-defined auth for action execution and custom auth data support in the JS SDK.
└──▷ GET THIS VERSION
$ git clone --branch v0.5.35 https://github.com/ComposioHQ/composio.git
# already have the repo? check out this version:$ git checkout v0.5.35
›Adds support for user-defined auth parameters during action execution in the Python SDK, enabling callers to supply custom credentials at runtime rather than relying solely on stored connections.
›Adds custom auth data support in the JS SDK (released as JS SDK v0.2.3), bringing parity with the Python SDK for runtime auth overrides.
›Makes is_secret a default argument in auth parameter definitions, simplifying how sensitive fields are declared.
Composio v0.5.34 adds getExpectedParamsForUser method across all framework integrations.
└──▷ GET THIS VERSION
$ git clone --branch v0.5.34 https://github.com/ComposioHQ/composio.git
# already have the repo? check out this version:$ git checkout v0.5.34
›Adds getExpectedParamsForUser method (and Python equivalent get_expected_params_for_user) to all framework integrations, enabling callers to retrieve the expected connection parameters for a given user.
Composio v0.5.32 adds user-defined auth params for connectors, integration ID lookup by app, and ExpectedFieldInput support
└──▷ GET THIS VERSION
$ git clone --branch v0.5.32 https://github.com/ComposioHQ/composio.git
# already have the repo? check out this version:$ git checkout v0.5.32
›Adds ExpectedFieldInput attribute and a separate method for customer expected fields, enabling more precise definition of required auth inputs when configuring connectors.
›Adds support for user-defined auth params when initialising connectors, giving practitioners control over custom authentication parameters at connector setup time.
›Adds support for specifying connected account params when initialising a connected account.
›Adds support for fetching integration ID using app name, simplifying programmatic lookup of integrations.
›Logs session ID when ingesting logs and executing an action, improving traceability across action executions.
+2 moreshow less
›Adds top-level utils module for broader access to shared utilities.
›Workspace dependencies are now definable as extras, allowing optional installation of workspace-specific dependencies.