0.1.1
cloudflare/pingora0.1.1Apr 5, 2024by johnhurt
AI Summary
A patch release introducing new server configuration options, Keep-Alive parsing support, and fixes for SSL builds, compile warnings, and HTTP/1.1 response header handling.
Key Highlights
- `Server::new` now accepts `Into<Option<T>>`
- Implemented client Keep-Alive parsing
- Added `server_addr` and `client_addr` APIs to `Session`
- Fixed build failures with the `boringssl` feature
- Fixed OS read errors reporting as `ReadTimeout`
New Features
- `Server::new` accepts `Into<Option<T>>`
- Implemented client `HttpSession::get_keepalive_values`
- Expose `ListenFds` and `Fds`
- Expose config options in `ServerConf`
- `upstream_response_filter` runs on upstream 304 responses
- Added `server_addr` and `client_addr` APIs
- Allow body modification in `response_body_filter`
- Config grace period and graceful shutdown timeout
- Added TinyUFO sharded skip list storage option
- Fixed build failures with `boringssl` feature
- Fixed compile warnings with nightly Rust
- Fixed Upgrade request bodies handling
- Fixed OS read errors reporting as `ReadTimeout`
- Performance improvements in `pingora-ketama`
- Added tests for `pingora-cache` purge
- Limit buffer size for `InvalidHTTPHeader` error logs
Full Release Notes
## [0.1.1](https://github.com/cloudflare/pingora/compare/0.1.0...0.1.1) - 2024-04-05 ### 🚀 Features - `Server::new` now accepts `Into<Option<T>>` - Implemented client `HttpSession::get_keepalive_values` for Keep-Alive parsing - Expose `ListenFds` and `Fds` to fix a voldemort types issue - Expose config options in `ServerConf`, provide new `Server` constructor - `upstream_response_filter` now runs on upstream 304 responses during cache revalidation - Added `server_addr` and `client_addr` APIs to `Session` - Allow body modification in `response_body_filter` - Allow configuring grace period and graceful shutdown timeout - Added TinyUFO sharded skip list storage option ### 🐛 Bug Fixes - Fixed build failures with the `boringssl` feature - Fixed compile warnings with nightly Rust - Fixed an issue where Upgrade request bodies might not be handled correctly - Fix compilation to only include openssl or boringssl rather than both - Fix OS read errors so they are reported as `ReadError` rather than `ReadTimeout` when reading http/1.1 response headers ### ⚙️ Miscellaneous Tasks - Performance improvements in `pingora-ketama` - Added more TinyUFO benchmarks - Added tests for `pingora-cache` purge - Limit buffer size for `InvalidHTTPHeader` error logs - Example code: improvements in pingora client, new LB cluster example - Typo fixes and clarifications across comments and docs