Skip to content

Fluxheim 1.2.5

Choose a tag to compare

@eldryoth eldryoth released this 14 May 11:43
Immutable release. Only release title and notes can be modified.
v1.2.5
e56a1da

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.enabled and range.max_bytes controls. range.max_bytes must
    be greater than zero and no larger than cache.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 matching Content-Range and Content-Length metadata.
  • Rejected unkeyed upstream 206 Partial Content responses 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-Range requests 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.gz
    • d76f745d74bde764a55d7edad5c97fa9ff842232a7a17ad09486e6a465caffe0 fluxheim-1.2.5.zip
  • Binary checksums:
    • 9f650fa2dde4d8f839633b8ad135c1719a65df04d0aa57ac216e10fa78bb7d28 fluxheim-1.2.5-full-x86_64-linux.tar.gz
    • 01507b7df25554db5cc8ee1656ebad008adc475c5241e310db1b8a10480d5b90 fluxheim-1.2.5-cache-x86_64-linux.tar.gz
  • SBOM checksums:
    • 67a0c8ecf445e82479b3d081c47567f27a3f036c6e605c3d7840456f91bd5308 fluxheim.spdx.json
    • 22f545f16eec2e6e63d80e56a9804b4372f1ccb12dbb7ae5b2289717a0af39c4 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
  • 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
  • Tag signature:
    • Good "git" signature for 1921261+eldryoth@users.noreply.github.com with ED25519 key SHA256:EoLRQ5k4J5pYz3UMFmkrV798gYFNkToGS2xEPvebqB4