Changelog

View Source

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

[0.1.1] - 2025-10-25

Added

  • Streaming Documentation
    • Added examples/STREAMING_GUIDE.md - Comprehensive guide for enabling streaming output in pipelines
    • Added docs/ASYNC_STREAMING_MIGRATION_GUIDE.md - Migration path from legacy async streaming to current architecture
    • Both documents integrated into ExDoc with proper titles and navigation

Changed

  • Updated version references in README.md from v0.1.0 to v0.1.1
  • Updated installation instructions to reference the new version
  • Updated GitHub dependency examples to use v0.1.1 tag
  • Updated mix.exs to version 0.1.1
  • Enhanced ExDoc configuration with streaming and migration guide entries

Documentation

  • Streaming Guide covers:
    • When to use streaming (long-running prompts, UI updates, debugging)
    • Quick start examples in Elixir and YAML
    • Handler requirements and best practices
    • Testing strategies and troubleshooting
  • Migration Guide provides:
    • Checklist for migrating from legacy async streaming
    • Architectural comparison table (event shapes, callbacks, state management)
    • Code examples for updating Elixir steps and YAML workflows
    • Testing strategy with StreamingRecorder helper
    • Common issues and solutions

Notes

  • This release focuses on improving documentation and developer experience
  • No breaking changes - purely additive documentation updates
  • Builds on the async streaming removal from v0.1.0

[0.1.0] - 2025-10-08

Removed - BREAKING CHANGES

  • Async streaming system completely removed (~900 lines)
    • Removed Pipeline.Streaming.AsyncHandler module
    • Removed Pipeline.Streaming.AsyncResponse module
    • Removed 7 handler implementations (console, simple, debug, file, buffer, callback, text)
    • Removed async_streaming option from Claude providers
    • Removed all async streaming tests and examples

Changed

  • Simplified Claude providers to use ClaudeCodeSDK.query() |> Enum.to_list() directly
  • Cleaned up Pipeline.Step.Claude module (removed async handling)
  • Simplified Pipeline.Executor (removed AsyncResponse pattern matching)

Added

  • docs/ASYNC_STREAMING_DEPRECATION.md - Migration guide
  • docs/ASYNC_STREAMING_EVALUATION_REPORT.md - Technical analysis
  • docs/ASYNC_STREAMING_ASSESSMENT.md - SDK implementer perspective
  • docs/PIPELINE_EX_RECOMMENDATION.md - Removal recommendation

Rationale

The async streaming system was operating at the wrong abstraction level. It attempted to buffer and batch complete Message structs from ClaudeCodeSDK, thinking it was handling streaming text chunks. ClaudeCodeSDK already provides complete messages optimally - the buffering added complexity and latency without benefit.

For migration guidance, see docs/ASYNC_STREAMING_DEPRECATION.md.

Technical Details

  • All 869 tests pass (66 async tests skipped as deprecated)
  • Dialyzer passes successfully
  • Clean compilation with no errors
  • CI checks (credo, dialyzer, tests) all pass

0.0.1 - 2025-01-05

Maintainer: NSHkr ZeroTrust@NSHkr.com

Added

  • Initial release of Pipeline.ex - AI pipeline orchestration library for Elixir
  • Core pipeline execution engine with robust error handling and retries
  • Support for Claude (Anthropic) and Gemini (Google) AI providers
  • YAML v2 pipeline format with comprehensive features:
    • Multi-step pipelines with conditional execution
    • Advanced prompt templating with variables and transformations
    • Control flow (conditionals, loops, parallel execution)
    • Pipeline composition and inheritance
    • Function calling support for both providers
  • Genesis/Meta pipeline system for self-improving pipelines:
    • Pipeline DNA evolution and mutation
    • Fitness evaluation framework
    • Recursive pipeline generation
  • Comprehensive testing framework with mocking support
  • Extensive documentation including:
    • Complete YAML format v2 reference
    • Architecture documentation
    • Usage guides and patterns
    • Pipeline specifications for various use cases
  • Visual pipeline editor specifications (implementation planned)
  • Safety features and context management
  • Performance optimization with caching and parallel execution

Features

  • Pipeline Execution: Robust execution engine with retry logic and error handling
  • Provider Support: Claude (via Anthropic API) and Gemini (via Google API) integration
  • YAML Configuration: Declarative pipeline definitions with v2 format
  • Prompt System: Advanced templating with variables, transformations, and inheritance
  • Control Flow: Conditionals, loops, parallel execution, and error handling
  • Genesis System: Self-improving pipelines with evolution capabilities
  • Testing Support: Built-in test mode with comprehensive mocking
  • Documentation: Extensive guides, references, and examples

Known Limitations

  • Visual editor GUI not yet implemented (specifications only)
  • Limited to Claude and Gemini providers in this release
  • Some advanced meta-pipeline features are experimental