Skip to content

v0.5.4

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 02 Sep 19:03
· 27 commits to main since this release
12ee8b4

Container Image: https://github.com/orgs/praxis-proxy/packages/container/praxis?tag=0.5.4

Features

  • Performance: broad hot-path optimization pass across the proxy, cutting per-request allocations and lock round-trips in the filter pipeline, core, protocol, and TLS. Highlights include allocation-free weighted-random and position-indexed load-balancer selection, bounded Maglev/consistent-hash probing, streaming JSON-RPC policy parsing without a body DOM, incremental SNI peek parsing, and leaner reload/watcher paths by @shaneutt
  • Build features: make hot-reload and the admin API optional at build time, with documented cargo features and a guarded lean build by @shaneutt
  • Advanced retry policies: configurable retry policy support by @abdallahsamabd in #941
  • Streaming: resume IRR iterations within streaming responses by @leseb in #988
  • TCP metrics: add the praxis_tcp_connection_duration_seconds histogram by @tsisodia10 in #1036
  • TCP metrics: add the praxis_tcp_connections_total counter by @tsisodia10 in #1037

Bug Fixes

  • Security: scrub injected credentials from upstream responses by @shaneutt
  • Server: wire the subrequest circuit breaker into the config-validate path by @shaneutt
  • Filter: bound json_rpc envelope nesting to match the DOM parser by @shaneutt
  • Filter: validate branch cluster alignment by runtime reachability by @shaneutt
  • IRR: trigger hot reload for step-pipeline documents, and log the original error when a streaming response filter fails by @shaneutt
  • Reload: treat serialization failure as a config change by @shaneutt

Refactoring

  • Protocol: move the WebSocket upgrade check into one function (#828) by @ssukanmi in #1001
  • Headers: share one RFC 9110 hop-by-hop list across crates by @shaneutt
  • Logging: remove log file rotation by @shaneutt

CI & Testing

  • Run unit, integration, and conformance as single all-feature suites, each as its own CI job by @shaneutt
  • Run unit tests once with all features; drop the per-feature matrices by @shaneutt
  • Publish a nightly container image to GHCR by @shaneutt
  • Harden the release tag test skip-check by @shaneutt
  • Extensive test hardening: readiness polling instead of fixed sleeps, deflaked streaming assertions, and broader coverage by @shaneutt

Documentation

  • Document cargo build features and cross-link the guide from the TLS and observability docs by @shaneutt
  • Correct the logging file-writer docs; Praxis does not rotate logs by @shaneutt
  • Document streaming sub-request responses for IRR by @shaneutt

Dependencies

New Contributors

Full Changelog: v0.5.3...v0.5.4