Skip to content

Releases: cloudflare/pingora

Pingora 0.3.0

12 Jul 18:58
Compare
Choose a tag to compare

0.3.0 - 2024-07-12

🚀 Features

  • Add support for HTTP modules. This feature allows users to import modules written by 3rd parties.
  • Add request_body_filter. Now request body can be inspected and modified.
  • Add H2c support.
  • Add TCP fast open support.
  • Add support for server side TCP keep-alive.
  • Add support to get TCP_INFO.
  • Add support to set DSCP.
  • Add or_err()/or_err_with API to convert Options to pingora::Error.
  • Add or_fail() API to convert impl std::error::Error to pingora::Error.
  • Add the API to track socket read and write pending time.
  • Compression: allow setting level per algorithm.

🐛 Bug Fixes

  • Fixed a panic when using multiple H2 streams in the same H2 connection to upstreams.
  • Pingora now respects the Connection header it sends to upstream.
  • Accept-Ranges header is now removed when response is compressed.
  • Fix ipv6_only socket flag.
  • A new H2 connection is opened now if the existing connection returns GOAWAY with graceful shutdown error.
  • Fix a FD mismatch error when 0.0.0.0 is used as the upstream IP

⚙️ Changes and Miscellaneous Tasks

  • Dependency: replace structopt with clap
  • Rework the API of HTTP modules
  • Optimize remove_header() API call
  • UDS parsing now requires the path to have unix: prefix. The support for the path without prefix is deprecated and will be removed on the next release.
  • Other minor API changes

Pingora 0.1.1

05 Apr 19:55
Compare
Choose a tag to compare

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

Pingora 0.1.0

05 Apr 18:28
Compare
Choose a tag to compare

Highlights

  • First Public Release of Pingora 🎉