v0.3.0
This release updates Envoy to 1.37.0. This allows us to use new dynamic modules ABIs to implement response backpressure with Envoy's flow control, the last remaining feature for full production-readiness. With this, pyvoy should generally be complete, with full implementations of ASGI and WSGI and features and controls needed for production. There are also a few additional enhancements and small bug fixes.
📈 Enhancements
- Implements response backpressure by delaying completion of application write / send requests when above the response buffer watermark
- Exposes quic listener port programatically, generally for cases where
tls_port = 0for automatic detection, resulting in separate ports for TCP and UDP - If TLS keys passed to the CLI do not correspond to a filesystem path, they are handled as raw certificates instead of as paths
- Programmatic setup of pyvoy will fail if Envoy fails to startup. To access logs for this failure case, it becomes necessary to setup
PyvoyServerwithout a context manager. Accessing logs programmatically will usually only be useful for pyvoy's own unit tests.
🛠️ Bug fixes
- IPv6 addresses are properly handled for scope values like
server - WSGI header values containing unicode are now presented with latin1 bytes as required rather than utf-8
Full Changelog: v0.2.2...v0.3.0