H

Haystack

H
Haystack AI v3.1.1

v3.1.1

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…

H
Haystack AI v3.1.1-rc1

v3.1.1-rc1

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…

H
Haystack AI v3.1.0

v3.1.0

⭐️ 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…

H
Haystack AI v3.1.0-rc3

v3.1.0-rc3

Release Notes v3.1.0-rc2 Upgrade Notes Serialized OutputAdapter and ConditionalRouter components containing Jinja custom_filters must now be loaded with Pipeline.load(..., unsafe=True) (or the equivalent Pipeline.loads / Pipeline.from_dict option). New Features Added the HAYSTACK_UNSAFE_DESERIALIZATION environment variable as a process-wide equivalent of loading with unsafe=True. When set to a tru…

H
Haystack AI v3.1.0-rc2

v3.1.0-rc2

Release Notes v3.1.0-rc2 Upgrade Notes Serialized OutputAdapter and ConditionalRouter components containing Jinja custom_filters must now be loaded with Pipeline.load(..., unsafe=True) (or the equivalent Pipeline.loads / Pipeline.from_dict option). New Features Added the HAYSTACK_UNSAFE_DESERIALIZATION environment variable as a process-wide equivalent of loading with unsafe=True. When set to a tru…

H
Haystack AI v3.1.0-rc1

v3.1.0-rc1

Release Notes v3.1.0-rc1 Upgrade Notes exit_reason is now a reserved state key on Agent. If you defined a custom state_schema key named exit_reason, rename it: the Agent now raises a ValueError at initialization when a reserved key is redefined. Agent.state_schema now contains the user-provided state schema, exactly as passed to __init__. Previously it contained the resolved schema, which also inc…

H
Haystack AI v3.0.0

v3.0.0

⭐️ 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…

H
Haystack AI v2.31.0

v2.31.0

⭐️ 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…

H
Haystack AI v2.30.2

v2.30.2

🐛 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…

H
Haystack AI v2.30.1

v2.30.1

⚡️ 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…

H
Haystack AI v2.30.0

v2.30.0

⭐️ 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…

H
Haystack AI v2.29.0

v2.29.0

⭐️ 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…