Skip to content

Fluxheim 1.5.22

Choose a tag to compare

@eldryoth eldryoth released this 14 Jun 08:35
Immutable release. Only release title and notes can be modified.
v1.5.22
7015707

Fluxheim 1.5.22 Release Notes

Fluxheim 1.5.22 continues the crate-boundary preparation work for the later
1.6.x Pingora-removal line. Runtime behavior is intended to remain unchanged;
the focus is keeping cache/load-balancer domain logic behind Fluxheim-owned
interfaces before the HTTP runtime is replaced.

Changed

  • Load-balancer persistence key extraction now consumes a Fluxheim-owned
    request view trait instead of depending directly on Pingora request headers.
  • The existing Pingora RequestHeader support remains as an adapter at the
    load-balancer API boundary.
  • Managed-cookie persistence tests now run against a local Fluxheim request
    view, proving the persistence module can validate cookies without a Pingora
    request object.
  • fluxheim-web symlink-detection tests now use repository-local,
    component-validated test paths from the shared test-support helpers. This
    resolves CodeQL path-expression alerts in test setup/cleanup code without
    changing static-web runtime behavior.
  • Cleartext TCP health checks now use a Fluxheim-owned Tokio connect probe.
    TLS TCP health checks intentionally keep the existing Pingora transport
    connector so SNI/TLS handshake behavior stays unchanged in 1.5.22.
  • Cache request bypass, client revalidation, and range-selection decisions now
    run through a Fluxheim-owned cache request view. The root proxy cache module
    keeps a small Pingora RequestHeader adapter, so cache behavior is intended
    to remain unchanged while the cache crate owns more policy logic.
  • Cache response admission decisions for status, content type, response
    no-store policy, Vary handling, and range responses now live in the cache
    crate. The proxy cache module still exposes the same adapter functions for
    the existing Pingora response path.
  • Cache storage interface result enums for purge type and miss completion now
    live in the cache crate. Pingora PurgeType and MissFinishType conversion
    stays in the root adapter layer.
  • Range and slice cache-key component construction now uses a cache-crate
    helper, leaving the proxy cache module to adapt only Pingora's cache-key
    container.
  • UDP beta passive health now ignores local downstream drop conditions such as
    per-source response-rate limiting and oversized upstream responses. Only
    genuine upstream connectivity/timeout failures can contribute to passive
    ejection, and passive-ejection warning logs are rate-limited.

Compatibility

  • No configuration changes.
  • No load-balancer persistence behavior changes are intended for source-IP,
    URI, header, cookie, or managed-cookie persistence.
  • pingora-load-balancing and pingora-cache remain in the build graph for
    1.5.22; actual dependency removal is reserved for the 1.6.x line.

Checksums And Signatures

  • Commit: 7015707b9d77b67ae70d48694fec96f08103b060
  • 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:
    • 7714149d689203e79922a7438aecd4f860c0920876e6da84d2ff7048838c53ea fluxheim-1.5.22.tar.gz
    • 5382d877dd2827220fe3e9eb2301e08452d5619b68cb459536b3526c6f342578 fluxheim-1.5.22.zip
  • Binary checksums:
    • x86_64:
      • 3dcdfb258e3d0f6322c1128a78a2f1a595e4284101869377499911114b49eb91 fluxheim-1.5.22-full-x86_64-linux.tar.gz
      • b7e7568bb350332825ebd40123c18ce7324848c85296c548d83b4ae19ce26738 fluxheim-1.5.22-cache-x86_64-linux.tar.gz
      • 3018277e5dc7942db7b47097eebedebfdd22428db390ebdb0a5aab687925365c fluxheim-1.5.22-proxy-x86_64-linux.tar.gz
      • e15d4ac9eba3b6a19194bdbe3272ad70e36d6e3754bd90cf3358e9d4e5a2ea6e fluxheim-1.5.22-php-x86_64-linux.tar.gz
      • 33a50a565c2365d13e0a78d337630ff86465cfbadf70723b662931394a544ffc fluxheim-1.5.22-load-balancer-x86_64-linux.tar.gz
      • 324e7c48fd63df5f726d8db31a88c3d823462806cfa8e4fbe1820356fd8004f6 fluxheim-1.5.22-config-tester-x86_64-linux.tar.gz
    • aarch64:
      • 587452cee55cd422c6f61586a012ed08428563e1985627ec69d368b151528304 fluxheim-1.5.22-full-aarch64-linux.tar.gz
      • 65bff78fbf710093a3c0a3d0bb933db8c780f299afd4b57328145920ea32a8d3 fluxheim-1.5.22-cache-aarch64-linux.tar.gz
      • df0c07d7292efbcd4f3d947f74aa5afefa1d249af8c412bf4ecccff4d4237fc9 fluxheim-1.5.22-proxy-aarch64-linux.tar.gz
      • 35c993751113c89a837b6b768c86ae1667c6923431168b6633415d0aae9f58fa fluxheim-1.5.22-php-aarch64-linux.tar.gz
      • 4e640850db94935b5f179011de29894bf4ac3bd041dd810f1ec590142604c2c4 fluxheim-1.5.22-load-balancer-aarch64-linux.tar.gz
      • 1bf3ef0fec4263123f6ca1b7865f0bb0b66fdb9787e889380e6235aa7c9e1077 fluxheim-1.5.22-config-tester-aarch64-linux.tar.gz
    • macos:
      • 012881d65aea2ff34b283772a6e6cdafba9c1973adc51342d09d9283f6ce5f14 fluxheim-1.5.22-dev-aarch64-macos.tar.gz
  • SBOM checksums:
    • 51d63c4b04cff2fdc66490f49957295432b5c00e4c52e1933fe98b9b36c0b0ed fluxheim.spdx.json
    • dbcf34fe55b37a0018f274ed822c2c1dc7f07485436fe5199f84f67598f26a6f fluxheim.cyclonedx.json
  • Reproducible build:
    • 6afa46e0273b906f6e2a6b9d4defcb57e04ca881603a155dd1e50ae4f1e14555 x86_64
    • 4b3a61fd7cfdda7aeb6f0724eefbd525eabfc18daeb2e718aea0dac0fe05fc94 aarch64
    • ac42491093fc4f2c9c0412e018534a8137edb1b1175db10889b86e5dbc35e942 macos
  • Full Build Container digests:
    • Wolfi: ghcr.io/valkyoth/fluxheim@sha256:2bd1abff3252bc95977b01e9571671d0fa033d622874ccf73686e3b17caeb51f
    • Alpine: ghcr.io/valkyoth/fluxheim@sha256:8d0039f81e471663831200780c34b4941044a30580322fcd0b3fa0090ad9e139
    • SUSE Micro: ghcr.io/valkyoth/fluxheim@sha256:0a6d59ae92dbdf165334d94b7c84909c08b8e8b142dbaeee57442546d5105c7f
    • Debian: ghcr.io/valkyoth/fluxheim@sha256:189d8fa9d8e36a963dee965ae20f637b412a97e3ec23ebafad7ce7c7359be3fe
  • Cache Build Container digests:
    • Wolfi: ghcr.io/valkyoth/fluxheim@sha256:49a1f6489c8567f85588481a01d02243ab6d8798f2b2acceb6ff305b83117e36
    • Alpine: ghcr.io/valkyoth/fluxheim@sha256:332643bfdcc9441bff81bde08448ab9f32751b0e9665596b9d74b0d9126d1bf3
    • SUSE Micro: ghcr.io/valkyoth/fluxheim@sha256:47a057c5aaf1a15114a45e54e5a689102a7ca3ac83ad7b6f7cda77d9e56107aa
    • Debian: ghcr.io/valkyoth/fluxheim@sha256:e9cb1739ef543f4f1f8bbeea8c1a0725f8c59d32b8a5a9c7958e027b2c98aa83
  • Proxy Build Container digests:
    • Wolfi: ghcr.io/valkyoth/fluxheim@sha256:2dd8e485a93ca4a13cd830a19be1540c2f9cb535ab046c0e6ce9d3813cc51681
    • Alpine: ghcr.io/valkyoth/fluxheim@sha256:10eec7895d90036c3e7bd3d9bbe0928f9fa824ba5335926726609a1af97ba8a8
    • SUSE Micro: ghcr.io/valkyoth/fluxheim@sha256:cbb99ded198ea7c2d784bf9447a6840ce22c900edd5bf90a54bcf60dfcef735a
    • Debian: ghcr.io/valkyoth/fluxheim@sha256:0b903b9df6f8d4391aa839f2ad45819854d183cc9fd03439cf7c895864bcd25d
  • PHP Build Container digests:
    • Wolfi: ghcr.io/valkyoth/fluxheim@sha256:0e065ca7bbd29a8bdd99cf4e06ca7f4339dd9920a805c8ec2a1a8b4c708a8335
    • Alpine: ghcr.io/valkyoth/fluxheim@sha256:664c80a8e8e9851372dbd81e7c5b5c8c428fec1d4a8da8edfd56c37effa4b2dd
    • SUSE Micro: ghcr.io/valkyoth/fluxheim@sha256:019975106bb007353fde90a0c1b771e321de08787857ad8c32b7edde739e0596
    • Debian: ghcr.io/valkyoth/fluxheim@sha256:5c24ff9a0c3a15b062a8781d78a236a051c0777d4ee1a8ad6d217604f1384f93
  • Load Balancer Build Container digests:
    • Wolfi: ghcr.io/valkyoth/fluxheim@sha256:3e49f6f77e9995fd9fe8797f7cb362585d4a6b46fe6a83c2d6f9e759d36b1053
    • Alpine: ghcr.io/valkyoth/fluxheim@sha256:132f0f34d27799ae574cb1cfceb97ce268c551424904013cc5a704c2985121f4
    • SUSE Micro: ghcr.io/valkyoth/fluxheim@sha256:04d5c340af54863b34920a5a06a69ff1a4424e52908f355e323374adf35cb884
    • Debian: ghcr.io/valkyoth/fluxheim@sha256:44eeec586042018aef12a3d704dfca4d983803c3584a7a32bbbd13cd5b83ec15
  • Tag signature:
    • Good "git" signature for 1921261+eldryoth@users.noreply.github.com with ED25519 key SHA256:EoLRQ5k4J5pYz3UMFmkrV798gYFNkToGS2xEPvebqB4