Changelog¶
All notable changes to Prela will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased¶
Changed¶
- Repository Split: SDK moved to separate repository at github.com/garrettw2200/prela-sdk
- PyPI Publication: SDK now available on PyPI at pypi.org/project/prela
- Installation: Primary installation method is now
pip install prela
Added¶
- Production Validation (Phase 6):
- 21/21 core features validated with real API calls
- 6 production test scenarios with complete validation evidence
- Performance validation: SDK overhead <5%, CLI response <1s
- Documentation validation: All scenarios documented with expected outputs
- Test scenarios copied to examples directory with comprehensive README
- Comprehensive documentation site
- Production deployment examples
- Multi-environment configuration guides
0.2.0 - 2025-01-26¶
Added¶
- Evaluation Framework: Complete testing framework for AI agents
- EvalCase and EvalSuite for test definition
- 10 assertion types (structural, tool, semantic)
- EvalRunner with sequential and parallel execution
- Three reporters: Console, JSON, JUnit
- YAML/JSON test suite support
- CI/CD integration guides
- CLI Tool: Command-line interface for trace management
prela init- Initialize new projectsprela list- List available tracesprela show- Display specific tracesprela search- Search traces by attributesprela eval run- Run evaluation suitesprela export- Export traces to different formats- Enhanced FileExporter:
- Tree-based directory structure (by service/date)
- Trace search and filtering
- File rotation by size
- Improved organization
- Enhanced ConsoleExporter:
- Three verbosity levels (minimal, normal, verbose)
- Colored output with rich library support
- Tree visualization for nested spans
- Configurable formatting
Changed¶
- ConsoleExporter API: Changed
quietparameter toverbosity - FileExporter API: Changed from single file to directory-based organization
Fixed¶
- Context propagation in thread pools
- Timing precision in latency assertions
0.1.0 - 2025-01-20¶
Added¶
- Core Tracing: Complete span and context system
- Span class with immutability after end()
- SpanType enum (AGENT, LLM, TOOL, RETRIEVAL, EMBEDDING, CUSTOM)
- SpanStatus enum (PENDING, SUCCESS, ERROR)
- SpanEvent for timestamped occurrences
- High-resolution clock utilities
- Thread-safe and async-safe context propagation
- Tracer: Main orchestration class
- Context manager interface for spans
- Automatic parent-child linking
- Global tracer management
- Service name injection
- Sampling: Four sampling strategies
- AlwaysOnSampler (development)
- AlwaysOffSampler (disable tracing)
- ProbabilitySampler (probabilistic sampling)
- RateLimitingSampler (token bucket rate limiting)
- Exporters: Base export system
- BaseExporter abstract class
- BatchExporter with retry logic
- ConsoleExporter for development
- FileExporter for production (JSONL format)
- Exponential backoff retry
- Auto-Instrumentation: Automatic SDK tracing
- OpenAI SDK support (chat, completions, embeddings)
- Anthropic SDK support (messages, streaming, tools)
- LangChain integration (chains, agents, tools)
- Auto-discovery and registration
- Public API: Simple initialization
prela.init()- One-line setupprela.get_tracer()- Access global tracerprela.auto_instrument()- Manual instrumentation- Environment variable support
Features¶
- OpenAI Instrumentation:
- Sync and async chat completions
- Streaming responses
- Function/tool calling
- Embeddings API
- Legacy completions
- Token usage tracking
- Error capturing
- Anthropic Instrumentation:
- Sync and async messages
- Streaming responses
- Tool use detection
- Extended thinking capture
- Token usage tracking
- Error capturing
- LangChain Instrumentation:
- Chain executions (LLMChain, SequentialChain)
- Agent workflows
- Tool invocations
- Retriever queries
- Callback-based integration
Performance¶
__slots__for memory efficiency- Lazy serialization
- Minimal overhead (<100μs per span)
- Thread-safe by design
- Async-compatible
Testing¶
- 573 comprehensive tests
- 95%+ code coverage
- Unit, integration, and edge case tests
- Thread safety validation
- Async support validation
0.0.1 - 2025-01-15¶
Added¶
- Initial project structure
- Basic span implementation (prototype)
- Proof of concept
Version History¶
- 0.2.0: Evaluation framework, CLI tool, enhanced exporters
- 0.1.0: Core tracing, auto-instrumentation, public API
- 0.0.1: Initial prototype
Migration Guides¶
Migrating from 0.1.0 to 0.2.0¶
ConsoleExporter Changes¶
# Old (0.1.0)
ConsoleExporter(quiet=False)
# New (0.2.0)
ConsoleExporter(verbosity="normal") # or "minimal", "verbose"
FileExporter Changes¶
# Old (0.1.0)
FileExporter(file_path="traces.jsonl")
# New (0.2.0)
FileExporter(directory="./traces") # Organized by service/date
Deprecation Notices¶
None currently.
Security¶
For security vulnerabilities, please email [email protected] instead of using the issue tracker.