v3.3.0-rc1
No content.
No content.
⭐️ Highlight ⚡️ Faster SentenceWindowRetriever SentenceWindowRetriever now queries the Document Store once per run or run_async call instead of once per retrieved document. Fewer calls mean lower latency and less load on the Document Store and outputs have not changed, so existing pipelines get faster without code changes. ⬆️ Upgrade Notes InMemoryDocumentStore.bm25_retrieval and InMemoryBM25Retri…
v3.4.0-rc0
No content.
No content.
No content.
No content.
⭐️ Highlights 🧠 SummarizationCompactor: Compact Agent Context Without Losing It The experimental SummarizationCompactor is a new compaction strategy for CompactionHook. It replaces older turns and Agent steps with LLM-generated summaries. Long-running Agents keep a condensed record of earlier goals, decisions, and open work. It summarizes as little as needed to reach the target size, starting with…
v3.3.0-rc0
Release Notes v3.1.1 Bug Fixes The OpenAI Chat Completions and Responses converters no longer raise on an assistant message with no content parts, which a Chat Generator returns when it discards a malformed tool call. It is sent with empty content, which the APIs accept, so the next LLM call goes through. ChatMessage.from_openai_dict_format accepts the same empty content, so such a message round-t…
Release Notes v3.1.1-rc1 Bug Fixes The OpenAI Chat Completions and Responses converters no longer raise on an assistant message with no content parts, which a Chat Generator returns when it discards a malformed tool call. It is sent with empty content, which the APIs accept, so the next LLM call goes through. ChatMessage.from_openai_dict_format accepts the same empty content, so such a message rou…
⭐️ Highlights 🪝CompactionHook and Built-in Compactors for Context Length Management Experimental context compaction for Agent. Runs before LLM calls and shortens the conversation once it crosses a configured fraction of the context window. The built-in SlidingWindowCompactor first removes entire historical turns, then, if needed, individual steps of the current task, replacing what it removes with…
v3.2.0-rc0
No content.
⭐️ Highlights Haystack 3.0 is a major release for building production-grade agents with full control and flexibility. It ships a wave of new capabilities: a more capable Agent with hooks and first-class skills, built-in run introspection, first-class async for serving, a leaner core, and safer pipeline loading. A few small, intentional breaking changes come with it but our Migration Guide and Upgr…
v3.1.0-rc0
⭐️ Highlights 📦 Slimming down Haystack core ahead of 3.0 This release begins the migration of many components out of haystack core and into dedicated integration packages, in preparation for Haystack 3.0. Components with heavy or optional dependencies — including all SentenceTransformers embedders and rankers, the Hugging Face API components, the legacy Generators, TikaDocumentConverter, AzureOCRD…
No content.
No content.
v2.32.0-rc0
No content.
🐛 Bug Fixes Fixed the Agent exiting prematurely under the default exit_conditions=["text"]. The agent now only stops when the last message is an assistant message with non-empty text (or when no tool invoker is configured). Previously, if the LLM produced an invalid tool call that was discarded, the resulting assistant message with empty text and no tool calls would trigger an exit, preventing the…
⚡️ Enhancement Notes AzureOpenAIChatGenerator now accepts a Secret for the azure_endpoint and api_version parameters in addition to a plain string. This makes it possible to resolve these values from environment variables at runtime, for example with Secret.from_env_var("AZURE_OPENAI_ENDPOINT"), so the same serialized pipeline can switch between environments (e.g. dev and prod) by changing environ…
No content.
⭐️ Highlights 🐍 Syntax-aware Python code splitting with PythonCodeSplitter The new PythonCodeSplitter is a syntax-aware splitter for Python source files, built for code-RAG and code-search pipelines where naive line-based splitting tends to cut through functions and lose structural context. It parses sources with the ast module and greedily merges units, such as module docstring, import blocks, to…
No content.
v2.31.0-rc0
v3.0.0-rc0
No content.
⭐️ Highlights 🔍 Combine Retrievers with MultiRetriever and TextEmbeddingRetriever Two new retriever components make it easier to build hybrid search pipelines. MultiRetriever runs multiple text retrievers in parallel and merges their results into a single deduplicated list, ranked by reciprocal rank fusion by default. You can selectively enable or disable individual retrievers at runtime using the…