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.
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].
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.
›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.
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
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
›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.
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
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.
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
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.
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.
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.
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
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.
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.
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
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.
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.
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.
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.
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.
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.
›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
›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.
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
$ 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.
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
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.
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.
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.
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
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.
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
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.
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
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 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 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 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.
$ 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.
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.
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.
$ 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
$ 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 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.
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 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.
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.
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.
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.
$ 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.
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.
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.
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.
›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.
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.
›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
›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.