Skip to content

v1.22.0

Choose a tag to compare

@mpangrazzi mpangrazzi released this 10 Jul 10:07
051d5a8

This release adds Haystack v3 support while keeping compatibility with Haystack v2. A single Hayhooks version can now run against both Haystack major versions, including the async pipeline changes introduced in Haystack v3.

🚀 Haystack v3 Support

  • Hayhooks now supports both Haystack v2 and Haystack v3.
  • haystack-ai is no longer constrained to Haystack v2.
  • Added compatibility exports from hayhooks:
    • Pipeline
    • AsyncPipeline
  • On Haystack v2, these resolve to Haystack's AsyncPipeline.
  • On Haystack v3, they resolve to Haystack's unified Pipeline, which supports run_async() natively.

For async-compatible wrappers, you can now use:

from hayhooks import Pipeline

self.pipeline = Pipeline.loads(pipeline_yaml)

🌊 Streaming Compatibility

  • Updated streaming helpers to work across Haystack v2 and v3.
  • Preserved support for sync-only components through hybrid streaming mode.
  • Improved examples for async and hybrid streaming pipelines.

📄 YAML Pipeline Deployment

  • YAML-deployed pipelines now use the correct pipeline implementation for the installed Haystack version.
  • Added documentation for Haystack v3's HAYSTACK_DESERIALIZATION_ALLOWLIST.
  • Hayhooks keeps Haystack's secure default behavior and does not override the allowlist automatically.

🔭 Tracing

  • Updated tracing support for Haystack v3.
  • OpenTelemetryTracer is resolved from the correct package depending on the installed Haystack version.
  • The tracing extra now includes opentelemetry-haystack.

🧪 Tests and CI

  • Added CI coverage for Haystack v3.
  • Kept Haystack v2 test coverage in place.
  • Updated tests, docs, and examples for the dual-version compatibility layer.

What's Changed

  • feat: Support Haystack v2 and v3 by @sjrl in #250

Full Changelog: v1.21.0...v1.22.0