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.
Wire up your test suite so aider auto-fixes failures after each change — useful for TDD workflows where you want the AI to keep iterating until tests pass.
›Adds --lint-cmd flag to configure a custom linter, with built-in basic linting for all tree-sitter-supported languages when no external linter is set.
›Adds /lint chat command and --lint CLI flag to manually trigger lint-and-fix on files; aider also runs this automatically after every LLM edit.
›Adds --test-cmd flag to configure a test runner command, /test chat command and --test CLI flag to run tests on demand; aider automatically attempts to fix any test failures.
4 more releases in this issue
· 2024-05-02 → 2024-05-22
SWE-agent v0.5.0 adds --cache_task_images for faster repeated runs, Docker web UI support, and GPT-4o model.
└──▷ GET THIS VERSION
$ git clone --branch v0.5.0 https://github.com/SWE-agent/SWE-agent.git
# already have the repo? check out this version:$ git checkout v0.5.0
›Adds --cache_task_images flag to cache task environments as Docker images, eliminating repeated cloning and installation when running against the same repository multiple times.
›Adds gpt-4o as a supported model.
›Supports passing API keys as environment variables via keys.cfg, using a new custom Config class.
›Enables running the web UI when SWE-agent is operating entirely inside Docker.
›Adds a default environment_setup config to simplify initial configuration.
+1 moreshow less
›Allows specifying a commit hash as the target in the web UI.
└──▷ BREAKING ON UPGRADE
!Direct imports from sweagent are removed — from sweagent import Agent no longer works.
!Codebase has been reformatted; PRs based on previous commits will encounter merge conflicts unless the pre-commit hook is installed.
2 more releases in this issue
· 2024-05-02 → 2024-05-28
›Adds proxy setting to route Zed traffic through a proxy server.
›Adds when_closing_with_no_tabs setting to control whether workspace::CloseActiveItem closes the window when no tabs are open.
›Adds glob support for file_types configuration — patterns like 'Dockerfile.*' now work as valid matchers.
›Adds editor::AcceptInlineCompletion action (bound to Tab by default); suppress it by adding {"context": "Editor && inline_completions", "bindings": {"tab": "editor::Tab"}} to keybindings.
›Adds html.tagAutoclosing setting under lsp.vscode-html-language-server.settings to control HTML tag autoclosing (enabled by default).
+17 moreshow less
›Adds ability to configure a custom tailwindcss-language-server binary path via lsp.tailwindcss-language-server.binary.arguments in Zed settings.
›Adds ability to pass initialization_options to Ruby language servers (solargraph and ruby-lsp) via Zed settings.
›Adds gopls support when opening go.mod or go.work files directly.
›Enables formatting of unsaved buffers with Prettier by setting a prettier.parser per language in user settings.
›Adds Cut, Copy, and Paste actions to the editor context menu.
›Adds a Duplicate action to the project panel.
›Adds New Window item to the dock menu.
›Adds font feature values support — values like 'cv01': 7 can now be set; full OpenType feature support added on macOS.
›Middle mouse button drag now triggers columnar (rectangular multicursor) selection.
›Adds built-in Go runnables and tasks for running Go test functions, test packages, and main functions.
›Adds test runnable detection for PHP (PHPUnit & Pest), a task for running selected PHP code, and describe, test, and it function symbols for Pest.
›Adds yield keyword to PHP keyword mapping.
›Adds GraphQL icon for .gql and .graphqls files.
›Adds ability to create directories in the macOS open -> file dialog.
›Adds coloration to task icons in the terminal based on task status.
›Improved file finder search sorting.
›CLI application startup now matches non-CLI startup behavior: opens an empty file or welcome page when no workspace exists and no path is provided.
4 more releases in this issue
· 2024-05-01 → 2024-05-29
Zed v0.135.2 adds git hunk diff browsing, stop_at_soft_wraps setting, TypeScript function call completion, and Rust test gutter buttons.
└──▷ GET THIS VERSION
$ git clone --branch v0.135.2 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:$ git checkout v0.135.2
└──▷ USE IT
Keep Home/End at logical line boundaries when soft-wrap is enabled, so the cursor never stops mid-line at a wrap point.
json
{
"stop_at_soft_wraps": true
}
›Adds editor::ToggleHunkDiff (bound to cmd-') and editor::ExpandAllHunkDiffs (bound to cmd-") actions for browsing git hunk diffs inline.
›Adds stop_at_soft_wraps setting for Editor::move_to_{beginning|end}_of_line; when true, Home/End navigate to the logical line boundary instead of the nearest soft-wrap point.
›Adds editor: convert to opposite case command.
›Adds gutter buttons to run tests directly from Rust files.
›Adds shift-k in Vim mode to show the hover tooltip.
+6 moreshow less
›Adds function call completion support when using typescript-language-server, auto-inserting parameters navigable with <tab>.
›Adds ESLint as a default language server for Svelte.
›Adds syntax highlighting for regular expressions inside Go.
›Adds brackets and missing operators to syntax highlighting in Python.
›Changes the branch picker to always show the current branch as the default selected entry.
›Changes inline git blame to suppress display on empty lines.
›Adds project_panel::Trash action; backspace and delete in the project panel now send files to the system trash instead of permanently deleting them — restore old behavior by binding both keys to project_panel::Delete in keybindings.
›Adds scrollbar.cursors setting to toggle cursor position markers in the scrollbar.
›Adds enable_preview_from_code_navigation setting to control replacing the current preview tab when using code navigation.
›Adds support for configuring ESLint's rulesCustomizations via lsp.eslint.settings.rulesCustomizations in the LSP settings (e.g. {"lsp": {"eslint": {"settings": {"rulesCustomizations": [{"rule": "*", "severity": "warn"}]}}}}).
›Adds ESLint language server support for .vue files.
+10 moreshow less
›Adds avatar display in git blame for Codeberg-hosted repositories.
›Adds diagnostics for main-thread hangs on macOS (enabled only when diagnostics opt-in is active).
›Adds a changed-diagnostics indicator to the project diagnostics view toolbar.
›Improves task::Rerun action to open the tasks modal when no tasks have been scheduled yet.
›Adds support for line ranges in Vim replace commands.
›Adds @operator, @lifetime, and @punctuation.delimiter captures to the Rust syntax highlights file.
›Adds syntax highlighting for TypeScript triple-slash reference directives.
›Adds icons for JS, React, C, and C++ file types.
›Adds ability to open directories via context menu (Right click -> Open With -> Zed).
›Improves launch behavior for an already-running empty Zed instance to respect the restore_on_startup setting.
└──▷ BREAKING ON UPGRADE
!Built-in Elixir support has been removed; Elixir is now available as an extension only.
!The default bindings for backspace and delete in the project panel now invoke project_panel::Trash (moves to system trash) instead of project_panel::Delete (permanent delete).
Pin Zed to a specific release channel from the CLI, useful in scripts that must always invoke the stable build regardless of which channel is set as default.
$ zed --stable /path/to/project
›Adds editor::ExpandExcerpts action (default binding shift-enter) that expands the multi-buffer excerpt under the cursor by 3 lines; rebind with { "lines": N } to control the count.
›Adds git.inline_blame.min_column setting to control the minimum column at which inline git blame information is displayed (e.g., {"git": {"inline_blame": {"min_column": 80}}}).
›Adds project_panel.button setting to show or hide the Project Panel button in the status bar (e.g., {"project_panel": {"button": false}}).
›Adds drop_target_size setting (fractional percent, e.g., 0.5) to control drop-target hit area size.
›Adds language_servers setting inside per-language configuration to customize which language server(s) run for a given language.
+13 moreshow less
›Adds auto_install_extensions setting to control per-extension auto-installation; HTML extension is now auto-installed on startup and can be disabled via {"auto_install_extensions": {"html": false}}.
›Adds support for configuring solargraph binary path and arguments manually via {"lsp": {"solargraph": {"binary": {"path": "...", "arguments": ["stdio"]}}}} in settings.
›CLI now accepts a release channel name as its first argument (e.g., zed --stable) to target a specific installation; trailing arguments are passed through.
›Adds GitHub avatars and links to associated pull requests in git blame tooltips (inline and gutter).
›Exposes Rust traits as type.interface for individual syntax theming.
›Adds ReScript as a suggested extension for .res and .resi files.
›Adds LOG as a suggested extension for .log files.
›Adds support for finding the Ruby language server solargraph in the user's $PATH when opening a project directory.
›Adds cmd-w behavior to close the window when no tabs are open.
›Improves cmd-f buffer search so the query string is auto-selected when the search editor is already focused.
›Adds Spawn task action to the terminal panel context menu.
›Adds tooltips to entries in the task: spawn modal.
›Improves Markdown preview in channel notes to re-render live when a collaborator edits the content.
└──▷ BREAKING ON UPGRADE
!project_panel::OpenInTerminal action is replaced by workspace::OpenInTerminal; any keybinding or automation referencing the old action name must be updated.
!Built-in Deno language support is removed; Deno support is now available only as an extension.
!The task status indicator is removed from the UI.
Framework for orchestrating role-playing, autonomous AI agents. By fostering collaborative intelligence, CrewAI empowers agents to work together seamlessly, tackling complex tasks.
CrewAI v0.30.4 adds manager agent override, prompt/response templates for OSS models, and Browserbase and Exa Search tools.
└──▷ GET THIS VERSION
$ git clone --branch v0.30.4 https://github.com/crewAIInc/crewAI.git
# already have the repo? check out this version:$ git checkout v0.30.4
›Adds ability to designate a specific agent as crew manager instead of having the crew auto-generate one.
›Adds system, prompt, and response templates so practitioners can tune LLM interaction for open-source and smaller models.
›Adds initial support for bringing your own prompts to override built-in crew prompts.
›Adds two new built-in tools: Browserbase and Exa Search.
›Improves JSON and Pydantic output handling for better compatibility with smaller models.
+2 moreshow less
›Improves tool name recognition for better compatibility with smaller models.
›Adds ability to automatically create a directory when saving output as a file.
└──▷ BREAKING ON UPGRADE
!Dependencies have been updated — verify your tool integrations after upgrading.
Build a sparse embedding retrieval pipeline using SPLADE for improved keyword-sensitive semantic search.
python
from haystack import Pipeline
from haystack_integrations.components.retrievers.qdrant import QdrantSparseEmbeddingRetriever
from haystack_integrations.components.embedders.fastembed import FastembedSparseTextEmbedder
sparse_text_embedder = FastembedSparseTextEmbedder(model="prithvida/Splade_PP_en_v1")
sparse_retriever = QdrantSparseEmbeddingRetriever(document_store=document_store)
query_pipeline = Pipeline()
query_pipeline.add_component("sparse_text_embedder", sparse_text_embedder)
query_pipeline.add_component("sparse_retriever", sparse_retriever)
query_pipeline.connect("sparse_text_embedder.sparse_embedding", "sparse_retriever.query_sparse_embedding")
›Adds include_outputs_from parameter to pipeline.run() accepting a set of component names, returning intermediate outputs for those components in the final pipeline output dictionary.
›Adds truncate and normalize parameters to HuggingFaceTEITextEmbedder and HuggingFaceTEIDocumentEmbedder for controlling embedding truncation and normalization.
›Adds trust_remote_code parameter to SentenceTransformersDocumentEmbedder and SentenceTransformersTextEmbedder to allow custom models and scripts.
›Adds streaming_callback parameter to HuggingFaceLocalGenerator for handling streaming responses.
›Adds try_others parameter (default True) to HTMLToDocument to attempt multiple extractors in priority order on extraction failure.
+15 moreshow less
›Adds dimensions parameter to AzureOpenAITextEmbedder and AzureOpenAIDocumentEmbedder to support new embedding models such as text-embedding-3-small and text-embedding-3-large.
›Adds converter parameter to PyPDFToDocument for custom PDF converter classes implementing the PyPDFConverter protocol with convert, to_dict, and from_dict methods.
›Adds support for pre-init hook callbacks during pipeline deserialization, allowing inspection and modification of component initialization parameters before __init__ is called.
›Introduces AnswerExactMatchEvaluator, ContextRelevanceEvaluator, DocumentMAPEvaluator, DocumentMRREvaluator, DocumentRecallEvaluator, FaithfulnessEvaluator, LLMEvaluator, and SASEvaluator components for model-based and statistical RAG pipeline evaluation.
›Introduces SparseEmbedding class for storing sparse vector representations of documents, enabling sparse embedding retrieval pipelines (e.g., SPLADE via QdrantSparseEmbeddingRetriever and FastembedSparseTextEmbedder).
›Introduces HuggingFaceAPIChatGenerator, HuggingFaceAPIDocumentEmbedder, HuggingFaceAPIGenerator, and HuggingFaceAPITextEmbedder components supporting the free Serverless Inference API, paid Inference Endpoints, and self-hosted Text Generation Inference.
›Adds SentenceTransformersDiversityRanker component that reorders documents to maximize semantic diversity using sentence-transformer embeddings.
›Adds ZeroShotTextRouter component that uses a HuggingFace NLI model to classify and route texts based on user-provided labels.
›Enhances FileTypeRouter with regex pattern support for MIME types, enabling granular file routing by broad categories or specific MIME type patterns.
›Enhances PromptBuilder to specify and enforce required variables in prompt templates.
›Enhances DynamicChatPromptBuilder to allow all user and system messages to be templated with provided variables.
›Enhances AzureOCRDocumentConverter with advanced table and text handling: extracting preceding/following context for tables, merging multiple column headers, and single-column page layout for text.
›Now DocumentSplitter adds a page_number field to the metadata of all output documents tracking the originating page of the source document.
›Sets max_new_tokens default to 512 in HuggingFace generators.
›In Jupyter notebooks, Pipeline now displays a textual representation by default; call the show method to display the pipeline image.
└──▷ BREAKING ON UPGRADE
!The converter_name parameter in PyPDFToDocument is deprecated and will be removed in v2.3.0; use the converter parameter instead.
!HuggingFaceTGIChatGenerator is deprecated and will be removed in v2.3.0; use HuggingFaceAPIChatGenerator instead.
!HuggingFaceTGIGenerator is deprecated and will be removed in v2.3.0; use HuggingFaceAPIGenerator instead.
!HuggingFaceTEIDocumentEmbedder is deprecated and will be removed in v2.3.0; use HuggingFaceAPIDocumentEmbedder instead.
!HuggingFaceTEITextEmbedder is deprecated and will be removed in v2.3.0; use HuggingFaceAPITextEmbedder instead.
!In Jupyter notebooks, Pipeline no longer displays its image automatically on render; call pipeline.show() explicitly to display it.
2 more releases in this issue
· 2024-05-02 → 2024-05-07
Evaluate retrieved documents against ground truth using mean average precision scoring.
python
from haystack.components.evaluators import DocumentMAPEvaluator
evaluator = DocumentMAPEvaluator()
result = evaluator.run(
ground_truth_documents=[[Document(content="France")], [Document(content="9th century")]],
retrieved_documents=[[Document(content="France")], [Document(content="9th century"), Document(content="10th century")]],
)
print(result["score"])
Use sparse embedding retrieval (SPLADE) in a query pipeline with Qdrant and FastEmbed.
python
from haystack import Pipeline
from haystack_integrations.components.retrievers.qdrant import QdrantSparseEmbeddingRetriever
from haystack_integrations.components.embedders.fastembed import FastembedSparseTextEmbedder
sparse_text_embedder = FastembedSparseTextEmbedder(model="prithvida/Splade_PP_en_v1")
sparse_retriever = QdrantSparseEmbeddingRetriever(document_store=document_store)
query_pipeline = Pipeline()
query_pipeline.add_component("sparse_text_embedder", sparse_text_embedder)
query_pipeline.add_component("sparse_retriever", sparse_retriever)
query_pipeline.connect("sparse_text_embedder.sparse_embedding", "sparse_retriever.query_sparse_embedding")
›Adds include_outputs_from parameter to pipeline.run() accepting a set of component names whose intermediate outputs are returned in the final pipeline output dictionary.
›Adds trust_remote_code parameter to SentenceTransformersDocumentEmbedder and SentenceTransformersTextEmbedder for allowing custom models and scripts.
›Adds truncate and normalize parameters to HuggingFaceTEITextEmbedder for truncation and normalization of embeddings.
›Adds streaming_callback parameter to HuggingFaceLocalGenerator for handling streaming responses.
›Adds dimensions parameter to AzureOpenAITextEmbedder and AzureOpenAIDocumentEmbedder to support new embedding models including text-embedding-3-small and text-embedding-3-large.
+15 moreshow less
›Adds try_others parameter to HTMLToDocument (default True) to attempt multiple extractors in priority order when one fails.
›Introduces new HuggingFaceAPIChatGenerator, HuggingFaceAPIDocumentEmbedder, HuggingFaceAPIGenerator, and HuggingFaceAPITextEmbedder components supporting the free Serverless Inference API, paid Inference Endpoints, and self-hosted Text Generation Inference.
›Adds 8 new evaluation components: AnswerExactMatchEvaluator, ContextRelevanceEvaluator, DocumentMAPEvaluator, DocumentMRREvaluator, DocumentRecallEvaluator, FaithfulnessEvaluator, LLMEvaluator, and SASEvaluator for model-based and statistical RAG pipeline evaluation.
›Introduces new SparseEmbedding class for storing sparse vector representations of documents, enabling sparse embedding retrieval techniques such as SPLADE.
›Adds SentenceTransformersDiversityRanker component that orders documents to maximize overall diversity using semantic embeddings.
›Adds ZeroShotTextRouter component that uses a HuggingFace NLI model to classify and route texts based on provided labels.
›Adds support for callbacks during pipeline deserialization, including a pre-init hook to inspect and modify component initialization parameters before __init__ is invoked.
›Adds page_number field to the metadata of all output documents from DocumentSplitter to track the originating page.
›Adds regex pattern support for MIME types in FileTypeRouter for granular file routing.
›Enhances PromptBuilder to specify and enforce required variables in prompt templates.
›Enhances AzureOCRDocumentConverter with advanced table and text handling including preceding/following context extraction for tables, merging multiple column headers, and single-column page layout support.
›Enhances DynamicChatPromptBuilder to allow all user and system messages to be templated with provided variables.
›Refactors PyPDFToDocument to support custom PDF converters via the converter parameter; converters implement the PyPDFConverter protocol with convert, to_dict, and from_dict methods.
›Sets max_new_tokens default to 512 in HuggingFace generators.
›In Jupyter notebooks, Pipeline now displays a textual representation by default; use the show method on the Pipeline object to render the image.
Haystack v2.1.0-rc1 adds diversity ranking, six new evaluators, four unified HuggingFace API components, sparse embeddings, and a zero-shot text router.
└──▷ GET THIS VERSION
$ git clone --branch v2.1.0-rc1 https://github.com/deepset-ai/haystack.git
# already have the repo? check out this version:$ git checkout v2.1.0-rc1
└──▷ USE IT
Route files to different pipeline branches using regex MIME-type patterns, avoiding the need to enumerate every subtype explicitly.
python
from haystack.components.routers import FileTypeRouter
from pathlib import Path
router = FileTypeRouter(mime_types=[r"text/.*", r"application/(pdf|json)"])
result = router.run(sources=[Path("report.pdf"), Path("notes.txt"), Path("data.json"), Path("image.png")])
for mime_type, files in result.items():
print(f"MIME Type: {mime_type}, Files: {[str(f) for f in files]}")
Score faithfulness of RAG answers at evaluation time to detect hallucinations against retrieved context.
python
from haystack.components.evaluators import FaithfulnessEvaluator
evaluator = FaithfulnessEvaluator()
result = evaluator.run(
questions=["What is the capital of France?"],
contexts=[["Paris is the capital and largest city of France."]],
predicted_answers=["The capital of France is Paris."]
)
print(result["score"]) # float between 0 and 1
Stream tokens from a local Hugging Face model during generation instead of waiting for the full response.
python
from haystack.components.generators import HuggingFaceLocalGenerator
def my_callback(token):
print(token, end="", flush=True)
generator = HuggingFaceLocalGenerator(
model="google/flan-t5-large",
streaming_callback=my_callback
)
generator.warm_up()
generator.run(prompt="Summarize the OWASP Top 10 in three sentences.")
›Adds truncate and normalize parameters to HuggingFaceTEITextEmbedder for controlling truncation and normalization of embeddings.
›Adds trust_remote_code parameter to SentenceTransformersDocumentEmbedder and SentenceTransformersTextEmbedder to allow custom models and scripts.
›Adds streaming_callback parameter to HuggingFaceLocalGenerator to handle streaming responses.
›Adds dimensions parameter to AzureOpenAITextEmbedder and AzureOpenAIDocumentEmbedder to support newer embedding models such as text-embedding-3-small and text-embedding-3-large.
›Adds try_others parameter to HTMLToDocument (default true) to fall back through multiple extractors in priority order on failure.
+25 moreshow less
›Introduces HuggingFaceAPIChatGenerator, a unified chat-format text-generation component supporting the free Serverless Inference API, paid Inference Endpoints, and self-hosted Text Generation Inference — intended to replace HuggingFaceTGIChatGenerator.
›Introduces HuggingFaceAPIGenerator, a unified text-generation component supporting Serverless Inference API, Inference Endpoints, and self-hosted TGI — intended to replace HuggingFaceTGIGenerator.
›Introduces HuggingFaceAPIDocumentEmbedder, a unified document-embedding component supporting Serverless Inference API, Inference Endpoints, and self-hosted Text Embeddings Inference — intended to replace HuggingFaceTEIDocumentEmbedder.
›Introduces HuggingFaceAPITextEmbedder, a unified string-embedding component supporting Serverless Inference API, Inference Endpoints, and self-hosted Text Embeddings Inference — intended to replace HuggingFaceTEITextEmbedder.
›Adds SentenceTransformersDiversityRanker, which reorders documents to maximize semantic diversity using sentence-transformer embeddings.
›Adds ContextRelevanceEvaluator component that uses an LLM to score (0–1) how relevant retrieved documents are to a question in a RAG pipeline.
›Adds FaithfulnessEvaluator component that scores (0–1) the proportion of statements in an LLM answer that can be inferred from retrieved documents.
›Adds LLMEvaluator component that leverages the OpenAI API to evaluate pipeline outputs.
›Adds DocumentMAPEvaluator component to calculate mean average precision of retrieved documents.
›Adds DocumentMRREvaluator component to calculate mean reciprocal rank of retrieved documents.
›Adds DocumentRecallEvaluator component to calculate single-hit or multi-hit recall for retrieved documents.
›Adds SASEvaluator component to calculate Semantic Answer Similarity of LLM-generated answers.
›Adds EvaluationRunResult dataclass to wrap, transform, and visualize results from an evaluation pipeline.
›Introduces SparseEmbedding class for storing sparse vector representations of documents, laying groundwork for Sparse Embedding Retrieval.
›Adds Zero Shot Text Router that uses an NLI model from Hugging Face to classify and route texts by label.
›Extends FileTypeRouter with regex pattern matching for MIME types, enabling granular file routing such as r'text/.*' or r'application/(pdf|json)'.
›Adds support for callbacks during pipeline deserialization, including a pre-init hook to inspect and modify component initialization parameters before __init__ is called.
›Enables pipeline.run to accept a set of component names whose intermediate outputs are included in the final pipeline output dictionary.
›Makes Pipeline.inputs and Pipeline.outputs optionally include connected component input/output sockets.
›Refactors PyPDFToDocument to support custom PDF converters via the PyPDFConverter protocol (requiring convert, to_dict, and from_dict methods), with DefaultConverter as the built-in implementation.
›Enhances PromptBuilder to specify and enforce required variables in prompt templates.
›Enhances DynamicChatPromptBuilder to allow all user and system messages to be templated with provided variables.
›Enhances AzureOCRDocumentConverter with advanced table and text handling: preceding/following context extraction for tables, merged multi-column headers, and single-column page layout for text.
›Sets max_new_tokens default to 512 in Hugging Face generators.
›Now DocumentSplitter adds a page_number field to the metadata of all output documents to track original page provenance.
langchain-anthropic 0.1.15 adds token usage attribute to AIMessage and allows tool call mutation.
└──▷ GET THIS VERSION
$ git clone --branch langchain-anthropic==0.1.15 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-anthropic==0.1.15
›Adds usage_metadata token usage attribute to AIMessage objects returned by Anthropic chat models, enabling downstream token accounting.
›Allows tool call mutation on Anthropic message objects, supporting workflows that modify tool calls after initial generation.
5 more releases in this issue
· 2024-05-23 → 2024-05-31
langchain-openai 0.1.8 adds token usage tracking on AIMessage and GPT-4o pricing/context metadata.
└──▷ GET THIS VERSION
$ git clone --branch langchain-openai==0.1.8 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-openai==0.1.8
└──▷ USE IT
Inspect token usage directly on the returned AIMessage after a chat call, without parsing the raw API response.
python
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="gpt-4o")
response = llm.invoke("Summarize zero-trust architecture in one paragraph.")
print(response.usage_metadata) # {'input_tokens': ..., 'output_tokens': ..., 'total_tokens': ...}
›Adds a usage_metadata token usage attribute to AIMessage, exposing prompt, completion, and total token counts directly on the message object.
›Adds pricing and max context window metadata for GPT-4o to the model registry.
›Enables reading of stream_options from the OpenAI streaming response, making per-chunk usage data accessible.
langchain-core 0.2.2 adds a token usage attribute to AIMessage and exposes RunnableWithFallbacks internals.
└──▷ GET THIS VERSION
$ git clone --branch langchain-core==0.2.2 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-core==0.2.2
└──▷ USE IT
Inspect token consumption from a model response directly on the returned AIMessage without parsing raw provider metadata.
python
message = model.invoke('Summarize this document')
print(message.usage_metadata)
›Adds usage_metadata token usage attribute to AIMessage, giving callers direct access to token counts from model responses.
›Exposes attributes of the inner runnable on RunnableWithFallbacks, allowing access to wrapped runnable properties without unwrapping.
langchain-anthropic 0.1.14rc2 adds token usage attribute to AIMessage and allows tool call mutation.
└──▷ GET THIS VERSION
$ git clone --branch langchain-anthropic==0.1.14rc2 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-anthropic==0.1.14rc2
›Adds usage_metadata token usage attribute to AIMessage, exposing prompt and completion token counts directly on the message object.
›Allows mutation of tool call objects on AIMessage, enabling post-hoc modification of tool call data in agent pipelines.
langchain-community 0.2.1 adds CloudBlobLoader, Cassandra ByteStore, Scrapfly/AskNews/Aerospike integrations, and async Cassandra chat history
└──▷ GET THIS VERSION
$ git clone --branch langchain-community==0.2.1 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain-community==0.2.1
└──▷ USE IT
Persist chat history asynchronously using Cassandra as the backend.
python
from langchain_community.chat_message_histories import CassandraChatMessageHistory
import asyncio
history = CassandraChatMessageHistory(session_id="user-42", session=cassandra_session, keyspace="langchain")
await history.aadd_messages(messages)
msgs = await history.aget_messages()
Retrieve up-to-date news context for RAG pipelines using the AskNews retriever.
python
from langchain_community.retrievers import AskNewsRetriever
retriever = AskNewsRetriever(k=5)
docs = retriever.invoke("latest vulnerabilities in industrial control systems")
›Adds CloudBlobLoader for loading data from cloud buckets.
›Adds CassandraByteStore as a new ByteStore backend.
›Adds async methods to CassandraChatMessageHistory.
›Adds ScrapflyLoader community integration for web scraping.
›Adds AskNewsRetriever and AskNews tool integrations.
+14 moreshow less
›Adds AerospikevectorStore vector store integration.
›Adds ClovaEmbeddings for the Clova embedding service.
›Moves OpenAIAssistantV2Runnable into the community package.
›Extends AzureSearch with maximal_marginal_relevance and from_embeddings support.
›Enables proxy support in aiohttp sessions via AsyncHTMLLoader.
›Enables SupabaseVectorStore to support extended table fields.
›Propagates document metadata from O365BaseLoader to loaded documents.
›Adds identity-enabled loading to the SharePoint loader.
›Adds HEADER as a supported parameter location for API tools.
›Adds args_schema to WikipediaQueryRun.
›Adds performant filter-columns option for HanaVector.
›Adds SurrealDB functions for MMR (Maximal Marginal Relevance) search.
›Updates Tongyi integration to support MultimodalConversation in Dashscope.
LangChain 0.2.1 adds OpenAI Assistants v2 API support and a new revision_example prompt template.
└──▷ GET THIS VERSION
$ git clone --branch langchain==0.2.1 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:$ git checkout langchain==0.2.1
›Adds revision_example prompt template to LangChain's prompt template library.
›Adds OpenAI Assistants v2 API support via OpenAIAssistantRunnable, with OpenAIAssistantV2Runnable moved to the community package.
›MultiQueryRetriever now defaults to returning a Runnable instead of the previous default.
LlamaIndex v0.10.42 adds NebulaGraph as a PropertyGraphStore backend and updates OpenLLM and PremAI SDK integrations.
└──▷ GET THIS VERSION
$ git clone --branch v0.10.42 https://github.com/run-llama/llama_index.git
# already have the repo? check out this version:$ git checkout v0.10.42
›Adds NebulaGraph support for PropertyGraphStore via the new llama-index-graph-stores-nebula 0.2.0 package, enabling NebulaGraph as a property graph backend.
›Updates llama-index-llms-openllm to support the OpenLLM 0.5 SDK.
›Updates llama-index-llms-premai for compatibility with the latest PremAI SDK.
4 more releases in this issue
· 2024-05-03 → 2024-05-31
LlamaIndex v0.10.40 adds PropertyGraphIndex, Neo4jPGStore, SecGPT integration, OCI Generative AI, and Hologres vector store support.
└──▷ GET THIS VERSION
$ git clone --branch v0.10.40 https://github.com/run-llama/llama_index.git
# already have the repo? check out this version:$ git checkout v0.10.40
›Adds PropertyGraphIndex to llama-index-core along with supporting abstractions for property graph-based indexing workflows.
›Adds Neo4jPGStore to llama-index-graph-stores-neo4j for property graph support backed by Neo4j.
›Adds llama-index-packs-secgpt [0.1.0] integrating SecGPT, a cybersecurity-focused LLM pack, into LlamaIndex.
›Adds llama-index-llms-oci-genai [0.1.0] and llama-index-embeddings-oci-genai [0.1.0] bringing Oracle Cloud Infrastructure (OCI) Generative AI support for both LLMs and embeddings.
›Adds llama-index-vector-stores-hologres [0.1.0] integrating the Hologres vector database as a new vector store backend.
+5 moreshow less
›Adds llama-index-indices-managed-dashscope [0.1.1] introducing a DashScope managed index.
›Adds support for Bedrock Titan Embeddings v2 in llama-index-embeddings-bedrock [0.2.0].
›Exposes the safe_serialization parameter from AutoModel in llama-index-embeddings-huggingface.
›Updates AutoPrevNextNodePostprocessor in llama-index-core to accept a custom response mode and LLM.
›Implements additional filter types for SimpleVectorStoreIndex in llama-index-core.
LlamaIndex v0.10.34 adds structured planning agent, chat summary memory, hybrid retrieval, YouTube reader, and streaming expansions across multiple LLM integrations.
└──▷ GET THIS VERSION
$ git clone --branch v0.10.34 https://github.com/run-llama/llama_index.git
# already have the repo? check out this version:$ git checkout v0.10.34
›Adds ChatSummaryMemoryBuffer to llama-index-core for memory-efficient chat history management via summarization.
›Adds a structured planning agent to llama-index-core with an updated base class for planner agents.
›Updates HitRate and MRR retrieval metrics in llama-index-core to support Evaluation@K documents retrieved, and introduces RR (Reciprocal Rank) as a separate standalone metric.
›Adds hybrid retrieval mode to MilvusVectorStore in llama-index-vector-stores-milvus.
›Adds llama-index-vector-stores-firestore [0.1.0] — a new Firestore Vector Store integration.
+10 moreshow less
›Adds llama-index-readers-youtube-metadata [0.1.0] — a new YouTube Metadata Reader.
›Adds Browserbase Web Reader to llama-index-readers-web.
›Adds tool usage support to llama-index-llms-huggingface via the text-generation-inference integration.
›Adds streaming support to llama-index-llms-maritalk.
›Adds async support to llama-index-llms-ollama.
›Adds streaming support to llama-index-llms-nvidia-triton.
›Integrates mistral.rs as a new LLM backend in llama-index-llms-mistral-rs [0.1.0].
›Adds source_node.node_id verification matching to node parsers in llama-index-core.
›Allows ZillizCloudPipelineIndex to accept flexible parameters when creating pipelines.
›Excludes access control metadata keys from LLM and embedding calls in the SharePoint Reader.
Semantic Kernel Python SDK hits 1.0.0 with Azure Cosmos DB for NoSQL memory connector and JSON schema handling.
└──▷ GET THIS VERSION
$ git clone --branch python-1.0.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout python-1.0.0
›Adds a memory connector for Azure Cosmos DB for NoSQL, enabling vector/memory storage backed by Cosmos DB.
›Adds JSON schema handling for OpenAPI and Memory Connectors, with both tagged as experimental.
8 more releases in this issue
· 2024-05-06 → 2024-05-21
Semantic Kernel 1.13.0 adds Azure Cosmos DB NoSQL and Azure SQL/SQL Server vector memory connectors, logprobs support, and streaming tool call diagnostics.
└──▷ GET THIS VERSION
$ git clone --branch dotnet-1.13.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout dotnet-1.13.0
›Adds logprobs property to OpenAIPromptExecutionSettings for retrieving log-probability output from OpenAI models.
›New memory connector for Azure Cosmos DB for NoSQL (#6148).
›New memory store implementation using Azure SQL / SQL Server with vector search support.
›Enables CreateFromType / CreateFromObject to work with closed generic types.
›Includes streaming tool call information in model diagnostics.
+4 moreshow less
›Traces ChatHistory and PromptExecutionSettings in IChatCompletionServices for observability.
›Includes request info in HttpOperationException for richer error context.
›Adds MistralAI to the Application Insights sample.
›New summarization and translation evaluation examples using Filters.
Semantic Kernel Python 1.0.0rc1 introduces pre- and post-function filters for hooking into function execution.
└──▷ GET THIS VERSION
$ git clone --branch python-1.0.0rc1 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout python-1.0.0rc1
›Adds a filters system that lets developers hook into pre- and post-function execution to inject logging, validation, authentication, or other custom behaviors around kernel function calls.
Semantic Kernel .NET 1.12.0 adds MistralAI connector, OTel model diagnostics for streaming, and MistralClient activity tracing.
└──▷ GET THIS VERSION
$ git clone --branch dotnet-1.12.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout dotnet-1.12.0
└──▷ USE IT
Expose an internal helper method as a kernel function without making it public.
csharp
public class MyPlugin
{
[KernelFunction]
internal string GetSecret(string key) => _vault.Get(key);
}
›Adds AllowDangerouslySetContent (renamed surface) for controlling content safety boundaries in kernel operations.
›Adds OTel model diagnostics support for streaming APIs, extending observability to streaming call paths.
›Adds model diagnostics to non-streaming APIs for OpenTelemetry-based tracing of LLM calls.
›Adds MistralAI connector, enabling Semantic Kernel to target MistralAI models as a first-class backend.
›Adds OpenTelemetry activities to MistralClient for distributed tracing of Mistral calls.
Semantic Kernel Python 0.9.9b1 adds Pydantic Settings for secrets, a new kernel function decorator, and enhanced OpenAPI plugin parameter handling.
└──▷ GET THIS VERSION
$ git clone --branch python-0.9.9b1 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout python-0.9.9b1
›Introduces Pydantic Settings support for managing secrets, keys, and configurations — reads environment variables or falls back to a .env file path; key, deployment_name, endpoint, and api_version remain available as optional parameters on Text, Chat, and Embedding classes.
›Adds a new @kernel_function decorator for defining kernel functions, including lambda function support.
›Adds @experimental class and function decorator to mark APIs as experimental.
›Adds function_name and plugin_name properties to function call and function call result objects.
›Allows the OpenAPI runner to accept a custom HTTP client.
+1 moreshow less
›Enhances OpenAPI plugin to correctly form per-operation parameters, ensuring required parameters are sent during automatic function calling.
└──▷ BREAKING ON UPGRADE
!The complete method has been renamed to get_ (exact new name not fully specified in release notes — verify before upgrading any code calling complete).
Semantic Kernel 1.11.1 adds a Sessions Code Interpreter Core Plugin and a dimensions property on the OpenAI embedding service constructor.
└──▷ GET THIS VERSION
$ git clone --branch dotnet-1.11.1 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout dotnet-1.11.1
└──▷ USE IT
Specify a custom embedding dimension when constructing the OpenAI embedding service, useful when targeting models that support multiple output sizes (e.g. text-embedding-3-small at 256 dims).
csharp
var embeddingService = new OpenAITextEmbeddingGenerationService(
modelId: "text-embedding-3-small",
apiKey: "<your-api-key>",
dimensions: 256
);
›Adds dimensions property to the OpenAI embedding service constructor, allowing callers to specify embedding vector size at instantiation.
›Adds a Sessions (Code Interpreter) Core Plugin and accompanying demo project for executing code in sandboxed Azure Container Apps sessions.
›Improves the Azure Cosmos DB for MongoDB connector with additional capability enhancements.
Semantic Kernel Python adds FunctionCallBehavior API, ACA Code Interpreter plugin, and retires three legacy planners.
└──▷ GET THIS VERSION
$ git clone --branch python-0.9.8b1 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout python-0.9.8b1
└──▷ USE IT
Restrict auto-invoked function calls to exclude a specific plugin, replacing manual tool_choice/tools wiring.
Enable fully automatic kernel function invocation with a single call, no manual tool configuration needed.
python
from semantic_kernel.connectors.ai.function_call_behavior import FunctionCallBehavior
req_settings.function_call_behavior = FunctionCallBehavior.AutoInvokeKernelFunctions()
›Adds FunctionCallBehavior class to semantic_kernel.connectors.ai.function_call_behavior with methods FunctionCallBehavior.EnableFunctions(auto_invoke=True, filters=filter) and FunctionCallBehavior.AutoInvokeKernelFunctions(), settable via req_settings.function_call_behavior, replacing the need to manually specify tool_choice and tools in prompt execution settings.
›Adds filters parameter to FunctionCallBehavior.EnableFunctions() supporting dict keys such as excluded_plugins to control which plugins are exposed to the model.
›Adds the ACA Python Sessions (Code Interpreter) Core Plugin, enabling sandboxed remote code execution via Azure Container Apps sessions.
└──▷ BREAKING ON UPGRADE
!The Basic, Action, and Stepwise planners have been removed; only the Sequential and Function Calling Stepwise planners remain available.
Semantic Kernel .NET 1.11.0 adds Prompty support, request/response metadata on REST calls, dimensions control for OpenAI embeddings, and a netstandard2.0 ONNX connector.
└──▷ GET THIS VERSION
$ git clone --branch dotnet-1.11.0 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout dotnet-1.11.0
└──▷ USE IT
Control the output embedding dimensionality when registering an OpenAI embedding service, to match a vector store's required size.
›Adds RequestUri and Payload properties to RestApiOperationResponse, exposing the outbound request URI and body for inspection after REST API plugin calls.
›Adds dimensions property to OpenAI embedding generation services, allowing callers to control output embedding size.
›Adds netstandard2.0 build target to Microsoft.SemanticKernel.Connectors.Onnx, enabling use in .NET Standard 2.0 projects.
›Merges Prompty feature branch to main, adding native support for the Prompty format in Semantic Kernel.
›Adds agent logging (Agent Logging) for structured observability of agent execution.
$ git clone --branch python-0.9.7b1 https://github.com/microsoft/semantic-kernel.git
# already have the repo? check out this version:$ git checkout python-0.9.7b1
›Introduces FunctionCallContent and FunctionResultContent content types for structured function-calling support inside ChatMessageContent, replacing flat message representations.
›Extends ChatMessageContent to hold one or more content items simultaneously, enabling mixed TextContent and function-call content in a single message.
›Refactors OpenAI classes to parse and emit FunctionCallContent and related new content types directly, removing the now-redundant OpenAIChatMessageContent and AzureChatMessageContent classes.
›Adds caller identity as a user-agent header on HTTP requests to Astra DB's Data API.
›Reorganizes samples into samples/getting_started (notebooks), samples/concepts (kernel syntax examples by topic), and a new root-level prompt_template_samples folder.
└──▷ BREAKING ON UPGRADE
!ChatRole is renamed to AuthorRole — any code referencing ChatRole will break.
!OpenAIChatMessageContent and AzureChatMessageContent are removed — code importing or instantiating these classes will break.
!Support for Python 3.8 and 3.9 is dropped; the minimum required version is now Python 3.10.
!import_plugin_from_object is replaced by add_plugin — existing calls to import_plugin_from_object will break.
›Adds --sdlora flag to specify a custom Stable Diffusion LoRA file, and --sdloramult to set its multiplier (requires 16-bit model; incompatible with --sdquant).
›Adds --sdvae [vae_file.safetensors] flag (and Image Gen tab GUI option) to specify a custom SD VAE file.
›Adds built-in TAE SD support for SD1.5 and SDXL as a fast VAE replacement — enabled via the 'Fix Bad VAE' checkbox or the --sdvaeauto flag.
›Supports passing an http/https URL to a GGUF file via the --model parameter or model selector UI — KoboldCpp downloads the file to the current working directory and loads it automatically.
›Adds experimental Rep Pen Slope support, applying a scaled reduction in repetition penalty for older tokens within the rep pen range (slope defaults to 1 for backward compatibility).
+2 moreshow less
›Adds viewport width controls in Kobold Lite settings, including horizontal fullscreen.
›Kobold Lite now attempts to function correctly when hosted on a subdirectory URL path (e.g. behind a reverse proxy), falling back to root URL on failure.
2 more releases in this issue
· 2024-05-01 → 2024-05-24
KoboldCpp v1.65 adds a standalone Stable Diffusion UI, CUDA 12 binaries, a new bypass_eos API field, and replaces three deprecated flags with granular replacements.
└──▷ GET THIS VERSION
$ git clone --branch v1.65 https://github.com/LostRuins/koboldcpp.git
# already have the repo? check out this version:$ git checkout v1.65
└──▷ TRY IT
Run KoboldCpp with a Stable Diffusion model using the new granular flags, clamping resolution/steps for shared or public use.
Skip EOS tokens during generation via the API, useful for forcing the model to continue past natural stop points.
$ curl -X POST http://localhost:5001/api/v1/generate -H 'Content-Type: application/json' -d '{"prompt": "Once upon a time", "max_length": 200, "bypass_eos": true}'
›Adds --sdmodel, --sdthreads, --sdquant, and --sdclamped flags to replace the deprecated --sdconfig, enabling per-parameter validation and easier extension of Stable Diffusion options.
›Adds --hordemodelname, --hordeworkername, --hordekey, --hordemaxctx, and --hordegenlen flags to replace the deprecated --hordeconfig, giving each AI Horde setting its own named flag.
›Adds bypass_eos field to the API, allowing EOS tokens to be skipped during generation while still permitting them to appear in output.
›Adds official CUDA 12 binary (koboldcpp_cuda12.exe / koboldcpp_cu12.exe) for newer NVIDIA GPUs, providing increased inference speeds at the cost of a larger download.
›Adds a standalone browser-based image generation UI (StableUI port, A1111-compatible) accessible at http://localhost:5001/sdui/ when a Stable Diffusion model is loaded.
+6 moreshow less
›Increases interrogate mode token limit by 30% and default chat completions token limit by 250%.
›Adds option to insert an Instruct System Prompt in Kobold Lite.
›Adds toggle to return special tokens in Kobold Lite.
›Adds Chat Names insertion for instruct mode in Kobold Lite.
›Adds button in Kobold Lite to launch the StableUI image generation interface.
›Adds option in Kobold Lite to bypass (skip) EOS tokens.
└──▷ BREAKING ON UPGRADE
!The --smartcontext, --hordeconfig, and --sdconfig flags are deprecated and scheduled for removal; existing setups using them should migrate to the new named replacement flags (--hordemodelname, --hordeworkername, --hordekey, --hordemaxctx, --hordegenlen, --sdmodel, --sdthreads, --sdquant, --sdclamped).
›Adds --flashattention experimental flag to enable Flash Attention for compatible models.
›Adds banned_tokens field to the generate API, allowing per-generation token banning dynamically (replaces the removed --bantokens flag).
›Adds render_special to the generate API, enabling rendering of special tokens such as <|start_header_id|> or <|eot_id|>.
›Adds trim_stop support in SSE streaming modes so stop sequences are hidden during streaming when enabled; Chat Completions endpoint automatically applies trim_stop to instruct tag format for better compatibility with third-party clients like LibreChat.
›Adds finish_reason communication in both sync and SSE streamed mode responses when generation stops due to EOS/EOT tokens.
+6 moreshow less
›Automatically detects and applies both EOS and EOT tokens, with EOT tokens correctly biased when EOS is banned.
›Adds additional debug information output when running with --debugmode.
›Adds a benchmark button in the GUI launcher; --benchmark now includes version and clearer exit instructions in console output.
›Supports resizing the GUI launcher with auto-scaling GUI elements, useful for high-DPI screens.
›Kobold Lite adds token filter feature, enhanced regex replacement (including for submitted text), custom {{placeholder}} tag support, inverted world info secondary keys (triggers when key is NOT present), and language customization for XTTS.
›Improves speed of the repetition penalty sampler.
└──▷ BREAKING ON UPGRADE
!The --bantokens flag has been removed; token banning must now be submitted dynamically via the banned_tokens field in the generate API.
›New local-ai llamacpp-worker <listening_address> <listening_port> subcommand starts llama.cpp RPC workers to offload inferencing workload to remote nodes.
›New LLAMACPP_GRPC_SERVERS environment variable accepts a comma-separated list of address:port pairs to distribute llama.cpp inference across multiple nodes when running local-ai run.
›New --p2p flag on local-ai run enables fully decentralized peer-to-peer LLM inferencing over the libp2p protocol without manual IP configuration, using DHT and mDNS for discovery.
›New --p2ptoken flag (and P2P_TOKEN environment variable) lets you supply a pre-shared token to rejoin an existing private p2p cluster on server restart.
›New p2p-llama-cpp-rpc subcommand (with TOKEN=XXX env var or token argument) starts a worker node that joins the p2p cluster and contributes compute.
+9 moreshow less
›New function.grammar.mixed_mode: true config key in YAML model configuration enables mixed JSON BNF grammars, allowing models to output both structured JSON and free text in function-calling responses.
›New function.json_regex_match config key accepts a list of regex patterns to extract function-call results from raw LLM output (e.g. for Hermes-style <tool_call> tags).
›New function.replace_llm_results and function.replace_function_results config keys accept key/value regex replacement lists to clean LLM output before OpenAI-spec compliance checks.
›New function.return_name_in_function_response config key includes the function name in the response payload.
›New function.disable_no_action config key suppresses injection of the default 'answer' tool in function-calling prompts.
›Single binary release consolidates all variants (CUDA and non-CUDA) and dependencies into one portable executable, simplifying installation and upgrades.
›Model gallery adds Aya-35b, Mistral-0.3, Hermes-Theta, Hermes-2-Pro-Mistral, Hermes-2-Theta-Llama-3, and a fine-tuned LocalAI-Llama3-8b-Function-Call-v0.2 model with enhanced out-of-the-box function-calling support.
›Python backends migrated from Conda to UV, reducing setup time and dependency management complexity.
2 more releases in this issue
· 2024-05-03 → 2024-05-24
LocalAI v2.15.0 adds Vision API in Chat WebUI, single binary releases, --debug CPU/GPU info, and trust_remote_code UI flag.
└──▷ GET THIS VERSION
$ git clone --branch v2.15.0 https://github.com/mudler/LocalAI.git
# already have the repo? check out this version:$ git checkout v2.15.0
›Adds --debug flag output to display CPU/GPU information at startup.
›Exposes trust_remote_code as a configurable flag in the WebUI for model loading.
›Adds llama.cpp backend autoloading without requiring explicit backend specification, plus llama.cpp variant support.
›Integrates Vision API into the Chat WebUI, enabling image processing model testing directly in the browser.
›Adds system prompt configuration in the WebUI chat interface.
+6 moreshow less
›Introduces single binary releases for simplified deployment without AVX/SSE instruction sets (CUDA builds planned).
›Adds model gallery filtering by tag and category in the WebUI.
›Adds a background operations indicator to the WebUI to show when tasks are running.
›Adds a revamped welcome/onboarding page in the WebUI to guide new users through model installation.
›Expands the model gallery with new one-click-install models including 'moondream2', 'llama3-llava', 'llama3-instruct-coder', 'lumimaid', 'openbiollm', 'Soliloquy', 'tess', 'aurora', 'kunocchini', 'tiamat', and several OpenVINO models.
LocalAI v2.14.0 adds OpenVINO acceleration, user-defined inference devices, model deletion, llama3 AIO, and a new WebUI with chat/TTS/image-gen pages.
└──▷ GET THIS VERSION
$ git clone --branch v2.14.0 https://github.com/mudler/LocalAI.git
# already have the repo? check out this version:$ git checkout v2.14.0
›Adds user-defined inference device selection for CUDA and OpenVINO backends, letting practitioners pin workloads to specific hardware.
›Adds OpenVINO acceleration for embeddings in the transformer backend, enabling fast inference on Intel CPUs and GPUs.
›Adds model deletion support to the gallery UI, allowing installed models to be removed directly from the interface.
›Adds gallery job status display during navigation so model install progress is visible while browsing.
›Adds Chat, TTS, and image-generation pages to the WebUI for quick interactive debugging and model assessment.
+2 moreshow less
›Switches the AIO image default LLM to a llama3-based model (Hermes-2-Pro-Llama-3-8B-GGUF), which supports function calling out of the box.
›Adds numerous new models to the gallery including Einstein v6.1, SOVL, Hermes-2-Pro-Llama-3-8B, biomistral-7b, WizardLM2, llama3-32k, suzume-llama-3-8B-multilingual, and several OpenVINO-optimized models.
›Adds --log-level option to the API server for runtime log verbosity control.
›Adds chunked prefill support (ready for testing) to improve inter-token latency under high load by chunking prompt processing and prioritizing decode.
›Adds ngram prompt lookup decoding for speculative decoding via the [Speculative decoding] ngram proposer.
›Adds logprobs support for speculative decoding.
›Adds FlashInfer as a selectable attention backend.
+12 moreshow less
›Adds support for Phi-3-mini models.
›Adds full tensor parallelism for LoRA layers.
›Expands Marlin kernel to support all GPTQ models, including AutoGPTQ and 8-bit GPTQ models.
›Supports FP8 checkpoints (both dynamic and static) in the kernel layer.
›Supports complex message content (e.g. multi-part messages) for the chat completions endpoint.
›Supports dynamic num_readers configuration for Tensorizer.
›Adds more Prometheus histogram metrics for monitoring.
›Enables prefix caching with block manager v2.
›Allows users to define a custom whitespace pattern for Outlines-based structured generation.
›Centralizes and documents all environment variables for easier configuration discovery.
›Adds --rv64, --riscv_toolchain_root, and --riscv_qemu_path build options for initial RISC-V architecture support.
›Adds --use_binskim_compliant_compile_flags build option to opt into security-related compile/link flags (default OFF for source builds; ON for all release binaries).
›Adds onnxruntime_CUDA_MINIMAL CMake option to build the CUDA execution provider with only memcpy ops, enabling minimal CUDA builds.
›Adds enable_htp_fp16 provider option to the QNN EP for fp16 execution on HTP.
›Adds a provider option to the CUDA EP to disable TF32.
+28 moreshow less
›Adds SessionOptions.DisablePerSessionThreads to the C# API, enabling threadpool sharing between sessions.
›Adds a new SessionOptions config entry to disable specific graph transformers and rules.
›Exposes Reserve() in OrtAllocator to allow custom allocators to work when session.use_device_allocator_for_initializers is specified.
›Adds WebNN EP as a preview execution provider for Web targets.
›Adds TensorRT 10 support to the TensorRT EP.
›Adds Python support for user-provided CUDA streams in both the CUDA and TensorRT EPs.
›Adds support for multiple CUDA graphs in the CUDA EP.
›Extends MoE in the CUDA EP to support Tensor Parallelism and int4 quantization.
›Adds QNN SDK support up to version 2.22, with mixed 8/16-bit precision configurability per layer (upgraded from A16W8).
›Adds multiple partition support for QNN context binary.
›Adds per-channel quantized weights support for Conv in the QNN EP.
›Integrates QNN EP with Qualcomm's AIHub.
›Adds OpenVINO 2024.1 support, including import of pre-compiled blobs as EPContext blobs.
›Separates device and precision as distinct inputs in the OpenVINO EP, adding precision as a separate CLI option and removing device_id from provider options.
›Adds DirectML operator support for Resize-18, Resize-19, Col2Im-18, IsNaN-20, IsInf-20, and ReduceMax-20, plus contrib ops SimplifiedLayerNormalization, SkipSimplifiedLayerNormalization, QLinearAveragePool, MatMulIntegerToFloat, GroupQueryAttention, DynamicQuantizeMatMul, and QAttention.
›Adds HQQ quantization support for 4-bit quant to improve accuracy on GPU.
›Adds support for models larger than 2 GB in on-device training, enabling SLM training on edge devices.
›Adds GenAI model support for Phi-3, Gemma, and LLama-3.
›Adds DML EP support for GenAI.
›Adds support for building ONNX Runtime with QNN on Android.
›Adds visionOS support for mobile builds.
›Adds initial support for creating ML Program format CoreML models.
›Adds 1D Conv and ConvTranspose support to the XNNPACK EP.
›Adds MacCatalyst (Catalyst) support for macOS builds.
›Adds Mixtral integration using the ORT training backend.
›Adds support for Hugging Face FastTokenizer conversion into an ONNX custom operator.
›Adds Java CUDA 12 support and a Java packaging pipeline published to Maven repository.
›Enables eager execution for custom operators in Extensions.
└──▷ BREAKING ON UPGRADE
!Windows ARM32 support has been dropped at the source code level.
!Python version >=3.8 is now required for build.bat/build.sh (previously >=3.7).
!The onnxruntime-mobile Android package and onnxruntime-mobile-c/onnxruntime-mobile-objc iOS CocoaPods are deprecated; users must migrate to onnxruntime-android and onnxruntime-c/onnxruntime-objc.
!OpenVINO EP removes device_id from provider options; device and precision are now separate inputs, and CPU_FP32/GPU_FP32 terminology is replaced with CPU/GPU.
!Security-related compile/link flags have been moved out of the default build settings into the new --use_binskim_compliant_compile_flags option, which is OFF by default when building from source.
!Windows OneCore build now uses 'Reverse forwarding' apisets instead of 'Direct forwarding', causing onnxruntime.dll in NuGet packages to depend on kernel32.dll; systems without kernel32.dll require reverse forwarders.
›Adds OLLAMA_NOHISTORY=1 environment variable to disable shell history when using ollama run.
›Adds experimental OLLAMA_FLASH_ATTENTION=1 environment variable flag for ollama serve to improve token generation speed on Apple Silicon Macs and NVIDIA GPUs.
›Adds --quantize flag to ollama create (e.g. --quantize q4_0) enabling import and quantization of Llama 3 and its finetunes from Safetensors format.
›ollama create now supports creating models from I-Quant GGUF files.
›Adds Ctrl+W keyboard shortcut to ollama run.
+5 moreshow less
›Adds Cohere Aya 23 (aya), a multilingual LLM covering 23 languages, to the model library.
›Adds Mistral 7B v0.3 (mistral:v0.3) with initial function calling support to the model library.
›Adds Phi-3 Medium (phi3:medium), a 14B-parameter open model by Microsoft, to the model library.
›Adds Phi-3 Mini 128K (phi3:mini-128k) and Phi-3 Medium 128K (phi3:medium-128k) with 128K context window support to the model library.
›Adds IBM Granite Code (granite-code), a family of open foundation models for code intelligence, to the model library.
›Adds --quantize / -q flag to ollama create to quantize float16 or float32 models (from GGUF files or library models) at import time, supporting formats such as q4_0.
›Adds done_reason field to API responses describing why generation stopped.
›Adds Llama 3 ChatQA model (llama3-chatqa), an NVIDIA model optimised for conversational QA and retrieval-augmented generation.
Triton v2.46.0 adds namespace metrics, multi-config model loading, LoRA adapter support, and new GenAI-Perf compare subcommand.
└──▷ GET THIS VERSION
$ git clone --branch v2.46.0 https://github.com/triton-inference-server/server.git
# already have the repo? check out this version:$ git checkout v2.46.0
└──▷ TRY IT
Select a non-default model configuration file at server startup, e.g. to load a low-latency tuned config alongside the default one.
›Adds namespace label to metrics output when the server is launched with --model-namespacing=true, enabling per-namespace metric disambiguation for models sharing the same name.
›Adds --model-config-name server launch option to select among multiple model configuration files (configs/<model-config-name>.pbtxt) stored in the model repository for a given model.
›Adds INTER_OP_THREAD_COUNT and INTRA_OP_THREAD_COUNT parameters to config.pbtxt for the PyTorch Backend to control thread counts during model execution.
›GenAI-Perf gains a new compare subcommand for generating visual comparisons across different profile runs.
›GenAI-Perf now accepts an input file containing a single prompt string to drive input generation.
+4 moreshow less
›Extends response caching support to top-level requests targeting ensemble models.
›Triton's vLLM Backend now supports deployment of models with multiple LoRA adapters.
›FIL backend is now included in Triton's ARM-SBSA container image.
›Triton logging format has been updated; see the logging format extension documentation for details.
└──▷ BREAKING ON UPGRADE
!Triton logging format has been modified; existing log parsers or monitoring pipelines that depend on the previous format may need to be updated.
Phoenix Evals 0.11.0 adds graceful skipping on template mapping errors and serializable execution details.
└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-evals-v0.11.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:$ git checkout arize-phoenix-evals-v0.11.0
›Adds the ability to skip evaluations when template mapping errors occur, returning debug information instead of failing the run.
›Execution details are now serializable, enabling downstream persistence and inspection of eval run metadata.
5 more releases in this issue
· 2024-05-09 → 2024-05-31
Phoenix Evals 0.10.0 adds Mistral model support for LLM-based evaluations.
└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-evals-v0.10.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:$ git checkout arize-phoenix-evals-v0.10.0
›Supports Mistral as an LLM backend for running evaluations via the arize-phoenix-evals library.
›Docker image now runs as root by default, with additional tags available for nonroot and debug image variants.
Phoenix Docker image now runs as root by default, with new nonroot and debug image tags available.
└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v4.2.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:$ git checkout arize-phoenix-v4.2.0
›Docker image now runs as root by default, with dedicated image tags for nonroot and debug variants.
Arize Phoenix 4.1.0 adds an ASGI root path parameter to the Phoenix server.
└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v4.1.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:$ git checkout arize-phoenix-v4.1.0
›Adds ASGI root path parameter support to the Phoenix server, enabling deployment behind a reverse proxy or sub-path prefix.
Phoenix Evals 0.9.0 adds default_headers support for Azure OpenAI models.
└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-evals-v0.9.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:$ git checkout arize-phoenix-evals-v0.9.0
›Adds default_headers parameter support to the Azure OpenAI integration, enabling custom HTTP headers on all requests.
Phoenix v4.0.0 adds gRPC ingestion, PostgreSQL support, basic auth, OpenAPI UI, new eval templates, and a log_traces method.
└──▷ GET THIS VERSION
$ git clone --branch arize-phoenix-v4.0.0 https://github.com/Arize-ai/phoenix.git
# already have the repo? check out this version:$ git checkout arize-phoenix-v4.0.0
└──▷ USE IT
Send a previously collected TraceDataset to Phoenix for analysis without re-running instrumented code.
python
import phoenix as px
px.log_traces(trace_dataset=trace_dataset)
›Adds log_traces method to send TraceDataset traces directly to Phoenix from Python.
›Adds gRPC endpoint for trace ingestion, with a Prometheus interceptor for gRPC metrics.
›Adds default limit to GET /v1/spans and corresponding client methods to prevent unbounded responses.
›Adds trace and document evaluations to GET /v1/evaluations, including span evaluations.
›Adds support for basic auth on the Phoenix server.
+13 moreshow less
›Adds support for pagination on the spans GraphQL resolver.
›Adds an OpenAPI UI for interactive API exploration.
›Adds experimental PostgreSQL support as an alternative to the default SQLite backend.
›Adds default_headers support for azure_openai model configurations.
›Adds SQL and Code Functionality eval templates for assessing generated code quality.
›Adds a user frustration eval template.
›Adds OpenTelemetry trace instrumentation for the Phoenix server itself.
›Adds a 'last N time range' selector on project and projects pages.
›Adds span filtering by span evaluation scores and labels in the UI.
›Adds sorting by eval scores and labels in the persistence layer.
›Adds a 'clear traces' action to the project UI.
›Switches the SQLite engine to sqlean v3.45.1 for improved SQL function coverage.
›Updates the API for OpenAPI compliance.
└──▷ BREAKING ON UPGRADE
!The experimental module (px.experimental) has been removed; any code importing from it will break.
›Adds optional LANGFUSE_DISABLE_EXPENSIVE_POSTGRES_QUERIES environment variable to disable expensive PostgreSQL queries, useful for large-scale deployments where certain queries cause performance issues.
LanceDB v0.4.19 adds Polars DataFrame interop and an embedding registry to the Rust SDK.
└──▷ GET THIS VERSION
$ git clone --branch v0.4.19 https://github.com/lancedb/lancedb.git
# already have the repo? check out this version:$ git checkout v0.4.19
›Adds an embedding registry to the Rust SDK, enabling model registration and lookup for vector embedding workflows.
›Implements Polars DataFrame converters (to and from) in the Rust SDK via C FFI, enabling direct interop between LanceDB tables and Polars DataFrames in Rust.
Milvus v2.3.15 adds channel checkpoint info in flush responses and a config to validate IDs on autoID insert.
└──▷ GET THIS VERSION
$ git clone --branch v2.3.15 https://github.com/milvus-io/milvus.git
# already have the repo? check out this version:$ git checkout v2.3.15
›Adds a config option to check whether an ID is provided during data insertion when autoID is enabled, optimizing data migration workflows with Milvus-CDC.
›Returns channel checkpoint info in flush responses, giving callers visibility into replication progress at flush time.
›Adds RAFT_GRPC_MESSAGE_MAX_SIZE environment variable to set the maximum gRPC message size for the RAFT subsystem.
›Adds an external gRPC method for getting tenant information, enabling programmatic tenant queries via gRPC.
›Adds a GET /cluster/statistics endpoint (cluster-aware) for retrieving cluster-wide statistics.
›Adds an endpoint for checking if a tenant exists.
›Returns the created tenants in the response body of POST /tenants.
+14 moreshow less
›Introduces RAFT-based schema consensus, enabling concurrent schema updates across cluster nodes and eliminating schema-update bottlenecks.
›Introduces batch vectorization for OpenAI, Cohere, and VoyageAI integrations, reducing rate-limiting exposure and speeding up bulk inserts.
›Introduces dynamic vector index switching to automatically transition between index types for optimal performance and efficiency.
›Introduces implicit tenant creation — nonexistent tenants are created on the fly when their name is included in a batch insert (auto-tenant toggling on multi-tenancy-enabled classes).
›Adds nearVector and nearText as sub-search options within hybrid search queries.
›Adds groupBy support to hybrid search and BM25F, and adds moveTo/moveFrom and similar parameters to aggregate hybrid search.
›Adds target-vector cleanup for hybrid queries via gRPC.
›Introduces the text2vec-ollama module for local embedding generation via Ollama.
›Introduces the generative-ollama module (including Llama 3 support) for local generative AI via Ollama.
›Adds OctoAI generative and text2vec modules for embedding and generation via OctoAI.
›Adds Command R and Command R+ model support to the generative-cohere module.
›Adds tenant activity metrics for observability of per-tenant usage.
›Increases put and batch operation timeouts to 60 seconds.
›Reserves RAFT (all casing permutations) as a protected class name, preventing naming conflicts with the consensus subsystem.