# Changelog

## [1.0.0-alpha.6] - 2026-04-17

### Changed

- Updated `http-cache` dependency to 1.0.0-alpha.6
- Non-streaming service refactored to delegate to `HttpCache::run` via `TowerMiddleware` adapter
- Streaming service delegates to `HttpStreamingCache::run` orchestrator
- Removed inline cache orchestration (~500 lines replaced with core delegation)

### Fixed

- All cache modes now handled correctly (ForceCache, OnlyIfCached, IgnoreRules, NoCache were previously missing)
- `must-revalidate` + 5xx now returns stale cached response with Warning 111 instead of forwarding error
- `OnlyIfCached` cache miss now correctly returns 504 Gateway Timeout
- 304 revalidation now calls `policy.after_response`, updates headers, and re-caches with new policy
- `modify_response_before_caching` now applied in all caching paths
- Warning header cleanup (1xx removal) on cached responses
- `hyper::service::Service` impl no longer causes infinite recursion
- Removed `unwrap()` calls from header value construction

## [1.0.0-alpha.5] - 2026-02-17

### Changed

- Updated `http-cache` dependency to 1.0.0-alpha.5
- Updated `http-cache-semantics` to 3.0.0
- MSRV bumped from 1.85.0 to 1.88.0
- Exposed `url-standard`, `http-headers-compat`, `manager-cacache-bincode`, and `manager-moka-bincode` feature flags

## [1.0.0-alpha.4] - 2026-01-19

### Added

- `manager-foyer` feature flag for `FoyerManager` support
- `url-ada` feature flag for using WHATWG-compliant ada-url for URL parsing

### Fixed

- `OnlyIfCached` mode now correctly returns 504 Gateway Timeout on cache miss in streaming middleware

## [1.0.0-alpha.3] - 2026-01-18

### Added

- Response metadata integration for storing data with cached responses

### Changed

- MSRV is now 1.85.0

## [1.0.0-alpha.2] - 2025-08-24

### Added

- Support for cache-aware rate limiting through `rate_limiter` field in `HttpCacheOptions`
- New `rate-limiting` feature flag for optional rate limiting functionality
- Re-export of rate limiting types: `CacheAwareRateLimiter`, `DomainRateLimiter`, `DirectRateLimiter`, `Quota`
- Rate limiting integration for streaming cache operations via `HttpCacheStreamingLayer`
- `url` dependency (optional, enabled with rate-limiting feature) for URL parsing in rate limiting

### Changed

- Consolidated error handling: removed separate error module and replaced with type alias `pub use http_cache::HttpCacheError;`
- Simplified error architecture by removing duplicate error implementations
- Removed `anyhow` dependency, using manual error implementations throughout
- Fixed author field to include both authors for consistency with other crates

### Removed

- Dependency on `anyhow` for reduced dependency footprint

## [1.0.0-alpha.1] - 2025-07-27

### Added

- Initial release
