Fluxheim 1.2.5
Fluxheim 1.2.5 Release Notes
Release Metadata
- Version:
1.2.5 - Release date: to be filled
- Git tag:
v1.2.5 - Release type: focused bounded range-cache follow-up
Summary
Fluxheim 1.2.5 closes the remaining practical large-file cache gap before the
1.3 load-balancer/proxy line. It adds opt-in bounded caching for safe single
Range: bytes=start-end proxy requests and keeps partial responses isolated
from complete-object cache entries.
Highlights
- Added
[cache.range],[vhosts.cache.range], and route-scoped range policy. - Added
range.enabledandrange.max_bytescontrols.range.max_bytesmust
be greater than zero and no larger thancache.max_object_bytes. - Added range-specific proxy cache keys, so repeated requests for the same byte
window can return cache hits without colliding with full-object keys. - Admitted range-cache objects only when upstream returns
206 Partial Content
with matchingContent-RangeandContent-Lengthmetadata. - Rejected unkeyed upstream
206 Partial Contentresponses from the normal
full-object cache path to avoid partial-response cache poisoning. - Added parser, selection, keying, and admission tests for the new range-cache
behavior.
Example
[vhosts.cache]
enabled = true
status_header = "x-cache-status"
content_types = ["application/octet-stream", "video/*", "image/*"]
max_object_bytes = "32MiB"
[vhosts.cache.range]
enabled = true
max_bytes = "8MiB"
[vhosts.cache.memory]
enabled = true
max_size_bytes = "512MiB"
[vhosts.cache.disk]
enabled = true
backend = "storage-bin"
path = "/var/cache/fluxheim/example"
max_size_bytes = "100GiB"Known Limits
- This release implements exact bounded range caching, not multi-slice assembly.
If production needs Varnish-style slice composition for arbitrary large
object ranges, that can move into a later media-edge/cache extension line. - Suffix ranges (
bytes=-N), open-ended ranges (bytes=N-), and multi-range
requests are intentionally not admitted to the range cache. If-Rangerequests stay on the normal path so validator-match and
validator-mismatch behavior remains controlled by the existing full-object
range handling.
Checksums And Signatures
- Commit:
e56a1da27511ff94740b8e397eb23b9178cb2112 - Local gate: GitHub CI green before tag; local release metadata checks passed
- CodeQL/code scanning: no open release-blocking alerts before tag
- Source archive checksums:
e12f9685dda289a34249bb64db85a9fe5adee6b8ea65f5bc830b64e932c06baa fluxheim-1.2.5.tar.gzd76f745d74bde764a55d7edad5c97fa9ff842232a7a17ad09486e6a465caffe0 fluxheim-1.2.5.zip
- Binary checksums:
9f650fa2dde4d8f839633b8ad135c1719a65df04d0aa57ac216e10fa78bb7d28 fluxheim-1.2.5-full-x86_64-linux.tar.gz01507b7df25554db5cc8ee1656ebad008adc475c5241e310db1b8a10480d5b90 fluxheim-1.2.5-cache-x86_64-linux.tar.gz
- SBOM checksums:
67a0c8ecf445e82479b3d081c47567f27a3f036c6e605c3d7840456f91bd5308 fluxheim.spdx.json22f545f16eec2e6e63d80e56a9804b4372f1ccb12dbb7ae5b2289717a0af39c4 fluxheim.cyclonedx.json
- Reproducible build:
e9c9b6ee1da80c358d6fa0d85f295a572c630018c09d92df9a1953df057a7618
- Full Build Container digests:
- Wolfi:
ghcr.io/valkyoth/fluxheim@sha256:227b57747b26bfc6039931cbc71dd54b6cb027c8d92a0c05f91eff482897a2b2 - Alpine:
ghcr.io/valkyoth/fluxheim@sha256:8e81204541a1f5cc73ac40974e1a8529eb21e82489c97739f3a5ac83fced0b1b - SUSE Micro:
ghcr.io/valkyoth/fluxheim@sha256:4d26a609dafc9fbc0c14b2f870a3dedf4cc2f4233150a42246cb4051a482f379 - Debian:
ghcr.io/valkyoth/fluxheim@sha256:3f1bf581732771a17c1f4645c36d386af65ac52fea0bae7fde4c183881a8bbd7
- Wolfi:
- Cache Build Container digests:
- Wolfi:
ghcr.io/valkyoth/fluxheim@sha256:86bc69cb89781700ae24c0108bc19341d3d1f69e2d0b154704f916f3663094ab - Alpine:
ghcr.io/valkyoth/fluxheim@sha256:20ac6ff9402bdd2c4632bef0c468018ee4569c772dc2fff5b11e08f17ed6a19f - SUSE Micro:
ghcr.io/valkyoth/fluxheim@sha256:397191460732f94dc5d54977116edbd580d91b90b252de7df93d664820e0a0a6 - Debian:
ghcr.io/valkyoth/fluxheim@sha256:1e344fa0ec36c6cf5b3ddfc4096e36f2ced2fac34675e0c2e36dbe043bee1f20
- Wolfi:
- Tag signature:
Good "git" signature for 1921261+eldryoth@users.noreply.github.com with ED25519 key SHA256:EoLRQ5k4J5pYz3UMFmkrV798gYFNkToGS2xEPvebqB4