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

The AI Toolchain — issue -380, March 31, 2024

THE AI TOOLCHAIN NO. -380
Tail
THE DAILY RELEASE FIREHOSE
PUBLISHED MARCH 31, 2024 · EVERY WEEKDAY
EDITIONS tail grep head diff uniq

The daily firehose — everything the toolchain shipped today, already filtered.

// HOW THIS ISSUE IS MADE

We read every release from the 174 tools on our watchlist at the source — GitHub and GitLab release notes, vendor release pages and changelogs, project blogs and feeds, vendor press releases, and the source code behind the tag. Bug-fix-only releases and non-product newsroom noise are dropped; what's left is summarized down to the new capability, how to try it, and any screenshots or videos the release itself published. Every entry links to the sources it was built from.

VIEW
ISSUE VIEW full issue
Do you prefer this view?
$ tct list   # 23 tools matched
AI & LLM Tooling
◆  AI Coding Agents

Aider

Sources Release notes → v0.26.0 2 RELEASES · 2024-03-04 → 2024-03-08 NOTES STABLE

Aider v0.26.0 defaults to GPT-4 Turbo and adds -3/-4 model-selection switches.

└──▷ GET THIS VERSION
$ git clone --branch v0.26.0 https://github.com/Aider-AI/aider.git
# already have the repo? check out this version:
$ git checkout v0.26.0
└──▷ TRY IT
Force GPT-3.5 for a faster, cheaper session when full GPT-4 power isn't needed.
$ aider -3 <file>
Pin to classic GPT-4 (non-Turbo) when you need its specific behaviour rather than the new default Turbo model.
$ aider -4 <file>
  • Adds -4 switch to select GPT-4 (non-Turbo) and -3 switch to select GPT-3.5 at launch.
  • Switches the default model to GPT-4 Turbo.
1 more release in this issue · 2024-03-04 → 2024-03-08
v0.25.0 NOTES STABLE

Aider v0.25.0 adds --openai-organization-id, chat size warnings, and .aiderignore enforcement

└──▷ GET THIS VERSION
$ git clone --branch v0.25.0 https://github.com/Aider-AI/aider.git
# already have the repo? check out this version:
$ git checkout v0.25.0
└──▷ TRY IT
Authenticate Aider against a specific OpenAI organization account, useful when your API key belongs to multiple orgs.
$ aider --openai-organization-id org-xxxxxxxxxxxxxxxx
  • Adds --openai-organization-id CLI argument to specify an OpenAI organization when invoking Aider.
  • Enforces .aiderignore at chat-add time — vocally refuses to add matching files, preventing downstream git commit failures.
  • Issues a warning when too much code is added to the chat, with a link to the FAQ on managing chat context.
  • Surfaces a FAQ link when edits fail to apply, guiding users toward resolution steps.
Was this useful?

Zed

Sources Release notes → v0.128.3 4 RELEASES · 2024-03-06 → 2024-03-27 NOTES STABLE

Zed v0.128.3 adds file-type language mapping, rust-analyzer binary config, image rendering, and new task/reveal controls.

└──▷ GET THIS VERSION
$ git clone --branch v0.128.3 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:
$ git checkout v0.128.3
└──▷ USE IT
Pin a specific rust-analyzer binary and pass custom arguments, useful when testing a nightly or patched build.
json
{
  "lsp": {
    "rust-analyzer": {
      "binary": {
        "path": "/my/abs/path/rust-analyzer",
        "arguments": ["--no-log-buffering"]
      }
    }
  }
}
Prevent a background build task from stealing focus by keeping its terminal hidden until you explicitly open it.
json
{
  "label": "cargo build",
  "command": "cargo build",
  "reveal": "never"
}
  • Adds file_types setting to associate languages with file names and file extensions.
  • Adds ability to specify a custom rust-analyzer binary path (absolute) and arguments under lsp.rust-analyzer.binary in user settings.
  • Adds always_treat_brackets_as_autoclosed setting (default: false) to always treat brackets as auto-closed pairs.
  • Adds reveal: always|never field in task definitions in tasks.json to customize task terminal behavior on spawn (default: always).
  • Adds experimental ZED_PACKAGE task variable containing the name of the current crate in Rust files.
+13 moreshow less
  • Adds support for regex syntax highlighting in JS and TS.
  • Adds JSDoc syntax highlighting support.
  • Adds automatic updating for node-based language servers.
  • Adds support for rendering image files directly in the editor.
  • Adds suggested extensions for recognized filetypes.
  • Adds ability to open the theme selector with installed themes immediately after installing a theme extension.
  • Adds editing of chat messages in the collaboration panel.
  • Redesigns message replies in the chat panel.
  • Adds recent projects to the macOS dock icon context menu.
  • Adds option to collapse all subfolders from the root project folder.
  • Ships Zed as a non-universal binary, reducing binary size by ~50%.
  • Adds ⌘-Delete/⌘-Backspace shortcut to suppress deletion confirmation prompts in the project panel.
  • Zed now always opens new windows with the same position and location as the previous instance.
└──▷ BREAKING ON UPGRADE
  • !The semantic index feature has been temporarily removed and will be redesigned from scratch.
3 more releases in this issue · 2024-03-06 → 2024-03-27
v0.127.3 NOTES STABLE

Zed v0.127.3 adds new CLI flags, vim subword motions, git hunk revert, ZED_SELECTED_TEXT task variable, and more.

└──▷ GET THIS VERSION
$ git clone --branch v0.127.3 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:
$ git checkout v0.127.3
└──▷ TRY IT
Open a set of files in a brand-new workspace without disturbing your current session.
$ zed --new src/main.rs src/lib.rs
Control how double-clicking an excerpt in a multi-buffer view behaves.
json
{
  "double_click_in_multibuffer": "open"
}
  • Adds -n/--new and -a/--add flags to the zed CLI: --new always opens files in a new workspace; --add always adds directories to an existing workspace.
  • Adds double_click_in_multibuffer setting: select makes multi-buffer behave like a singleton buffer; open opens the excerpt in a new tab.
  • Adds editor::RevertSelectedHunks action (default keybinding cmd-alt-z) to revert git hunks directly from the editor.
  • Adds ZED_SELECTED_TEXT task variable containing the contents of the current selection.
  • Adds use_smartcase_find option for Vim mode.
+13 moreshow less
  • Adds Vim subword motions.
  • Adds [x and ]x as default Vim keybindings to select larger and smaller syntax nodes respectively.
  • Adds support for overriding the current theme's syntax font styles and weights in settings.
  • Adds support for opening files via the zed://file/<path> protocol (e.g. open zed://file/Users/example/Desktop/a.txt).
  • Adds ESLint config nodePath support.
  • Adds emoji shortcode autocompletion and automatic replacement in chat (e.g. :wave: converts to).
  • Adds @callback, @type, and @typep Elixir symbols to the outline view.
  • Adds autoclosing of ( and ' in Lua.
  • Adds syntax highlighting to code blocks in markdown preview.
  • Adds strikethrough rendering for deprecated methods in the completions menu.
  • Adds a formatting-failure message to the activity indicator; clicking it opens the log with details.
  • Adds hover style and timestamp tooltips to notifications in the notification panel.
  • Improves cmd-click navigation so that when no reference is found, Zed falls back to FindAllReferences.
└──▷ BREAKING ON UPGRADE
  • !Removed git_commit syntax highlighting from core; the Git Firefly extension now covers this functionality.
  • !Changed default VS Code keymap: alt-[up|down] now moves lines up/down and alt-shift-[up|down] duplicates lines up/down; previous bindings for selecting larger/smaller syntax nodes moved to ctrl-shift-[left|right].
v0.126.2 NOTES STABLE

Zed v0.126.2 adds local task configs, task context env vars, Vim paragraph objects, and new editor/workspace commands.

└──▷ GET THIS VERSION
$ git clone --branch v0.126.2 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:
$ git checkout v0.126.2
└──▷ HOW TO FIND IT
Save a file immediately without triggering auto-formatters — useful when you need to preserve raw output or commit a work-in-progress.
📍cmd-k s
  • Adds local task configurations via .zed/tasks.json, letting projects define tasks without touching global settings.
  • Adds task contexts — additional environment variables injected by Zed at task spawn time, reflecting editor state (cursor position, file, selection, etc.).
  • Adds menu::UseSelectedQuery command to populate the task modal query with the selected task name.
  • Adds workspace::SaveWithoutFormatting, bound to cmd-k s, to save a file without invoking the auto formatter.
  • Adds editor::OpenExcerptsSplit, bound to cmd-k enter, to open selected excerpts in the adjacent pane.
+11 moreshow less
  • Adds editor: toggle line numbers command with default keybinding cmd-;.
  • Adds ctrl-w d, ctrl-w shift-d, and ctrl-w space Vim bindings for editor::GoToDefinition, editor::GoToTypeDefinition, and editor::OpenExcerptsSplit.
  • Adds support for ap and ip paragraph text objects in Vim mode.
  • Adds support for z. in Vim mode (centers cursor in window and moves to first non-blank character).
  • Adds cli: Register Zed Scheme command to control which Zed installation handles the zed:// URL scheme.
  • Adds ability to override player colors using experimental.theme_overrides in settings.
  • Adds support for accepting partial Copilot suggestions via alt-right.
  • Adds support for configuring the terminal toolbar.
  • Adds Zig outline view support.
  • Extends editor: copy permalink to line and editor: open permalink to line to support repositories hosted on git.sr.ht (Sourcehut), codeberg.org, and bitbucket.org (Bitbucket Cloud).
  • Improves editor: find all references to navigate directly to the reference when only one exists, skipping the reference buffer.
└──▷ BREAKING ON UPGRADE
  • !The zed-preview:, zed-nightly:, and zed-dev: URL schemes (used by channel links) are removed.
v0.125.3 NOTES STABLE

Zed v0.125.3 adds Terraform LSP, ESLint flat config, new Vim motions, gutter controls, and collaboration enhancements.

└──▷ GET THIS VERSION
$ git clone --branch v0.125.3 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:
$ git checkout v0.125.3
└──▷ USE IT
Run ESLint fixes automatically on save, scoped to specific rules, alongside your primary formatter.
json
{
  "code_actions_on_format": { "source.fixAll.eslint": true },
  "lsp": {
    "eslint": {
      "settings": {
        "codeActionOnSave": { "rules": ["import/order"] }
      }
    }
  }
}
Keep clipboard writes to explicit yanks only, preventing every delete or change from clobbering the system clipboard.
json
{
  "vim": {
    "use_system_clipboard": "on_yank"
  }
}
Hide code-action and fold indicators from the gutter to reduce visual noise while keeping line numbers.
json
{
  "gutter": {
    "line_numbers": true,
    "code_actions": false,
    "folds": false
  }
}
  • Adds code_actions_on_format dispatch to all language servers connected to a buffer (not just the primary), enabling "source.fixAll.eslint": true to trigger ESLint fixes on save alongside other formatters.
  • Adds ESLint codeActionOnSave settings passthrough via the lsp config key, e.g. {"lsp": {"eslint": {"settings": {"codeActionOnSave": {"rules": ["import/order"]}}}}} to scope which rules fire on save.
  • Adds {"vim": {"use_multiline_find": true}} setting to let f, t, F, T search across line boundaries.
  • Adds {"vim": {"use_system_clipboard": "never" | "on_yank" | "always"}} setting to control default clipboard behavior.
  • Adds {"gutter": {"line_numbers": true, "code_actions": true, "folds": true}} settings to control display of gutter visual elements.
+19 moreshow less
  • Adds {"inlay_hints": {"edit_debounce_ms": 700}} and {"inlay_hints": {"scroll_debounce_ms": 50}} settings to debounce inlay hint rendering during edits and scrolling; set to 0 to disable.
  • Adds ESLint flat config support.
  • Adds language server support for Terraform.
  • Adds Vim :tabo[nly][!] command to close all tabs in the current pane except the active one.
  • Adds Vim :on[ly][!] command to close all tabs and panes except the active one.
  • Adds new argument Vim text object for targeting function arguments.
  • Adds it and at Vim text objects to target within/around HTML tags.
  • Adds ctrl-t and ctrl-d for indent/outdent in Vim insert mode.
  • Adds Go to implementation support in the editor.
  • Adds zed: view release notes locally action.
  • Adds .cljc, .edn, and .bb as recognized Clojure filename extensions.
  • Adds Unmute action for guests in calls, allowing mic use without project edit access.
  • Adds buttons in the extensions view to filter by All, Installed, and Not Installed.
  • Adds support for rendering strikethrough text in markdown elements.
  • Adds ability to open a new buffer by double-clicking on the tab bar.
  • Opens recent projects in a new window when using cmd-enter instead of reusing the current window.
  • Allows removal of workspaces from the recent projects list.
  • Adds option to copy the text of a message within the chat.
  • Adds file icons for CoffeeScript, Dart, Docker, F#, GraphQL, Heroku, Java, Kotlin, Nim, R, Scala, Swift, TCL, font, and license files.
Was this useful?
◆  AI Agent Frameworks

CrewAI

Sources Release notes → v0.22.0 2 RELEASES · 2024-03-04 → 2024-03-11 NOTES STABLE

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

CrewAI v0.22.0 adds a crewai create CLI command and dictionary-based agent/task definitions.

└──▷ GET THIS VERSION
$ git clone --branch v0.22.0 https://github.com/crewAIInc/crewAI.git
# already have the repo? check out this version:
$ git checkout v0.22.0
└──▷ TRY IT
Bootstrap a new CrewAI project scaffold from the command line.
$ crewai create
Define an agent using a dictionary instead of a class instance, useful for dynamic or config-driven crew setups.
python
from crewai import Agent, Task, Crew

agent = Agent(**{
    "role": "Researcher",
    "goal": "Find the latest AI news",
    "backstory": "You are an expert at finding information."
})

task = Task(**{
    "description": "Search for the top 5 AI news stories today",
    "agent": agent
})
  • Adds crewai create CLI command for bootstrapping new CrewAI projects from the command line.
  • Enables agents and tasks to be defined using Python dictionaries as an alternative to class-based definitions.
  • Adds clearer agent logging output to improve observability during crew execution.
1 more release in this issue · 2024-03-04 → 2024-03-11
v0.19.0 NOTES STABLE

CrewAI v0.19.0 adds execution metrics, input passing at kickoff, and function-calling LLM fallback for agents and crews.

└──▷ GET THIS VERSION
$ git clone --branch v0.19.0 https://github.com/crewAIInc/crewAI.git
# already have the repo? check out this version:
$ git checkout v0.19.0
└──▷ USE IT
After a crew run, inspect tool usage metrics to audit how many tools were called and where errors occurred.
python
result = crew.kickoff(inputs={'domain': 'example.com'})
print(crew.usage_metrics)
Fall back to function-calling mode on an agent when the default tool-use strategy is unreliable with your LLM.
python
agent = Agent(
    role='Analyst',
    llm=my_llm,
    function_calling_llm=my_function_llm,
    tools=[my_tool]
)
  • Adds function_calling_llm parameter on Agent or Crew to fall back to function calling when standard tool usage fails.
  • Adds crew.usage_metrics to retrieve execution metrics after a kickoff call, exposing tool usage statistics.
  • Adds inputs parameter to crew.kickoff(inputs={'key': 'value'}) so runtime values can be injected at execution time.
  • Enhances delegation capabilities for agents within a crew.
Was this useful?

deepset Haystack

Sources Release notes → v2.0.0 2 RELEASES · 2024-03-04 → 2024-03-11 NOTES STABLE

Haystack 2.0 is a full rewrite introducing composable pipelines, typed components, and a new haystack-ai package.

└──▷ GET THIS VERSION
$ git clone --branch v2.0.0 https://github.com/deepset-ai/haystack.git
# already have the repo? check out this version:
$ git checkout v2.0.0
└──▷ USE IT
Build a URL question-answering pipeline by chaining fetcher, converter, prompt, and LLM components with typed connections.
python
from haystack import Pipeline
from haystack.components.fetchers import LinkContentFetcher
from haystack.components.converters import HTMLToDocument
from haystack.components.builders import PromptBuilder
from haystack.components.generators import OpenAIGenerator
from haystack.utils import Secret

fetcher = LinkContentFetcher()
converter = HTMLToDocument()
prompt_builder = PromptBuilder(template="""{% for document in documents %}{{document.content}}{% endfor %} Answer: {{query}}""")
llm = OpenAIGenerator(api_key=Secret.from_env_var("OPENAI_API_KEY"))

pipeline = Pipeline()
pipeline.add_component("fetcher", fetcher)
pipeline.add_component("converter", converter)
pipeline.add_component("prompt", prompt_builder)
pipeline.add_component("llm", llm)
pipeline.connect("fetcher.streams", "converter.sources")
pipeline.connect("converter.documents", "prompt.documents")
pipeline.connect("prompt.prompt", "llm.prompt")
pipeline.run({"fetcher": {"urls": ["https://haystack.deepset.ai/overview/quick-start"]}, "prompt": {"query": "How should I install Haystack?"}})
Spin up a predefined chat-with-website pipeline in one line using the new template factory.
python
from haystack import Pipeline, PredefinedPipeline

pipeline = Pipeline.from_template(PredefinedPipeline.CHAT_WITH_WEBSITE)
pipeline.run({"fetcher": {"urls": ["https://haystack.deepset.ai/overview/quick-start"]}, "prompt": {"query": "How should I install Haystack?"}})
Create a custom embedder component with typed I/O and plug it into a retrieval pipeline.
python
from haystack import component, Pipeline
from haystack.document_stores.in_memory import InMemoryDocumentStore
from haystack.components.retrievers.in_memory import InMemoryEmbeddingRetriever
import random
from typing import List

@component
class MyEmbedder:
    def __init__(self, dim: int = 128):
        self.dim = dim

    @component.output_types(embedding=List[float])
    def run(self, text: str):
        return {"embedding": [random.uniform(-1.0, 1.0) for _ in range(self.dim)]}

document_store = InMemoryDocumentStore()
pipeline = Pipeline()
pipeline.add_component("text_embedder", MyEmbedder())
pipeline.add_component("retriever", InMemoryEmbeddingRetriever(document_store=document_store))
pipeline.connect("text_embedder.embedding", "retriever.query_embedding")
pipeline.run({"text_embedder": {"text": "Who lives in Berlin?"}})
  • New haystack-ai package replaces farm-haystack for Haystack 2.0; both coexist but must be installed in separate virtual environments to avoid conflicts.
  • New Pipeline class supports dynamic computation graphs with conditional control flow, loops, typed data flow, pre-run validation, and serialization; built via add_component() and connect() methods, executed with run().
  • New @component decorator and @component.output_types() decorator enable custom components with typed inputs and outputs that slot directly into pipelines.
  • New Pipeline.from_template() factory method accepts PredefinedPipeline enum values (e.g., PredefinedPipeline.CHAT_WITH_WEBSITE) to instantiate ready-made pipelines in one line.
  • New PromptBuilder component (and DynamicPromptBuilder for advanced cases) accepts Jinja-templated prompts where {{ }} expressions become typed pipeline inputs.
+4 moreshow less
  • New Secret.from_env_var() utility provides type-safe secret and API-key management to prevent accidental credential leaks.
  • Built-in components now span 20+ categories — including Generators, Embedders, Retrievers, Evaluators, Rankers, and Routers — with integrations for OpenAI, Cohere, Hugging Face, Amazon Bedrock, Google Vertex, Ollama, and many more.
  • Document Stores provide a unified interface for vector-database backends including Weaviate, Chroma, Pinecone, Astra DB, MongoDB, Qdrant, Pgvector, Elasticsearch, OpenSearch, Neo4j, and Marqo, each paired with a dedicated retriever component.
  • Structured logging system supports tracing correlation out of the box, with OpenTelemetry and Datadog instrumentation built in.
1 more release in this issue · 2024-03-04 → 2024-03-11
v1.25.0 NOTES STABLE

Haystack v1.25.0 adds page-based document splitting, new OpenAI embedding models, and local endpoint support via API_BASE.

└──▷ GET THIS VERSION
$ git clone --branch v1.25.0 https://github.com/deepset-ai/haystack.git
# already have the repo? check out this version:
$ git checkout v1.25.0
└──▷ USE IT
Chunk a document corpus by page rather than word or sentence count — useful when downstream retrieval should respect PDF page boundaries.
python
preprocessor = PreProcessor(
    split_by='page',
    split_overlap=0
)
docs = preprocessor.process(raw_docs)
  • Adds split_by='page' option to the Preprocessor so documents can be chunked by page break.
  • Adds raise_on_failure flag to BaseConverter so large batch processes can continue past individual conversion exceptions.
  • Adds support for OpenAI embedding models text-embedding-3-large and text-embedding-3-small.
  • Adds API_BASE as an optional parameter to PromptNode and PromptModel, enabling RAG against any OpenAI-compatible local endpoint (e.g. LM Studio at http://localhost:1234/v1).
  • Upgrades Transformers to 4.37.2, adding support for Phi-2 and Qwen2 models and improved quantization support.
Was this useful?

LangChain

Sources Release notes → v0.1.13 4 RELEASES · 2024-03-02 → 2024-03-20 NOTES STABLE

LangChain v0.1.13 adds Runnable.batch_as_completed, StructuredPrompt, Baidu VectorDB, blended search, and more new integrations.

└──▷ GET THIS VERSION
$ git clone --branch v0.1.13 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout v0.1.13
└──▷ USE IT
Process large batch LLM calls incrementally — handle each result as soon as it completes instead of blocking on the slowest item.
python
from langchain_core.runnables import RunnableLambda

chain = RunnableLambda(lambda x: x.upper())

for idx, result in chain.batch_as_completed(["hello", "world", "foo"]):
    print(f"Item {idx} completed: {result}")
Provide a deterministic run_id when invoking a chain so the run is traceable under a known identifier in LangSmith.
python
import uuid
from langchain_core.runnables import RunnableLambda

chain = RunnableLambda(lambda x: x)
result = chain.invoke("input", config={"run_id": uuid.UUID("12345678-1234-5678-1234-567812345678")})
  • Adds Runnable.batch_as_completed method to core, enabling callers to process batch results as each item finishes rather than waiting for the full batch.
  • Adds new beta StructuredPrompt class to core for structured prompt construction.
  • Adds partition parameter to DashVector vector store integration.
  • Adds args_schema to SQL database tools in community to support LangGraph integration.
  • Adds run_id parameter support, allowing callers to directly provide a run_id when invoking runnables.
+18 moreshow less
  • Adds LLM output to message response_metadata in core, surfacing model output metadata on returned messages.
  • Adds Baidu VectorDB as a new vector store integration in community.
  • Adds Blended Search support to GoogleVertexAISearchRetriever in community.
  • Adds translation task support to HuggingFacePipeline in community.
  • Adds model argument and improved error handling to MaritTalk LLM integration in community.
  • Adds feedback and status event support to the Fiddler callback handler in community, publishing event duration in milliseconds.
  • Adds support for Cohere SDK v5 in community while maintaining backwards compatibility with v4.
  • Adds tokenize support to langchain_ibm integration.
  • Adds batch support for AI21 Labs Embeddings in the partners package.
  • Adds stop parameter support to Volcengine MAAS LLM in community.
  • Adds native async embedding via _aembed_query to Qdrant integration in community.
  • Adds support for fastembed v1 and v2 in community.
  • Adds RAG Lantern template and JaguarDB template to community.
  • Adds VoyageAI as a new partner package (voyageai).
  • Revamps PGVector filtering in community with expanded filter capabilities.
  • Enables LLM async streaming to fall back on sync streaming in core when async streaming is unavailable.
  • Moves fake LLMs and embeddings to core package.
  • Switches Neo4j generation template to use LLMGraphTransformer.
3 more releases in this issue · 2024-03-02 → 2024-03-20
v0.1.12 NOTES STABLE

LangChain v0.1.12 adds Anthropic tool calling, Claude v3, MongoDB LLM cache, new vector stores, and lazy_load() across 20+ document loaders.

└──▷ GET THIS VERSION
$ git clone --branch v0.1.12 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout v0.1.12
└──▷ USE IT
Use Anthropic tool calling to bind a tool to a Claude model and invoke it in a chain.
python
from langchain_anthropic import ChatAnthropic
from langchain_core.tools import tool

@tool
def get_weather(location: str) -> str:
    """Return weather for a location."""
    return f"Sunny in {location}"

llm = ChatAnthropic(model="claude-3-opus-20240229")
llm_with_tools = llm.bind_tools([get_weather])
result = llm_with_tools.invoke("What is the weather in Paris?")
print(result)
Stream documents memory-efficiently from a large Confluence space using the new lazy_load() on ConfluenceLoader.
python
from langchain_community.document_loaders import ConfluenceLoader

loader = ConfluenceLoader(
    url="https://your-org.atlassian.net/wiki",
    username="[email protected]",
    api_key="<api_key>",
    space_key="ENG"
)
for doc in loader.lazy_load():
    print(doc.metadata["title"], len(doc.page_content))
  • Adds tool calling support to the Anthropic integration via langchain-anthropic.
  • Adds ElasticsearchRetriever to the Elasticsearch partner package.
  • Adds MongoDB LLM Cache to langchain-mongodb, available at the top-level library import.
  • Adds dangerous parameter to the requests tool to require explicit opt-in for unsafe HTTP requests.
  • Adds TritonTensorRTLLM(verbose_client=False) parameter to the nvidia-trt integration.
+14 moreshow less
  • Adds jq schema support for content_key in JsonLoader.
  • Adds lazy_load() to GithubFileLoader, EverNoteLoader, CubeSemanticLoader, GitbookLoader, FacebookChatLoader, SitemapLoader, OutlookMessageLoader, ArxivLoader, WikipediaLoader, WhatsAppChatLoader, SlackDirectoryLoader, TrelloLoader, PsychicLoader, ObsidianLoader, UnstructuredBaseLoader, ConfluenceLoader, AssemblyAIAudioTranscriptLoader, MastodonTootsLoader, TextLoader, PDFMinerPDFasHTMLLoader, PyMuPDFLoader, BSHTMLLoader, GitLoader, PlaywrightURLLoader, and MHTMLLoader.
  • Moves document loader interfaces to langchain-core; if load() has been overridden, the default lazy_load() will now use it automatically.
  • Adds AI21 Labs Contextual Answers support via the AI21 partner package.
  • Adds Infinispan as a new vector store in langchain-community.
  • Adds DocumentDBVectorSearch vector store to langchain-community.
  • Adds TiDB vector store support to langchain-community.
  • Adds Friendli LLM (Friendli) and chat model (ChatFriendli) integrations to langchain-community.
  • Adds support for Claude v3 models in the Bedrock integration.
  • Migrates MongoDBChatMessageHistory to langchain-mongodb.
  • Adds delete method to OpenSearch vector store, enabling index deletion support.
  • Adds score confidence filtering for AWS Kendra search results.
  • Adds Yuque document loader to langchain-community.
  • Switches Databricks SerDe to use cloudpickle instead of pickle for safer serialization.
└──▷ BREAKING ON UPGRADE
  • !Some langchain-community APIs now require users to explicitly opt in for pickling; code that previously relied on implicit pickling will break.
v0.1.11 NOTES STABLE

LangChain v0.1.11 adds Claude 3 and multimodal support, Azure Cosmos Mongo vCore caching, You.com tool, and RAPTOR retrieval.

└──▷ GET THIS VERSION
$ git clone --branch v0.1.11 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout v0.1.11
  • Adds ChatAnthropic support for Claude 3 models in the anthropic partner package.
  • Adds multimodal (image input) support to ChatAnthropic.
  • Adds a You.com tool and async support to the You.com retriever in the community package.
  • Adds a tools renderer for non-OpenAI agents, broadening agent compatibility.
  • Adds session-level feedback support for LangSmith evals.
+2 moreshow less
  • Adds ability to list dataset examples filtered by dataset version tag for evals.
  • Adds RAPTOR (Recursive Abstractive Processing for Tree-Organized Retrieval) retrieval notebook/integration.
v0.1.10 NOTES STABLE

LangChain v0.1.10 adds Fireworks/Mistral function calling, PNG graph rendering, SQLDatabaseLoader, LLMLingua compression, and new partner packages.

└──▷ GET THIS VERSION
$ git clone --branch v0.1.10 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout v0.1.10
└──▷ USE IT
Load documents from a SQL database table into LangChain using the new SQLDatabaseLoader.
python
from langchain_community.document_loaders import SQLDatabaseLoader
from langchain_community.utilities import SQLDatabase

db = SQLDatabase.from_uri('postgresql://user:pass@localhost/mydb')
loader = SQLDatabaseLoader(query='SELECT id, content FROM documents', db=db)
docs = loader.load()
  • Adds ChatFireworks.with_structured_output for structured output support in the Fireworks partner package.
  • Adds function calling and with_structured_output to the Mistral partner package (langchain-mistral).
  • Adds SET allow_experimental_[engine]_index as a configurable option in vectorstores.clickhouse.
  • Adds SQLDatabaseLoader document loader to langchain_community for loading documents directly from SQL databases.
  • Adds BaseMessage.id field to core message types, with automatic assignment in ChatOpenAI.
+17 moreshow less
  • Adds PNG drawer for Runnable.get_graph(), enabling visual export of runnable pipelines as images.
  • Adds Fireworks as a first-class partner package (langchain-fireworks) with chat, embeddings, and tool-calling support.
  • Adds Elasticsearch as a partner package (langchain-elasticsearch).
  • Adds AstraDBChatMessageHistory to the langchain-astradb partner package.
  • Adds Anthropic as a partner package (langchain-anthropic).
  • Adds IBM WatsonxLLM support for passing a ModelInference or Model object directly to the WatsonxLLM class.
  • Adds Laser Embedding integration to langchain_community.
  • Adds LLMLingua as a document compressor in langchain_community.
  • Adds hugging_face_model document loader to langchain_community.
  • Adds Kinetica vector store integration to langchain_community.
  • Adds additional threshold types to SemanticChunker in the experimental package.
  • Adds async client support (async_client) for the Anyscale Chat model.
  • Removes model restriction on Anyscale LLM, allowing any model to be specified.
  • Adds Fiddler AI callback handler to langchain_community for model monitoring integration.
  • Adds document manager and MongoDB document manager to langchain_community.
  • Moves OpenAI functions output parser to langchain_core.
  • Adds support for JavaScript message serial namespaces in langchain_core.
Was this useful?

Letta (formerly MemGPT)

Sources Release notes → 0.3.7 4 RELEASES · 2024-03-01 → 2024-03-21 NOTES STABLE

Letta 0.3.7 adds in-context message flags, cursor-based retrieval, tool selection at agent creation, Preset routes, and expanded Python client coverage.

└──▷ GET THIS VERSION
$ git clone --branch 0.3.7 https://github.com/letta-ai/letta.git
# already have the repo? check out this version:
$ git checkout 0.3.7
  • Adds in_context boolean field to message dicts returned by GET /api/agents/{a_id}/messages, letting callers see which messages are currently in the agent's context window.
  • Enables cursor-based retrieval of previous messages via the messages API, supporting paginated history traversal.
  • Enables tool selection at agent creation time via the POST agent creation endpoint.
  • Adds Preset routes to the REST API, allowing programmatic management of presets.
  • Adds a source_id path variable to source-related routes, moving it out of the request body.
+5 moreshow less
  • Returns source metadata (including attached agents) with the list sources API route.
  • Allows an optional timestamp field in the send_message POST endpoint.
  • Implements remaining Admin routes in the Python client.
  • Adds remaining Python client support for all REST API routes.
  • Adds a Google Search custom function example demonstrating how to wire external tool calls.
3 more releases in this issue · 2024-03-01 → 2024-03-21
0.3.6 NOTES STABLE

Letta 0.3.6 expands the REST API with archival memory, data sources, and message UUIDs in SSE streaming.

└──▷ GET THIS VERSION
$ git clone --branch 0.3.6 https://github.com/letta-ai/letta.git
# already have the repo? check out this version:
$ git checkout 0.3.6
└──▷ TRY IT
Retrieve all archival memory entries for a specific agent over the REST API.
$ curl -X GET 'http://localhost:8283/api/agents/{agent_id}/archival' -H 'Authorization: Bearer <api_key>'
  • Adds archival memory endpoints to the REST API: GET, POST, and DELETE under /api/agents.
  • Adds data sources endpoints to the REST API for managing agent data sources.
  • Adds last_run field to the agent state model, available via the REST API.
  • Adds persona_name and human_name fields to the Preset model.
  • Adds memory data and tool data to the GET /api/agents list response.
+4 moreshow less
  • Adds list of sources (in dict format) to the agent response object.
  • Adds metadata to the GET /api/tools route response.
  • Passes message UUIDs during message streaming via POST SSE send_message.
  • Enables adding presets via the CLI.
└──▷ BREAKING ON UPGRADE
  • !All /api/agents sub-routes now use {agent_id} as a path parameter — any client code referencing agent routes with a different parameter convention will break.
0.3.5 NOTES STABLE

Letta 0.3.5 adds REST endpoints for agents, humans, personas, LLM config, and tools listing.

└──▷ GET THIS VERSION
$ git clone --branch 0.3.5 https://github.com/letta-ai/letta.git
# already have the repo? check out this version:
$ git checkout 0.3.5
  • Adds GET REST API route for listing tools.
  • Adds REST API routes to GET information for agents, humans, and personas, and stores humans and personas in the database.
  • Returns server.server_llm_config information via REST endpoint.
  • Moves agent_id from a query parameter to a path variable in REST API routes.
  • Adds REST API support for creating humans and personas.
└──▷ BREAKING ON UPGRADE
  • !The agent_id parameter is moved from a query parameter to a path variable in REST API routes — callers constructing URLs with ?agent_id=... must update to path-style URLs.
0.3.4 NOTES STABLE

Letta 0.3.4 adds RESTClient and Admin Python clients, HTTPS support for the server, and a Dockerfile for self-hosted deployments.

└──▷ GET THIS VERSION
$ git clone --branch 0.3.4 https://github.com/letta-ai/letta.git
# already have the repo? check out this version:
$ git checkout 0.3.4
  • Adds RESTClient and Admin Python client classes for interacting with the Letta server programmatically.
  • Adds basic HTTPS support to memgpt server for development environments that require it.
  • Adds a Dockerfile for running the Letta server as a container.
  • Allows admin users to access all API routes, with authentication re-enabled.
  • Adds authentication support to the Chat UI.
+2 moreshow less
  • Adds data loading and attaching functionality to the server.
  • Refactors loading and attaching data sources, upgrading to llama-index==0.10.6.
Was this useful?

LlamaIndex

Sources Release notes → v0.10.19 2 RELEASES · 2024-03-07 → 2024-03-12 NOTES STABLE

LlamaIndex v0.10.19 adds log-probability support, labelled datasets, SQL table comments, nested metadata filters, and new LLM model support.

└──▷ GET THIS VERSION
$ git clone --branch v0.10.19 https://github.com/run-llama/llama_index.git
# already have the repo? check out this version:
$ git checkout v0.10.19
  • Adds LogProb type to the ChatResponse object in llama-index-core, exposing token-level log probabilities from model responses.
  • Adds table comments to SQL table schemas in SQLDatabase in llama-index-core, giving the query engine richer schema context.
  • Introduces LabelledSimpleDataset in llama-index-core for working with labelled training/evaluation data.
  • Adds support for nested metadata filters in llama-index-vector-stores-postgres.
  • Adds support for the command-r model in llama-index-llms-cohere.
+2 moreshow less
  • Adds support for latest and open models in llama-index-llms-mistralai.
  • Introduces automatic retries for rate limits in the OpenAI LLM class in llama-index-core.
1 more release in this issue · 2024-03-07 → 2024-03-12
v0.10.17 NOTES STABLE

LlamaIndex v0.10.17 adds relative/dist-based fusion scoring, Anthropic multimodal models, a finance chat llama-pack, and SQL refine templates.

└──▷ GET THIS VERSION
$ git clone --branch v0.10.17 https://github.com/run-llama/llama_index.git
# already have the repo? check out this version:
$ git checkout v0.10.17
└──▷ USE IT
Use distance-based score normalization in a fusion retriever to improve ranking across heterogeneous retrievers.
python
from llama_index.core.retrievers import QueryFusionRetriever

retriever = QueryFusionRetriever(
    retrievers=[retriever_a, retriever_b],
    mode="dist_based_score",
    num_queries=4,
)
nodes = retriever.retrieve("What is the capital of France?")
  • Adds relative_score and dist_based_score scoring modes to QueryFusionRetriever in llama-index-core.
  • Adds support for a refine template in BaseSQLTableQueryEngine via llama-index-core.
  • Adds support for Anthropic multimodal models haiku and sonnet in llama-index-multi-modal-llms-anthropic.
  • Adds new llama-index-packs-finchat llama-pack for hierarchical agents combined with finance chat workflows.
  • Inherits metadata to summaries in DocumentSummaryIndex in llama-index-core.
Was this useful?

Microsoft AutoGen

Sources Release notes → v0.2.21 5 RELEASES · 2024-03-01 → 2024-03-28 NOTES STABLE

AutoGen v0.2.21 adds AgentOptimizer, Vision Capability, IOStream/WebSocket support, Mistral native tool calls, and user-defined functions in the local CLI executor.

└──▷ GET THIS VERSION
$ git clone --branch v0.2.21 https://github.com/microsoft/autogen.git
# already have the repo? check out this version:
$ git checkout v0.2.21
  • Adds AgentOptimizer, a research-backed agent that iteratively improves tool sets used by agents during multi-turn conversations.
  • Adds user-defined functions support to the local CLI executor, bringing 'skills'-style extensibility (previously only in AutoGen Studio) to the code execution API.
  • Adds VisionCapability for ConversableAgent, enabling agents to process and reason about images via GPT-4V-style multimodal inputs.
  • Introduces the IOStream protocol with WebSocket support, allowing agent conversations to stream I/O over WebSocket connections.
  • Adds native tool call support for the Mistral AI API custom model, enabling function/tool calling without OpenAI compatibility shims.
+2 moreshow less
  • Adds WebArena benchmarking tool under samples/tools/webarena for running and evaluating agents against the WebArena benchmark.
  • Adds ability to retrieve the list of actors from the directory service via the CAP (actor platform) layer.
4 more releases in this issue · 2024-03-01 → 2024-03-28
v0.2.20 NOTES STABLE

AutoGen v0.2.20 adds image generation, Azure AI Search support, streaming replies, and a composable actor platform.

└──▷ GET THIS VERSION
$ git clone --branch v0.2.20 https://github.com/microsoft/autogen.git
# already have the repo? check out this version:
$ git checkout v0.2.20
└──▷ USE IT
Enable Azure AI Search in AutoGen Studio by adding extra_body to your LLM config.
json
{
  "model": "gpt-4",
  "api_type": "azure",
  "api_key": "<your-key>",
  "base_url": "<your-azure-endpoint>",
  "extra_body": {
    "dataSources": [
      {
        "type": "AzureCognitiveSearch",
        "parameters": {
          "endpoint": "<search-endpoint>",
          "key": "<search-key>",
          "indexName": "<index-name>"
        }
      }
    ]
  }
}
  • Adds extra_body field to LLMConfig dataclass to enable Azure AI Search support in AutoGen Studio.
  • New ImageGenerationCapability contrib feature (2.0) lets agents generate images as part of conversations.
  • New Composable Actor Platform (CAP) sample app enables distributed, actor-based AutoGen agent deployments.
  • AutoGen Studio gains upload/download of Skills and Workflows, streaming agent replies, and agent message summarization.
  • Nested chat now supports different senders, enabling more flexible multi-agent conversation topologies.
+1 moreshow less
  • Separates OpenAI Assistants API config items from the general llm_config in GPTAssistantAgent.
v0.2.18 NOTES STABLE

AutoGen v0.2.18 adds callable messages, a fine-tuning tool for conversable agents, and a Docker-based command-line code executor.

└──▷ GET THIS VERSION
$ git clone --branch v0.2.18 https://github.com/microsoft/autogen.git
# already have the repo? check out this version:
$ git checkout v0.2.18
  • Adds LocalCommandLineCodeExecutor support for accepting a path object for work_dir, in addition to strings.
  • Implements a Docker-based CommandLineCodeExecutor for sandboxed, containerized code execution.
  • Supports callable messages, allowing user-defined message functions to control what agents send to one another.
  • Adds a fine-tuning tool (samples/tools/finetuning) for training custom models on conversable agents.
└──▷ BREAKING ON UPGRADE
  • !CompressibleAgent now requires a model field in llm_config; configurations omitting it will break.
v0.2.17 NOTES STABLE

AutoGen v0.2.17 adds customizable speaker selection for group chats and tightens nested chat registration.

└──▷ GET THIS VERSION
$ git clone --branch v0.2.17 https://github.com/microsoft/autogen.git
# already have the repo? check out this version:
$ git checkout v0.2.17
  • Allows users to pass a customized speaker selection method into group chat, enabling fully programmable agent turn-ordering beyond the built-in strategies.
  • Removes the default trigger value for register_nested_chats, requiring callers to supply an explicit trigger and making nested chat configuration unambiguous.
  • Raises errors when incompatible arguments are used together with a code executor, surfacing misconfiguration at startup instead of silently misbehaving.
  • Adjusts message processing order to ensure proper combination of agent capabilities across multi-agent pipelines.
└──▷ BREAKING ON UPGRADE
  • !The class LocalCommandlineCodeExecutor has been renamed to LocalCommandLineCodeExecutor; any code importing or referencing the old name will break.
  • !register_nested_chats no longer has a default trigger value; callers that relied on the default must now pass an explicit trigger argument or the call will fail.
v0.2.16 NOTES STABLE

AutoGen v0.2.16 adds register_nested_chats, a Docker-based Jupyter executor, and expanded hook and function-removal APIs.

└──▷ GET THIS VERSION
$ git clone --branch v0.2.16 https://github.com/microsoft/autogen.git
# already have the repo? check out this version:
$ git checkout v0.2.16
  • Adds register_nested_chats method to simplify composing nested chats, letting agents use other multi-agent conversations as inner monologue before replying.
  • Adds support for removing function calls in ConversableAgent.
  • Hook methods updated to accept a sender argument, enabling per-sender logic in hook callbacks.
  • Introduces a Docker-based Jupyter executor for sandboxed, container-isolated code execution.
  • FSM-based group chat with user-specified agent transitions now documented via an official blog post.
Was this useful?

Microsoft Semantic Kernel

Sources Release notes → python-0.9.4b1 7 RELEASES · 2024-03-05 → 2024-03-20 NOTES STABLE

Semantic Kernel Python 0.9.4b1 adds YAML prompt template support and prepends 'Semantic-Kernel' to User-Agent headers.

└──▷ GET THIS VERSION
$ git clone --branch python-0.9.4b1 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:
$ git checkout python-0.9.4b1
  • Prepends Semantic-Kernel and a version key-value pair to outgoing HTTP User-Agent headers, enabling easier traffic attribution and API gateway filtering.
  • Adds support for YAML prompt templates, allowing prompt definitions to be authored and loaded in YAML format.
  • Rebuilds XML creation and parsing internals, improving structured data handling for prompt and function metadata.
6 more releases in this issue · 2024-03-05 → 2024-03-20
dotnet-1.6.3 NOTES STABLE

Semantic Kernel 1.6.3 exposes Agent Thread Messages and clones KernelFunctions on plugin insertion.

└──▷ GET THIS VERSION
$ git clone --branch dotnet-1.6.3 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:
$ git checkout dotnet-1.6.3
  • Exposes Agent Thread Messages, allowing callers to retrieve messages from an agent thread directly.
  • Creates a clone of KernelFunction when it is added to a KernelPlugin, preventing unintended shared-state mutations across plugin registrations.
  • Adds a HuggingFace image-to-text Windows Forms sample demonstrating the image-to-text capability.
  • Uses stateful tokenizer/encoding instances across token-count examples for consistent tokenization behavior.
python-0.9.3b1 NOTES STABLE

Semantic Kernel Python gains Handlebars and Jinja2 prompt templating with loops, variables, and static function execution.

└──▷ GET THIS VERSION
$ git clone --branch python-0.9.3b1 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:
$ git checkout python-0.9.3b1
  • Adds Handlebars prompt template support, enabling loops, variables, and static function execution in prompts — matching the existing dotnet Handlebars implementation for cross-language compatibility.
  • Adds Jinja2 prompt template support, enabling loops, variables, and static function execution in Python-native prompt workflows.
python-0.9.2b1 NOTES STABLE

Semantic Kernel Python gains the Function Calling Stepwise Planner for agentic, tool-driven reasoning loops.

└──▷ GET THIS VERSION
$ git clone --branch python-0.9.2b1 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:
$ git checkout python-0.9.2b1
  • Introduces FunctionCallingStepwisePlanner to the Python SDK, enabling LLM-driven stepwise planning via function/tool calling.
dotnet-1.6.1 NOTES STABLE

Semantic Kernel .NET 1.6.1 adds Agent file-ID reference handling and respects live Kernel plugin changes during auto-invocation.

└──▷ GET THIS VERSION
$ git clone --branch dotnet-1.6.1 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:
$ git checkout dotnet-1.6.1
  • Adds File ID Reference Handling to the experimental Agent package, allowing user messages to be associated with file IDs in OpenAI Storage.
  • Kernel plugin changes made during function auto-invocation are now respected at runtime, enabling dynamic plugin registration mid-call.
  • Marks the Experimental.Orchestration.Flow package as alpha status.
  • Adds a home automation example demonstrating dependency injection (DI) patterns in a real application.
python-0.9.1b1 NOTES STABLE

Semantic Kernel Python 0.9.1b1 adds auto tool calling for OpenAI/AzureOpenAI with configurable invocation limits.

└──▷ GET THIS VERSION
$ git clone --branch python-0.9.1b1 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:
$ git checkout python-0.9.1b1
└──▷ USE IT
Let the kernel automatically invoke registered tools during a chat completion call, up to a bounded number of attempts.
python
from semantic_kernel.connectors.ai.open_ai import OpenAIChatPromptExecutionSettings

settings = OpenAIChatPromptExecutionSettings(
    auto_invoke_kernel_functions=True,
    max_auto_invoke_attempts=5
)
result = await kernel.invoke_prompt(prompt, settings=settings)
  • Adds auto tool calling for AzureOpenAI/OpenAI models, enabled via auto_invoke_kernel_functions=True and max_auto_invoke_attempts=<max_attempts_int> in PromptExecutionSettings; disabled by default.
  • Adds function_name and plugin_name parameters to invoke_prompt for more precise prompt-level kernel function targeting.
python-0.9.0.beta1 NOTES STABLE

Semantic Kernel Python hits 0.9.0 beta with reworked Kernel Arguments, Function Result, prompt templating, and complex type support for method functions.

└──▷ GET THIS VERSION
$ git clone --branch python-0.9.0.beta1 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:
$ git checkout python-0.9.0.beta1
  • Splits KernelFunction into KernelFunctionFromPrompt and KernelFunctionFromMethod classes for cleaner separation of prompt-based and code-based function definitions.
  • Adds complex type support for method functions, enabling richer input/output signatures beyond primitive types.
  • Introduces major rework of Kernel Arguments, Function Result, and prompt templating engine.
  • Removes memory tied directly to the Kernel object, decoupling memory management from the core kernel.
  • Rebuilds the exceptions structure into a more Pythonic hierarchy.
+1 moreshow less
  • Replaces xml parsing with defusedxml to harden XML handling.
└──▷ BREAKING ON UPGRADE
  • !Memory is no longer tied to the Kernel object — code that accessed memory through the kernel will break and must be updated.
  • !KernelFunction is split into KernelFunctionFromPrompt and KernelFunctionFromMethod — any code importing or instantiating KernelFunction directly will need to migrate to the appropriate subclass.
  • !The exceptions structure has been rebuilt — any code catching specific Semantic Kernel exception types by name will need to be updated to the new Pythonic hierarchy.
  • !Methods previously suffixed with _async have had that suffix removed — any callers using the old _async method names will break.
Was this useful?
◆  Local LLM Runtimes

Jan AI Jan

Sources Release notes → v0.4.9 2 RELEASES · 2024-03-11 → 2024-03-19 NOTES STABLE

Jan v0.4.9 adds a Nitro-TensorRT-LLM extension and dark mode support for the Quick Ask feature.

└──▷ GET THIS VERSION
$ git clone --branch v0.4.9 https://github.com/janhq/jan.git
# already have the repo? check out this version:
$ git checkout v0.4.9
  • Adds the Nitro-TensorRT-LLM Extension for accelerated local inference using NVIDIA TensorRT-LLM.
  • Quick Ask interface now supports dark mode.
1 more release in this issue · 2024-03-11 → 2024-03-19
v0.4.8 NOTES STABLE

Jan v0.4.8 adds vision (image input), model import, and an experimental Hugging Face to GGUF converter

└──▷ GET THIS VERSION
$ git clone --branch v0.4.8 https://github.com/janhq/jan.git
# already have the repo? check out this version:
$ git checkout v0.4.8
  • Adds vision capability ('Jan can see') enabling image input to supported models, including drag-and-drop image upload.
  • Adds an import model feature so users can bring local models into Jan directly from the UI.
  • Adds an experimental one-step conversion of Hugging Face models to GGUF format.
  • Prompts users to download updates manually when automatic update is not possible.
Was this useful?

KoboldCpp

Sources Release notes → v1.61.2 2 RELEASES · 2024-03-04 → 2024-03-13 NOTES STABLE

KoboldCpp v1.61.2 adds multimodal vision via --mmproj, API key auth via --password, mamba model support, and a new --ignoremissing flag.

└──▷ GET THIS VERSION
$ git clone --branch v1.61.2 https://github.com/LostRuins/koboldcpp.git
# already have the repo? check out this version:
$ git checkout v1.61.2
└──▷ TRY IT
Enable vision on a compatible GGUF model by loading an mmproj file — the model can then receive and describe images sent via the emulated GPT-4V API.
$ koboldcpp.exe --model mistral-7b.gguf --mmproj mmproj-mistral-7b.gguf
Lock down text generation endpoints with a Bearer token so only authorised clients can trigger inference.
$ koboldcpp.exe --model mistral-7b.gguf --password mysecretkey
Start a session where an optional LoRA and mmproj are silently skipped if the files are absent, useful in scripted or automated deployments.
$ koboldcpp.exe --model mistral-7b.gguf --lora optional-lora.bin --mmproj optional-mmproj.gguf --ignoremissing
  • Adds --mmproj flag to load a multimodal projector file, enabling vision capabilities (LLaVA-style) for any compatible model of matching size and architecture — not limited to LLaVA models.
  • Adds --password flag to require Bearer token authentication on all text generation endpoints; image endpoints remain unsecured.
  • Adds --ignoremissing flag to silently skip optional missing files passed via flags like --lora or --mmproj instead of exiting.
  • Adds clamped option for --sdconfig to prevent generating overly large resolutions that could cause out-of-memory crashes.
  • Emulates a compatible OpenAI GPT-4V API endpoint, allowing GPT-4-Vision applications (e.g. SillyTavern in Chat Completions mode) to work out of the box; Kobold API and OpenAI Text-Completions API accept an array of base64-encoded images in the submit payload.
+7 moreshow less
  • Emulates an A1111-compatible /sdapi/v1/interrogate endpoint for image captioning and interrogation frontends.
  • Supports passing up to 4 images per request (each consuming ~600 tokens of context for LLaVA 1.5), with token fast-forwarding and context-shifting working seamlessly so each image is processed only once.
  • Adds CPU-only support for mamba models (note: mamba does not support context shifting).
  • Increases --benchmark context limit to 16k.
  • Adds support for generating non-square images with correct aspect ratio scaling, including portrait and landscape in Kobold Lite.
  • Adds aliases for image sampler names in txt2img generation.
  • Kobold Lite gains ability to upload images for LLaVA usage with 4 selectable 'AI Vision' modes, paste images from clipboard, choose image samplers, and use API keys over the KoboldAI API.
1 more release in this issue · 2024-03-04 → 2024-03-13
v1.60.1 NOTES STABLE

KoboldCpp v1.60.1 adds native local image generation via stable-diffusion.cpp with A1111-compatible txt2img and flexible context sizing.

└──▷ GET THIS VERSION
$ git clone --branch v1.60.1 https://github.com/LostRuins/koboldcpp.git
# already have the repo? check out this version:
$ git checkout v1.60.1
└──▷ TRY IT
Run a 7B text model alongside an SD1.5 image model in hybrid mode for simultaneous text and image generation.
$ koboldcpp.exe --model my7b_q4.gguf --sdconfig my_sd15_model.safetensors --lowvram
Set an arbitrary context size (e.g. 24576 tokens) instead of being limited to fixed preset values.
$ koboldcpp.exe --model my7b_q4.gguf --contextsize 24576
Expose KoboldCpp to the internet via Cloudflare tunnel without port forwarding on a macOS amd64 machine.
$ koboldcpp.exe --model my7b_q4.gguf --remotetunnel
  • Adds --sdconfig CLI flag to load a compatible SD1.5 or SDXL .safetensors fp16 image model, enabling native local image generation via stable-diffusion.cpp with an A1111-compatible txt2img endpoint usable from Kobold Lite, SillyTavern, and other compatible frontends.
  • Adds --remotetunnel flag for Cloudflare tunnel support on macOS (amd64 only; M1 not supported).
  • Enables LCM sampler support and allows loading GGUF-format SD models.
  • Supports running KoboldCpp in text-gen-only, image-gen-only, or hybrid modes via launcher config, with a 'Compress Weights (quant)' option to reduce image model VRAM usage.
  • Integrates AllTalk TTS support in Kobold Lite.
+5 moreshow less
  • Adds 'Auto Jailbreak' option for instruct mode in Kobold Lite to assist with stubborn or censored models.
  • Adds import and export of story via clipboard in Kobold Lite.
  • Adds personal notes/comments field for stories in Kobold Lite.
  • Auto-enables the image generation button in Kobold Lite when an image model is loaded.
  • Adds new GGUF quantization types pulled from upstream.
Was this useful?

LocalAI

Sources Release notes → v2.11.0 2 RELEASES · 2024-03-16 → 2024-03-26 NOTES STABLE

LocalAI v2.11.0 ships All-in-One Docker images and a new vector store backend for CPU and GPU environments.

└──▷ GET THIS VERSION
$ git clone --branch v2.11.0 https://github.com/mudler/LocalAI.git
# already have the repo? check out this version:
$ git checkout v2.11.0
└──▷ TRY IT
Spin up a fully pre-configured local OpenAI-compatible server with LLM, TTS, STT, image generation, and function calling on a CPU-only machine.
$ docker run -p 8080:8080 --name local-ai -ti localai/localai:latest-aio-cpu
Run the same all-in-one stack with CUDA 12 GPU acceleration on an Nvidia host.
$ docker run -p 8080:8080 --gpus all --name local-ai -ti localai/localai:latest-aio-gpu-cuda-12
  • Adds localai/localai:latest-aio-cpu, localai/localai:latest-aio-gpu-cuda-11, and localai/localai:latest-aio-gpu-cuda-12 All-in-One images that bundle LLM, TTS, speech-to-text, image generation, and function calling out of the box — no manual model setup required.
  • Adds localai/localai:latest-aio-gpu-hipblas and Intel GPU AIO images for AMD and Intel GPU environments.
  • Adds a new 'vector stores' backend type, enabling LocalAI to operate as an in-memory vector database.
  • Adds pre-configured model definitions for llava-1.6-vicuna, llava-1.6-mistral, hermes-2-pro-mistral, phi-2-chat, bakllava, and cerbero.
  • Changes llama.cpp model defaults to automatically offload the maximum number of GPU layers when a GPU is available.
1 more release in this issue · 2024-03-16 → 2024-03-26
v2.10.0 NOTES STABLE

LocalAI v2.10.0 adds Intel GPU support, Elevenlabs/OpenAI TTS compatibility, Bitsandbytes quantization, and vLLM streaming.

└──▷ GET THIS VERSION
$ git clone --branch v2.10.0 https://github.com/mudler/LocalAI.git
# already have the repo? check out this version:
$ git checkout v2.10.0
└──▷ USE IT
Allow a transformers or AutoGPTQ model to execute remote code during loading — required after the new enforcement of trust_remote_code.
yaml
trust_remote_code: true
  • Now honors trust_remote_code in model YAML config files for the AutoGPTQ and transformers backends, controlling whether remote code execution is allowed during model loading.
  • Adds Bitsandbytes quantization support for the transformer backend, enabling lower-memory model loading on CUDA hardware.
  • Adds compatibility layers for Elevenlabs and OpenAI TTS, allowing LocalAI to serve as a drop-in endpoint for both TTS APIs.
  • Adds diffusers/transformers support for Intel GPUs, enabling image generation and transformer-based inference on Intel GPU hardware.
  • Enables stream: true for the vLLM backend via AsyncLLMEngine, supporting true token streaming from vLLM-served models.
+2 moreshow less
  • Adds initial implementation of the Assistants API, beginning OpenAI-compatible assistant endpoint support.
  • Embeddings endpoints no longer require explicit model configuration to function.
└──▷ BREAKING ON UPGRADE
  • !The trust_remote_code setting in model YAML config files is now enforced for AutoGPTQ and transformers backends. Models that previously loaded remote code without this setting will now be blocked; set trust_remote_code: true in the model YAML config file to restore the old behavior.
Was this useful?

SGLang

Sources Release notes → v0.1.13 NOTES

SGLang v0.1.13 adds Gemma model support, API key auth, SSL, and Together/AzureOpenAI backend examples.

└──▷ GET THIS VERSION
$ git clone --branch v0.1.13 https://github.com/sgl-project/sglang.git
# already have the repo? check out this version:
$ git checkout v0.1.13
  • Adds API key authentication support to the SGLang server via Add Support for API Key Authentication.
  • Adds SSL certificate functionality to the server for encrypted transport.
  • Adds set_var method to interpreter.py for programmatic variable assignment in the runtime interpreter.
  • Adds completion_tokens_wo_jump_forward field to decoding logprob output, exposing token counts that exclude jump-forward tokens.
  • Adds ability to modify the context length at server launch via server_args.
+3 moreshow less
  • Replaces skip_embed with input_embeds in the API surface for passing raw embeddings.
  • Adds Gemma model support.
  • Adds Together and AzureOpenAI backend usage examples.
└──▷ BREAKING ON UPGRADE
  • !skip_embed is replaced by input_embeds — any code passing skip_embed will break.
Was this useful?

oobabooga's Text Generation WebUI (textgen)

Sources Release notes → snapshot-2024-03-31 4 RELEASES · 2024-03-03 → 2024-03-31 NOTES STABLE

Parameters tab reorganized and ChatML support added for Hyperion and Hercules models.

└──▷ GET THIS VERSION
$ git clone --branch snapshot-2024-03-31 https://github.com/oobabooga/textgen.git
# already have the repo? check out this version:
$ git checkout snapshot-2024-03-31
  • Adds ChatML format configuration for Hyperion and Hercules models.
  • Reorganizes the Parameters tab layout in the UI.
3 more releases in this issue · 2024-03-03 → 2024-03-31
snapshot-2024-03-17 NOTES STABLE

Adds AQLM quantization support, StreamingLLM for llama.cpp backends, and a new User Description field in the UI.

└──▷ GET THIS VERSION
$ git clone --branch snapshot-2024-03-17 https://github.com/oobabooga/textgen.git
# already have the repo? check out this version:
$ git checkout snapshot-2024-03-17
  • Adds a new 'User description' field in the UI for setting user personality/biography context.
  • Adds experimental AQLM quantization support for loading AQLM-quantized models.
  • Adds StreamingLLM support for the llamacpp and llamacpp_HF backends, enabling efficient long-context streaming inference.
  • Bumps AutoAWQ to 0.2.3 on Linux, enabling use of newer AWQ model variants on that platform.
snapshot-2024-03-10 NOTES STABLE

Adds cache_q4 KV-cache quantization for ExLlamaV2 and introduces an update wizard in textgen WebUI.

└──▷ GET THIS VERSION
$ git clone --branch snapshot-2024-03-10 https://github.com/oobabooga/textgen.git
# already have the repo? check out this version:
$ git checkout snapshot-2024-03-10
  • Adds cache_q4 option for ExLlamaV2 to enable 4-bit KV-cache quantization, reducing VRAM usage during inference.
  • Introduces an update wizard to guide users through upgrading the WebUI.
  • Extensions requirements are no longer installed by default, reducing setup overhead for users who don't need them.
snapshot-2024-03-03 NOTES STABLE

Adds cubic sampling with a curve parameter and Gemma model compatibility via transformers 4.38.1.

└──▷ GET THIS VERSION
$ git clone --branch snapshot-2024-03-03 https://github.com/oobabooga/textgen.git
# already have the repo? check out this version:
$ git checkout snapshot-2024-03-03
  • Adds cubic sampling with a configurable curve parameter as a new sampling method for text generation.
  • Supports Google Gemma models via a bump to transformers 4.38.1.
Was this useful?

vLLM

Sources Release notes → v0.4.0 2 RELEASES · 2024-03-01 → 2024-03-30 NOTES STABLE

vLLM v0.4.0 adds automatic prefix caching, LLaVA vision support, five new models, mTLS, and JSON-mode structured output

└──▷ GET THIS VERSION
$ git clone --branch v0.4.0 https://github.com/vllm-project/vllm.git
# already have the repo? check out this version:
$ git checkout v0.4.0
└──▷ TRY IT
Serve a model with automatic prefix caching enabled to speed up repeated long system prompts across API requests.
$ python -m vllm.entrypoints.openai.api_server --model meta-llama/Llama-2-70b-chat-hf --enable-prefix-caching
Request structured JSON output from the OpenAI-compatible server, useful for tool-calling or data-extraction pipelines.
$ curl http://localhost:8000/v1/chat/completions -H 'Content-Type: application/json' -d '{"model": "meta-llama/Llama-2-70b-chat-hf", "response_format": {"type": "json_object"}, "messages": [{"role": "user", "content": "Return a JSON object with fields name and age."}]}'
Run the server with a custom log level and mTLS to harden a production deployment.
$ python -m vllm.entrypoints.openai.api_server --model mistralai/Mistral-7B-v0.1 --log-level warning
  • Enables automatic prefix caching via --enable-prefix-caching flag, caching long system prompts across requests to reduce redundant computation.
  • Adds --log-level flag to control vLLM log verbosity instead of the previously fixed info level.
  • Adds mTLS support via new server arguments (PR #3430).
  • Adds min_tokens parameter for EOS suppression in the OpenAI-compatible server.
  • Supports json_object response format in the OpenAI-compatible server for arbitrary JSON output and Context Free Grammar-constrained generation.
+16 moreshow less
  • Adds LLaVA as the first supported vision-language model.
  • Adds new text models: Command R, Qwen2 MoE, DBRX, XVerse, and Jais.
  • Adds LoRA support for Qwen2 models.
  • Adds GPTQ quantization support for Gemma models.
  • Adds asynchronous tokenization to reduce CPU-side latency.
  • Adds chat templates for Falcon and ChatGLM models.
  • Adds progress on chunked prefill scheduler and speculative decoding (worker for speculate, score, and rejection sampling).
  • Adds CMake-based build system for extensibility and custom kernel integration.
  • Improves AWS Inferentia (Neuron) support, including Mistral model inference via transformers-neuronx.
  • Re-enables custom all-reduce kernel after robustness improvements.
  • Adds engine health check connected to the OpenAI-compatible server endpoint.
  • Replaces cupy dependency with an alternative due to upstream bugs.
  • Moves model file locks from /tmp/ to ~/.cache/vllm/locks/ for better isolation.
  • Adds usage statistics collection.
  • Adds GeGLU kernel with approximate GELU for improved MoE model performance.
  • Adds batched RoPE kernel.
└──▷ BREAKING ON UPGRADE
  • !Model file locks are now stored in ~/.cache/vllm/locks/ instead of /tmp/; any tooling that referenced the old path will need to be updated.
1 more release in this issue · 2024-03-01 → 2024-03-30
v0.3.3 NOTES STABLE

vLLM v0.3.3 adds StarCoder2, Orion model support, 2/3/8-bit GPTQ, Marlin Int4 kernels, and experimental structured output for the OpenAI server.

└──▷ GET THIS VERSION
$ git clone --branch v0.3.3 https://github.com/vllm-project/vllm.git
# already have the repo? check out this version:
$ git checkout v0.3.3
  • Adds experimental structured output (JSON, Regex) via guided decoding for the OpenAI-compatible API server.
  • Adds logit bias support for the OpenAI API.
  • Adds log probabilities for Chat Completions in the OpenAI-compatible API.
  • Adds cache_config information to Prometheus metrics.
  • Supports 2/3/8-bit GPTQ quantization models.
+10 moreshow less
  • Integrates Marlin kernels for Int4 GPTQ inference, accelerating quantized throughput.
  • Adds LoRA support for Gemma.
  • Supports the StarCoder2 architecture.
  • Supports the Orion model architecture.
  • Adds experimental AWS Inferentia2 support via transformers-neuronx.
  • Enables GQA (Grouped Query Attention) support in prefix prefill kernels.
  • Adds early stopping to completion APIs.
  • Optimizes the fused MoE (Mixture-of-Experts) kernel for improved performance.
  • Optimizes the GeGLU layer in Gemma for faster inference.
  • Migrates metrics from aioprometheus to prometheus_client (requires prometheus_client >= 0.18.0).
Was this useful?
◆  AI Model & Data Infrastructure

Ollama

Sources Release notes → v0.1.30 3 RELEASES · 2024-03-01 → 2024-03-26 NOTES STABLE

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

Ollama v0.1.30 adds Command R and mxbai-embed-large models plus improved AMD MI300/MI300X accelerator support.

└──▷ GET THIS VERSION
$ git clone --branch v0.1.30 https://github.com/ollama/ollama.git
# already have the repo? check out this version:
$ git checkout v0.1.30
└──▷ TRY IT
Pull and run Command R for long-context or conversational tasks.
$ ollama run command-r
Pull the mxbai-embed-large embedding model to generate embeddings in your pipeline.
$ ollama run mxbai-embed-large
  • Adds command-r to the model library: a large language model optimized for conversational interaction and long-context tasks.
  • Adds mxbai-embed-large to the model library: a state-of-the-art large embedding model.
  • Improved support for AMD MI300 and MI300X accelerators.
└──▷ BREAKING ON UPGRADE
  • !Model data filenames in ~/.ollama/models/blobs are renamed from using : to - as a separator. The change is applied automatically on upgrade, but downgrading to v0.1.29 or lower on Linux or macOS requires manually reverting the filenames: find ~/.ollama/models/blobs -type f -exec bash -c 'mv "$0" "${0//-/:}"' {} \;
2 more releases in this issue · 2024-03-01 → 2024-03-26
v0.1.29 NOTES STABLE

Ollama v0.1.29 adds AMD GPU acceleration and experimental Safetensors model import via Modelfile

└──▷ GET THIS VERSION
$ git clone --branch v0.1.29 https://github.com/ollama/ollama.git
# already have the repo? check out this version:
$ git checkout v0.1.29
└──▷ TRY IT
Import a locally downloaded Safetensors model into Ollama for inference without converting it first.
$ FROM /path/to/safetensors-model-dir

# Save as a Modelfile, then:
ollama create my-model -f Modelfile
  • Adds experimental Safetensors model import via the FROM <directory with safetensors model> directive in a Modelfile.
  • Shows documentation for supported environment variables when running ollama <command> -h.
  • Adds AMD GPU acceleration support (preview) on Windows, Linux, and Docker, covering AMD Radeon RX, Radeon PRO, and Instinct families including MI300X, 7900 XTX, W7900, and more.
v0.1.28 NOTES STABLE

Ollama v0.1.28 adds StarCoder2 and DolphinCoder models with improved LLaVA 1.6 support.

└──▷ GET THIS VERSION
$ git clone --branch v0.1.28 https://github.com/ollama/ollama.git
# already have the repo? check out this version:
$ git checkout v0.1.28
└──▷ TRY IT
Pull and run the new StarCoder2 code model in a size that fits your hardware.
$ ollama run starcoder2:7b
Pull and run DolphinCoder for conversational code-generation tasks.
$ ollama run dolphincoder
  • Adds starcoder2 model (3B, 7B, and 15B parameter variants), a transparently trained open code LLM.
  • Adds dolphincoder model, a code-focused chat model based on StarCoder2 15B.
  • Improves support for llava 1.6 models.
  • Vision models such as llava now respond better to text-only prompts.
Was this useful?

NVIDIA Triton Inference Server

Sources Release notes → v2.44.0 2 RELEASES · 2024-03-01 → 2024-03-27 NOTES STABLE

Triton v2.44.0 adds per-response metrics, request cancellation stats, OpenTelemetry Python Backend access, and a new GenAI-Perf LLM benchmarking tool.

└──▷ GET THIS VERSION
$ git clone --branch v2.44.0 https://github.com/triton-inference-server/server.git
# already have the repo? check out this version:
$ git checkout v2.44.0
  • New GenAI-Perf tool (alpha) for LLM benchmarking, available via the triton-inference-server/client repository.
  • Triton's backend API now supports collecting per-response metrics.
  • Triton now publishes request cancellation events in response statistics.
  • OpenTelemetry context for traces started on the Triton server side is now accessible from the Python Backend.
  • Python Backend now supports correlation strings in BLS (Business Logic Scripting) models.
+1 moreshow less
  • HTTP header matching for the header forwarding feature is now case-insensitive.
1 more release in this issue · 2024-03-01 → 2024-03-27
v2.43.0 NOTES STABLE

Triton v2.43.0 adds Windows Python backend support and switches OpenTelemetry tracing to Batch Span Processor with configurable batching parameters.

└──▷ GET THIS VERSION
$ git clone --branch v2.43.0 https://github.com/triton-inference-server/server.git
# already have the repo? check out this version:
$ git checkout v2.43.0
  • OpenTelemetry trace mode switches to Batch Span Processor, enabling bulk export of completed spans with size-based batching controlled by bsp_max_export_batch_size and bsp_max_queue_size, and time-based batching controlled by bsp_schedule_delay.
  • Adds base Python backend functionality for Windows, enabling Python model serving on Windows deployments.
  • Removes Wait/Read(avg) and Overhead metrics for gRPC from the Trace Summary Tool to eliminate inaccurate readings.
Was this useful?
Other / Uncategorized
◆  AI OBSERVABILITY

Arize Phoenix

Sources Release notes → arize-phoenix-v3.19.0 19 RELEASES · 2024-03-05 → 2024-03-29 NOTES STABLE

Phoenix v3.19.0 adds trace node and trace evaluations to the GraphQL API.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v3.19.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v3.19.0
  • Adds trace node and trace evaluations to the GraphQL API, enabling querying and evaluation data at the trace level.
18 more releases in this issue · 2024-03-05 → 2024-03-29
arize-phoenix-evals-v0.6.0 NOTES STABLE

Phoenix Evals now uses the Messages API for Claude on Amazon Bedrock.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-evals-v0.6.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-evals-v0.6.0
  • Updates the Bedrock integration to use the Messages API when calling Claude models, enabling compatibility with the newer Claude API surface.
arize-phoenix-v3.17.0 NOTES STABLE

Arize Phoenix v3.17.0 adds Mistral AI as an eval model and a response_format argument to MistralAIModel.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v3.17.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v3.17.0
└──▷ USE IT
Run LLM evals using Mistral AI as the judge model with a structured response format.
python
from phoenix.evals import MistralAIModel

model = MistralAIModel(
    model="mistral-large-latest",
    response_format={"type": "json_object"}
)
  • Adds response_format argument to MistralAIModel to control output formatting when using Mistral for evals.
  • Adds Mistral AI as a supported eval model via MistralAIModel in the evals module.
arize-phoenix-evals-v0.5.0 NOTES STABLE

Arize Phoenix Evals v0.5.0 adds response_format argument to MistralAIModel.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-evals-v0.5.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-evals-v0.5.0
└──▷ USE IT
Control the response format when using MistralAI as the backing model for evals.
python
from phoenix.evals import MistralAIModel

model = MistralAIModel(response_format={"type": "json_object"})
  • Adds response_format argument to MistralAIModel to control the output format of Mistral AI responses.
arize-phoenix-evals-v0.4.0 NOTES STABLE

Arize Phoenix Evals v0.4.0 adds Mistral as a supported evaluation model.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-evals-v0.4.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-evals-v0.4.0
  • Adds Mistral as a supported model for running evals via the arize-phoenix-evals library.
arize-phoenix-v3.16.0 NOTES STABLE

Arize Phoenix 3.16.0 adds a delete project UI.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v3.16.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v3.16.0
  • Adds a UI action to delete projects directly from the interface.
arize-phoenix-v3.15.0 NOTES STABLE

Phoenix 3.15.0 adds experimental persistent span storage to launch_app() and project archiving/deletion.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v3.15.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v3.15.0
  • Extends launch_app() with experimental span storage configurable via environment variables for storage path and storage type enums.
  • Adds project archiving and deletion capabilities.
arize-phoenix-v3.14.0 NOTES STABLE

Phoenix v3.14.0 adds experimental append-only text file span storage.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v3.14.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v3.14.0
  • Introduces experimental span storage backed by append-only text files.
arize-phoenix-v3.13.0 NOTES STABLE

Arize Phoenix v3.13.0 adds Python 3.12 support.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v3.13.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v3.13.0
  • Adds support for Python 3.12.
arize-phoenix-evals-v0.3.0 NOTES STABLE

Arize Phoenix Evals v0.3.0 adds Python 3.12 support.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-evals-v0.3.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-evals-v0.3.0
  • Adds Python 3.12 support to the phoenix-evals library.
arize-phoenix-v3.12.0 NOTES STABLE

Arize Phoenix 3.12.0 enables dynamic project switching in the UI.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v3.12.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v3.12.0
  • Enables dynamic project switching, allowing users to change the active project without restarting.
arize-phoenix-v3.11.0 NOTES STABLE

Phoenix v3.11.0 adds a context manager to pause tracing and embeds project inside GraphQL spans.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v3.11.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v3.11.0
  • Adds a context manager to temporarily pause tracing, allowing selective suppression of trace collection within a code block.
  • Embeds project as a private attribute inside GraphQL spans, making project context available at the span level.
arize-phoenix-v3.10.0 NOTES STABLE

Arize Phoenix 3.10.0 adds PHOENIX_PROJECT_NAME env var and smarter default project display.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v3.10.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v3.10.0
└──▷ TRY IT
Route traces to a named project at startup without modifying instrumentation code.
$ PHOENIX_PROJECT_NAME=my-rag-pipeline python app.py
  • Adds support for the PHOENIX_PROJECT_NAME environment variable to specify the active project without code changes.
  • UI now displays the first non-empty project by default instead of a blank project view.
arize-phoenix-v3.9.0 NOTES STABLE

Arize Phoenix 3.9.0 adds copy-to-clipboard for prompt templates in the UI.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v3.9.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v3.9.0
  • Adds copy-to-clipboard functionality for prompt templates and related content in the UI.
arize-phoenix-v3.8.0 NOTES STABLE

Phoenix evals graduates from experimental: install standalone via pip install arize-phoenix-evals or bundled with pip install arize-phoenix[evals].

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v3.8.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v3.8.0
  • Promotes phoenix.evals out of phoenix.experimental.evals — now installable as a standalone package (pip install arize-phoenix-evals) or bundled (pip install arize-phoenix[evals]).
  • Adds trace count to GraphQL project queries.
└──▷ BREAKING ON UPGRADE
  • !Swapping to the new phoenix.evals module (from phoenix.experimental.evals) includes small breaking changes requiring migration work; see MIGRATION.md for details.
  • !phoenix.experimental.evals is deprecated and will be removed from Phoenix in approximately one month.
arize-phoenix-evals-v0.2.0 NOTES STABLE

Phoenix Evals v0.2.0 updates AnthropicModel to use the messages API.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-evals-v0.2.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-evals-v0.2.0
  • Updates AnthropicModel to use the messages API, replacing the legacy completions interface.
arize-phoenix-v3.7.0 NOTES STABLE

Arize Phoenix v3.7.0 adds project listing and project node interface capabilities.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v3.7.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v3.7.0
  • Adds project listing support, enabling users to enumerate and navigate projects.
  • Adds a project node interface for interacting with individual project nodes.
arize-phoenix-v3.6.0 NOTES STABLE

Phoenix v3.6.0 adds project-name-scoped span storage and querying plus an auto-expanding side nav.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v3.6.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v3.6.0
  • Enables storing and querying spans by project name, allowing traces to be scoped and retrieved per project.
  • Side navigation panel now auto-expands on hover in the UI.
arize-phoenix-v3.5.0 NOTES STABLE

Phoenix v3.5.0 adds metadata columns to spans/traces tables, a new project-aware side nav, and removes the token processing module from phoenix.evals.

└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v3.5.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:
$ git checkout arize-phoenix-v3.5.0
  • Removes the token processing module from phoenix.evals, streamlining the evals package surface.
  • Adds metadata columns to the spans and traces table in the UI for richer trace inspection.
  • New side navigation with projects view, making multi-project workflows accessible from the main UI.
└──▷ BREAKING ON UPGRADE
  • !The token processing module has been removed from phoenix.evals; any code importing it will break on upgrade.
Was this useful?

Langfuse

Sources Release notes → v2.15.1 14 RELEASES · 2024-03-06 → 2024-03-31 NOTES STABLE

Langfuse v2.15.1 adds optional HTTPS enforcement via a new environment variable.

└──▷ GET THIS VERSION
$ git clone --branch v2.15.1 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v2.15.1
  • Adds LANGFUSE_CSP_ENFORCE_HTTPS environment variable to optionally enforce HTTPS via Content Security Policy.
13 more releases in this issue · 2024-03-06 → 2024-03-31
v2.15.0 NOTES STABLE

Langfuse v2.15.0 adds time-based cursor parameters to GET /traces, /scores, and /observations for incremental sync.

└──▷ GET THIS VERSION
$ git clone --branch v2.15.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v2.15.0
└──▷ TRY IT
Poll only new traces since your last sync checkpoint to efficiently mirror Langfuse data into a downstream system.
$ curl -X GET 'https://<your-langfuse-host>/api/public/traces?fromTimestamp=2024-05-01T00:00:00Z' \
  -H 'Authorization: Basic <base64-encoded-credentials>'
Fetch only observations that started after a given timestamp to incrementally sync LLM span data without re-fetching the full history.
$ curl -X GET 'https://<your-langfuse-host>/api/public/observations?fromStartTime=2024-05-01T00:00:00Z' \
  -H 'Authorization: Basic <base64-encoded-credentials>'
  • Adds fromTimestamp query parameter to GET /traces and GET /scores endpoints to enable time-based cursor pagination for incremental sync into external systems.
  • Adds fromStartTime query parameter to GET /observations endpoint for the same time-based cursor sync pattern.
v2.14.2 NOTES STABLE

Langfuse v2.14.2 adds a project dropdown in the nav and optional Turnstile captcha on sign-in.

└──▷ GET THIS VERSION
$ git clone --branch v2.14.2 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v2.14.2
  • Adds optional Cloudflare Turnstile captcha challenge on the sign-in page to reduce bot and credential-stuffing risk.
  • Adds a project dropdown to the navigation bar and reorganises settings menu items.
v2.14.0 NOTES STABLE

Langfuse v2.14.0 shows human-readable display names in filters while preserving IDs in URLs.

└──▷ GET THIS VERSION
$ git clone --branch v2.14.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v2.14.0
  • Filter UI now shows human-readable display names instead of raw IDs, while URLs continue to use IDs for stable linking.
v2.13.1 NOTES STABLE

Dataset items API now returns results ordered by creation date descending.

└──▷ GET THIS VERSION
$ git clone --branch v2.13.1 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v2.13.1
  • Dataset items returned by the API are now ordered by createdAt descending, so the most recently created items appear first.
v2.13.0 NOTES STABLE

Langfuse v2.13.0 adds pagination to dataset tables and optional metadata on dataset runs.

└──▷ GET THIS VERSION
$ git clone --branch v2.13.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v2.13.0
  • Adds optional metadata field to dataset runs, enabling structured context to be attached to each run.
  • Adds pagination to the datasets tables in the UI, improving navigation of large dataset collections.
v2.12.0 NOTES STABLE

Langfuse v2.12.0 adds a prompt playground and column visibility counts to data tables.

└──▷ GET THIS VERSION
$ git clone --branch v2.12.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v2.12.0
  • Adds a prompt playground UI for interactively testing and iterating on prompts.
  • Adds column visibility count to tables, showing how many columns are currently displayed.
v2.11.2 NOTES STABLE

Adds per-provider SSO account-linking toggles via new environment variables for Google and GitHub auth.

└──▷ GET THIS VERSION
$ git clone --branch v2.11.2 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v2.11.2
└──▷ TRY IT
Prevent Google SSO from silently linking to an existing account — useful when enforcing strict identity separation between auth providers.
$ AUTH_GOOGLE_ALLOW_ACCOUNT_LINKING=false
AUTH_GITHUB_ALLOW_ACCOUNT_LINKING=false
  • Adds AUTH_GOOGLE_ALLOW_ACCOUNT_LINKING and AUTH_GITHUB_ALLOW_ACCOUNT_LINKING environment variables to control whether SSO logins via Google or GitHub are allowed to link to existing accounts.
  • Project settings UI now always displays the hostname.
v2.11.1 NOTES STABLE

Langfuse v2.11.1 adds score source tracking, a level column in the traces table, and extended prompts table.

└──▷ GET THIS VERSION
$ git clone --branch v2.11.1 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v2.11.1
  • Adds source field to scores, allowing the origin of each score to be recorded and distinguished.
  • Adds level column to the traces table for at-a-glance severity or log-level visibility across traces.
  • Extends the prompts table with additional columns for richer prompt management views.
  • Adds support for the Claude Haiku model in the model catalog.
v2.11.0 NOTES STABLE

Langfuse v2.11.0 extends ChatML message rendering to tools and functions in the UI.

└──▷ GET THIS VERSION
$ git clone --branch v2.11.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v2.11.0
  • Extends ChatML message rendering in the UI to cover additional JSON structures for tools and functions.
v2.10.10 NOTES STABLE

Adds AUTH_AZURE_ALLOW_ACCOUNT_LINKING env var to trust Azure AD emails for SSO account linking.

└──▷ GET THIS VERSION
$ git clone --branch v2.10.10 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v2.10.10
  • Adds AUTH_AZURE_ALLOW_ACCOUNT_LINKING environment variable to enable trusting Azure AD email addresses for SSO account linking.
v2.10.9 NOTES STABLE

Langfuse v2.10.9 adds a copyable LlamaIndex code snippet in the API popup.

└──▷ GET THIS VERSION
$ git clone --branch v2.10.9 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v2.10.9
  • Adds a copyable LlamaIndex integration snippet inside the API popup, making it faster to wire up LlamaIndex projects.
v2.10.7 NOTES STABLE

Langfuse v2.10.7 adds cost tracking to dataset run table and Claude 3 model support.

└──▷ GET THIS VERSION
$ git clone --branch v2.10.7 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v2.10.7
  • Adds cost column to the dataset run table, surfacing per-run cost data alongside existing metrics.
  • Adds support for Claude 3 models in cost and usage tracking.
v2.10.0 NOTES STABLE

Langfuse v2.10.0 adds latency tables for traces/spans/generations and extends CSV/JSON export for generations.

└──▷ GET THIS VERSION
$ git clone --branch v2.10.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v2.10.0
  • Extends generations CSV and JSON export with additional fields.
  • Adds latency tables for traces, spans, and generations with tooltip support.
  • Extends the traces table with additional columns.
  • Extends the sessions table with additional columns.
  • Enables renaming of datasets.
Was this useful?
◆  VECTOR DB RAG

LanceDB

Sources Release notes → v0.4.14 7 RELEASES · 2024-03-06 → 2024-03-25 NOTES STABLE

LanceDB v0.4.14 adds reranking, async query API, HuggingFace dataset writes, FTS order-by, and Node.js client middleware.

└──▷ GET THIS VERSION
$ git clone --branch v0.4.14 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout v0.4.14
└──▷ USE IT
Write a HuggingFace dataset directly into LanceDB without manual conversion.
python
from datasets import load_dataset
ds = load_dataset("squad", split="train")
table = db.create_table("squad", ds)
  • Adds to_batches API for streaming query results as Arrow record batches.
  • Adds reranking support for vector and full-text search (FTS) queries in the Python SDK.
  • Adds query support to the Python async API via a refactored query API.
  • Supports writing HuggingFace Dataset and DatasetDict objects directly to a LanceDB table in Python.
  • Adds order_by field support for full-text search (FTS) queries.
+4 moreshow less
  • Introduces ArrowNative wrapper struct in Rust for adding data that is already a RecordBatchReader.
  • Adds client middleware support for HTTP requests in the Node.js SDK.
  • Makes DistanceType an independent type in Rust, no longer reusing lance_linalg.
  • Promotes the Rust SDK to stable, removing all 'unstable/experimental' designations from documentation.
6 more releases in this issue · 2024-03-06 → 2024-03-25
python-v0.6.5 NOTES STABLE

LanceDB python-v0.6.5 adds async query support, reranking, HuggingFace dataset writing, and a to_batches API

└──▷ GET THIS VERSION
$ git clone --branch python-v0.6.5 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout python-v0.6.5
└──▷ USE IT
Ingest a HuggingFace dataset directly into LanceDB without manual conversion.
python
from datasets import load_dataset
ds = load_dataset("squad")
table = db.create_table("squad", data=ds)
  • Adds to_batches API for streaming query results as Arrow record batches.
  • Adds reranking support for vector and full-text search (FTS) queries in the Python API.
  • Adds query support to the Python async API, including a refactored query interface.
  • Supports writing HuggingFace Dataset and DatasetDict objects directly to LanceDB tables.
  • Adds order_by field support for full-text search (FTS) queries.
+2 moreshow less
  • Introduces ArrowNative wrapper struct for adding data already in RecordBatchReader form without conversion.
  • Makes DistanceType an independent type, decoupling it from lance_linalg.
python-v0.6.4 NOTES STABLE

LanceDB python-v0.6.4 expands the async API with index creation, time travel, update, list_indices, and index_stats.

└──▷ GET THIS VERSION
$ git clone --branch python-v0.6.4 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout python-v0.6.4
  • Adds create_index to the async Python API, enabling non-blocking index builds.
  • Adds list_indices to the async Python API for querying available indices asynchronously.
  • Adds index_stats to the Python API for retrieving statistics about a specific index.
  • Adds update to the async Python API, enabling asynchronous record updates.
  • Adds time travel operations to the async Python API, allowing point-in-time dataset queries asynchronously.
+2 moreshow less
  • Supports optional vector fields in Pydantic models, allowing schema definitions where the vector column is not required.
  • Adds Azure Blob Storage read support for Python.
v0.4.13 NOTES STABLE

LanceDB v0.4.13 expands the async Python API with index creation, time travel, update, list_indices, and index_stats.

└──▷ GET THIS VERSION
$ git clone --branch v0.4.13 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout v0.4.13
  • Adds create_index to the async Python API, enabling non-blocking index builds.
  • Adds list_indices to the async Python API for querying available indexes asynchronously.
  • Adds index_stats to the Python API for inspecting index statistics.
  • Adds update to the async Python API for asynchronous record updates.
  • Adds time-travel operations (version rollback/query) to the async Python API.
+3 moreshow less
  • Adds configurable timeout for LanceDB Cloud queries.
  • Supports optional vector fields in Pydantic models for schema flexibility.
  • Adds Azure Blob Storage read support for Python.
python-v0.6.3 NOTES STABLE

LanceDB Cloud queries now support a configurable timeout parameter.

└──▷ GET THIS VERSION
$ git clone --branch python-v0.6.3 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout python-v0.6.3
  • Adds configurable timeout for LanceDB Cloud queries, allowing callers to control how long a query waits before failing.
v0.4.12 NOTES STABLE

LanceDB v0.4.12 adds column management APIs, scalar index creation, remote table support in Rust, and paginated table listing.

└──▷ GET THIS VERSION
$ git clone --branch v0.4.12 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout v0.4.12
  • Adds add_columns, alter_columns, and drop_columns APIs for in-place schema and data manipulation on tables.
  • Adds create scalar index to the SDK, enabling scalar (non-vector) index creation from client code.
  • Adds page_token and limit parameters to the native table_names function for paginated table listing.
  • Adds initial remote table implementation for the Rust SDK, enabling Rust clients to operate against remote LanceDB tables.
  • Changes arrow from a direct dependency to a peer dependency in the TypeScript/Node.js package, giving callers control over the Arrow version.
└──▷ BREAKING ON UPGRADE
  • !arrow is now a peer dependency rather than a direct dependency in the Node.js package; projects that relied on LanceDB pulling in Arrow transitively must now declare and install arrow explicitly.
python-v0.6.2 NOTES STABLE

LanceDB v0.6.2 adds async create_table/add, scalar index creation, model_names() for OpenAI embeddings, and API URL override.

└──▷ GET THIS VERSION
$ git clone --branch python-v0.6.2 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:
$ git checkout python-v0.6.2
└──▷ USE IT
Discover which OpenAI models are available for use as embedding functions before configuring a table.
python
from lancedb.embeddings import get_registry

openai = get_registry().get('openai').create()
print(openai.model_names())
  • Adds model_names() method to the OpenAI embedding function to list available models programmatically.
  • Adds create_scalar_index to the Python SDK, enabling scalar index creation directly from the client.
  • Adds page_token and limit parameters to the native table_names function for paginated table listing.
  • Allows users to override the API URL, enabling custom or self-hosted LanceDB remote endpoints.
  • Ports create_table to the async Python API and the remote Rust API.
+1 moreshow less
  • Adds add support to the async Python API for non-blocking data ingestion.
Was this useful?

Milvus

Sources Release notes → v2.4.0-rc.1 2 RELEASES · 2024-03-08 → 2024-03-20 NOTES STABLE

Milvus v2.4.0-rc.1 adds GPU CAGRA index, sparse vectors, multi-vector hybrid search, inverted index, and grouping search.

└──▷ GET THIS VERSION
$ git clone --branch v2.4.0-rc.1 https://github.com/milvus-io/milvus.git
# already have the repo? check out this version:
$ git checkout v2.4.0-rc.1
└──▷ USE IT
Group search results by document ID so a RAG pipeline retrieves the most relevant documents rather than scattered passages.
python
results = collection.search(
    data=[query_embedding],
    anns_field="passage_vector",
    param={"metric_type": "IP", "params": {"nprobe": 16}},
    limit=5,
    group_by_field="doc_id"
)
Run a hybrid search combining dense and sparse vector fields with Reciprocal Rank Fusion to leverage both semantic and keyword relevance in one query.
python
from pymilvus import AnnSearchRequest, WeightedRanker, RRFRanker

dense_req = AnnSearchRequest(data=[dense_vec], anns_field="dense", param={"metric_type": "IP"}, limit=10)
sparse_req = AnnSearchRequest(data=[sparse_vec], anns_field="sparse", param={"metric_type": "IP"}, limit=10)

results = collection.hybrid_search(
    [dense_req, sparse_req],
    rerank=RRFRanker(),
    limit=5
)
Create a sparse vector field for BM25/SPLADEv2 embeddings to enable approximate nearest-neighbour search over sparse representations.
python
from pymilvus import FieldSchema, DataType

sparse_field = FieldSchema(
    name="sparse_embedding",
    dtype=DataType.SPARSE_FLOAT_VECTOR
)
  • Adds group_by_field argument to the search() operation for grouping search results by a scalar field, enabling document-level recall for RAG applications.
  • Adds Tantivy-based inverted index for all numeric and string scalar field types, reducing keyword query times by 10x with lower memory usage via data compression and MMap.
  • Adds fuzzy matching in scalar filtering using prefix, infix, and suffix patterns.
  • Adds sparse vector (SPARSE_FLOAT_VECTOR) field type supporting storage, indexing, and Maximum Inner Product Search (MIPS) for neural models such as SPLADEv2/BGE-M3 and BM25 (Beta).
  • Adds Float16 and BFloat16 half-precision vector data types for vector fields, reducing memory usage at a small accuracy tradeoff.
+7 moreshow less
  • Adds multi-vector support, enabling multiple vector fields of different types (e.g., FLOAT_VECTOR and SPARSE_FLOAT_VECTOR) in a single collection with Reciprocal Rank Fusion (RRF) and Average Weighted Scoring reranking strategies for hybrid search.
  • Adds GPU CAGRA index, a graph-based GPU index offering 10x performance improvement for batch searches, including small-batch queries where CPU indices previously dominated.
  • Adds L0 Segment architecture for recording deletes separately, reducing flush overhead and improving delete and upsert performance.
  • Adds dynamic, fine-grained Memory-mapped Storage (MMap) control without requiring a Milvus restart, enabling up to 4x more data loaded on the same hardware with under 10% performance degradation for HNSW-indexed collections.
  • Adds bulk-insert via Milvus RESTful API, supporting multiple files in a single bulk-insert request.
  • Promotes Milvus-CDC (Change Data Capture) to general availability for incremental backup and disaster recovery between Milvus instances.
  • Expands MilvusClient interfaces to cover most ORM module functionality using a purely functional, gRPC-based approach.
1 more release in this issue · 2024-03-08 → 2024-03-20
v2.3.11 NOTES STABLE

Milvus v2.3.11 adds TLS for Kafka, varchar autoID in bulk insert, and collection-level flush rate limiting.

└──▷ GET THIS VERSION
$ git clone --branch v2.3.11 https://github.com/milvus-io/milvus.git
# already have the repo? check out this version:
$ git checkout v2.3.11
  • Adds TLS support for Kafka connections, securing message-bus traffic without requiring a separate proxy.
  • Adds support for varchar autoID in bulk insert operations, enabling string-typed primary keys to be auto-generated at ingest time.
  • Adds collection-level rate limiting for flush operations, giving operators fine-grained control over flush throughput per collection.
  • Adds a load memory factor for enhanced memory estimation during loading, reducing over-provisioning risk.
  • Enables Milvus containers to run as a non-root user, improving deployment security posture.
+5 moreshow less
  • Optimizes JSON loading by eliminating one memory-copy pass, reducing peak memory during data ingestion.
  • Optimizes memory usage and loading speed for variable-length data fields.
  • Optimizes automatic balancing in QueryCoord for more even query-node load distribution.
  • Reduces DataNode memory consumption when handling multiple collections simultaneously.
  • Removes time-tick delay metrics for offline nodes from monitoring output, reducing noise in dashboards.
Was this useful?

Qdrant

Sources Release notes → v1.8.3 2 RELEASES · 2024-03-06 → 2024-03-19 NOTES STABLE

Qdrant v1.8.3 adds dashboard support for finding similar points by payload key:value pair and 64-bit numbers.

└──▷ GET THIS VERSION
$ git clone --branch v1.8.3 https://github.com/qdrant/qdrant.git
# already have the repo? check out this version:
$ git checkout v1.8.3
  • Dashboard: find similar points by payload key:value pair directly in the web UI.
  • Dashboard: supports 64-bit numbers in the web UI.
1 more release in this issue · 2024-03-06 → 2024-03-19
v1.8.0 NOTES STABLE

Qdrant v1.8.0 adds Scroll API ordering by payload, datetime index, collection-exists API, minimum-match filters, and 16x faster sparse vector search.

└──▷ GET THIS VERSION
$ git clone --branch v1.8.0 https://github.com/qdrant/qdrant.git
# already have the repo? check out this version:
$ git checkout v1.8.0
└──▷ TRY IT
Paginate through points in chronological order when your collection stores timestamped events and you need time-sorted results.
$ curl -X POST 'http://localhost:6333/collections/events/points/scroll' \
  -H 'Content-Type: application/json' \
  -d '{
    "limit": 50,
    "order_by": {
      "key": "timestamp"
    }
  }'
Filter points within a specific date-time range after creating a datetime payload index on the field.
$ curl -X PUT 'http://localhost:6333/collections/events/index' \
  -H 'Content-Type: application/json' \
  -d '{
    "field_name": "created_at",
    "field_schema": "datetime"
  }'
Require at least two out of several optional filter conditions to match, useful for fuzzy multi-criteria searches.
$ curl -X POST 'http://localhost:6333/collections/products/points/search' \
  -H 'Content-Type: application/json' \
  -d '{
    "vector": [0.1, 0.2, 0.3],
    "limit": 10,
    "filter": {
      "min_should": {
        "conditions": [
          {"key": "category", "match": {"value": "electronics"}},
          {"key": "in_stock", "match": {"value": true}},
          {"key": "rating", "range": {"gte": 4.0}}
        ],
        "min_count": 2
      }
    }
  }'
  • Adds order_by support to the Scroll API, enabling results to be ordered by payload field values.
  • Adds a datetime payload index type for efficient filtering over date-time ranges.
  • Adds an API endpoint to check whether a collection exists.
  • Adds min_should (minimum number of conditions to match) support in payload filters.
  • Improves the set_payload API to support modifying nested fields.
+11 moreshow less
  • Adds a config property to set the default shard transfer method.
  • Adds the ability to selectively disable the range or lookup index for integer payloads to reduce memory usage.
  • Exposes a request timing histogram for Prometheus at the metrics endpoint.
  • Adds a checksum for snapshot files to verify integrity.
  • Reports progress of ongoing shard transfers.
  • Exposes the git commit hash of the build at the root endpoint.
  • Sparse vector search is up to 16x faster, unlocking practical use of large sparse collections.
  • Improves CPU saturation for indexing on high-CPU systems, significantly speeding up ingestion.
  • Adds new release artifacts: MUSL binaries for x86_64 and AArch64, a portable AppImage binary, and a Debian .deb package.
  • Reports the timestamp of the last seen cluster error, aiding distributed debugging.
  • Dashboard adds a button to delete points, auto-complete for required fields when inserting commands, snapshot support for demo collections, and a discovery scores visualisation.
Was this useful?

Weaviate

Sources Release notes → v1.24.2 NOTES

Weaviate v1.24.2 adds generative-mistral module, gemini-pro-vision support, and multi-transformer/CLIP module capability.

└──▷ GET THIS VERSION
$ git clone --branch v1.24.2 https://github.com/weaviate/weaviate.git
# already have the repo? check out this version:
$ git checkout v1.24.2
└──▷ TRY IT
Supply the VoyageAI API key using the renamed environment variable when starting Weaviate.
$ VOYAGEAI_APIKEY=your-key docker compose up
  • Introduces generative-mistral module for Mistral-backed generative search.
  • Adds support for VOYAGEAI_APIKEY environment variable for VoyageAI API key configuration.
  • Adds support for gemini-pro-vision model in the generative-google module.
  • Adds support for multiple transformers and CLIP modules simultaneously.
└──▷ BREAKING ON UPGRADE
  • !The text2vec-voyageai module's truncate setting type has changed from string to bool.
  • !The VoyageAI API key environment variable is renamed from the previous name to VOYAGEAI_APIKEY.
Was this useful?
my-toolchain — 0 tools
paste an install list to detect your tools

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

    browse all tools →