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.63.0 adds Qwen 2.5 Coder 32B support and a quieter /web command that appends pages without triggering LLM responses.
└──▷ GET THIS VERSION
$ git clone --branch v0.63.0 https://github.com/Aider-AI/aider.git
# already have the repo? check out this version:$ git checkout v0.63.0
└──▷ TRY IT
Fetch a reference page (e.g., an API doc) into context without immediately prompting the LLM — useful when you want to stage multiple sources before asking a question.
$ /web https://example.com/api-reference
›Supports Qwen 2.5 Coder 32B as a model option.
›The /web command now adds a page to the chat context silently, without triggering an LLM response.
›Improved prompting for the user's preferred chat language.
Adds a timestamp attribute to the file autocomplete.jsonl autocomplete log format.
└──▷ GET THIS VERSION
$ git clone --branch v0.8.56-vscode https://github.com/continuedev/continue.git
# already have the repo? check out this version:$ git checkout v0.8.56-vscode
›Adds a timestamp attribute to entries in the file autocomplete.jsonl autocomplete log file.
OpenHands 0.14.3 adds a Push & Create PR button and the commit0 benchmark.
└──▷ GET THIS VERSION
$ git clone --branch 0.14.3 https://github.com/All-Hands-AI/OpenHands.git
# already have the repo? check out this version:$ git checkout 0.14.3
└──▷ HOW TO FIND IT
After an agent completes its work, push the branch and open a PR without leaving the UI.
📍In the OpenHands UI, after a session completes, click the Push & Create PR button to push the current branch and create a pull request in your connected repository.
›New Push & Create PR UI button lets users push changes and open a pull request directly from the OpenHands interface.
›Adds the commit0 benchmark for evaluating agent performance.
›Server process now runs at highest system priority, improving responsiveness under load.
5 more releases in this issue
· 2024-11-04 → 2024-11-26
Zed v0.163.2 adds vim git permalinks, pytest discovery, file-finder width control, and assistant inline hints.
└──▷ GET THIS VERSION
$ git clone --branch v0.163.2 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:$ git checkout v0.163.2
└──▷ USE IT
Set the file finder modal to a specific width so it takes up less screen real estate during file search.
json
{
"file_finder": {
"modal_width": "medium"
}
}
Disable the new inline assistant hints if you already know the keybindings and want a cleaner editor surface.
json
{
"assistant": {
"show_hints": false
}
}
›Adds file_finder.modal_width setting (values: e.g. 'medium') to control the width of the file finder modal.
›Adds assistant.show_hints setting (set to false to disable) to toggle inline hints that guide users on invoking the inline assistant and opening the assistant panel.
›Adds vim command :<range>cpplink to copy a permanent git permalink for the highlighted range to the clipboard.
›Adds Python pytest-based test discovery and runnables, with a configurable TASK_RUNNER task setting (values: 'pytest' (default) or 'unittest') to switch between pytest and unittest.
›Adds editor: open docs action to open documentation links via rust-analyzer.
+12 moreshow less
›Adds Python function.call and function.decorator syntax highlight tags, plus improved differentiation of function/method calls, class calls, and class definitions.
›Adds support for % in Vim mode to jump between pairs of matching tags.
›Adds support for ctrl-o in Vim insert mode to enter temporary normal mode.
›Adds Sublime Keymap editor::SelectAllMatches bind (find_all_under): ctrl-cmd-g on Mac, alt-f3 on Linux.
›Enables snippet parsing with choices, showing a completion menu when tabbing to a snippet variable with multiple choices.
›Adds visual strikethrough on tab titles for files deleted outside of Zed, with improved handling (auto-save disabled, save-conflict detection for multibuffers, restore confirmation for single buffers).
›Adds HTML injections for Markdown syntax highlighting.
›Linux: Adds support for Back/Forward multimedia keys.
›Tab bar height now respects the ui-density setting.
›Improves .env.* file detection as Shell Scripts by default.
›Updates Copilot underlying version to Copilot.vim 1.41.0.
›Python tasks now use the active toolchain to run, with improved Conda and Poetry environment detection.
└──▷ BREAKING ON UPGRADE
!The low_speed_timeout setting has been removed from LLM provider settings; any config referencing it will silently ignore it or may cause an error on upgrade.
3 more releases in this issue
· 2024-11-06 → 2024-11-27
›Adds inline_completions_disabled_in to per-language settings to suppress inline completions inside named scopes (e.g. comment, string) — example: {"languages": {"Go": {"inline_completions_disabled_in": ["comment", "string"]}}}.
›Adds rootFontSize configuration key for tailwindcss-language-server via lsp settings — example: {"lsp": {"tailwindcss-language-server": {"settings": {"rootFontSize": 50}}}}.
›Adds project_panel::RemoveFromProject action, enabling users to bind a custom key to remove a folder from the project.
›REPL: Adds a kernel picker UI for selecting Jupyter kernels directly from the editor.
›Adds support for kernelspecs based on Python virtual environments in the REPL.
+9 moreshow less
›Adds a setting to display error and warning diagnostic indicators on project panel file/folder items.
›Adds initial support for FreeBSD.
›Adds support for look-around (lookahead/lookbehind) in project search.
›Python: Adds python-lsp-server as a secondary built-in language server.
›Adds an initial set of default Emacs keybindings.
›Adds open settings and revert selected hunks shortcuts to the JetBrains keymap.
›Adds macOS key equivalents to cmd-shift-pdebug: Open Key Context View.
›Zig: Switches tree-sitter grammar to the official Zig grammar.
›SSH Remoting: Improves Zed remote server compilation support for riscv64.
└──▷ BREAKING ON UPGRADE
!All builtin shortcuts bound to alt-[a-z] have been rebound: alt-b→alt-right, alt-d→alt-delete, alt-f→alt-left, alt-shift-f→ctrl-shift-f, alt-h→alt-backspace, alt-m→ctrl-shift-m, alt-q→cmd-k q/ctrl-k q, alt-t→cmd-shift-r/ctrl-shift-r, alt-shift-t→alt-cmd-r/ctrl-alt-r, alt-v→ctrl-shift-v, alt-z→cmd-k z/ctrl-k z. Restore old bindings manually in your keymap file if needed.
!macOS: Keyboard shortcuts are now automatically localized for non-US keyboard layouts (e.g. on QWERTZ, cmd-[ becomes cmd-ö and cmd-] becomes cmd-ä), which may change existing shortcut behavior.
!macOS: All keyboard shortcuts now trigger based on the command layout for non-Latin keyboards, affecting Cyrillic, Japanese IME, and similar input methods.
!macOS: Key repeat is now always enabled in the Terminal, permanently disabling the macOS character picker when holding a key.
!Linux: editor::AcceptPartialInlineCompletion default binding changed from cmd-right to ctrl-right.
Zed v0.161.1 adds new task-spawning actions, auto_indent_on_paste setting, git worktree support, and expanded Vim mode capabilities.
└──▷ GET THIS VERSION
$ git clone --branch v0.161.1 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:$ git checkout v0.161.1
└──▷ USE IT
Spawn the nearest runnable task from the cursor without stealing focus — useful in a split-pane workflow where you want to keep editing while watching test output.
Force comment characters to the left margin (column 0) instead of matching the line's indentation — handy for C preprocessor directives or assembly-style comments.
›Adds auto_indent_on_paste setting (configurable per-language) to control whether indentation is adjusted on paste; enabled by default for all languages except YAML and Markdown.
›Adds "no_focus" as a new reveal option for tasks: opens the terminal panel without stealing focus.
›Adds editor::SpawnNearestTask action to spawn the task nearest to the cursor, supporting a reveal strategy parameter.
›Adds ignore_indent parameter to editor::ToggleComments to place comment characters at the left margin instead of matching indentation.
›Adds debug: Open Key Context View action to the command palette to help debug custom key bindings.
+24 moreshow less
›Adds debug: open theme preview action to the command palette to preview the current theme's styles.
›Moves text selection context into a /selection slash command in the assistant panel.
›Changes /tab and /file slash commands in the Assistant Panel so diagnostics are no longer automatically attached; use /diagnostics explicitly to include them.
›Adds support for git worktrees, including correct git status handling.
›Adds ctrl-v/ctrl-q Vim keybinds to insert any Unicode code point by value (e.g. ctrl-v u 1 0 E 2 inserts ტ).
›Adds ctrl-shift-v as a paste alias in Vim mode on Linux.
›Adds Vim :noh[lsearch] command to clear search highlighting.
›Adds r and a as Vim surround aliases for [ and < text objects (mirroring vim-surround).
›Extends Vim ctrl-w to work in non-editor contexts such as Markdown Preview and screen shares.
›Adds Go go generate runnables and tasks.
›Adds autoclosing of {} braces and '' single quotes in Shell Scripts.
›Adds \u2028 and \u2029 as distinct invisible characters (previously treated as \n).
›Adds scrollbar to outline panel.
›Adds scrollbar to info popovers in the editor.
›Adds auto-scrolling to the project panel when dragging an entry to a vertical edge.
›Adds option to dim inactive panes.
›Adds option to highlight the active pane with a border.
›Adds file path to breadcrumbs toolbar in the Image Viewer.
›Adds copy-code-block button to Markdown Preview.
›Adds external-change detection to Markdown Preview so it updates when the file is modified outside the editor.
›Updates settings schema to accept null as a valid value for optional settings without emitting a warning.
›Improves workspace::SendKeystrokes to support re-binding keys (e.g. binding x in Vim normal mode to discard to the black-hole register).
›Improves Go go test ./... and go generate ./... to run in the Go module directory rather than the current package directory.
›Disables REPL buttons and actions for remote projects and collaboration sessions.
└──▷ BREAKING ON UPGRADE
!Diagnostics are no longer automatically attached as context to /tab and /file slash commands in the Assistant Panel; you must now use /diagnostics explicitly to include them.
›Adds zed://ssh/<connection>/<path> URL scheme for opening remote files directly via SSH.
›Adds "enable_experimental_live_diffs": true in the "assistant" section of settings.json to surface a new 'Suggest Edit' button in the assistant panel, replacing the previous /workflow command.
›The /diagnostics slash command now provides explicit control over including diagnostics as context in the Assistant Panel (diagnostics are no longer auto-attached to /tab and /file commands).
›Adds support for OpenAI o1-mini, o1-preview, and Anthropic Claude 3.5 Sonnet models in GitHub Copilot Chat.
›Adds support for showing invisible characters in the editor.
+4 moreshow less
›Adds support for self-hosted GitLab instances when generating Git permalinks (host must include 'gitlab' in the URL).
›Adds commit summary display as part of inline Git blame.
›Adds support for Doxygen-style doc comments starting with /// or //! in C++.
›Improves syntax highlighting for type hints in Python.
└──▷ BREAKING ON UPGRADE
!Diagnostics are no longer automatically attached as context to /tab and /file slash commands in the Assistant Panel; use /diagnostics explicitly to include them.
AutoGPT Platform beta v0.3.3 adds Agent Output visibility on the Monitor page and Runner Output UI updates.
└──▷ GET THIS VERSION
$ git clone --branch autogpt-platform-beta-v0.3.3 https://github.com/Significant-Gravitas/AutoGPT.git
# already have the repo? check out this version:$ git checkout autogpt-platform-beta-v0.3.3
›Displays agent output directly on the Monitor page, giving operators visibility into live agent results without leaving the monitoring view.
›Updates to the Runner Output UI improve how execution results are presented during agent runs.
4 more releases in this issue
· 2024-11-08 → 2024-11-20
AutoGPT Platform v0.3.2 adds Open Router integration with expanded model selection and typed JSON parsing support.
└──▷ GET THIS VERSION
$ git clone --branch autogpt-platform-beta-v0.3.2 https://github.com/Significant-Gravitas/AutoGPT.git
# already have the repo? check out this version:$ git checkout autogpt-platform-beta-v0.3.2
›Adds Open Router integration block, giving agents access to a large selection of new models via the Open Router service.
›Enables JSON parsing with typing and type conversion support in the backend, allowing blocks to handle strongly-typed JSON data.
AutoGPT Platform v0.3.1 adds Agent Execution Block, scheduling, AI image/music generation, and multi-language YouTube support.
└──▷ GET THIS VERSION
$ git clone --branch autogpt-platform-beta-v0.3.1 https://github.com/Significant-Gravitas/AutoGPT.git
# already have the repo? check out this version:$ git checkout autogpt-platform-beta-v0.3.1
›Adds AIImageGeneratorBlock — a unified block for generating images via multiple AI models inside AutoGPT workflows.
›Introduces the Agent Execution Block, enabling agents to be used as composable blocks within other agents for modular, complex pipeline construction.
›Introduces Scheduling Agent Runner, letting users schedule agents to run at specific times and monitor them from a dedicated monitor page in the UI.
›Adds the AI Music Generator Block powered by Meta Music Gen, enabling audio generation directly within workflows.
›Expands the YouTube Video Block to support additional languages beyond the previous default.
+2 moreshow less
›Adds authentication checks to the frontend, preventing unauthorized users from triggering agent runs.
›Default credentials are now mapped to actual provider names (e.g., anthropic), and hidden credentials for default system keys are no longer visible in the user profile.
AutoGPT Platform v0.2.2 adds Pinecone integration blocks and an API key database table.
└──▷ GET THIS VERSION
$ git clone --branch autogpt-platform-beta-v0.2.2 https://github.com/Significant-Gravitas/AutoGPT.git
# already have the repo? check out this version:$ git checkout autogpt-platform-beta-v0.2.2
›Introduces a dedicated API key database table for managing credential storage.
AutoGPT Platform v0.2.1 adds secret detection in pre-commit hooks and UI error toasts for graph creation failures.
└──▷ GET THIS VERSION
$ git clone --branch autogpt-platform-beta-v0.2.1 https://github.com/Significant-Gravitas/AutoGPT.git
# already have the repo? check out this version:$ git checkout autogpt-platform-beta-v0.2.1
›Adds secret detection to pre-commit hooks to catch leaked credentials before they reach the repository.
›Adds toast notifications for graph creation errors in the build page UI, surfacing failures inline instead of silently.
›Reduces the number of services required to run local mode, simplifying self-hosted deployments.
└──▷ BREAKING ON UPGRADE
!Subgraph functionality has been removed; GraphMeta and Graph are merged into a single model — workflows relying on subgraphs will break on upgrade.
Framework for orchestrating role-playing, autonomous AI agents. By fostering collaborative intelligence, CrewAI empowers agents to work together seamlessly, tackling complex tasks.
CrewAI 0.79.0 adds flow inputs, IBM Watson memory integration, and broader log storage data type support.
└──▷ GET THIS VERSION
$ git clone --branch 0.79.0 https://github.com/crewAIInc/crewAI.git
# already have the repo? check out this version:$ git checkout 0.79.0
└──▷ USE IT
Build a custom tool using the now top-level BaseTool import rather than reaching into submodules.
python
from crewai import BaseTool
class MyScanner(BaseTool):
name: str = "Port Scanner"
description: str = "Scans open ports on a given host."
def _run(self, host: str) -> str:
# tool logic here
return f"Scanning {host}"
›Adds inputs parameter support to flows, enabling dynamic data to be passed into flow execution.
›Enhances log storage to support a wider range of data types beyond strings.
›Moves BaseTool to the main package and centralizes tool description generation, simplifying custom tool authoring.
›Raises an explicit error when an LLM returns no response, making silent failures visible.
DSPy 2.5.40 lets ReAct tools wrap class methods and serializes datetimes/enums via pydantic adapters.
└──▷ GET THIS VERSION
$ git clone --branch 2.5.40 https://github.com/stanfordnlp/dspy.git
# already have the repo? check out this version:$ git checkout 2.5.40
└──▷ USE IT
Register a class method as a ReAct tool so stateful or object-oriented tooling can be used directly in a ReAct pipeline.
python
import dspy
class MySearch:
def __init__(self, index):
self.index = index
def search(self, query: str) -> str:
"""Search the index for a query."""
return self.index.get(query, 'not found')
searcher = MySearch(index={'dspy': 'A framework for programming LMs'})
tool = dspy.react.Tool(searcher.search)
react = dspy.ReAct('question -> answer', tools=[tool])
print(react(question='What is dspy?'))
›Allows react.Tool to wrap class methods (not just standalone functions), expanding the surfaces that can be registered as ReAct tools.
›Adapters now support JSON serialization of arbitrary pydantic-compatible types — including datetimes, enums, and other complex types — via pydantic's serialization layer.
›Switches DSPy settings storage from a contextvar to thread-local storage, improving compatibility with Colab and multi-threaded environments.
DSPy 2.5.30 adds dspy.asyncify for async module wrapping and native parallel execution support.
└──▷ GET THIS VERSION
$ git clone --branch 2.5.30 https://github.com/stanfordnlp/dspy.git
# already have the repo? check out this version:$ git checkout 2.5.30
└──▷ USE IT
Wrap a synchronous DSPy module to run asynchronously in an async context, avoiding blocking the event loop.
python
import dspy
predict = dspy.Predict('question -> answer')
async_predict = dspy.asyncify(predict)
result = await async_predict(question='What is the capital of France?')
›Adds dspy.asyncify to wrap synchronous DSPy modules for asynchronous execution.
›Adds native parallel execution support via ParallelExecutor for running DSPy programs concurrently.
DSPy 2.5.28 revamps BootstrapFinetune, merges BetterTogether optimizer, and adds a flag to suppress LiteLLM logs in dspy.LM.
└──▷ GET THIS VERSION
$ git clone --branch 2.5.28 https://github.com/stanfordnlp/dspy.git
# already have the repo? check out this version:$ git checkout 2.5.28
›Adds a flag to dspy.LM to suppress LiteLLM log output, reducing noise when running DSPy programs.
›Revamps BootstrapFinetune and promotes the BetterTogether optimizer from experimental to main, making combined few-shot and fine-tuning optimization available in the standard release.
Haystack v2.7.0 adds LoggingTracer, StringJoiner, DOCX table extraction, and a reworked Pipeline.run() with better cycle support.
└──▷ GET THIS VERSION
$ git clone --branch v2.7.0 https://github.com/deepset-ai/haystack.git
# already have the repo? check out this version:$ git checkout v2.7.0
└──▷ USE IT
Inspect every input and output flowing through a pipeline in real time during experimentation, without adding an external tracer.
python
import logging
from haystack import tracing
from haystack.tracing.logging_tracer import LoggingTracer
logging.basicConfig(format="%(levelname)s - %(name)s - %(message)s", level=logging.WARNING)
logging.getLogger("haystack").setLevel(logging.DEBUG)
tracing.tracer.is_content_tracing_enabled = True
tracing.enable_tracing(LoggingTracer())
# Now run your pipeline — all spans appear in the log output
pipeline.run({"text_embedder": {"text": "What is RAG?"}})
›Introduces LoggingTracer (importable from haystack.tracing.logging_tracer) that sends all pipeline traces to Python's logging system in real time; enable content tracing via tracing.tracer.is_content_tracing_enabled = True and activate with tracing.enable_tracing(LoggingTracer()).
›Adds additional_mimetypes parameter to FileTypeRouter component, allowing users to supply extra MIME type mappings for correct file classification in environments like AWS Lambda.
›Adds streaming_callback run-time parameter to HuggingFaceAPIGenerator and HuggingFaceLocalGenerator for per-chunk response callbacks.
›Adds validate_output_type parameter to ConditionalRouter; setting it to True enables runtime type-checking of route outputs, raising ValueError on mismatch.
›Adds config_kwargs parameter to SentenceTransformersDocumentEmbedder and SentenceTransformersTextEmbedder for passing additional options when loading model configuration.
+6 moreshow less
›Adds meta parameter to FileTypeRouter.run(), automatically converting sources to ByteStream objects with attached metadata for preprocessing/indexing pipelines.
›Adds new StringJoiner component to join strings from multiple components into a list of strings.
›Enhances DOCX converter to extract table content in addition to paragraphs, supporting both CSV and Markdown output formats.
›Reworks Pipeline.run() internal logic for more reliable cycle handling and deterministic component execution order.
›Makes window_size a run-time parameter on SentenceWindowRetriever, overriding the constructor value per run.
›Attaches each component tracing span to its parent pipeline run span, enabling concurrent multi-run tracing.
└──▷ BREAKING ON UPGRADE
!The debug_path init argument has been removed from Pipeline.
!The max_loops_allowed init argument has been removed from Pipeline; use max_runs_per_component instead.
!The PipelineMaxLoops exception has been removed; use PipelineMaxComponentRuns instead.
!The haystack.components.converters.pypdf.DefaultConverter class has been removed; pipeline YAMLs using it must be updated to reference haystack.components.converters.pdf.PDFToTextConverter with converter: null.
!Pipeline.connect() now raises PipelineConnectError when sender and receiver are the same component.
LangChain 0.3.9 adds init_embeddings and provider-in-model-string support for init_chat_model.
└──▷ GET THIS VERSION
$ git clone --branch langchain==0.3.9 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain==0.3.9
└──▷ USE IT
Initialize an embedding model by name without manually importing the provider class.
python
from langchain.embeddings import init_embeddings
embeddings = init_embeddings('openai/text-embedding-3-small')
Specify both provider and model in a single string when initializing a chat model, useful for dynamic model selection in config-driven pipelines.
python
from langchain.chat_models import init_chat_model
model = init_chat_model('openai/gpt-4o')
›Adds init_embeddings function to initialize embedding models by name, mirroring the init_chat_model pattern.
›Extends init_chat_model to accept the provider directly inside the model string (e.g. openai/gpt-4o), removing the need to pass provider as a separate argument.
›Adds numpy 2 support, enabling use with environments that have upgraded to numpy 2.x.
9 more releases in this issue
· 2024-11-01 → 2024-11-27
langchain-ollama 0.2.2rc1 adds Ollama 0.4 support, token-level streaming with bound tools, and kwargs passthrough in requests.
└──▷ GET THIS VERSION
$ git clone --branch langchain-ollama==0.2.2rc1 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-ollama==0.2.2rc1
›Supports Ollama 0.4 in langchain-ollama.
›Enables token-level streaming when using bind_tools with ChatOllama, allowing real-time output during tool-augmented calls.
›Passes additional kwargs through to Ollama API requests, giving callers direct control over request parameters.
langchain-community 0.3.8 adds Outlines, Reka, and SambaNova integrations plus SambaNova tool calling and structured output.
└──▷ GET THIS VERSION
$ git clone --branch langchain-community==0.3.8 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-community==0.3.8
›New Outlines integration adds the Outlines LLM/model backend to langchain-community for structured text generation.
›New Reka chat model integration adds reka as a supported chat model provider.
›New SambaNova Cloud LLM integration adds sambanovacloud as a supported LLM backend.
›Adds tool calling and structured output support to the SambaNova Cloud integration.
›Adds deprecation warning for the GigaChat integration in langchain-community, signaling future removal.
langchain-core 0.3.20 adds final AIMessage support in tool_example_to_messages and expands sys_info with LangGraph packages.
└──▷ GET THIS VERSION
$ git clone --branch langchain-core==0.3.20 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-core==0.3.20
›Adds support for final AIMessage responses in tool_example_to_messages, enabling tool-use examples that include a concluding assistant message.
›Adds other LangGraph packages to sys_info output for more complete environment diagnostics.
langchain-core 0.3.18 adds DeleteResponse to the module and a new xAI chat integration.
└──▷ GET THIS VERSION
$ git clone --branch langchain-core==0.3.18 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-core==0.3.18
›Adds DeleteResponse to the langchain-core module.
›Adds xAI chat integration via the partners package.
langchain-anthropic 0.3.0 adds Python 3.13 support and migrates token counting to Anthropic's beta messages API.
└──▷ GET THIS VERSION
$ git clone --branch langchain-anthropic==0.3.0 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-anthropic==0.3.0
└──▷ USE IT
Count tokens for a set of messages including tool definitions before sending to the model.
python
from langchain_anthropic import ChatAnthropic
from langchain_core.messages import HumanMessage
llm = ChatAnthropic(model='claude-3-5-sonnet-20241022')
tools = [my_tool]
token_count = llm.get_num_tokens_from_messages(
[HumanMessage(content='What is the weather in Paris?')],
tools=tools
)
print(token_count)
›Adds ChatAnthropic.get_num_tokens_from_messages backed by the client.beta.messages.count_tokens() API, replacing the removed client.count_tokens method.
›Adds an optional tools parameter to ChatAnthropic.get_num_tokens_from_messages to include tool definitions in token counts.
›Supports Python 3.13.
└──▷ BREAKING ON UPGRADE
!Token counting via the legacy client.count_tokens method on the Anthropic LLM is removed; use ChatAnthropic.get_num_tokens_from_messages instead.
langchain-core 0.3.17 adds optional tools parameter to BaseLanguageModel.get_num_tokens_from_messages
└──▷ GET THIS VERSION
$ git clone --branch langchain-core==0.3.17 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-core==0.3.17
└──▷ USE IT
Count tokens for a message list that includes tool definitions, so you can accurately budget context before sending a request.
›Adds tools as an optional parameter to BaseLanguageModel.get_num_tokens_from_messages, enabling token counting that accounts for tool definitions passed alongside messages.
langchain-community 0.3.6 adds Google Books API tool, Cloudflare Workers AI chat model, ZeroxPDF loader, Memcached LLM cache, and more new integrations.
└──▷ GET THIS VERSION
$ git clone --branch langchain-community==0.3.6 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-community==0.3.6
›Adds bytes as a valid source input to AzureAIDocumentIntelligenceLoader, enabling in-memory document processing without writing to disk.
›Adds ZeroxPDFLoader for PDF loading via the Zerox engine.
›Adds ChatModels wrapper for Cloudflare Workers AI, enabling LLM inference through Cloudflare's edge AI platform.
›Adds Memcached LLM cache integration for distributed caching of LLM responses.
›Adds InfinityRerank reranker integration.
+7 moreshow less
›Adds Google Books API tool for retrieving book data within LangChain agent workflows.
›Adds Document.id support to the OpenSearch vector store.
›Adds OVHcloud batch embedding support via updated OVHcloud integration.
›Allows non-default parsers in SharePointLoader and OneDriveLoader.
›Updates Vectara integration with latest API changes.
›Adds type hinting to OpenSearch clients for improved IDE and static-analysis support.
›Reads function calls from tool_calls field for Qianfan chat models, expanding tool-use compatibility.
langchain-core 0.3.16 adds file_type option to mermaid graph output and friendlier duplicate-node names.
└──▷ GET THIS VERSION
$ git clone --branch langchain-core==0.3.16 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-core==0.3.16
›Adds file_type option to mermaid graph rendering, defaulting to png.
›Uses friendlier names for duplicated nodes in mermaid diagram output.
LangChain Community 0.3.5 adds AzureOpenAIWhisperParser and batch embedding support for text-embedding-v3.
└──▷ GET THIS VERSION
$ git clone --branch langchain-community==0.3.5 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-community==0.3.5
›Adds AzureOpenAIWhisperParser for transcribing audio via Azure OpenAI's Whisper model.
›Adds batch request support for the text-embedding-v3 model, enabling higher-throughput embedding workflows.
›Updates the Polygon.io API integration with the latest API changes.
LangGraph CLI adds --wait-for-client flag for blocking debug startup and isolates store config into LANGGRAPH_STORE.
└──▷ GET THIS VERSION
$ git clone --branch cli==0.1.61 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout cli==0.1.61
└──▷ TRY IT
Pause the dev server at startup until your IDE debugger attaches, so you can set breakpoints before any graph code runs.
$ langgraph dev --debug-port 5678 --wait-for-client
›Adds --wait-for-client flag to the dev command that, combined with --debug-port, pauses server startup until a debugger client connects.
›Introduces dedicated LANGGRAPH_STORE environment variable for store configuration in Docker environments, replacing the previous embedding inside LANGGRAPH_CONFIG.
└──▷ BREAKING ON UPGRADE
!Store configuration in Docker environments is now passed via LANGGRAPH_STORE instead of LANGGRAPH_CONFIG; any tooling or scripts that read store config from LANGGRAPH_CONFIG will no longer receive it there.
23 more releases in this issue
· 2024-11-02 → 2024-11-28
langgraph-checkpoint-postgres 2.0.5 adds pgvector-powered semantic search to PostgreSQL-backed LangGraph stores.
└──▷ GET THIS VERSION
$ git clone --branch checkpointpostgres==2.0.5 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout checkpointpostgres==2.0.5
›Adds PostgresIndexConfig class to configure pgvector-backed vector search with configurable dimensions, distance metrics (l2, inner_product, cosine), and vector types (vector, halfvec).
›Enables vector similarity search and embedding-based document indexing and retrieval in BasePostgresStore.
›Adds async embedding and vector search support to AsyncPostgresStore for non-blocking document indexing and retrieval.
›Introduces _row_to_search_item to surface similarity scores as float values alongside search results.
LangGraph CLI 0.1.60 adds vector store configuration with embedding specs, enabling semantic search in LangGraph projects.
└──▷ GET THIS VERSION
$ git clone --branch cli==0.1.60 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout cli==0.1.60
└──▷ USE IT
Configure a vector store with an embedding model in your LangGraph project config to enable semantic search over stored data.
python
from langgraph_cli.config import IndexConfig, StoreConfig
store = StoreConfig(
index=IndexConfig(
dims=1536,
embed="openai:text-embedding-3-small",
fields=["text", "description"],
)
)
›Adds IndexConfig and StoreConfig configuration types to specify vector embedding dimensions (dims), model selection (embed), and custom field extraction (fields) for semantic search.
›Enables the dev command to pass store configuration from config.json to the LangGraph server at runtime.
›Supports store settings in Docker container deployments via environment variable pass-through.
›Adds python-dotenv as an optional dependency for environment variable management.
LangGraph SDK 0.1.40 adds natural language search to the store with relevance scoring and fine-grained index control.
└──▷ GET THIS VERSION
$ git clone --branch sdk==0.1.40 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout sdk==0.1.40
└──▷ USE IT
Run a natural language query against the store and inspect relevance scores to surface the most pertinent items.
python
results = await client.store.search_items(namespace, query="latest customer complaints about billing")
for item in results.items:
print(item.score, item.key, item.value)
Store an item while limiting indexing to specific fields, reducing noise in semantic search results.
›Adds query parameter to search_items (sync and async) enabling natural language search over stored items.
›Introduces SearchItem class extending Item with an optional score field, so callers can rank results by relevance.
›Updates SearchItemsResponse to return list[SearchItem] instead of list[Item], surfacing relevance scores in all search results.
›Adds index parameter to put_item (sync and async) to control per-item indexing: None for default, False to skip indexing, or a list[str] of field paths to index selectively.
└──▷ BREAKING ON UPGRADE
!SearchItemsResponse now returns list[SearchItem] instead of list[Item]; code that type-checks or pattern-matches on Item from search results will need updating.
LangGraph checkpoint 2.0.7 adds vector/semantic search to stores, richer query filters, and embedding utilities.
└──▷ GET THIS VERSION
$ git clone --branch checkpoint==2.0.7 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout checkpoint==2.0.7
└──▷ USE IT
Enable semantic search on an in-memory store so an agent can retrieve memories by meaning rather than exact key.
python
from langgraph.store.memory import InMemoryStore
from langgraph.store.base import IndexConfig
from langchain_openai import OpenAIEmbeddings
store = InMemoryStore(
index=IndexConfig(
dims=1536,
embed=OpenAIEmbeddings(model="text-embedding-3-small"),
fields=["text", "summary"],
)
)
# Store an item (indexed by default)
await store.aput(("users", "alice"), "mem-1", {"text": "Alice prefers dark mode."})
# Retrieve semantically similar items
results = await store.asearch(("users", "alice"), query="UI preferences", limit=5)
for item in results:
print(item.key, item.score, item.value)
Wrap a custom embedding function (e.g. a local model) into LangChain's interface so it works with IndexConfig.
python
from langgraph.store.base.embed import ensure_embeddings
import numpy as np
def my_embed(texts: list[str]) -> list[list[float]]:
# Replace with your local model call
return [np.random.rand(768).tolist() for _ in texts]
embeddings = ensure_embeddings(my_embed)
from langgraph.store.base import IndexConfig
config = IndexConfig(dims=768, embed=embeddings)
Use comparison-operator filters alongside a semantic query to narrow store search results to recent, high-relevance items.
›Adds semantic similarity search to BaseStore via an updated search/asearch interface that returns ranked SearchItem instances with a score field.
›Introduces IndexConfig class to configure vector search settings — embedding dimensions, embedding function, and which fields to index — per store.
›Adds index parameter to put/aput (and PutOp) to control per-item vector indexing: use default indexing, disable with False, or specify custom field paths.
›Adds query parameter to SearchOp for natural-language semantic search alongside existing namespace/filter queries.
›Enhances query filtering in SearchOp with comparison operators ($eq, $gt, $lt, and others) including support for nested fields and array path expressions.
+3 moreshow less
›Adds ensure_embeddings utility to wrap any sync or async embedding function into LangChain's Embeddings interface, plus EmbeddingsFunc/AEmbeddingsFunc type definitions.
›Adds get_text_at_path and tokenize_path utilities for extracting text from nested objects using path expressions with support for wildcards, array indexing, and multi-field selection.
›Rewrites InMemoryStore with full vector search support and optional NumPy acceleration for vector operations.
└──▷ BREAKING ON UPGRADE
!NameSpacePath is renamed to NamespacePath; code importing or referencing NameSpacePath will break.
!search and asearch on BaseStore now return SearchItem instances instead of plain Item instances; code that expects Item objects from these methods may break.
langgraph-checkpoint-postgres 2.0.4 adds connection pooling, pipeline optimization, and last-write-wins deduplication for Postgres stores.
└──▷ GET THIS VERSION
$ git clone --branch checkpointpostgres==2.0.4 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout checkpointpostgres==2.0.4
›New PoolConfig TypedDict in langgraph.store.postgres.base lets you configure min/max connections and extra connection parameters for PostgreSQL connection pools.
›Adds connection pooling support to both PostgresStore and AsyncPostgresStore for improved throughput under high concurrency.
›Adds pipelined database operations to PostgresStore and AsyncPostgresStore, batching queries for higher throughput.
›Adds last-write-wins deduplication semantics for concurrent operations on the same key in PostgresStore.
›Adds thread locking (PostgresStore) and async locks (AsyncPostgresStore) for safe concurrent access.
+1 moreshow less
›Improves inheritance support in PostgresSaver and AsyncPostgresSaver by using cls instead of hardcoded class names, enabling reliable subclassing.
LangGraph checkpoint 2.0.6 adds async namespace listing and batch operation deduplication to AsyncBatchedBaseStore.
└──▷ GET THIS VERSION
$ git clone --branch checkpoint==2.0.6 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout checkpoint==2.0.6
└──▷ USE IT
Discover which namespaces exist in your store, filtered by prefix and bounded by depth — useful for auditing or scoping operations in multi-tenant graphs.
›Adds alist_namespaces method to AsyncBatchedBaseStore for querying namespaces with filtering by prefix, suffix, depth, and pagination.
›Improves batch performance in AsyncBatchedBaseStore via a new _dedupe_ops function that deduplicates identical get/search operations and consolidates multiple puts to the same key.
›Extends CheckpointMetadata.source to accept "fork" as a valid value, identifying checkpoints created as copies of other checkpoints.
LangGraph CLI dev command now auto-loads config-file dependencies onto Python's path
└──▷ GET THIS VERSION
$ git clone --branch cli==0.1.59 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout cli==0.1.59
›Enables the dev command to read the dependencies field from the config file and add those directories to Python's path automatically.
›Automatically adds the current working directory to Python's path when running the dev command, allowing seamless local module imports.
LangGraph CLI 0.1.58 adds env parameter to pass environment variables from config file to the dev server.
└──▷ GET THIS VERSION
$ git clone --branch cli==0.1.58 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout cli==0.1.58
└──▷ USE IT
Set environment variables in your LangGraph config so they are automatically available when running the dev server — no need to export them separately in your shell.
LangGraph CLI 0.1.56 adds Python 3.13 support and Node.js/package.json compatibility validation.
└──▷ GET THIS VERSION
$ git clone --branch cli==0.1.56 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout cli==0.1.56
└──▷ USE IT
Programmatically load and validate a langgraph config file (replaces separate load + validate calls).
python
from langgraph_cli.config import validate_config_file
config = validate_config_file("langgraph.json")
›Supports Python 3.13 as a valid runtime in langgraph-cli config.
›Adds validate_config_file() function that loads and validates config files in a single call.
›Validates Node.js version compatibility against package.json when present in a project.
›Introduces MIN_NODE_VERSION and MIN_PYTHON_VERSION constants for centralized version requirement enforcement.
LangGraph CLI gains a langgraph dev command for running the API server in development mode with hot reloading.
└──▷ GET THIS VERSION
$ git clone --branch cli==0.1.55 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout cli==0.1.55
└──▷ TRY IT
Spin up a hot-reloading local LangGraph API server during development without launching a browser, binding to a custom port.
$ langgraph dev --port 8123 --no-browser--config langgraph.json
Install the CLI with in-memory API support to run langgraph dev without a full backend dependency.
$ pip install "langgraph-cli[inmem]"
›New langgraph dev command runs the LangGraph API server in development mode with hot reloading and options for --host, --port, --no-reload, --config, --n-jobs-per-worker, --no-browser, and --debug-port.
›New inmem extras entry enables lightweight in-memory API support via pip install "langgraph-cli[inmem]".
LangGraph 0.2.51 adds checkpoint forking to Pregel via a new __copy__ node.
└──▷ GET THIS VERSION
$ git clone --branch 0.2.51 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout 0.2.51
›Adds checkpoint forking in Pregel via a new __copy__ special node: when as_node="__copy__" and values=None, creates a copy of the checkpoint with a "fork" source marker and preserved parent metadata.
LangGraph checkpoint 2.0.5 adds disk-persistent checkpoints via PersistentDict and a configurable MemorySaver storage backend.
└──▷ GET THIS VERSION
$ git clone --branch checkpoint==2.0.5 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout checkpoint==2.0.5
└──▷ USE IT
Persist agent checkpoints to disk across process restarts instead of losing state when the process exits.
python
from langgraph.checkpoint.memory import MemorySaver, PersistentDict
with MemorySaver(factory=lambda: PersistentDict("/tmp/checkpoints.pkl")) as saver:
# compile and run your graph with `saver` as the checkpointer
graph = my_graph.compile(checkpointer=saver)
graph.invoke({"messages": []}, config={"configurable": {"thread_id": "session-1"}})
›New PersistentDict class provides dictionary-like checkpoint storage backed by disk, using atomic writes for data safety.
›Adds a factory parameter to MemorySaver to swap in custom storage backends, including the new PersistentDict.
LangGraph CLI gains a new project scaffolding command, Docker Compose generation, and five built-in agent templates.
└──▷ GET THIS VERSION
$ git clone --branch cli==0.1.54 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout cli==0.1.54
└──▷ TRY IT
Bootstrap a new ReAct-style agent project without writing boilerplate — pick a template interactively and start coding immediately.
$ langgraph new my-agent-project
Generate a full local-dev stack (Dockerfile + docker-compose.yml + .env + .dockerignore) in one shot so you can docker compose up right away.
langgraph-checkpoint 2.0.4 adds INTERRUPT and RESUME constants to support graph execution interruption and resumption.
└──▷ GET THIS VERSION
$ git clone --branch checkpoint==2.0.4 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout checkpoint==2.0.4
└──▷ USE IT
Reference the new constants when inspecting or filtering checkpoint writes for interrupt/resume events.
python
from langgraph.checkpoint.serde.types import INTERRUPT, RESUME
# Check whether a checkpoint write corresponds to an interrupt or resume
def is_interrupt_write(write):
return write.channel in (INTERRUPT, RESUME)
›Adds INTERRUPT and RESUME constants to langgraph.checkpoint.serde.types, enabling interrupt and resume operations in graph execution checkpointing.
›Reserves checkpoint write index values -3 and -4 for interrupt and resume operation types in WRITES_IDX_MAP.
└──▷ BREAKING ON UPGRADE
!The CommandProtocol class has been removed from langgraph.checkpoint.serde.types and its serialization handling dropped from JsonPlusSerializer; any code referencing CommandProtocol will break on upgrade.
LangGraph SDK 0.1.36 adds Command-based graph control, rollback cancellation, and a new messages-tuple stream mode.
└──▷ GET THIS VERSION
$ git clone --branch sdk==0.1.36 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout sdk==0.1.36
└──▷ USE IT
Resume a paused run at a specific node or inject a value mid-graph without supplying new top-level input.
python
async for chunk in client.runs.stream(
thread_id,
assistant_id,
command={"resume": "user_approved"},
stream_mode="messages-tuple",
):
print(chunk)
Roll back all side-effects of a run when cancelling, rather than just interrupting it in place.
›Adds command parameter to stream(), create(), and wait() run methods, enabling direct node interaction and state manipulation without requiring input.
›Adds new Command type with send, update, and resume operations for fine-grained graph execution control.
›Adds Send typed dictionary to support direct node targeting during runs.
›Enhances cancel() with a new action parameter supporting "interrupt" (default) or "rollback" modes to control cancellation behavior.
›Adds CancelAction type to the schema to back the new cancellation modes.
+1 moreshow less
›Adds "messages-tuple" as a new StreamMode literal option.
└──▷ BREAKING ON UPGRADE
!"running" has been removed from RunStatus literals, which will break any code that checks for or matches against that status value.
LangGraph 0.2.47 adds resumable interrupts via a new interrupt() function and Command(resume=…) parameter.
└──▷ GET THIS VERSION
$ git clone --branch 0.2.47 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout 0.2.47
└──▷ USE IT
Pause a node mid-graph for human-in-the-loop approval, then resume it with the reviewer's decision.
python
from langgraph.types import interrupt, Command
def review_node(state):
# Pause execution and surface data to the caller
decision = interrupt({"payload": state["draft"], "prompt": "Approve this draft?"})
# Execution resumes here once Command(resume=...) is issued
return {"approved": decision}
# From outside the graph, resume after the interrupt:
graph.invoke(Command(resume=True), config=config)
›Adds interrupt() function in langgraph.types enabling nodes to pause and later resume with specific values, with namespace tracking for accurate resumption.
›Adds a resume parameter to the Command class to control resumption of graph execution after an interrupt.
›Adds RESUME constant in langgraph.constants to identify values used to resume a node after an interrupt.
›Adds NULL_TASK_ID constant in langgraph.constants to handle writes not associated with any specific task, enabling global writes independent of task execution.
›Supports pushing new tasks during graph execution, improving dynamic task scheduling.
LangGraph Checkpoint 2.0.3 adds CommandProtocol serialization support in JSON and MessagePack formats.
└──▷ GET THIS VERSION
$ git clone --branch checkpoint==2.0.3 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout checkpoint==2.0.3
›New CommandProtocol interface in langgraph.checkpoint.serde.types enables serialization of command objects (including update and send operations) that mirror the Command type from LangGraph.
›Extends JsonPlusSerializer to serialize CommandProtocol objects in both JSON and MessagePack formats by encoding their attributes.
LangGraph 0.2.45 adds a Control class so node functions can steer graph flow and send values to destination nodes directly.
└──▷ GET THIS VERSION
$ git clone --branch 0.2.45 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout 0.2.45
└──▷ USE IT
Route to different nodes from within a single node function based on runtime state, without wiring separate conditional edges.
python
from langgraph.types import Control
def router_node(state: dict) -> Control:
if state["score"] > 0.9:
return Control(goto="high_confidence_node", update={"routed": True})
else:
return Control(goto="low_confidence_node", update={"routed": True})
›New Control class lets node functions simultaneously update state and direct graph flow — including triggering specific next nodes or sending values to them.
›Nodes can now declare their potential destination nodes via type annotations on their return type, enabling static graph validation of routing paths.
›New SELF constant represents the implicit branch created to handle Control return values.
›Metadata is now preserved across update_state / aupdate_state calls, so checkpoint metadata survives incremental updates.
$ git clone --branch cli==0.1.53 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout cli==0.1.53
›Adds a JavaScript/TypeScript project template for scaffolding LangGraph.js applications, including TypeScript config, ESLint, Jest, and sample StateAnnotation-based graph.
›Enables passing arbitrary Docker build arguments directly to the Docker build process in the build command.
›Adds automatic Node.js package manager detection (npm, yarn, pnpm) based on lock files, selecting the correct install and build commands automatically.
└──▷ BREAKING ON UPGRADE
!The --platform option has been removed from the build command; use Docker's native passthrough parameters instead.
!The deprecated test command has been removed; use the run command instead.
LangGraph 0.2.44 adds chat history validation for ReAct agents and messages-tuple stream mode for remote graphs.
└──▷ GET THIS VERSION
$ git clone --branch 0.2.44 https://github.com/langchain-ai/langgraph.git
# already have the repo? check out this version:$ git checkout 0.2.44
└──▷ USE IT
Catch incomplete ReAct chat histories early — the agent now raises INVALID_CHAT_HISTORY if any AIMessage tool call lacks a matching ToolMessage, surfacing the bad call before it hits the LLM.
python
from langgraph.errors import ErrorCode
# The validation runs automatically inside create_react_agent;
# catch it explicitly to handle incomplete histories gracefully.
try:
result = agent.invoke({"messages": chat_history})
except ValueError as e:
if ErrorCode.INVALID_CHAT_HISTORY in str(e):
print("Chat history has unmatched tool calls:", e)
Stream a remote LangGraph deployment using the messages-tuple format, now transparently supported by RemoteGraph.
python
from langgraph.pregel.remote import RemoteGraph
remote = RemoteGraph(graph_id="my-graph", url="https://my-deployment.example.com")
for chunk in remote.stream({"messages": []}, stream_mode="messages-tuple"):
print(chunk)
›Adds INVALID_CHAT_HISTORY error code and _validate_chat_history function to catch mismatched tool call / tool response pairs in chat history before they reach the LLM.
›Supports messages-tuple stream mode format for RemoteGraph, automatically mapping it to the messages mode.
›Improves RemoteGraph visualization by resolving meaningful node names from node data instead of falling back to an empty string.
Letta 0.5.3 adds a CLI token counter, Together AI support, and password-protected server endpoints.
└──▷ GET THIS VERSION
$ git clone --branch 0.5.3 https://github.com/letta-ai/letta.git
# already have the repo? check out this version:$ git checkout 0.5.3
└──▷ TRY IT
Lock down a self-hosted Letta server so unauthenticated clients cannot reach its endpoints.
$ letta server --secure
Check current token usage mid-session in the Letta CLI to avoid context-window overflows before sending a large request.
$ /tokens
›Adds letta server --secure flag to password-protect Letta server endpoints.
›Adds /tokens command to the Letta CLI to display a token counter for the current context.
›Adds support for Together AI endpoints via the /completions API.
›Migrates the Letta Docker image to the letta/letta Dockerhub repository.
└──▷ BREAKING ON UPGRADE
!The Letta Docker image has moved from its previous Dockerhub repository to letta/letta — any pipelines or compose files referencing the old image name will need to be updated.
Letta 0.5.2 adds agent tags for user association, tool rules to constrain agent execution order, and agent listing by name.
└──▷ GET THIS VERSION
$ git clone --branch 0.5.2 https://github.com/letta-ai/letta.git
# already have the repo? check out this version:$ git checkout 0.5.2
└──▷ USE IT
Associate an agent with a specific end user at creation time and retrieve all agents for that user later.
python
# Create an agent tagged with a user ID
agent = client.create_agent(tags=["user_abc123"])
# Retrieve all agents for that user
agents = client.get_agents(tags=["user_abc123"])
›Adds AgentState.tags field plus tags parameter to client.create_agent() and client.get_agents() for associating agents with end users or other identifiers.
›Introduces TerminalToolRule(tool_name=...), InitToolRule(tool_name=...), and ToolRule(tool_name=..., children=[...]) tool rule classes, passed via tool_rules in client.create_agent(), to enforce required call order and termination conditions per agent.
›Adds ability to list agents by name via the REST API and Python SDK.
›Adds ability to disable the initial message sequence during agent creation.
›Moves docker run letta/letta to run on port 8283 (previously 8083).
+2 moreshow less
›Adds HTML rendering of messages into LettaResponse.
›Adds endpoint to add base tools to an organization.
└──▷ BREAKING ON UPGRADE
!Block.name is deprecated in favor of Block.template_name (only required for templated blocks).
!docker run letta/letta now binds to port 8283 instead of the previous 8083, requiring updates to any firewall rules, reverse proxies, or client configurations that referenced port 8083.
Semantic Kernel .NET 1.31.0 promotes Filters out of experimental and adds implicit JsonElement-to-primitive conversion for SLM function calling.
└──▷ GET THIS VERSION
$ git clone --branch dotnet-1.31.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout dotnet-1.31.0
›Adds implicit conversion from JsonElement string values to primitives, enabling function calling with small language models (SLMs) that return string-typed JSON arguments.
›Removes experimental flags from the Filters API, making IFunctionFilter, IPromptFilter, and related filter interfaces stable for production use.
›Adds Azure OpenAI API version 2024-09-01-preview as a supported preview version.
7 more releases in this issue
· 2024-11-05 → 2024-11-27
Semantic Kernel Python 1.16.0 adds Azure AI Inference tracing and promotes the OpenAPI plugin to preview.
└──▷ GET THIS VERSION
$ git clone --branch python-1.16.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout python-1.16.0
›Adds Azure AI Inference tracing SDK integration for observability into Azure AI Inference calls.
›Promotes the OpenAPI plugin to preview status, signaling increased stability for production use.
Semantic Kernel .NET 1.30.0 adds Map Step for Processes, AdditionalMessages and IAutoFunctionInvocationFilter for OpenAIAssistantAgent, and Copilot Agent Plugin support.
└──▷ GET THIS VERSION
$ git clone --branch dotnet-1.30.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout dotnet-1.30.0
›Adds IAutoFunctionInvocationFilter support for OpenAIAssistantAgent, enabling auto-function invocation filtering in agent workflows.
›Adds AdditionalMessages support for OpenAIAssistantAgent to pass extra messages when invoking an assistant run.
›Adds incomplete status to the termination check for OpenAIAssistantAgent, so runs that end with an incomplete status are handled correctly.
›Introduces Map Step feature for .NET Processes, enabling fan-out/fan-in parallel step execution within a process.
›Adds support for Copilot Agent Plugins in .NET, allowing plugins authored for Microsoft Copilot to be imported and used.
+7 moreshow less
›Adds a document-transformation mechanism for OpenAPI (part 2), enabling programmatic modification of OpenAPI documents before plugin import.
›Makes OpenAPI model collection properties modifiable after construction, giving callers runtime control over OpenAPI model state.
›Promotes the Microsoft.SemanticKernel.Plugins.OpenApi package from experimental to preview status.
›Removes the experimental flag from FunctionResult.RenderedPrompt, making the rendered-prompt property stable API.
›Adds logging improvements in OpenAPI plugins for better observability of plugin HTTP interactions.
›Simplifies Process framework step implementation and function-event resolution for steps with a single function.
›Adds OnFunctionError event support in the .NET Processes framework for structured error handling within steps.
└──▷ BREAKING ON UPGRADE
!Kernel events have been removed from .NET (Kernel events API is no longer available).
Semantic Kernel Python 1.15.0 adds audio I/O, Azure Cosmos DB NoSQL vector store, Google Search, and vector search across Weaviate, Redis, CosmosDB, and Qdrant.
└──▷ GET THIS VERSION
$ git clone --branch python-1.15.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout python-1.15.0
›Adds Azure Cosmos DB NoSQL Vector Store and Collection implementation, enabling vector storage and retrieval against CosmosDB NoSQL.
›Adds vector search to CosmosDB NoSQL Collections, Weaviate (including support for unnamed vectors), Redis collections, and Qdrant Collection.
›Introduces Google Search as a Text Search implementation.
›Adds audio-to-text capability for speech transcription workflows.
›Adds text-to-audio capability for speech synthesis workflows.
+1 moreshow less
›Adds the Dapr Runtime for Processes, enabling Dapr-backed process orchestration.
Semantic Kernel .NET 1.29.0 promotes Liquid templates, adds Ollama function calling, and stabilizes VectorStore and agent serialization APIs.
└──▷ GET THIS VERSION
$ git clone --branch dotnet-1.29.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout dotnet-1.29.0
›Promotes Liquid prompt template support from experimental to preview status.
›Adds function calling support to the MS AI Ollama connector.
›Removes the experimental flag from VectorStore implementations, marking them stable.
›Removes the experimental attribute from the new function calling model classes, marking them stable.
›Adds AgentChat serialization support for persisting and restoring agent chat state.
+4 moreshow less
›Moves OpenAPI extensions to the SemanticKernel namespace.
›Introduces part 1 of an OpenAPI parameter resolution mechanism.
›Updates the MS AI Azure Inference connector.
›Adds an example of OpenAI Realtime API usage.
└──▷ BREAKING ON UPGRADE
!Obsolete filter classes have been removed; code referencing them will fail to compile after upgrading.
$ git clone --branch dotnet-1.28.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout dotnet-1.28.0
›Adds support for the OpenAI image detail level property in image content.
›Exposes the security scheme and requirement for OpenAPI functions, giving callers access to auth metadata on imported API operations.
›Supports parsing multiple servers from an OpenAPI document.
›Adds complex type serialization support for Dapr events and messages in the Process Framework.
›Simplifies event emission in Process Framework steps.
└──▷ BREAKING ON UPGRADE
!OpenAPI model classes are renamed (see commit #9595) — existing code referencing the old class names will break on upgrade.
!OpenAPI model classes are now marked experimental — code that was previously using them without suppressing experimental warnings may now produce build errors or warnings under strict configurations.
Semantic Kernel Python 1.14.0 adds vector and text search plus in-memory vector search support.
└──▷ GET THIS VERSION
$ git clone --branch python-1.14.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout python-1.14.0
›Adds vector and text search capability to the Semantic Kernel Python library, with Azure AI Search hotel concept samples demonstrating implementation.
›Adds vector search support to the In Memory collection, enabling local in-process similarity search without an external vector store.
$ git clone --branch dotnet-1.27.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout dotnet-1.27.0
└──▷ USE IT
Retrieve word- and segment-level timestamps from an audio transcription when using Gemini, useful for building subtitle generators or spoken-word search indexes.
csharp
var settings = new GeminiPromptExecutionSettings
{
AudioTimestamp = true
};
var result = await kernel.InvokeAsync(audioToTextFunction, new KernelArguments(settings));
›Adds AudioTimestamp property to GeminiPromptExecutionSettings to control audio timestamp output for Gemini models.
›Adds Audio-to-Text Timestamp Granularities support for OpenAI and AzureOpenAI audio transcription.
›Exposes the REST API operation and operation path in KernelFunction.Metadata, giving plugins richer introspection over the underlying HTTP surface.
›Adds process-level error handler support in SK Processes (Processes State Management Part 2), enabling structured error recovery in multi-step process graphs.
›Improves logging for the function calls processor and KernelFunction, making agent execution traces more observable.
browser-use 0.1.1 adds custom agent function calls, action history, and token cost approximations
└──▷ GET THIS VERSION
$ git clone --branch 0.1.1 https://github.com/browser-use/browser-use.git
# already have the repo? check out this version:$ git checkout 0.1.1
›Supports custom function calls registered alongside the agent's built-in browser functions, enabling practitioners to extend agent behavior with their own actions.
›Adds a history of all agent actions, giving practitioners a full audit trail of what the agent did during a session.
›Adds token cost approximations so practitioners can estimate LLM spend per agent run.
›Improves HTML processing and XPath extraction for more reliable element targeting.
›Highlights clickable elements with rounded overlays on screenshots for clearer visual feedback.
+1 moreshow less
›Introduces a testing library to support automated validation of agent workflows.
›Adds --multiplayer flag (also available in the GUI launcher Network tab) to enable real-time multiplayer sessions, exposing /api/extra/multiplayer/status, /api/extra/multiplayer/getstory, and /api/extra/multiplayer/setstory endpoints for live story sync across multiple users and devices.
›Adds Ollama-compatible endpoints /api/chat and /api/generate for basic Ollama API emulation, letting third-party tools that only speak Ollama point to KoboldCpp at http://localhost:5001 (or port 11434 for stricter tools); streaming is not supported.
›Adds ComfyUI emulation via a new /prompt endpoint, supporting txt2img for tools that require ComfyUI API but lack A1111 API support.
›Adds /api/extra/detokenize endpoint, which converts an array of token IDs into a detokenized string.
›Adds /props endpoint exposing instruction and chat template data from the loaded model.
+5 moreshow less
›Adds speculative decoding (drafting) support via a second lightweight draft model with the same vocabulary, offering inference speedups at low temperatures; not well supported on Vulkan.
›Adds a 'Dice Action' toggle in Kobold Lite Adventure mode, allowing the AI to roll a dice to determine action outcomes.
›Adds ability to disable sentence trimming in all Kobold Lite modes.
›Adds GGUF format text encoder support (clip/t5) for Flux and SD3.5 image models.
›Adds chunked encoding support.
2 more releases in this issue
· 2024-11-01 → 2024-11-30
›Adds --sdt5xxl, --sdclipl, and --sdclipg CLI flags to load individual T5XXL, CLIP-L, and CLIP-G components for Flux and SD 3.5 image generation (supports URL resources).
›Adds --nofastforward flag to force full prompt reprocessing on every request, enabling more repeatable and consistent inference results.
›Adds /.well-known/serviceinfo common identity provider endpoint, aligning with AI-Horde, Aphrodite, and TabbyAPI interoperability standards.
›Supports Flux and Stable Diffusion 3.5 model architectures for image generation, accepting fp16 or fp8 safetensor models and GGUF models, including all-in-one bundled models.
›Adds VAE tiling for more consistent large image handling, enabling stable 1024x1024 generation with SDXL and Flux models.
+4 moreshow less
›Adds support for custom CSS styles in Kobold Lite UI.
›Adds 'BigSquare' option in Kobold Lite image gen settings to generate larger images.
›Adds Clip Skip support for local image generation in Kobold Lite.
›Debug mode now prints XTC penalties for inspection during inference.
└──▷ BREAKING ON UPGRADE
!CLBlast GPU offload now requires a duplicate copy of model layers in RAM (piggybacks off the CPU backend), increasing memory usage for existing CLBlast setups.
›Adds logprobs support over the sync API and a new dedicated /api/extra/last_logprobs endpoint for retrieving token probabilities after both streaming and non-streaming responses.
›Response fields prompt_tokens, completion_tokens, and total_tokens now return accurate counts instead of placeholder values.
›Adds experimental ComfyUI image generation backend support in KoboldAI Lite — requires ComfyUI launched with --listen --enable-cors-header '*'; no workflow customization needed.
›Enables image generation from instruct mode via natural language (e.g. 'Please generate an image of a bag of sand'); on by default when an image model is loaded, regex-driven, and toggleable in settings.
›Adds a Token Probability Viewer in KoboldAI Lite (disabled by default, enable in advanced settings) showing a table of alternative token probabilities per response.
+4 moreshow less
›Adds a new 'Interactive Storywriter' scenario in KoboldAI Lite — story-writing mode with support for hidden instruction prompts to steer the narrative.
›Adds support for Tavern 'V3' (Risu-augmented V2) character cards in KoboldAI Lite; metadata chunks are ignored but base V2 card functionality is fully operational.
›Enables CUDA graphs for the koboldcpp_cu12.exe (CUDA 12) build, improving performance on supported Nvidia GPUs.
›Clarifies the A1111/Forge/KoboldCpp image generation backend selector in KoboldAI Lite to reflect compatibility with all three backends.
LocalAI v2.23.0 adds vLLM load_format exposure, TTS response_format, multi-LoRA diffusers, Flux single-file support, and a disableable /metrics endpoint.
└──▷ GET THIS VERSION
$ git clone --branch v2.23.0 https://github.com/mudler/LocalAI.git
# already have the repo? check out this version:$ git checkout v2.23.0
›Exposes load_format backend config key for the vLLM backend, allowing operators to control how model weights are loaded.
›Implements response_format parameter on the TTS endpoint, letting callers specify the desired audio output format.
›Allows disabling the /metrics endpoint for local stats collection via configuration.
›Supports multiple LoRA adapters simultaneously in the diffusers backend.
›Adds Flux single-file support to the diffusers backend.
+1 moreshow less
›Moves model detailed info to a modal in the UI, reducing clutter on the model list view.
└──▷ BREAKING ON UPGRADE
!Multimodal message templates now use a single unified template; existing per-role multimodal templates will need to be migrated to the new single-template format.
ONNX Runtime v1.20 adds MultiLoRA, INT4 embedding, cuDNN Flash Attention, QNN weight sharing, and WebGPU on mobile.
└──▷ GET THIS VERSION
$ git clone --branch v1.20.0 https://github.com/microsoft/onnxruntime.git
# already have the repo? check out this version:$ git checkout v1.20.0
›Adds ability to serialize pre-packed weights to avoid memory growth on model load.
›Adds bfloat16 and float8 data type support in the Python I/O binding API.
›Adds INT4 quantized embedding support on CPU and CUDA execution providers.
›Adds FP16 support for MatMulNbits, Clip, and LayerNormalization ops on the CPU EP.
›Adds cuDNN frontend integration for convolution operators on the CUDA EP.
+24 moreshow less
›Adds cuDNN Flash Attention and Lean Attention support in the MultiHeadAttention op on the CUDA EP.
›Adds TensorRT 10.4 and 10.5 support in the TensorRT EP.
›Adds QNN HTP weight sharing across multiple ORT inference sessions in the QNN EP.
›Adds support for QNN SDK 2.27.
›Adds support up to OpenVINO 2024.4.1 in the OpenVINO EP.
›Adds remote tensors for direct memory access during NPU inferencing in the OpenVINO EP.
›Adds DirectML 1.15.2 support.
›Adds FP16 support for ML Program models with the CoreML EP on mobile.
›Adds FP16 XNNPACK kernels as a CoreML fallback option on mobile.
›Adds initial support for the native WebGPU EP on Android and iOS.
›Adds on-demand weight loading for Web/Wasm32, enabling 8B-parameter LLMs by offloading the Wasm32 heap.
›Adds Opset-21 support (Reshape, Shape, Gelu) for the Web target.
›Adds quantized embedding support for Web.
›Adds MultiLoRA support in Core and GenAI.
›Adds support for mid-loop generation termination in GenAI.
›Adds logit soft capping support in Group Query Attention (GQA) for GenAI.
›Adds model support for Phi-3.5 Vision Multi-Frame, ChatGLM3, and Nemotron-Mini in GenAI.
›Adds GenAI Python package for Mac and Mac/iOS NuGet packages.
›Adds Unigram tokenization model support in Extensions.
›Adds support for the latest Hugging Face tokenization JSON format (transformers>=4.45) in Extensions.
›Adds Olive CLI for executing well-defined workflows without manual config creation or editing.
›Adds YAML-based workflow config support in Olive.
›Adds Python 3.13 support in PyPI packages.
›Adds experimental vcpkg support for the CPU EP.
└──▷ BREAKING ON UPGRADE
!All ONNX Runtime Training packages are deprecated and will no longer be published: onnxruntime-training (PyPI), onnxruntime-training-cpu (PyPI), Microsoft.ML.OnnxRuntime.Training (NuGet), onnxruntime-training-c (CocoaPods), onnxruntime-training-objc (CocoaPods), and onnxruntime-training-android (Maven Central). ORT 1.19.2 was the last release to include them.
!Python 3.8 and Python 3.9 are no longer supported in ORT packages. Users on those versions must stay on ORT 1.19.2 or earlier.
!CUDA packages now require additional shared libraries that were not needed in 1.19: libcudnn_adv.so.9, libcudnn_cnn.so.9, libcudnn_engines_precompiled.so.9, libcudnn_engines_runtime_compiled.so.9, libcudnn_graph.so.9, libcudnn_heuristic.so.9, libcudnn_ops.so.9, libnvrtc.so.12, and libz.so.1.
Triton v2.52.0 adds a 'Request to First Response Time' histogram metric for decoupled models and per-model histogram bucket overrides.
└──▷ GET THIS VERSION
$ git clone --branch v2.52.0 https://github.com/triton-inference-server/server.git
# already have the repo? check out this version:$ git checkout v2.52.0
└──▷ TRY IT
Enable per-request latency histograms for decoupled models to observe time-to-first-response distribution in Triton metrics.
Phoenix Playground gains a 'Move Output' button and a None template formatter option for messages.
└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v5.12.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:$ git checkout arize-phoenix-v5.12.0
›Adds None as a selectable template formatter option for messages in the Playground, allowing messages to be sent without any template formatting applied.
›Adds a 'Move Output' button on the Playground Output panel to relocate output to other parts of the interface.
5 more releases in this issue
· 2024-11-06 → 2024-11-25
Phoenix v5.11.0 adds an environment variable for setting the default admin password and blocks playground navigation during active runs.
└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v5.11.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:$ git checkout arize-phoenix-v5.11.0
›Adds an environment variable to configure the default admin initial password at startup.
›Playground now blocks navigation when runs are in progress, preventing accidental loss of in-flight completions.
Phoenix v5.10.0 adds Anthropic tool message support and playground chat completion error display.
└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v5.10.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:$ git checkout arize-phoenix-v5.10.0
›Supports 'tool' message role for Anthropic in the playground, enabling tool-use conversation flows with Claude models.
›Displays chat completion errors inline within the playground output card for faster diagnosis of failed LLM calls.
Phoenix 5.9.0 adds Google AI Studio/Gemini support and major Playground dataset-run capabilities.
└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v5.9.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:$ git checkout arize-phoenix-v5.9.0
›Adds a GraphQL mutation for chat completion over a dataset, enabling batch prompt runs against dataset examples from the Playground.
›Adds Google AI Studio support for Gemini models (API-key-based) as a new LLM provider in the Playground.
›Adds a dataset example slideover in the Playground to inspect individual dataset examples and their template application.
›Adds streaming output display for Playground runs executed against datasets.
›Adds an example run slideover in the Playground for reviewing per-example run results.
+3 moreshow less
›Adds pre-emptive display of dataset example template application errors in the Playground dataset table before runs are submitted.
›Adds support for unknown tool and tool call formats in the Playground.
›Adds a rendered input field for JSON invocation parameters in the Playground.
Phoenix Playground gains dataset integration, Anthropic tool calls, response format control, and env-var-driven gRPC interceptor extensions.
└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v5.8.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:$ git checkout arize-phoenix-v5.8.0
›Adds env var configuration for gRPC interceptor extensions, enabling customization of the gRPC layer without code changes.
›Adds a non-streaming mode toggle to the Playground UI, letting users switch between streaming and non-streaming LLM calls.
›Adds a dataset selector and dataset examples table to the Playground, allowing prompt runs against existing datasets directly in the UI.
›Supports Anthropic tool calls in the Playground, expanding provider coverage for structured tool-use workflows.
›Supports Response Format configuration in the Playground, enabling structured output control (e.g. JSON mode) from the UI.
+3 moreshow less
›Adds rate limiters to Playground LLM clients to prevent API quota exhaustion during batch prompt runs.
›The default landing route now goes to the Projects page instead of a previous default, surfacing project-level observability immediately on load.
›Adds empty-state messaging and helper tooltips in the Playground when required provider client libraries are not installed.
Phoenix 5.7.0 adds a chat completion mutation, cross-provider tool-call schema conversion, and streaming dataset runs in the Playground.
└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v5.7.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:$ git checkout arize-phoenix-v5.7.0
›Adds response_format invocation parameter to the Playground, enabling structured-output control per LLM call.
›Adds a chatCompletion GraphQL mutation for programmatic chat completion requests.
Langfuse v2.91.0 adds evals on dataset runs, media UI support, ClickHouse-backed datasets/sessions/scores, and a dataset run peek view.
└──▷ GET THIS VERSION
$ git clone --branch v2.91.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:$ git checkout v2.91.0
›Adds a configure to read from ClickHouse only mode, serving traces, dataset features, dataset results, and scores entirely from ClickHouse — unlocking higher-scale query paths for traces, sessions, and public API score/session lookups.
›Enables LLM evaluations triggered directly via dataset runs (evals-on-datasets feature flag removed, now generally available).
›Adds UI support for media in traces and observations.
›Adds a peek view on the dataset run compare table, with a header, so users can inspect individual run items inline without leaving the comparison view.
›Shows linked evaluators directly on the dataset page so teams can see which eval configs are associated with a dataset at a glance.
+1 moreshow less
›Improves prompt metrics performance by migrating the underlying query path.
Langfuse v2.87.0 adds a new sidebar/nav, flexible cost tracking, ClickHouse-backed traces and generations, eval template creation from config forms, and cloud event usage metering.
└──▷ GET THIS VERSION
$ git clone --branch v2.87.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:$ git checkout v2.87.0
›Adds is_deleted field to ClickHouse traces and observations, enabling soft-delete tracking in the analytics backend.
›Extends ClickHouse support to the traces filter options endpoint, traces.countAll API, traces detail view, and generations table — broadening the set of queries that run against ClickHouse instead of Postgres.
Weave v0.51.20 adds Dataset iteration, OpenAI beta parse API tracking, up/down call navigation, and a number-parsing string op.
└──▷ GET THIS VERSION
$ git clone --branch v0.51.20 https://github.com/wandb/weave.git
# already have the repo? check out this version:$ git checkout v0.51.20
└──▷ USE IT
Iterate directly over a published Weave Dataset to feed rows into an eval pipeline without manual index access.
python
import weave
weave.init('my-project')
dataset = weave.ref('my-dataset:latest').get()
for row in dataset:
print(row)
Track structured outputs from the OpenAI beta parse API so parsed responses appear as typed calls in Weave.
python
import weave
import openai
weave.init('my-project')
client = openai.OpenAI()
completion = client.beta.chat.completions.parse(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': 'Extract: John is 30 years old.'}],
response_format=MySchema,
)
›Adds tracking support for the OpenAI beta parse API via the openai integration.
›Adds a weave_call_id field to LLM completions, plus an option to disable tracking for individual LLM completion calls.
›Makes Dataset iterable, enabling direct Python iteration over Weave datasets in user code.
›Adds a new string op to weave_query that parses numbers containing thousands and decimal separators.
›Adds a feedback replace endpoint that performs a purge and create in a single step.
+5 moreshow less
›Adds backend support for on-demand LLM Judges (Online Evals Part 1).
›Adds ActionSpec as a known registered type (previously ActionDefinition).
›Adds a hidden Scorers page to the UI for managing scorer configurations.
›Enables up/down keyboard navigation across calls from the peek drawer on the calls page.
›Adds a playground page with call stats, LLM dropdown, chat input, stop-sequence editor, function editor, response editor, and settings drawer with sliders.
Composio v0.5.45 auto-creates integrations on initiate_connection when none exists
└──▷ GET THIS VERSION
$ git clone --branch v0.5.45 https://github.com/ComposioHQ/composio.git
# already have the repo? check out this version:$ git checkout v0.5.45
›Adds auto-initiation of a new integration when none exists on initiate_connection, removing the need to manually pre-create integrations before starting a connection flow.
LanceDB v0.14.0-beta.1 adds overwrite/exist_ok modes for remote table creation and remote connection options support.
└──▷ GET THIS VERSION
$ git clone --branch v0.14.0-beta.1 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:$ git checkout v0.14.0-beta.1
›Supports overwrite and exist_ok modes for remote create_table, letting callers control behavior when a table already exists on a remote LanceDB connection.
›Supports remote options for remote LanceDB connections, enabling configuration of connection-level settings when using the remote client.
9 more releases in this issue
· 2024-11-05 → 2024-11-29
LanceDB python-v0.17.0-beta.1 adds overwrite/exist_ok modes for remote table creation and remote connection options support.
└──▷ GET THIS VERSION
$ git clone --branch python-v0.17.0-beta.1 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:$ git checkout python-v0.17.0-beta.1
›Adds overwrite and exist_ok mode parameters to create_table for remote LanceDB connections, giving callers control over table collision behavior.
›Adds support for remote options when establishing a remote LanceDB connection.
LanceDB v0.13.1-beta.0 adds rustls support, ef search param, list_versions, and checkout APIs across SDKs.
└──▷ GET THIS VERSION
$ git clone --branch v0.13.1-beta.0 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:$ git checkout v0.13.1-beta.0
›Adds ef search parameter support for HNSW index queries, giving callers fine-grained control over recall vs. latency trade-offs.
›Adds list_versions to the TypeScript, Rust, and remote Python SDKs for programmatic version enumeration.
›Adds checkout and checkout_latest to remote SDKs for switching between dataset versions.
›Adds rustls as a TLS backend option for the Rust SDK, enabling use without OpenSSL dependencies.
LanceDB python-v0.16.1-beta.0 adds ef HNSW search param, list_versions, checkout, and checkout_latest across remote SDKs.
└──▷ GET THIS VERSION
$ git clone --branch python-v0.16.1-beta.0 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:$ git checkout python-v0.16.1-beta.0
›Adds ef search parameter support for HNSW index queries, letting callers tune recall/speed trade-offs at query time.
›Adds list_versions to the TypeScript, Rust, and remote Python SDKs for enumerating table versions.
›Adds checkout and checkout_latest to the remote SDKs for switching a table to a specific or latest version.
›Adds rustls TLS backend support in the Rust SDK as an alternative to the native TLS stack.
›Adds fast_search option in Python and Node for faster approximate index searches.
›Adds with_row_id support in Python and remote SDK to include internal row IDs in query results.
›Adds post-filter support on full-text search (FTS) queries in Python.
›Adds optimize_indices support in the synchronous API.
›Supports searching multiple query vectors as a single batch query in Python and Node.
+6 moreshow less
›Adds VoyageAI embedding function integration.
›Adds Amazon Bedrock embedding function integration.
›Adds flexible null handling and insert subschemas support in Python.
›Supports remote empty queries.
›Transitions the Python remote SDK to use the Rust implementation, improving consistency with other language clients.
›Upgrades to lance 0.19.2-beta.3 as the underlying storage layer.
└──▷ BREAKING ON UPGRADE
!The Python remote SDK now uses the Rust implementation instead of the previous Python implementation — existing code relying on internal Python remote SDK behavior may break on upgrade.
!In the Node package, openai and huggingface are now optional dependencies and must be installed separately if used.
$ git clone --branch python-v0.16.0 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:$ git checkout python-v0.16.0
└──▷ USE IT
Run a fast approximate nearest-neighbor search to reduce query latency in high-throughput pipelines.
›Adds fast_search parameter to vector search in Python and Node for approximate, lower-latency ANN queries.
›Adds with_row_id support in Python and remote queries, exposing internal row identifiers in search results.
›Adds support for post-filtering on full-text search (FTS) results in Python.
›Adds optimize_indices to the synchronous Python API, enabling index optimization without async context.
›Supports searching multiple query vectors as a single batched query in one call.
+5 moreshow less
›Adds remote empty query support, allowing full-table scans via the remote SDK.
›Adds VoyageAI embedding function integration for generating embeddings.
›Adds Amazon Bedrock embedding function integration.
›Transitions the Python remote SDK to use the Rust implementation, improving performance and consistency.
›Adds flexible null handling and insert subschemas support in Python for more permissive data ingestion.
└──▷ BREAKING ON UPGRADE
!The Python remote SDK now uses the Rust implementation; behavior of remote operations (delete, update, query, FTS, open_table) may differ from the previous Python implementation.
LanceDB v0.13.0-beta.2 adds VoyageAI embeddings, multi-vector search, sync index optimization, and remote empty query support.
└──▷ GET THIS VERSION
$ git clone --branch v0.13.0-beta.2 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:$ git checkout v0.13.0-beta.2
›Adds optimize_indices to the synchronous API, allowing index optimization without async wrappers.
›Supports searching multiple query vectors as a single query, enabling batch nearest-neighbor lookups in one call.
›Adds VoyageAI as a supported embedding provider for automatic vector generation.
›Supports remote empty queries, enabling table scans over remote LanceDB connections without a vector or filter predicate.
›Publishes win32-arm64-msvc builds to npm, extending native library support to ARM64 Windows environments.
└──▷ BREAKING ON UPGRADE
!Remote empty query behavior has changed: the support remote empty query change may alter how existing remote query code handles empty/null query inputs on upgrade.
LanceDB python-v0.16.0-beta.1 adds multi-vector search, VoyageAI embeddings, sync index optimization, and remote empty query support.
└──▷ GET THIS VERSION
$ git clone --branch python-v0.16.0-beta.1 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:$ git checkout python-v0.16.0-beta.1
›Adds optimize_index to the synchronous API, enabling index optimization without async context.
›Supports searching multiple query vectors as a single query, enabling batch nearest-neighbor lookups in one call.
›Adds VoyageAI as a supported embedding provider integration.
›Supports remote empty query, allowing queries against remote tables with no filter or vector specified.
└──▷ BREAKING ON UPGRADE
!Remote empty query behavior has changed: queries against remote tables that previously required a vector or filter may now behave differently on upgrade.
LanceDB v0.13.0-beta.0 adds fast_search, post-filter on FTS, and with_row_id support in Python and Node.
└──▷ GET THIS VERSION
$ git clone --branch v0.13.0-beta.0 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:$ git checkout v0.13.0-beta.0
›Adds fast_search option to vector search in Python and Node for faster approximate query execution.
›Adds post-filter support on full-text search (FTS) queries in Python.
›Adds with_row_id support in Python and remote environments, enabling row-level result identification.
›Transitions the Python remote SDK to use the Rust implementation, improving performance and consistency with other language clients.
LanceDB python-v0.16.0-beta.0 adds fast_search, FTS post-filtering, and with_row_id support for Python and remote clients.
└──▷ GET THIS VERSION
$ git clone --branch python-v0.16.0-beta.0 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:$ git checkout python-v0.16.0-beta.0
›Adds fast_search option to vector search in Python and Node SDKs for lower-latency approximate queries.
›Adds post-filter support on full-text search (FTS) queries in the Python SDK.
›Adds with_row_id support in the Python SDK and remote client, exposing internal row IDs in query results.
›Transitions the Python remote SDK to use the Rust implementation, backed by lance 0.19.2-beta.3.
›Adds nullable=True property and default value support for scalar fields, letting inserters omit fields without errors.
›Supports CSV format for bulk import alongside the existing JSON and Parquet formats.
›Introduces expression templates to accelerate query expression parsing, especially for complex expressions.
›Introduces full-text search via built-in Sparse-BM25 tokenization and sparse vector extraction, accepting raw text input directly through the API instead of requiring pre-generated vectors.
›Adds a new BitMap index for low-cardinality scalar fields, using a bit-array equal in length to the row count to accelerate filtered searches.
+9 moreshow less
›Introduces Clustering Compaction (Beta), allowing a scalar field to be designated as a clustering key so data is redistributed by range for faster query pruning.
›Adds Text Match capability using Tantivy analyzers and indexing for precise term-based natural language filtering.
›Introduces a built-in Cluster Management WebUI (Beta) for visualizing runtime environment details including segments, channels, node health, tasks, and slow queries.
›Migrates HNSW support from hnswlib to Faiss and adds SQ, PQ, and PRQ quantization methods on HNSW indexes.
›Adds a Streaming Node component (Beta, disabled by default) providing Write-Ahead Logging (WAL) services for consensus before and after channel reads/writes.
›Adds IPv6 support for expanded network connectivity.
›GroupBy search now supports a customizable group size (number of entries returned per group) and hybrid GroupBy search across multiple vector columns.
›QueryIterator gains MVCC support so iterators are unaffected by concurrent inserts/deletions, plus a persistent cursor enabling resumption from the last position after a restart.
›Introduces Local Storage V2, a new local file format improving scalar data loading and query efficiency while reducing memory overhead.
└──▷ BREAKING ON UPGRADE
!The upgrade to Pulsar 3.0.7 LTS is not compatible with previous Pulsar 2.x versions.