v0.34.0_1
This commit is contained in:
1 parent
9b3d6731cc
commit
00f29f92c8
68 files changed
+2599
-513
No files matched your search
@@ -3,6 +3,56 @@
|
||||
> Operator-facing release history. Historical engineering notes are kept in
|
||||
> [`docs/CHANGELOG_TECHNICAL_ARCHIVE.md`](docs/CHANGELOG_TECHNICAL_ARCHIVE.md).
|
||||
|
||||
## 0.34.0
|
||||
|
||||
- Optimize reverse-proxy hot path with shared immutable compiled route handles,
|
||||
reusing the observer's host/location selection in forwarding without changing
|
||||
ACL, rate, canonical authority or protocol enforcement.
|
||||
- Avoid wildcard allocations for exact-host hits; preserve host precedence,
|
||||
listener bindings, regex and internal named-location fallback behavior.
|
||||
- Add allocation-free, scheduler-lock-free single-backend LB selection for
|
||||
non-cookie pools. Keep health/drain/capacity admission, retry and lease
|
||||
lifetime; preserve multi-backend algorithms and cookie-affinity semantics.
|
||||
- Make healthy-backend selection lock-free using a synchronized atomic status
|
||||
tag; share compiled health/passive policies between leases rather than
|
||||
deep-cloning their strings per request. Preserve recovery state machine.
|
||||
- Prepare error-fallback and retry request headers only when the operation is
|
||||
configured/eligible. Keep error-response interception and safe-method replay.
|
||||
- Replace exchange source, cache and transform telemetry mutexes with atomic
|
||||
tags without changing log/event field names or tri-state flags. Do not clone
|
||||
live-stream log entries when there are no subscribers and move terminal
|
||||
exchange fields into the final log record; history and sinks stay.
|
||||
- Add routing/health/LB/telemetry regression cases and source-only guardrails.
|
||||
No new configuration fields, migrations, LB switches, or changed keepalive
|
||||
defaults. Actual Rust compilation and benchmark are required before rollout.
|
||||
|
||||
- Separate global cache representation compatibility from per-vhost scopes.
|
||||
Keep HOT and COLD entries across vhost keepalive/recycle/LB diagnostics saves;
|
||||
invalidate only modified content-bearing scopes and cancel their in-flight fills.
|
||||
- Persist a content fingerprint alongside COLD entries so interrupted scoped
|
||||
purges cannot resurrect old responses after restart; retain COLD format v3.
|
||||
- Remove per-frame `Exchange.backend` mutex acquisition from response body
|
||||
metering by retaining the final backend lease with the body; request metering,
|
||||
lease lifetime, counters and error handling retain their semantics.
|
||||
- Guard cache-ticket creation against in-flight requests using an obsolete
|
||||
configuration snapshot after a successful save, without evicting unchanged
|
||||
cache entries.
|
||||
- Add regression tests for operational saves, scoped content changes and COLD
|
||||
restart compatibility. No LB UI changes or new database migration.
|
||||
- Add `sendfile: off | auto` to Web Service configuration and Delivery editor.
|
||||
For eligible Linux cleartext HTTP/1.1 GET >=64 KiB, transfer already-authorized
|
||||
static file descriptors using native `sendfile(2)` behind a bounded connection
|
||||
bridge. Keep normal streaming for TLS/H2/H3, range, transforms, compressed
|
||||
bodies, active object cache and other operating systems. Disabled by default.
|
||||
- Keep the kernel transport switch outside global cache identity; toggling it
|
||||
must not invalidate HOT or COLD. Include native transport/fallback regression
|
||||
test cases and panel save/reload tests (Rust tests still need execution).
|
||||
- Include an explicitly hypothetical Amdahl model of nginx parity using the
|
||||
existing 0.33.8 benchmark, with no claim of measured 0.34.0 RPS improvement.
|
||||
- Actual Rust compilation, protocol/regression execution and comparative RPS
|
||||
benchmarking are required before deployment; do not infer throughput gains
|
||||
from the source-level changes alone.
|
||||
|
||||
## 0.33.8
|
||||
|
||||
- Skip cache-only policy maps, request snapshots and ticket work when caching
|
||||
|
||||
Reference in new issue
Block a user