0.7.0
Gentleman-Programming/engram0.7.0Jan 30, 2026by johnhurt
Upgrading?
Release notes summary
Adds extensibility features like TLS context saving and early TCP filtering, while exposing core proxy structures for external customization.
Key Highlights
- Extensible SslDigest for user-defined TLS context
- ConnectionFilter trait for early TCP filtering
- Virtual L4 stream abstraction
- Exposed HttpProxy struct for external customization
- SSLKEYLOGFILE support
New Features
- TLS context saving
- Early TCP connection filtering
- L4 stream abstraction
- External proxy customization
- SSL logging support
Full Release Notes
## [0.7.0](https://github.com/cloudflare/pingora/compare/0.6.0...0.7.0) - 2026-01-30 ### Highlights - Extensible SslDigest to save user-defined TLS context - Add ConnectionFilter trait for early TCP connection filtering ### π Features - Add ConnectionFilter trait for early TCP connection filtering - Introduce a virtual L4 stream abstraction - Add support for verify_cert and verify_hostname using rustls - Exposes the HttpProxy struct to allow external crates to customize the proxy logic. - Exposes a new_mtls method for creating a HttpProxy with a client_cert_key to enable mtls peers. - Add SSLKEYLOGFILE support to rustls connector - Allow spawning background subrequests from main session - Allow Extensions in cache LockCore and user tracing - Add body-bytes tracking across H1/H2 and proxy metrics - Allow setting max_weight on MissFinishType::Appended - Allow adding SslDigestExtensions on downstream and upstream - Add Custom session support for encapsulated HTTP ### π Bug Fixes - Use write timeout consistently for h2 body writes - Prevent downstream error prior to header from canceling cache fill - Fix debug log and new tests - Fix size calculation for buffer capacity - Fix cache admission on header only misses - Fix duplicate zero-size chunk on cache hit - Fix chunked trailer end parsing - Lock age timeouts cause lock reacquisition - Fix transfer fd compile error for non linux os ### Sec - Removed atty - Upgrade lru to >= 0.16.3 crate version because of RUSTSEC-2026-0002 ### Everything Else - Add tracing to log reason for not caching an asset on cache put - Evict when asset count exceeds optional watermark - Remove trailing comma from Display for HttpPeer - Make ProxyHTTP::upstream_response_body_filter return an optional duration for rate limiting - Restore daemonize STDOUT/STDERR when error log file is not specified - Log task info when upstream header failed to send - Check cache enablement to determine cache fill - Update meta when revalidating before lock release - Add ForceFresh status to cache hit filter - Pass stale status to cache lock - Bump max multipart ranges to 200 - Downgrade Expires header warn to debug log - CI and effective msrv bump to 1.83 - Add default noop custom param to client Session - Use static str in ErrorSource or ErrorType as_str - Use bstr for formatting byte strings - Tweak the implementation of and documentation of `connection_filter` feature - Set h1.1 when proxying cacheable responses - Add or remove accept-ranges on range header filter - Update msrv in github ci, fixup .bleep - Override request keepalive on process shutdown - Add shutdown flag to proxy session - Add ResponseHeader in pingora_http crate's prelude - Add a configurable upgrade for pingora-ketama that reduces runtime cpu and memory - Add to cache api spans - Increase visibility of multirange items - Use seek_multipart on body readers - Log read error when reading trailers end - Re-add the warning about cache-api volatility - Default to close on downstream response before body finish - Ensure idle_timeout is polled even if idle_timeout is unset so notify events are registered for h2 idle pool, filter out closed connections when retrieving from h2 in use pool. - Add simple read test for invalid extra char in header end - Allow customizing lock status on Custom NoCacheReasons - Close h1 conn by default if req header unfinished - Add configurable retries for upgrade sock connect/accept - Deflake test by increasing write size - Make the version restrictions on rmp and rmp-serde more strict to prevent forcing consumers to use 2024 edition - Rewind preread bytes when parsing next H1 response - Add epoch and epoch_override to CacheMeta
Related Repositories
umputun/ralphexβ
287,559
Extended Ralph loop for autonomous AI-driven plan execution
ollama/ollamaβ
184,585
Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models.
fatedier/frpβ
110,106
A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
infiniflow/ragflowβ
92,787
RAGFlow is a leading open-source Retrieval-Augmented Generation (RAG) engine that fuses cutting-edge RAG with Agent capabilities to create a superior context layer for LLMs
gohugoio/hugoβ
90,217
The worldβs fastest framework for building websites.