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.58.0 adds Architect/Editor dual-model mode, o1 shortcuts, new /copy command, and voice format control.
└──▷ GET THIS VERSION
$ git clone --branch v0.58.0 https://github.com/Aider-AI/aider.git
# already have the repo? check out this version:$ git checkout v0.58.0
└──▷ TRY IT
Record and send voice input as mp3 instead of the default format.
$ aider --voice-format mp3
Quickly start a session using o1-mini without specifying a full model string.
$ aider --o1-mini
›Adds Architect/Editor dual-model coding mode: pair a strong reasoning model (e.g. o1-preview) as Architect with a faster model (e.g. gpt-4o) as Editor.
›New --o1-preview and --o1-mini shortcut flags for quick model selection.
›Adds support for Gemini 002 and Qwen 2.5 models.
›New /copy command copies the last LLM response to the clipboard.
›New --voice-format switch to send voice audio as wav, mp3, or webm.
+6 moreshow less
›Adds extra_params dict to ModelSettings for passing arbitrary extra parameters to litellm.completion().
›Many confirmation prompts can now be permanently skipped for the session via a '(D)on't ask again' response.
›Autocomplete for /read-only now covers the entire filesystem.
›New settings for customizing completion menu colors.
›Supports cursor shapes when using vim mode.
›Aider now follows HTTP redirects when scraping URLs.
└──▷ BREAKING ON UPGRADE
!The /clipboard command has been renamed to /paste.
3 more releases in this issue
· 2024-09-04 → 2024-09-29
Autonomous coding agent as an SDK, IDE extension, or CLI assistant.
Cline v1.9.0 adds browser access via inspect_site, letting Claude capture screenshots and console logs from any site.
└──▷ GET THIS VERSION
$ git clone --branch v1.9.0 https://github.com/cline/cline.git
# already have the repo? check out this version:$ git checkout v1.9.0
└──▷ TRY IT
Let Claude visually inspect a locally running app and diagnose a rendering bug without manual screenshots.
$ Ask Claude: "Use inspect_site on http://localhost:3000 and tell me what console errors appear and how the page looks."
›New inspect_site tool enables Claude to capture screenshots and console logs from websites (including localhost) for autonomous runtime and visual debugging.
›Smarter linter/compiler feedback now sends Claude only the new errors introduced by its own edits, reducing noise during automated debugging sessions.
5 more releases in this issue
· 2024-09-05 → 2024-09-21
Cline v1.7.0 adds automatic workspace diagnostics monitoring to detect and fix linter, compiler, and build issues on the fly.
└──▷ GET THIS VERSION
$ git clone --branch v1.7.0 https://github.com/cline/cline.git
# already have the repo? check out this version:$ git checkout v1.7.0
›Monitors the workspace for linter, compiler, and build issues (missing imports, type errors, etc.) while Claude works, enabling automatic remediation without user intervention.
Cline v1.6.0 runs commands directly in your terminal and adds a 'Proceed While Running' button for real-time Claude feedback.
└──▷ GET THIS VERSION
$ git clone --branch v1.6.0 https://github.com/cline/cline.git
# already have the repo? check out this version:$ git checkout v1.6.0
›Commands now execute directly in the user's terminal via VSCode 1.93 shell integration, replacing the previous sandboxed execution model.
›New 'Proceed While Running' button lets Claude continue working while a command is still executing, streaming live output (e.g., server errors) back to Claude so it can react in real time.
Continue v0.8.48 adds a Repo Map context provider and improves codebase indexing progress UI.
└──▷ GET THIS VERSION
$ git clone --branch v0.8.48-vscode https://github.com/continuedev/continue.git
# already have the repo? check out this version:$ git checkout v0.8.48-vscode
›Adds a Repo Map context provider for surfacing repository structure as context.
›Improves @codebase context quality by incorporating repomap.
›Improves the indexing progress UI to better surface codebase indexing status.
SWE-agent v0.7.0 adds CTF/offensive-security mode, Interactive Agent Tools (gdb), Summarizers, and expands LLM support to Claude 3.5, DeepSeek, GPT-4o-mini, and Groq.
└──▷ GET THIS VERSION
$ git clone --branch v0.7.0 https://github.com/SWE-agent/SWE-agent.git
# already have the repo? check out this version:$ git checkout v0.7.0
›New CTF challenge mode (EnIGMA) achieves 3.3x improvement over previous agents on the NYU CTF benchmark, enabling offensive cybersecurity use cases.
›Adds Interactive Agent Tools (IAT), including gdb integration, letting the agent interact with long-running processes during task execution.
›Adds Summarizers to handle long command outputs, preventing context window exhaustion on verbose tool responses.
›New filemap command provides a repo-map-style overview of a codebase's file structure.
›New config for human-eval-style challenges expands benchmark coverage beyond SWE-bench.
+3 moreshow less
›Adds Claude 3.5 Sonnet, GPT-4o-mini, DeepSeek Coder, and Groq model integrations.
›Makes agent command timeout configurable.
›Adds configurable log level and a new TRACE level for deeper debugging.
›Adds "tabs": {"file_icons": true} setting to enable file icons in the tab switcher.
›Adds inlay_hints.show_background setting (default false) to display backgrounds for inlay hints using the theme's hint.background color.
›Adds cursor_shape setting accepting bar, block, underline, or hollow (default: bar).
›Adds assistant::CopyCode action (cmd-k c / ctrl-k c) to copy assistant-panel code blocks to the clipboard without manual selection.
›Adds assistant::InsertIntoEditor action (cmd-< / ctrl-<) to insert assistant-panel code blocks directly into the editor.
+18 moreshow less
›Adds /delta slash command to re-insert changed files previously included in an AI context.
›Adds support for OpenAI o1-mini and o1-preview models.
›Adds keep_alive setting for Ollama AI models via settings.
›Adds editor: rewrap command for rewrapping text to the maximum line width.
›Adds pane::JoinAll action to collapse all panes into one.
›Adds keyboard shortcuts ctrl-shift-pageup / ctrl-shift-pagedown to rearrange tabs left/right.
›Adds support for fill-in-the-middle style inline completions.
›Adds clickable filepaths in git diff output inside the built-in terminal.
›Adds theme styling option to separate terminal background view from terminal background color, enabling transparent terminal backgrounds.
›SSH Remoting: adds support for booting language servers in limited circumstances.
›SSH Remoting: shows LSP status in the status bar.
›SSH Remoting: looks up language server binaries in the environment on the SSH host.
›Changes default low_speed_timeout_in_seconds for the OpenAI provider to 600 to accommodate o1 model response times.
›Changes built-in language support (Rust, Go, C, YAML, …) to look up language-server-specific settings in the local project directory before falling back to global values.
›Changes rust-analyzer to look up its binary in $PATH by default.
›Adds local shell environment access for task context providers, enabling locally installed tools (e.g. Rust toolchains) to function.
›Improves Vim-mode OpenFile (gf) to fall back and check <word>.<language-specific-suffix> when the word under the cursor is not an existing file path, similar to Vim's suffixesadd.
›Persists tab pin state across Zed sessions.
└──▷ BREAKING ON UPGRADE
!Linux x86 binaries now require glibc >= 2.35 (previously >= 2.29).
!ui_font_size and buffer_font_size now require values between 6px and 100px inclusive; values outside this range are no longer accepted.
!tab_size setting now requires values between 1 and 16 inclusive.
3 more releases in this issue
· 2024-09-04 → 2024-09-25
Zed v0.152.3 adds CLI environment passthrough, REPL large-output buffers, 100-user machine support, and AI context-server argument completions.
└──▷ GET THIS VERSION
$ git clone --branch v0.152.3 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:$ git checkout v0.152.3
›Adds RA_LOG=info zed .-style CLI environment passthrough: terminals opened with workspace: new terminal, tasks, and language servers (including gopls, zls, rust-analyzer) now inherit the environment variables present when zed was invoked.
›Adds a readonly buffer for viewing large REPL outputs, plus a button to open full text output in a separate buffer.
›Adds argument completions for context server prompts, surfaced as regular slash-command completions in the Assistant.
›Adds optional descriptions in prompts/get responses from context servers, displayed as slash command labels.
›Adds ability to accept terminal inline assist suggestions without executing them.
+4 moreshow less
›Adds @variable.parameter and @attribute highlight scopes for Rust syntax highlighting.
›Adds a Linux editor setting to toggle middle-click pasting (enabled by default).
›Adds project search scoped to only currently opened files.
›Adds multiuser support for up to 100 users on the same machine.
└──▷ BREAKING ON UPGRADE
!go test ./... tasks now run in the package directory rather than the Zed project root; to run from the root, a manual task must be created explicitly.
Framework for orchestrating role-playing, autonomous AI agents. By fostering collaborative intelligence, CrewAI empowers agents to work together seamlessly, tackling complex tasks.
CrewAI 0.64.0 introduces an initial Tools API and raises the default max iterations to 20.
└──▷ GET THIS VERSION
$ git clone --branch 0.64.0 https://github.com/crewAIInc/crewAI.git
# already have the repo? check out this version:$ git checkout 0.64.0
›Adds an initial Tools API for programmatic tool management.
›Increases default max iterations from its previous limit to 20, enabling more complex agent reasoning loops out of the box.
3 more releases in this issue
· 2024-09-13 → 2024-09-27
CrewAI v0.63.0 adds a unified LLM class, custom memory interfaces, and switches the default model to GPT-4o-mini.
└──▷ GET THIS VERSION
$ git clone --branch v0.63.0 https://github.com/crewAIInc/crewAI.git
# already have the repo? check out this version:$ git checkout v0.63.0
└──▷ USE IT
Instantiate an agent with the new LLM class to explicitly target a specific model via LiteLLM, decoupling model selection from environment defaults.
python
from crewai import Agent, LLM
llm = LLM(model="gpt-4o")
agent = Agent(
role="Security Analyst",
goal="Identify vulnerabilities in the provided code.",
backstory="Expert in application security.",
llm=llm
)
›New LLM class provides a unified interface for interacting with language models via LiteLLM.
›Supports custom memory interfaces, enabling practitioners to plug in their own memory backends.
›Changes the default model to GPT-4o-mini.
└──▷ BREAKING ON UPGRADE
!The default model is now GPT-4o-mini; crews that relied on the previous default model will use GPT-4o-mini after upgrading unless an explicit model is set.
CrewAI v0.60.0 drops LangChain, rebuilds the executor, and adds o1-model support with new agent controls.
└──▷ GET THIS VERSION
$ git clone --branch v0.60.0 https://github.com/crewAIInc/crewAI.git
# already have the repo? check out this version:$ git checkout v0.60.0
└──▷ USE IT
Use CrewAI with an o1-series model that doesn't support system prompts or stop words.
python
from crewai import Agent
agent = Agent(
role="Analyst",
goal="Analyze the dataset",
backstory="You are a data expert.",
llm="o1-preview",
use_system_prompt=False,
use_stop_words=False
)
Cap API usage and prevent runaway agent loops by setting rate limits and a max iteration count.
python
from crewai import Agent
agent = Agent(
role="Researcher",
goal="Find key insights",
backstory="You are a senior researcher.",
max_rpm=10,
max_iter=5
)
›Removes LangChain dependency with a fully rebuilt internal executor for improved reliability.
›New use_system_prompt flag on Agent lets you disable system prompts for models that don't support them.
›New use_stop_words flag on Agent allows disabling stop words to support o1-series models.
›Adds configurable max requests per minute at the crew/agent level.
›Adds a configurable maximum number of iterations before an agent is forced to produce a final answer.
+3 moreshow less
›New token calculation flow for accurate usage tracking across agent runs.
›New logging of crew and agent execution for improved observability.
›sliding_context_window is renamed to respect_context_window and is now enabled by default.
└──▷ BREAKING ON UPGRADE
!The sliding_context_window setting is renamed to respect_context_window; any existing config or code referencing sliding_context_window will break.
!Delegation is now disabled by default; crews that relied on agents delegating tasks without explicit configuration will stop delegating on upgrade.
DSPy 2.4.16 introduces new dspy.LM and dspy.Adapter classes and adds support for o1 model parameters.
└──▷ GET THIS VERSION
$ git clone --branch 2.4.16 https://github.com/stanfordnlp/dspy.git
# already have the repo? check out this version:$ git checkout 2.4.16
›Adds dspy.LM and dspy.Adapter classes, foundational new interfaces for language model and adapter management in DSPy 2.5 onwards (existing clients are unaffected).
›Supports o1 model parameters in dspy LM configuration.
›Enables LangChain objects to be copied within DSPy workflows.
Haystack v2.5.0 adds explicit unsafe=True opt-in for dynamic code execution in routers and adapters, plus new min_top_k for TopPSampler and richer SentenceWindowRetriever output.
└──▷ GET THIS VERSION
$ git clone --branch v2.5.0 https://github.com/deepset-ai/haystack.git
# already have the repo? check out this version:$ git checkout v2.5.0
└──▷ USE IT
Enable unsafe Jinja evaluation in a ConditionalRouter only when the template source is fully trusted, allowing ChatMessage or Document as output types.
Guarantee at least 3 documents from TopPSampler even when the probability-mass threshold would otherwise return fewer.
python
from haystack.components.samplers import TopPSampler
sampler = TopPSampler(p=0.90, min_top_k=3)
›Adds unsafe argument to ConditionalRouter and OutputAdapter; set unsafe=True to enable Jinja-template expressions that can return types such as ChatMessage, Document, and Answer — disabled by default to prevent unintended remote code execution.
›Adds min_top_k parameter to TopPSampler to guarantee a minimum number of returned documents when top-p sampling selects fewer than desired, backfilling with next-highest-scored documents.
›SentenceWindowRetriever now outputs a context_documents field alongside context_windows for each entry in retrieved_documents, exposing the individual Document objects within each context window.
└──▷ BREAKING ON UPGRADE
!ChatMessage.to_openai_format method is removed; replace calls with haystack.components.generators.openai_utils._convert_message_to_openai_format.
!The debug parameter is removed from Pipeline.run; any code passing debug=True will break.
!SentenceWindowRetrieval is removed; replace with SentenceWindowRetriever.
langchain-openai 0.2.1 adds Azure structured output support and chunk_size control for embeddings.
└──▷ GET THIS VERSION
$ git clone --branch langchain-openai==0.2.1 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-openai==0.2.1
›Adds parallel_tool_calls=False support and structured output for Azure OpenAI chat models.
›Supports chunk_size in OpenAI embeddings when check_embedding_ctx_length is disabled.
23 more releases in this issue
· 2024-09-03 → 2024-09-26
langchain-community 0.3.1 adds SambaNova Cloud chat, Epsilla Cloud vector DB, PebbloTextLoader, and anonymization flag for PebbloSafeLoader.
└──▷ GET THIS VERSION
$ git clone --branch langchain-community==0.3.1 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-community==0.3.1
›Adds anonymize flag to PebbloSafeLoader to control whether sensitive data is anonymized during document loading.
›Adds PebbloTextLoader for loading raw text data through the PebbloSafeLoader pipeline.
›Adds SambaNova Cloud chat model as a new community integration (ChatSambaNovaCloud).
›Adds support for Epsilla Cloud as a vector database backend.
›Enhances MongoDBLoader with flexible metadata configuration and optimized field extraction.
+1 moreshow less
›Moves graph vector stores (GraphVectorStore, GraphVectorStoreRetriever) into the langchain-community package.
LangChain Core 0.3.6 adds inherited tracing metadata and tags across chain calls.
└──▷ GET THIS VERSION
$ git clone --branch langchain-core==0.3.6 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-core==0.3.6
›Tracing metadata and tags are now inherited across chain calls, so nested chains automatically propagate context to LangSmith traces without manual forwarding.
›Runs LangChainTracer inline during chain execution, reducing tracing latency overhead.
langchain-core 0.3.3 removes beta status from RemoveMessage and adds JS chat model namespace support
└──▷ GET THIS VERSION
$ git clone --branch langchain-core==0.3.3 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-core==0.3.3
›Promotes RemoveMessage out of beta to stable status.
›Supports JavaScript chat model namespaces for cross-runtime serialization compatibility.
›Supports loading from path for default namespaces via load.
›Achieves Pydantic v2 compatibility across the library.
langchain-milvus 0.1.5 adds sparse embedding vectorstores, array data type support, and multi-database connections.
└──▷ GET THIS VERSION
$ git clone --branch langchain-milvus==0.1.5 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-milvus==0.1.5
›Adds add_db_milvus_connection to support connecting to multiple Milvus databases from a single integration.
›Supports creating a vectorstore with sparse embeddings via the Milvus partner integration.
›Adds array data type support when creating Milvus collections.
LangChain Core 0.3.1 promotes RemoveMessage out of beta
└──▷ GET THIS VERSION
$ git clone --branch langchain-core==0.3.1 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-core==0.3.1
›Promotes RemoveMessage from beta to stable in langchain-core.
$ git clone --branch langchain-chroma==0.1.4 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-chroma==0.1.4
›Adds similarity search by image functionality to the langchain_chroma package, enabling multimodal vector store queries.
langchain-pinecone 0.2.0 adds document IDs to similarity search results and upgrades to Pydantic v2 compatibility.
└──▷ GET THIS VERSION
$ git clone --branch langchain-pinecone==0.2.0 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-pinecone==0.2.0
›Adds id field to documents returned by similarity search in PineconeVectorStore, enabling callers to correlate results back to their source records without a separate lookup.
›Upgrades PineconeVectorStore to full Pydantic v2 compatibility, including migration of @root_validator usage and conversion of Pydantic extras to literals.
langchain-huggingface 0.1.0 adds streaming support for HuggingFace pipelines and env-based param loading.
└──▷ GET THIS VERSION
$ git clone --branch langchain-huggingface==0.1.0 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-huggingface==0.1.0
└──▷ USE IT
Stream token-by-token output from a local HuggingFace pipeline instead of waiting for the full response.
python
from langchain_huggingface import HuggingFacePipeline
llm = HuggingFacePipeline.from_model_id(
model_id="gpt2",
task="text-generation",
)
for chunk in llm.stream("Once upon a time"):
print(chunk, end="", flush=True)
›Adds streaming support to HuggingFacePipeline, enabling token-by-token output from locally hosted HuggingFace models.
›Supports reading HuggingFace parameters from environment variables, removing the need to hard-code credentials or model settings in code.
›Adds an option to strip the input prompt from HuggingFace model output, returning only the generated continuation.
›Upgrades Pydantic v2 compatibility across the integration (v0.3 series).
›Adds TypedDict support for tool schema definitions in the HuggingFace integration.
langchain-azure-dynamic-sessions 0.2.0 adds Pydantic v2 compatibility and renames ToolMessage.raw_output to artifact.
└──▷ GET THIS VERSION
$ git clone --branch langchain-azure-dynamic-sessions==0.2.0 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-azure-dynamic-sessions==0.2.0
›Renames ToolMessage.raw_output to artifact across the core library.
›Supports ToolCall as Tool input and ToolMessage as Tool output.
›Adds Pydantic v2 compatibility.
└──▷ BREAKING ON UPGRADE
!ToolMessage.raw_output is renamed to artifact; any code referencing raw_output will break on upgrade.
langchain-experimental 0.3 adds Pydantic v2 compatibility and a new ignore-structured-output option for LLM graph transformers.
└──▷ GET THIS VERSION
$ git clone --branch langchain-experimental==0.3.0 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-experimental==0.3.0
›Adds an option to ignore the structured output method in the LLM graph transformer, providing more flexibility in how graph transformations are processed.
›Adds Pydantic v2 compatibility across the library, enabling use in projects that have migrated to Pydantic 2.
LangChain 0.3 adds native Pydantic v2 compatibility across the library.
└──▷ GET THIS VERSION
$ git clone --branch langchain==0.3.0 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain==0.3.0
›Adds native Pydantic v2 compatibility, allowing LangChain components to be used directly in Pydantic v2 models and projects without v1 compatibility shims.
└──▷ BREAKING ON UPGRADE
!Serialized manifest is no longer included in tracing requests for non-LLM runs; any downstream tooling or trace consumers that relied on that field in trace payloads will no longer receive it.
langchain-community 0.2.17 adds bind_tools to ChatOctoAI and session-expired retry logic for Neo4j Graph.
└──▷ GET THIS VERSION
$ git clone --branch langchain-community==0.2.17 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-community==0.2.17
›Adds bind_tools method to ChatOctoAI, enabling tool/function binding on OctoAI chat models consistent with other LangChain chat integrations.
›Adds automatic session-expired retry handling to the Neo4j graph integration, improving resilience of long-running graph connections.
›Adds support for nested dicts in OpenAI community integration.
langchain-core 0.2.40 adds keyword-like runnable config passing and broader import mappings for serialization.
└──▷ GET THIS VERSION
$ git clone --branch langchain-core==0.2.40 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-core==0.2.40
›Adds keyword-like argument passing for runnable config, enabling more ergonomic config propagation through chains.
›Expands import mappings in loads to support additional object types during deserialization.
langchain-pinecone 0.2.0.dev1 adds document IDs to similarity search results
└──▷ GET THIS VERSION
$ git clone --branch langchain-pinecone==0.2.0.dev1 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-pinecone==0.2.0.dev1
›Adds id field to documents returned by similarity search in PineconeVectorStore, making it possible to reference or act on retrieved documents by their Pinecone vector ID.
LangChain Community 0.3.0.dev2 adds bind_tools to ChatOctoAI and session-expired retry logic for Neo4j Graph.
└──▷ GET THIS VERSION
$ git clone --branch langchain-community==0.3.0.dev2 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-community==0.3.0.dev2
›Adds bind_tools method to ChatOctoAI, enabling tool-binding support for OctoAI-hosted chat models.
›Adds automatic session-expired retry handling to the Neo4j graph integration, improving resilience for long-running connections.
›Adds a None-delta handler in the OpenAI choice streaming path, supporting responses where delta can be None.
langchain-huggingface 0.1.0.dev1 adds streaming support for HuggingFace Pipeline and env-based param loading.
└──▷ GET THIS VERSION
$ git clone --branch langchain-huggingface==0.1.0.dev1 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-huggingface==0.1.0.dev1
›Supports reading HuggingFace parameters from environment variables, enabling credential-free config in CI/CD and containerized deployments.
›Adds streaming support to the HuggingFace Pipeline integration, enabling token-by-token output for LLM calls.
›Adds an option to strip the input prompt from HuggingFace model output, returning only the generated completion.
langchain-mongodb 0.1.9 adds a limit on the most recent documents fetched from MongoDB.
└──▷ GET THIS VERSION
$ git clone --branch langchain-mongodb==0.1.9 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-mongodb==0.1.9
›Adds the ability to limit the number of most recent documents fetched from a MongoDB database.
langchain-experimental 0.0.65 adds a GLiNER graph transformer and Relik transformer config support.
└──▷ GET THIS VERSION
$ git clone --branch langchain-experimental==0.0.65 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-experimental==0.0.65
›Adds GlinerGraphTransformer for extracting graph structures using GLiNER models.
›Adds Relik transformer configuration support for graph transformation pipelines.
›Extends LLMGraphTransformer to handle Ollama tool raw schema inputs.
langchain-community 0.2.16 adds Jina search tools, SambaNova v2 API, Intel GPU support, and new loader/retriever options.
└──▷ GET THIS VERSION
$ git clone --branch langchain-community==0.2.16 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-community==0.2.16
└──▷ USE IT
Load only specific columns from a CSV file, useful when a dataset has many columns but only a subset is relevant for retrieval.
LangChain 0.2.16 adds strict parameter to OpenAIFunctionsAgent and Neo4j self-query support.
└──▷ GET THIS VERSION
$ git clone --branch langchain==0.2.16 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain==0.2.16
›Adds strict parameter to OpenAIFunctionsAgent in langchain_openai, enabling strict mode for OpenAI function calling.
›Adds Neo4j query constructor for the self-query retriever, enabling structured self-querying against Neo4j graph databases.
›Updates Qdrant class check in the Self-Query Retriever factory for improved compatibility.
LangChain text-splitters 0.2.4 adds PowerShell and C language support, plus HTTP request parameters for HTMLHeaderTextSplitter.
└──▷ GET THIS VERSION
$ git clone --branch langchain-text-splitters==0.2.4 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-text-splitters==0.2.4
└──▷ USE IT
Split a remote HTML page by headers while passing custom HTTP request parameters (e.g. auth headers or timeout) during the fetch.
ChatMistralAI base URL can now be set via environment variable in langchain-mistralai 0.1.13
└──▷ GET THIS VERSION
$ git clone --branch langchain-mistralai==0.1.13 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-mistralai==0.1.13
›Adds support for setting the ChatMistralAI base URL via an environment variable, enabling runtime endpoint overrides without code changes.
langchain-core 0.2.38 adds multi-key env secret lookup and extra kwargs support on StructuredPrompt.
└──▷ GET THIS VERSION
$ git clone --branch langchain-core==0.2.38 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-core==0.2.38
›Adds support for multiple environment variable keys in secrets_from_env, allowing a secret to be resolved from a list of candidate env vars in priority order.
›Supports additional kwargs on StructuredPrompt, enabling callers to pass extra parameters previously rejected by the constructor.
LangGraph Postgres store now accepts a custom deserializer parameter for user-controlled JSON loading.
└──▷ GET THIS VERSION
$ git clone --branch checkpointpostgres==1.0.11 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout checkpointpostgres==1.0.11
└──▷ USE IT
Supply a custom deserializer to handle non-standard JSON types (e.g., dates, decimals) stored in Postgres.
python
import json
from decimal import Decimal
from langgraph.store.postgres import PostgresStore
def my_deserializer(data: str):
return json.loads(data, parse_float=Decimal)
store = PostgresStore(conn_string="postgresql://user:pass@localhost/db", deserializer=my_deserializer)
Use a custom deserializer with the async store in an async LangGraph workflow.
python
import json
from langgraph.store.postgres.aio import AsyncPostgresStore
def my_deserializer(data: str):
return json.loads(data, object_hook=lambda d: {k: v.upper() if isinstance(v, str) else v for k, v in d.items()})
store = AsyncPostgresStore(conn_string="postgresql://user:pass@localhost/db", deserializer=my_deserializer)
›Adds optional deserializer parameter to PostgresStore and AsyncPostgresStore (via BasePostgresStore), enabling custom JSON deserialization when loading values from the database.
19 more releases in this issue
· 2024-09-01 → 2024-09-30
langgraph-checkpoint-postgres 1.0.10 adds sync and async PostgreSQL store implementations with batch ops, namespace listing, and schema migration.
└──▷ GET THIS VERSION
$ git clone --branch checkpointpostgres==1.0.10 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout checkpointpostgres==1.0.10
└──▷ USE IT
Initialize the PostgreSQL store schema and persist/retrieve agent state in a synchronous workflow.
python
from langgraph.store.postgres import PostgresStore
with PostgresStore.from_conn_string("postgresql://user:pass@localhost/mydb") as store:
store.setup() # create tables and run migrations
store.put(("agents", "session-42"), "state", {"step": 1, "status": "running"})
item = store.get(("agents", "session-42"), "state")
print(item)
Use the async store in an asyncio-based LangGraph agent to avoid blocking the event loop on database calls.
python
import asyncio
from langgraph.store.postgres.aio import AsyncPostgresStore
async def main():
async with AsyncPostgresStore.from_conn_string("postgresql://user:pass@localhost/mydb") as store:
await store.setup()
await store.put(("sessions", "user-99"), "context", {"history": []})
results = await store.search(("sessions",))
print(results)
asyncio.run(main())
›New PostgresStore class provides a synchronous PostgreSQL-backed store with get, put, search, and namespace-listing operations.
›New AsyncPostgresStore class mirrors PostgresStore with full async/await support via asyncio for non-blocking database access.
›Both stores expose a from_conn_string() context manager for ergonomic connection management.
›Both stores include a setup() method to initialize the database schema and run migrations automatically.
›Explicit __all__ exports added to the postgres store modules for cleaner programmatic imports.
LangGraph 0.2.29 expands create_react_agent to accept any LanguageModelLike and adds custom store support via configuration.
└──▷ GET THIS VERSION
$ git clone --branch 0.2.29 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout 0.2.29
└──▷ USE IT
Use a non-BaseChatModel language model (any LanguageModelLike) directly with create_react_agent — useful when wrapping custom or third-party models.
python
from langgraph.prebuilt import create_react_agent
# model_like is any LanguageModelLike, not necessarily a BaseChatModel
agent = create_react_agent(model=model_like, tools=[my_tool])
result = agent.invoke({"messages": [{"role": "user", "content": "Search for X"}]})
›Expands create_react_agent to accept LanguageModelLike instead of only BaseChatModel, enabling use with a broader range of model types.
›Adds support for custom stores via configuration in Pregel, with store parameter propagation through the execution stack.
›Migrates store implementation to langgraph-checkpoint, updating namespace representation from strings to tuples and switching methods from list/put to search/batch.
└──▷ BREAKING ON UPGRADE
!The store namespace representation in SharedValue changed from strings to tuples; any code relying on string namespaces will need to be updated.
!Store method calls changed from list/put to search/batch; code calling the old store methods directly will break.
LangGraph Checkpoint 1.0.13 introduces a namespaced key-value store API with sync/async ops and an in-memory implementation.
└──▷ GET THIS VERSION
$ git clone --branch checkpoint==1.0.13 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout checkpoint==1.0.13
└──▷ USE IT
Persist and retrieve cross-session user facts in a namespaced store during graph execution.
python
from langgraph.store.memory import InMemoryStore
store = InMemoryStore()
# Store a user fact under a namespaced key
store.put(("users", "alice"), "preference", {"theme": "dark"})
# Retrieve it later
item = store.get(("users", "alice"), "preference")
print(item.value) # {"theme": "dark"}
Search across a namespace prefix to find all items matching a filter — useful for multi-tenant or multi-session lookups.
python
from langgraph.store.memory import InMemoryStore
store = InMemoryStore()
store.put(("sessions", "s1"), "summary", {"turns": 5})
store.put(("sessions", "s2"), "summary", {"turns": 12})
results = store.search(("sessions",))
for item in results:
print(item.namespace, item.key, item.value)
›Adds BaseStore abstract base class with sync and async CRUD operations (get/aget, put/aput, delete/adelete, search/asearch, list_namespaces/alist_namespaces, batch/abatch) for persistent, namespaced key-value storage.
›Introduces Item as the core storage unit, carrying value data, key, namespace path, and timestamp metadata with equality comparison and dict conversion support.
›Ships InMemoryStore, a fully-featured in-memory BaseStore implementation backed by Python dicts for prototyping and testing without external dependencies.
›Adds AsyncBatchedBaseStore, which automatically coalesces async store operations into batches via a background task for higher throughput.
›Extends JsonPlusSerializer to serialize Item objects, enabling store items to round-trip correctly through checkpoint persistence.
LangGraph checkpoint 1.0.12 adds secret-value serialization support in JsonPlusSerializer.
└──▷ GET THIS VERSION
$ git clone --branch checkpoint==1.0.12 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout checkpoint==1.0.12
›Supports serializing objects that implement get_secret_value() in JsonPlusSerializer, enabling proper handling of secure/secret values during checkpoint serialization and deserialization.
›Adds optional namespace parameter to get_subgraphs and aget_subgraphs for filtering subgraphs by name, improving performance in nested-subgraph graphs.
›Automatically excludes subgraphs with checkpointing disabled (checkpointer is False) from subgraph enumeration.
›Broadens BaseStore value type (V) from dict[str, Any] to Any, enabling storage of arbitrary value types.
LangGraph's ToolNode now supports multimodal tool responses, letting tools return images and structured data alongside text.
└──▷ GET THIS VERSION
$ git clone --branch 0.2.25 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout 0.2.25
└──▷ USE IT
Return an image from a tool so the LLM receives it as a structured content block rather than a stringified blob.
python
from langgraph.prebuilt import ToolNode
from langchain_core.tools import tool
@tool
def capture_screenshot(url: str) -> list:
"""Capture a screenshot and return it as image content."""
image_bytes = fetch_screenshot(url) # your existing logic
return [{"type": "image", "source": {"type": "base64", "media_type": "image/png", "data": image_bytes}}]
node = ToolNode([capture_screenshot])
›Enhances ToolNode to handle multimodal content in tool responses, preserving image, image_url, text, and json content blocks instead of converting everything to strings.
LangGraph SDK 0.1.31 adds assistant versioning, subgraph streaming, future run scheduling, and a richer Checkpoint type.
└──▷ GET THIS VERSION
$ git clone --branch sdk==0.1.31 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout sdk==0.1.31
└──▷ USE IT
Pin a specific assistant version to active after testing a new prompt configuration in staging.
LangGraph 0.2.23 adds token-by-token message streaming and custom node output streaming via two new stream modes.
└──▷ GET THIS VERSION
$ git clone --branch 0.2.23 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout 0.2.23
└──▷ USE IT
Surface LLM tokens as they are generated so a UI can display streamed responses without waiting for the full reply.
python
for chunk in graph.stream(inputs, stream_mode="messages"):
print(chunk)
Emit structured intermediate results from a node (e.g. progress updates) that consumers can act on before the graph finishes.
python
# Inside a node definition:
def my_node(state, *, write):
write({"status": "halfway done"})
return state
# Consuming the stream:
for chunk in graph.stream(inputs, stream_mode="custom"):
print(chunk)
›Adds stream_mode="messages" to stream LLM output token-by-token in real time.
›Adds stream_mode="custom" to emit arbitrary output from nodes via a write parameter.
›Enhances chat_agent_executor with route_tool_responses to support tools configured with return_direct, bypassing the agent on return.
›Introduces AsyncQueue and SyncQueue utilities for higher-performance concurrent streaming.
└──▷ BREAKING ON UPGRADE
!In chat_agent_executor, should_continue now returns "tools" instead of "continue" and "__end__" instead of "end" — code that matches on those string values will break.
$ git clone --branch checkpoint==1.0.10 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout checkpoint==1.0.10
›Adds MessagePack integration to JsonPlusSerializer as a faster alternative to JSON serialization, with pooled encoders for throughput.
›Adds a SCHEDULED special channel constant (value -2) in WRITES_IDX_MAP on BaseCheckpointSaver to track scheduled task status in the checkpoint system.
›Adds get_next_version method to InMemorySaver to generate consistent, unique version identifiers for channels.
›Extends JsonPlusSerializer to serialize objects exposing _asdict() (e.g., namedtuples).
LangGraph Postgres checkpointer gains custom serializer support and smarter SQL write strategies in v1.0.7
└──▷ GET THIS VERSION
$ git clone --branch checkpointpostgres==1.0.7 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout checkpointpostgres==1.0.7
└──▷ USE IT
Plug in a custom serializer when opening an async Postgres checkpoint connection — useful when your graph state contains types the default serializer can't handle.
python
from langgraph.checkpoint.postgres.aio import AsyncPostgresSaver
from my_project.serializers import MyCustomSerde
async with AsyncPostgresSaver.from_conn_string(
"postgresql://user:pass@localhost/mydb",
serde=MyCustomSerde(),
) as saver:
await saver.setup()
# attach saver to your compiled graph
graph = workflow.compile(checkpointer=saver)
›Adds optional serde parameter to AsyncPostgresSaver.from_conn_string() for injecting custom serializers.
›Introduces dynamic SQL query selection for checkpoint writes, choosing between upsert and insert-only operations based on channel types in both PostgresSaver and AsyncPostgresSaver.
›Adds new INSERT_CHECKPOINT_WRITES_SQL constant enabling insert-only checkpoint write operations alongside the existing upsert path.
$ git clone --branch 0.2.22 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout 0.2.22
└──▷ USE IT
Use create_model to build a Pydantic state schema that works across langchain-core versions when defining a StateGraph.
python
from langgraph.utils.pydantic import create_model
from langgraph.graph import StateGraph
MyState = create_model('MyState', messages=(list, []), step=(int, 0))
graph = StateGraph(state_schema=MyState)
›Adds langgraph.utils.pydantic.create_model, a new utility function that creates Pydantic models compatible with both older and newer versions of langchain-core, supporting normal field definitions and root models through a consistent interface.
›Adds a deprecation warning when StateGraph is initialized without an explicit state_schema parameter, prompting users to supply one explicitly.
LangGraph 0.2.20 adds dataclass schema support, ToolNode naming, and reduced dependency on langchain-core for config handling.
└──▷ GET THIS VERSION
$ git clone --branch 0.2.20 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout 0.2.20
└──▷ USE IT
Use a dataclass as a StateGraph schema so field defaults are automatically resolved without manual annotation workarounds.
python
from dataclasses import dataclass, field
from langgraph.graph import StateGraph
@dataclass
class AgentState:
messages: list = field(default_factory=list)
step: int = 0
graph = StateGraph(AgentState)
Identify a ToolNode by name when inspecting or logging graph structure.
python
from langgraph.prebuilt import ToolNode
node = ToolNode(tools=[my_tool])
print(node.name) # "ToolNode"
›Adds dataclass support in get_field_default, enabling field defaults (including default factories) to be retrieved from dataclass-based state schemas.
›Adds a name attribute (default "ToolNode") to ToolNode for better graph node identification.
›Adds local ensure_config, get_callback_manager_for_config, and get_async_callback_manager_for_config in langgraph.utils.config, removing the dependency on langchain-core for config handling.
›Adds __slots__ to BaseChannel and all channel subclasses, reducing per-instance memory overhead at scale.
└──▷ BREAKING ON UPGRADE
!The from_checkpoint API on all channel classes now returns instances directly instead of using a context manager pattern — code that used with channel.from_checkpoint(...) as ch: will break.
LangGraph 0.2.19 adds Pydantic BaseModel support to ToolNode and improves async/sync runner responsiveness.
└──▷ GET THIS VERSION
$ git clone --branch 0.2.19 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout 0.2.19
└──▷ USE IT
Use a Pydantic model as your graph state so ToolNode can extract typed fields directly — no dict conversion needed.
python
from pydantic import BaseModel
from langgraph.prebuilt import ToolNode
from langchain_core.tools import tool
class AgentState(BaseModel):
messages: list
user_id: str
@tool
def lookup_user(user_id: str) -> str:
"""Look up a user by ID."""
return f"User: {user_id}"
node = ToolNode([lookup_user])
# AgentState instance is now passed directly — ToolNode reads fields via getattr
result = node.invoke(AgentState(messages=[...], user_id="u-123"))
›Supports Pydantic BaseModel as an input type in ToolNode, alongside existing list and dict inputs, for stronger type safety in tool-calling graphs.
›Enables ToolNode to detect nested tool injections inside Union and Annotated types.
›Improves ToolNode state extraction to work with object attributes via getattr, enabling object-like states alongside dictionaries.
›Yields control back to the caller immediately at the start of PregelRunner.tick and atick, improving responsiveness in async and sync applications.
LangGraph 0.2.18 adds scheduled-task tracking, a TaskNotFound exception, and a Pregel.copy() method for cleaner graph customization.
└──▷ GET THIS VERSION
$ git clone --branch 0.2.18 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout 0.2.18
└──▷ USE IT
Catch the new TaskNotFound exception when manually driving task execution to handle missing-task edge cases gracefully.
python
from langgraph.errors import TaskNotFound
try:
result = await pregel_loop.execute_task(task_id)
except TaskNotFound:
print(f"Task {task_id} no longer exists in the execution graph")
›Adds SCHEDULED constant ("__scheduled__") to represent scheduled tasks, included in the RESERVED set of special keys.
›Introduces TaskNotFound exception for explicit error handling when the executor cannot locate a task.
›Adds Pregel.copy(update) method to create modified Pregel instances without mutating the original graph.
›Adds path: tuple[str, ...] field to PregelExecutableTask to track a task's execution path through the graph.
›Adds scheduled: bool field to PregelExecutableTask to indicate whether a task has been scheduled.
+1 moreshow less
›Changes prepare_next_tasks to return a dict[str, PregelExecutableTask] keyed by task ID, enabling O(1) task lookup in execution loops.
└──▷ BREAKING ON UPGRADE
!The tasks attribute of PregelLoop changed from Sequence[PregelExecutableTask] to dict[str, PregelExecutableTask]; code that iterates or indexes tasks as a list will break.
!prepare_next_tasks now returns a dict[str, PregelExecutableTask] instead of a list; callers that treat the return value as a sequence will break.
LangGraph 0.2.17 adds Pydantic v2 support, a new get_field_default utility, and a new SUBSCRIPTIONS constant for channel management.
└──▷ GET THIS VERSION
$ git clone --branch 0.2.17 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout 0.2.17
└──▷ USE IT
Inspect the default value for a field in a state schema, e.g. to check whether an optional field has a factory default before graph compilation.
python
from langgraph.utils.fields import get_field_default
from typing import Optional
from pydantic import BaseModel
class MyState(BaseModel):
messages: list = []
user_id: Optional[str] = None
default = get_field_default(MyState.model_fields["messages"])
print(default) # []
›Adds Pydantic v2 support across the library while maintaining Pydantic v1 compatibility, including in ValidationNode which now selects the correct validation method (model_validate/model_dump_json for v2, validate/json for v1) automatically.
›Adds new get_field_default utility in langgraph.utils.fields for reliably resolving default values for state schema fields, with improved handling of optional fields, Required/NotRequired annotations, and type hints.
›Adds new SUBSCRIPTIONS constant to langgraph.constants, included in the RESERVED set for channel management.
›Expands langchain-core dependency range to allow versions up to v0.4.x.
AsyncPostgresSaver gains synchronous wrapper methods for use in mixed sync/async contexts.
└──▷ GET THIS VERSION
$ git clone --branch checkpointpostgres==1.0.6 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout checkpointpostgres==1.0.6
└──▷ USE IT
Use AsyncPostgresSaver from a synchronous function — e.g. inside a Django view or a sync test — without spinning up a separate async runtime.
python
from langgraph.checkpoint.postgres.aio import AsyncPostgresSaver
async def setup():
saver = await AsyncPostgresSaver.from_conn_string("postgresql://user:pass@localhost/db")
return saver
# In a synchronous context:
import asyncio
saver = asyncio.run(setup())
# Now call sync wrappers directly from sync code:
checkpoint_tuple = saver.get_tuple(config)
all_checkpoints = list(saver.list(config))
saver.put(config, checkpoint, metadata, new_versions)
›Adds synchronous list(), get_tuple(), put(), and put_writes() methods to AsyncPostgresSaver, backed by asyncio.run_coroutine_threadsafe(), enabling use from synchronous code without restructuring the async saver.
›Stores the running event loop on AsyncPostgresSaver instances via self.loop to support the new synchronous dispatch methods.
AsyncSqliteSaver gains synchronous get_tuple, list, put, and put_writes methods for mixed async/sync use.
└──▷ GET THIS VERSION
$ git clone --branch checkpointsqlite==1.0.2 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout checkpointsqlite==1.0.2
└──▷ USE IT
Call AsyncSqliteSaver synchronously from a non-async context — useful when integrating with sync frameworks or threads that share an async event loop.
python
from langgraph.checkpoint.sqlite.aio import AsyncSqliteSaver
saver = AsyncSqliteSaver.from_conn_string("checkpoints.db")
# Synchronous put now works without wrapping in asyncio.run()
saver.put(config, checkpoint, metadata, new_versions)
# Synchronous put_writes also available
saver.put_writes(config, writes, task_id)
›Adds synchronous get_tuple, list, and put methods to AsyncSqliteSaver, running async equivalents via asyncio.run_coroutine_threadsafe for mixed-context use.
›Adds new synchronous put_writes method to AsyncSqliteSaver.
LangGraph 0.2.16 improves nested subgraph detection for accurate visualization of complex graph structures.
└──▷ GET THIS VERSION
$ git clone --branch 0.2.16 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout 0.2.16
›Enhances get_graph with pre-computed subgraph resolution when using the xray parameter, enabling accurate visualization of complex nested graph structures.
›Expands get_subgraphs to discover nested Pregel instances inside RunnableSequence steps, RunnableLambda dependencies, and RunnableCallable function nonlocals.
Semantic Kernel Python 1.10.1 makes azure-identity a default dependency and adds a Guided Conversations sample.
└──▷ GET THIS VERSION
$ git clone --branch python-1.10.1 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout python-1.10.1
›Promotes azure-identity to a default (non-optional) dependency, removing the need for manual installation when using Azure-backed services.
Semantic Kernel Python 1.10.0 adds DefaultAzureCredential auth, OpenAI json_schema response format, and streaming token usage.
└──▷ GET THIS VERSION
$ git clone --branch python-1.10.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout python-1.10.0
›Supports DefaultAzureCredential authentication for Azure Resources in Azure OpenAI connectors.
›Supports DefaultAzureCredential authentication for AzureAI Inference connectors.
›Supports all auth options for Azure AI Search.
›Adds json_schema response format support for OpenAI completions.
›Exposes token usage data in streaming content responses.
Semantic Kernel .NET 1.21.1 adds generic data model support for the Azure Cosmos DB NoSQL connector.
└──▷ GET THIS VERSION
$ git clone --branch dotnet-1.21.1 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout dotnet-1.21.1
›Adds generic data model support to the Azure CosmosDB NoSQL connector, enabling flexible schema-less document operations without predefined entity types.
Semantic Kernel .NET 1.21.0 adds Process orchestration, Agent prompt templates, generic CosmosDB MongoDB model support, and polymorphic chat serialization.
└──▷ GET THIS VERSION
$ git clone --branch dotnet-1.21.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout dotnet-1.21.0
└──▷ USE IT
Invoke an OpenAI Assistant agent in streaming mode without supplying an initial message list, now that messages is optional.
csharp
await foreach (var response in agent.InvokeStreamingAsync(thread))
{
Console.WriteLine(response.Content);
}
›Adds messages parameter as optional for OpenAIAssistantAgent.InvokeStreamingAsync, removing the requirement to supply a message list on every streaming invocation.
›Supports prompt templates for .NET Agents, enabling KernelFunction-based agent definitions to accept structured prompt template inputs.
›Updates KernelFunction-based strategies for AgentGroupChat with revised behavior.
›Supports polymorphic serialization of ChatMessageContent and its derived classes.
›Adds generic data model support for the Azure CosmosDB MongoDB vector store connector.
+1 moreshow less
›Adds Feature Processes support for .NET, enabling structured multi-step process orchestration within Semantic Kernel.
└──▷ BREAKING ON UPGRADE
!The Redis hash-set vector store prefix default is switched to true; existing setups that relied on the previous default of false will address keys differently after upgrade.
Semantic Kernel 1.20.0 adds OpenAI Structured Outputs, a new function-calling model, generic vector-store data models, and Prompty file providers for .NET.
└──▷ GET THIS VERSION
$ git clone --branch dotnet-1.20.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout dotnet-1.20.0
›Adds FunctionCallContent exception handling consistency improvements to the function-calling pipeline.
›Introduces OpenAI Structured Outputs support (Option 1 and Option 2) for the OpenAI and Azure OpenAI connectors.
›Adds a new function-calling model for .NET (PR #8811), providing an updated API surface for invoking kernel functions.
›Adds generic data model and mapper for the Azure AI Search vector store connector, enabling schema-free document storage and retrieval.
›Adds generic data model mapper for Qdrant vector store connector.
+4 moreshow less
›Adds generic data model support for the Redis vector store connector.
›Adds dotnet Prompty file providers, enabling loading of .prompty prompt files directly from the filesystem.
›Removes float64 from supported vector types in the Qdrant connector, aligning with Qdrant's supported formats.
›Adds streaming support and additional assistant options for .NET Agents.
└──▷ BREAKING ON UPGRADE
!The Qdrant connector no longer supports float64 as a vector element type; embeddings using float64 will need to be migrated to a supported type.
Semantic Kernel Python 1.9.0 adds Mistral AI function calling support and new abstract AI connector methods.
└──▷ GET THIS VERSION
$ git clone --branch python-1.9.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout python-1.9.0
›Adds Mistral AI function calling support via the MistralAI AI connector, enabling tool/plugin invocation through Mistral models.
›Introduces new abstract methods on the AI Connector base class, expanding the interface for implementing custom AI service connectors.
›Adds a parallel function calling sample demonstrating concurrent tool invocation across AI services.
Semantic Kernel .NET 1.19 adds Azure AI Inference and Ollama connectors, streaming for OpenAIAssistantAgent, and Azure Credential support for Cognitive Services.
└──▷ GET THIS VERSION
$ git clone --branch dotnet-1.19.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout dotnet-1.19.0
›Adds new Azure AI Inference connector, enabling chat and embedding calls through the Azure AI Inference API (#7963).
›Adds new Ollama connector for local model inference via Ollama.
›Adds streaming support for OpenAIAssistantAgent and AgentChat in the .NET Agents framework.
›Switches Azure Cognitive Services authentication from API keys to Azure Credentials (token-based auth).
›Adds new Weaviate connector implementing the new memory/vector store design.
+2 moreshow less
›Adds ONNX demo and concept samples illustrating local inference with Microsoft.ML.OnnxRuntimeGenAI.
›Removes obsolete support for OpenAI ChatGPT plugins.
Semantic Kernel .NET 1.18.2 adds Azure Cosmos DB connectors, data URI image support in chat templates, and OpenAPI server-variable support.
└──▷ GET THIS VERSION
$ git clone --branch dotnet-1.18.2 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout dotnet-1.18.2
›Adds ImageContent support for data URIs in ChatPromptParser, enabling chat prompt templates to embed base64-encoded images directly.
›Adds JSON serializer options and user-agent string passthrough from vector store options down to underlying connectors via Vector Store options.
›Adds support for OpenAPI descriptions that use server variables, expanding the range of OpenAPI specs Semantic Kernel can consume.
›Adds Azure Cosmos DB for MongoDB connector implementing the new memory/vector-store design.
›Adds Azure Cosmos DB for NoSQL connector implementing the new memory/vector-store design.
+2 moreshow less
›Promotes OpenAI V2 and Assistants V2 integrations to general availability (GA) for .NET.
›Adds F# script samples (.fsx) including a Hugging Face chat completion demo under the Demos folder.
Run KoboldCpp entirely on CPU (e.g. on a machine with no GPU or when benchmarking CPU throughput) using the new unified CPU mode flag.
$ koboldcpp.exe --model mymodel.gguf --usecpu
›GPU backend is now auto-selected by default when no --use... flag is specified; override with --usecpu, --usevulkan, or --usecublas. Dragging a GGUF model onto koboldcpp.exe now launches with GPU and gpulayers auto-configured.
›New --showgui flag allows the GUI to be displayed even when command-line flags are used, importing those flags into the GUI for interactive modification; also works with .kcpps config files.
›OpenBLAS backend removed and unified with NoBLAS into a single CPU mode; use --usecpu to enable CPU mode (the --noblas flag is now deprecated).
›Adds support for RWKV v6 models (context shifting not supported).
›Adds support for OpenAI-compatible TTS endpoints in Kobold Lite.
+8 moreshow less
›Adds display-only regex replacement in Kobold Lite, hiding or replacing displayed text while keeping the original text in AI context.
›Adds a first-start welcome screen in Kobold Lite for selecting a starting UI theme.
›Adds a preview option for alternate greetings within V2 Tavern character cards in Kobold Lite.
›Adds a new Instruct scenario in Kobold Lite to mimic CoT Reflection (Thinking).
›Adds a toggle in Kobold Lite for chat name format matching, allowing matching any name or only predefined names.
›Adds a warning display when loading legacy GGML models.
›Embedded Horde workers now work with password-protected instances.
›Adds system role support for the Metharme instruct format in Kobold Lite.
└──▷ BREAKING ON UPGRADE
!The OpenBLAS backend has been removed; --noblas is deprecated. CPU mode must now be specified with --usecpu.
!When no --use... backend flag is provided, a GPU backend is now selected automatically if available, replacing the previous default of CPU/NoBLAS.
LocalAI v2.21 adds a /system info endpoint, video/audio API inputs, ElevenLabs sound generation, vLLM embeddings, and auto model warm-up.
└──▷ GET THIS VERSION
$ git clone --branch v2.21.0 https://github.com/mudler/LocalAI.git
# already have the repo? check out this version:$ git checkout v2.21.0
›Adds GET /system endpoint to list system information.
›Adds ElevenLabs sound-generation API support via the elevenlabs backend.
›Adds support for passing videos to backends via the API.
›Adds support for passing audios to backends via the API.
›Adds embedding support to the vllm backend.
+4 moreshow less
›Adds trust_remote_code configuration support for the sentencetransformers backend.
›Adds regex-based output extraction from LLM responses.
›Adds auto warm-up to load models into memory on startup.
›AIO images now ship gpt-4o as the Vision API model alias.
└──▷ BREAKING ON UPGRADE
!The exllama backend has been removed; any configuration referencing it will break on upgrade.
!The AIO image model alias gpt-4-vision-preview has been renamed to gpt-4o; configurations or API calls using gpt-4-vision-preview will need to be updated.
SGLang v0.3.0 adds MLA throughput gains, torch.compile, fp8 KV cache, min-p sampling, JSON constraints, and live weight updates.
└──▷ GET THIS VERSION
$ git clone --branch v0.3.0 https://github.com/sgl-project/sglang.git
# already have the repo? check out this version:$ git checkout v0.3.0
└──▷ TRY IT
Verify the inference server is live and capable of generating tokens (not just process-up).
$ curl http://localhost:30000/v1/health
›Adds --disable-custom-all-reduce flag to opt out of custom all-reduce kernels.
›Adds fp8 e5m2 KV cache support via both FlashInfer and Triton backends for reduced memory footprint during inference.
›Adds min-p sampling parameter for nucleus-style sampling with a minimum probability floor.
›Enables JSON-constrained generation (structured output) usable directly from the gen call via json_schema.
›Adds /v1/health endpoint that validates the server by generating a single token.
+13 moreshow less
›Supports live weight updates without restarting the server via the new update-weights API.
›Supports batch cancellation requests.
›Supports optional start length for logprobs via new logprobs sampling parameter.
›Enables streaming for multi-prompt and parallel sampling requests.
›Chunked prefill is now on by default, with support for separate or mixed prefill-and-decode modes.
›Adds LLaVA-OneVision model support, including SigLIP encoder, Qwen2 decoder, interleaved text and multi-image/video input, and OpenAI-compatible API server.
›Adds EXAONE 3.0 model support.
›Adds Phi-3 Mini and Medium model support.
›Adds Alibaba-NLP/gte-Qwen2-7B-instruct embedding model support.
›Delivers up to 7x higher throughput for DeepSeek Multi-head Latent Attention (MLA) via optimized Triton decoding kernels and offline weight transposition.
›Delivers up to 1.5x lower latency with torch.compile on small batch sizes.
›Extends Gemma-2 context length 2x via interleaved window attention support.
›Adds SM75 (Turing) GPU support via FlashInfer v0.1.6.
└──▷ BREAKING ON UPGRADE
!model_overide_args is renamed to model_override_args; any config or code referencing the old spelling will break.
SGLang v0.2.13 adds window attention for Gemma-2, embedding model support, all sampling penalties, chunked-prefill by default, and 2x MLA throughput for DeepSeek v2.
└──▷ GET THIS VERSION
$ git clone --branch v0.2.13 https://github.com/sgl-project/sglang.git
# already have the repo? check out this version:$ git checkout v0.2.13
└──▷ TRY IT
Generate embeddings for a list of strings using the new OpenAI-compatible embeddings endpoint backed by e5-mistral.
$ curl http://localhost:30000/v1/embeddings \
-H 'Content-Type: application/json' \
-d '{"model": "intfloat/e5-mistral-7b-instruct", "input": ["query: what is SGLang?", "query: how does MLA work?"]}'
Apply repetition and frequency penalties during generation to reduce token repetition in long outputs.
›Set VLLM_ALLOW_DEPRECATED_BEAM_SEARCH=1 to suppress the new beam-search deprecation error, or migrate to vllm.LLM.use_beam_search for dedicated beam search.
›Introduces MQLLMEngine for the API server, boosting throughput ~30% in single-step and ~7% in multi-step scenarios.
›Adds initial support for priority scheduling in the production engine.
›Adds batch inference support for the llm.chat() API.
+20 moreshow less
›Exposes a revision argument in the OpenAI-compatible server frontend.
›Adds LoRA lineage and base model metadata management support.
›Adds prompt logprobs support in multi-step scheduling.
›Adds output streaming support to multi-step + async scheduling.
›Adds FlashInfer backend support for multi-step scheduling.
›Adds CUDA graph support during decoding for encoder-decoder models.
›Adds benchmark_serving support for sampling from Hugging Face datasets and image inputs.
›Adds custom paged attention kernel for AMD ROCm.
›Adds fp8 KV cache support for AMD ROCm.
›Implements multi-step scheduling for TPU, using Ray as the default distributed backend.
›Enables MRoPE and Qwen2-VL support on the CPU backend.
›Enables 8-bit weights in Fused Marlin MoE kernel.
›Adds asymmetric quantization (AQ AZP) kernels for 3-bit and 4-bit precision.
›Adds tensor parallelism support with bitsandbytes quantization.
›Adds bitsandbytes quantization support for Gemma2.
›Adds support for Solar, MiniCPM3, and LLaVA-Onevision models.
›Adds multiple-image support for Qwen-VL and pipeline parallelism for Qwen2-VL.
›Adds Mistral function calling format support across all models loaded with the 'mistral' format.
›Adds IQ1_M quantization implementation to the GGUF kernel.
›Binds ZMQ socket to 127.0.0.1 only for local-only API server usage, reducing network exposure.
└──▷ BREAKING ON UPGRADE
!Using beam search as a sampling parameter now raises an error; set VLLM_ALLOW_DEPRECATED_BEAM_SEARCH=1 to suppress, or migrate to vllm.LLM.use_beam_search.
4 more releases in this issue
· 2024-09-04 → 2024-09-25
vLLM v0.6.1.post1 adds multi-image Qwen-VL support, FlashInfer multi-step backend, delta-only engine output, and bitsandbytes for Gemma2.
└──▷ GET THIS VERSION
$ git clone --branch v0.6.1.post1 https://github.com/vllm-project/vllm.git
# already have the repo? check out this version:$ git checkout v0.6.1.post1
›Adds engine option to return only deltas or final output (rather than full accumulated text on each step).
›Adds FlashInfer backend support for multi-step scheduling.
›Adds bitsandbytes quantization support for Gemma2 models.
›Supports multiple images for Qwen-VL models.
›Removes the engine_use_ray engine option.
└──▷ BREAKING ON UPGRADE
!The engine_use_ray option has been removed; usages must be dropped on upgrade.
!Chunked scheduling is disabled by default for multimodal (vision) models; replace --max_num_batched_tokens 16384 with --max-model-len 16384 in existing invocations.
vLLM v0.6.0 delivers 2x throughput, multi-step scheduling, Tools API streaming, and new model/hardware support
└──▷ GET THIS VERSION
$ git clone --branch v0.6.0 https://github.com/vllm-project/vllm.git
# already have the repo? check out this version:$ git checkout v0.6.0
└──▷ TRY IT
Maximize throughput on a high-end GPU by enabling multi-step scheduling — useful for batch inference workloads where latency per step matters less than overall tokens/sec.
›Enables multi-step scheduling via --num-scheduler-steps engine argument (e.g. --num-scheduler-steps 8) to unlock up to 2x throughput versus v0.5.3, with log_probs support included.
›Adds json_schema support from the OpenAI protocol for structured output control.
›Adds OpenAI-Compatible Tools API with streaming support for Hermes and Mistral models.
›Enables chunked prefill and prefix caching simultaneously, previously mutually exclusive.
›Publishes Prometheus metrics in the run_batch API.
+18 moreshow less
›Adds support for bitsandbytes 8-bit and FP4 quantized models.
›Adds a new tokenizer mode for Mistral models using the native mistral-commons package.
›Adds async output processing that overlaps output data-structure construction with GPU work, delivering a 12% throughput increase.
›Uses FlashInfer backend for FP8 KV Cache when available.
›Uses FlashInfer backend for rejection sampling in Speculative Decoding.
›Adds tensor parallelism (TP) support for Vision Transformers (ViTs).
›Adds multi-image input support for LLaVA-Next and Phi-3-vision models.
›Adds multimodal support in offline chat and support for multiple multi-modal items in the OpenAI frontend.
›Adds Ultravox support for multiple audio chunks.
›Supports benchmarking the async engine in benchmark_throughput.py.
›Adds new LLM models: Exaone, Granite, and Phi-3.5-MoE.
›Extends CUDA graph size for H200 GPUs.
›Adds Triton implementations of awq_dequantize and awq_gemm for AMD ROCm AWQ support.
›Adds pipeline parallel support for Intel GPUs.
›Adds context-length and token-generation bucket support for Neuron.
›Adds support for single and multi-host TPUs on GKE, plus async output processing for TPU.
›Adds more percentile and latency metrics to benchmark output.
›Migrates mamba_ssm and causal_conv1d kernels into vLLM, removing external kernel dependencies.
Ollama v0.3.11 adds ollama stop to unload running models and ships five new models including Qwen 2.5 and Bespoke-Minicheck.
└──▷ GET THIS VERSION
$ git clone --branch v0.3.11 https://github.com/ollama/ollama.git
# already have the repo? check out this version:$ git checkout v0.3.11
└──▷ TRY IT
Free GPU/CPU memory immediately after a batch inference job by unloading a specific model without restarting the Ollama service.
$ ollama stop mistral-small
›New ollama stop command to unload a running model from memory on demand.
›Adds Solar-Pro-Preview (22B), Qwen 2.5 (up to 128K context), Bespoke-Minicheck (fact-checking), Mistral-Small (22B), and Reader-LM (HTML-to-Markdown) to the model library.
›Shows an error when importing a model with an invalid number of tokens in the vocabulary, catching bad imports early.
›The ollama/ollama container image now starts almost immediately, cutting startup time by ~5 seconds.
Ollama v0.3.10 adds MiniCPM-V multimodal, Yi-Coder, and DeepSeek-V2.5 models plus automatic CUDA 11 fallback for older NVIDIA drivers.
└──▷ GET THIS VERSION
$ git clone --branch v0.3.10 https://github.com/ollama/ollama.git
# already have the repo? check out this version:$ git checkout v0.3.10
›Adds Yi-Coder, an open-source code language model series delivering state-of-the-art coding performance under 10B parameters.
›Adds DeepSeek-V2.5, combining DeepSeek-V2 general chat and DeepSeek-Coder-V2 coding capabilities in a single model.
›Automatically falls back to CUDA 11 for older NVIDIA drivers incompatible with CUDA 12, expanding GPU support without manual configuration.
└──▷ BREAKING ON UPGRADE
!The OpenAI-compatible chat and completions APIs no longer scale temperature and frequency_penalty, which will change generation behavior for any integration that relied on Ollama's previous scaling of these parameters.
vLLM backend gains five new metrics including e2e latency and token counts; new LLM agent and Kubernetes scaling tutorials added.
└──▷ GET THIS VERSION
$ git clone --branch v2.50.0 https://github.com/triton-inference-server/server.git
# already have the repo? check out this version:$ git checkout v2.50.0
›vLLM backend now exposes five additional Triton metrics: vllm:e2e_request_latency_seconds, vllm:request_prompt_tokens, vllm:request_generation_tokens, vllm:request_params_best_of, and vllm:request_params_n.
›New tutorials added covering constrained decoding in the TensorRT-LLM Python backend and function/tool calling for AI agents.
›New tutorials added for Kubernetes multi-node and multi-instance scaling with Triton and TRT-LLM.
Phoenix 5.0 adds authentication, RBAC, API keys, OAuth2 (Google/Cognito/Auth0), and SMTP support across UI, REST, GraphQL, and gRPC.
└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v5.0.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:$ git checkout arize-phoenix-v5.0.0
›Adds environment variables for token expiry configuration, letting operators tune access- and refresh-token lifetimes.
›Adds environment variable for the Secure attribute on cookies, enabling secure-cookie enforcement.
›Adds CreateUserApiKey GraphQL mutation and deleteUsers mutation for programmatic API key and user lifecycle management.
›Adds support for OAuth2 with OpenID Connect discovery, covering Google, AWS Cognito, and Auth0 as identity providers.
›Adds SMTP integration for password-reset emails.
+10 moreshow less
›Adds server-side rate limiting on authentication endpoints.
›Introduces token-based authentication (session tokens) gating the UI and all APIs (REST, GraphQL, gRPC) when auth is enabled.
›Introduces basic RBAC with two roles — admin (create/edit/delete users) and member (edit own profile only) — enforced on GraphQL queries.
›Adds GraphQL resolvers to patch (update) users and a GQL field indicating whether a user password requires a reset.
›Secures the /exports endpoint and the GraphQL API when authentication is enabled.
›Adds API key management to the user profile page in the UI, including creation and deletion.
›Adds admin user management UI for creating, editing, and deleting users.
›Adds a playground page (skeleton) to the UI.
›Adds Prometheus metrics for authentication events.
›Wires up API keys via environment variable for Phoenix clients and experiments.
└──▷ BREAKING ON UPGRADE
!Python 3.8 is no longer supported; upgrade to Python 3.9 or later.
!Legacy instrumentation modules have been removed; callers must migrate to the current instrumentation API.
4 more releases in this issue
· 2024-09-04 → 2024-09-26
Phoenix v4.36.0 adds an environment variable to control structured logging output.
└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v4.36.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:$ git checkout arize-phoenix-v4.36.0
›Adds an environment variable setting to enable structured (JSON) logging for Phoenix server output.
Phoenix v4.34.0 adds finer-grain 'last N' time range selection to the UI.
└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v4.34.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:$ git checkout arize-phoenix-v4.34.0
›Adds finer-grain 'last N' time range controls for more precise time-window selection when exploring traces and inferences.
Phoenix Evals v0.16.0 adds support for OpenAI o1 preview models.
└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-evals-v0.16.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:$ git checkout arize-phoenix-evals-v0.16.0
›Adds OpenAI o1 preview model support to the Phoenix Evals library.
Phoenix v4.33.0 adds user API keys table, PostgreSQL schema support, Bedrock onboarding, and improved DeleteSystemApiKey mutation.
└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v4.33.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:$ git checkout arize-phoenix-v4.33.0
›The DeleteSystemApiKey mutation now returns a Query object, enabling callers to refetch dependent data in a single round-trip.
›Adds a user API keys management table in the auth UI.
›Adds PostgreSQL schema support with a dedicated integration test for production database deployments.
›Adds Amazon Bedrock to the onboarding flow.
›Renders the database schema in the welcome message when a supported database is configured.
Langfuse v2.78.0 adds structured logging, a /ready readiness endpoint, and renames provisioning env vars to LANGFUSE_INIT_.
└──▷ GET THIS VERSION
$ git clone --branch v2.78.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:$ git checkout v2.78.0
›Adds /ready HTTP endpoint to separate liveness checks from readiness checks in self-hosted deployments.
›Adds structured logging option for self-hosted instances, migrated across the shared package and web API.
›Renames headless initialization environment variable prefix from LANGFUSE_PROVISION_ to LANGFUSE_INIT_ for self-hosted instance provisioning.
└──▷ BREAKING ON UPGRADE
!The LANGFUSE_PROVISION_ environment variable prefix is renamed to LANGFUSE_INIT_; self-hosted instances using headless initialization must update all provisioning env vars to the new prefix or they will break on upgrade.
›Adds LANGFUSE_PROVISION_* environment variables to automatically provision a self-hosted Langfuse instance with a default organization, project, user, and API keys on first startup.
›Adds the ability to delete dataset runs from the UI.
Weave v0.51.8 adds pagination/sorting to object and table APIs, code-capture control, row digests on table mutations, and a chat view for calls.
└──▷ GET THIS VERSION
$ git clone --branch v0.51.8 https://github.com/wandb/weave.git
# already have the repo? check out this version:$ git checkout v0.51.8
└──▷ USE IT
Assert that code is running inside a traced call context — useful in utility functions that must only be invoked within an active Weave op.
python
import weave
weave.require_current_call() # raises if no active call context
›Adds require_current_call function that raises an exception when the current call is None, enabling strict call-context assertions in instrumented code.
›Adds a setting to control code capture behavior in the Weave library.
›Table Creation and Update endpoints now return row digests, enabling callers to track and reference individual rows after writes.
›Adds pagination and sorting to object APIs, making large object collections navigable programmatically.
›Enables sorting and pagination on Table Query endpoints, supporting large-scale tabular data workflows.
+1 moreshow less
›Adds a chat view of calls in the UI, surfacing conversational LLM traces in a message-thread layout.
LanceDB v0.11.0-beta.1 adds with_row_id to the Rust SDK and fast_search for vector queries.
└──▷ GET THIS VERSION
$ git clone --branch v0.11.0-beta.1 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:$ git checkout v0.11.0-beta.1
›Adds with_row_id method to the Rust SDK, enabling row-ID retrieval in query results.
›Adds fast_search option to vector queries for accelerated approximate search.
›Embedding functions that return invalid results now produce Null embeddings instead of failing silently or erroring.
└──▷ BREAKING ON UPGRADE
!Embedding functions that return invalid results now set embeddings to Null rather than the previous behavior — any code relying on the prior error or passthrough behavior will be affected.
4 more releases in this issue
· 2024-09-10 → 2024-09-24
LanceDB python-v0.14.0-beta.0 upgrades to Lance 0.18.0, defaults to file format v2.0, and expands Rust remote client coverage.
└──▷ GET THIS VERSION
$ git clone --branch python-v0.14.0-beta.0 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:$ git checkout python-v0.14.0-beta.0
└──▷ USE IT
Create a new table using the legacy Lance v1.x file format to preserve compatibility with older tooling.
›Passes data_storage_version="legacy" when creating a table to opt out of the new Lance file format v2.0 default.
›Adds remote connection support to the LanceDB Rust client, including endpoints for schema, version, count_rows, and write data.
›Supports creating empty tables and creating tables from a list of RecordBatch objects in the remote Python SDK.
›Defaults the Node API region to us-east-1 when no region is specified for remote connections.
└──▷ BREAKING ON UPGRADE
!Lance file format v2.0 is now the default for new tables; existing workflows that rely on v1.x must pass data_storage_version="legacy" when creating a table.
LanceDB v0.11.0-beta.0 adds Rust remote connection support and upgrades Lance to 0.18.0.
└──▷ GET THIS VERSION
$ git clone --branch v0.11.0-beta.0 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:$ git checkout v0.11.0-beta.0
›Adds remote endpoints for schema, version, and count_rows in the Rust SDK.
›Adds remote client write data endpoint in the Rust SDK.
›Implements Remote connection support for LanceDB Rust client.
›Defaults the Node API region to us-east-1 for remote connections.
›Supports creating empty tables and creating tables from a list of RecordBatch in the remote Python SDK.
└──▷ BREAKING ON UPGRADE
!Lance dependency upgraded to 0.18.0; any code relying on Lance 0.17.x behavior may break on upgrade.
LanceDB v0.10.0 migrates FTS to lance-index, adds bitmap/label-list scalar indexes, reranker improvements, and query offsets across Python, Rust, and Node.js.
└──▷ GET THIS VERSION
$ git clone --branch v0.10.0 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:$ git checkout v0.10.0
└──▷ USE IT
Run a hybrid search with phrase-level FTS matching enabled.
LanceDB python-v0.13.0 migrates FTS to lance-index, adds bitmap/label-list scalar indexes, AnswerDotAI rerankers, phrase queries, and offset support.
└──▷ GET THIS VERSION
$ git clone --branch python-v0.13.0 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:$ git checkout python-v0.13.0
└──▷ USE IT
Run a hybrid search with phrase matching enabled and RRF reranking (now the default reranker).
›Migrates full-text search (FTS) from tantivy to lance-index, enabling FTS query and indexing on RemoteTable and AsyncTable.
›Supports building FTS indexes without positions, reducing index size when phrase queries are not needed.
›Enables phrase_query(bool) on hybrid search queries to toggle phrase matching mode.
›Adds BitmapIndex and LabelListIndex scalar index types to the Python async API, Node.js API, and remote tables.
›Adds answerdotai rerankers support for hybrid search result reranking.
+8 moreshow less
›Changes the default reranker to RRF (Reciprocal Rank Fusion).
›Exposes offset in query for both Python and Rust APIs, enabling paginated query results.
›Adds to_list() to the Python async query API.
›Adds a delete_unverified parameter to the Python and Node.js delete APIs.
›Supports creating a table from a record batch iterator.
›Adds a flag to enable faster manifest paths (backed by lance v0.17.0 upgrade).
›Exposes HNSW indices in the API.
›Revamps the hybrid query API for manual hybrid queries with a cleaner interface.
└──▷ BREAKING ON UPGRADE
!FTS backend is migrated from tantivy to lance-index — existing tantivy-based FTS indexes must be rebuilt.
!The hybrid query API for manual hybrid queries has changed — existing code using the old hybrid query interface will break and must be updated to the new API.
Qdrant v1.11.4 adds a grey collection status for pending optimizations, faster startups, leaner snapshots, disk logging config, and a JWT entropy warning.
└──▷ GET THIS VERSION
$ git clone --branch v1.11.4 https://github.com/qdrant/qdrant.git
# already have the repo? check out this version:$ git checkout v1.11.4
›Adds a logging-to-disk template in the configuration file, enabling structured log persistence without custom setup.
›Adds a grey collection status indicator when optimizations are pending after a node restart, distinguishing this state from healthy (green) or degraded.
›Prints a warning in logs when a JWT RBAC key has low entropy, surfacing credential-strength issues at runtime.
›Creates snapshots without intermediate temporary files, reducing disk space requirements and snapshot creation time.
›Parallelizes deduplication of points on startup, significantly reducing startup time for large collections.
+3 moreshow less
›Improves geo index memory usage by up to 30% via geohash packing.
›Improves error reporting for malformed JSON path strings.
›Removes max_segment_number from the OpenAPI definition as the field is no longer used.
Weaviate v1.26.5 adds backup cancel/list endpoints, Jina V3 and VoyageAI model support, maintenance mode, and async brute-force search limit — but is flagged BROKEN and should not be used.
└──▷ GET THIS VERSION
$ git clone --branch v1.26.5 https://github.com/weaviate/weaviate.git
# already have the repo? check out this version:$ git checkout v1.26.5
›Adds ASYNC_BRUTE_FORCE_SEARCH_LIMIT environment variable to cap brute-force search results in async mode.
›Adds MAINTENANCE_NODES environment variable to put specific nodes into maintenance mode.
›Adds a backup cancel API endpoint (backported from main).
›Adds support for Jina V3 embeddings, including updating the task_type parameter to task for JinaAI V3 embedding models.
›Adds support for new VoyageAI embedding models with adjusted max token values.
+6 moreshow less
›Adds support for the X-Databricks-User-Agent header in Databricks integrations.
›Adds support for OpenAI's x-request-id response header, surfacing it in errors from generative and QnA modules.
›Introduces object deletion conflict resolution for distributed setups.
›Introduces a limit on nested cross-reference depth in queries.
›Introduces metrics for tombstone cycle start, end, and progress.
›Adds a backup list API endpoint (note: subsequently disabled in this same release).
└──▷ BREAKING ON UPGRADE
!This release is marked [BROKEN] / [DO NOT USE]: a bug may cause cluster data deletion in certain setups. Upgrade to v1.26.6 instead. See https://github.com/weaviate/weaviate/issues/5971 for details.
2 more releases in this issue
· 2024-09-13 → 2024-09-27