# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Added
- Fallback policy for returning default values on failure
- Cache policy for caching successful results
- Policy context for passing metadata through execution
- Comprehensive examples for all policies
- Property-based tests and edge case coverage
## [0.1.0] - 2024-01-24
### Added
- Initial release
- **RetryPolicy**: Fixed and exponential backoff retry strategies
- **CircuitBreaker**: Three-state circuit breaker (Closed → Open → Half-Open)
- **TimeoutPolicy**: Time-bounded operation execution
- **Bulkhead**: Concurrency limiting with optional queue timeout
- **RateLimiter**: Token bucket rate limiting
- **Hedge**: Hedged requests for latency reduction
- **Wrap**: Policy composition utility
- Tower middleware integration via `DoOverService`
- Comprehensive documentation and examples
- Feature flags for HTTP, Prometheus, and OpenTelemetry integrations
### Documentation
- Full README with installation guide and quick start
- Mermaid diagrams for policy behavior visualization
- 8 runnable examples demonstrating all policies
- API reference for all public types
[Unreleased]: https://github.com/nwpz/do-over/compare/v0.1.0...HEAD
[0.1.0]: https://github.com/nwpz/do-over/releases/tag/v0.1.0