Skip to content

Fluxheim 1.5.21

Choose a tag to compare

@eldryoth eldryoth released this 13 Jun 20:51
Immutable release. Only release title and notes can be modified.
v1.5.21
bf0526b

Fluxheim 1.5.21 Release Notes

Fluxheim 1.5.21 continues the UDP beta production-readiness line. The UDP
feature remains compile-gated behind udp-proxy, but DNS-style
request/response forwarding now has explicit pressure and observability
controls for safer testing.

Added

  • Added udp.routes.max_sessions_per_source to cap concurrent in-flight UDP
    datagram sessions per source IP.
  • Added udp.routes.max_responses_per_source_per_second to cap UDP responses
    per source IP per one-second window.
  • Added UDP Prometheus metrics:
    fluxheim_udp_datagrams_total, fluxheim_udp_drops_total, and
    fluxheim_udp_active_sessions.
  • Added admin UDP status at GET /_fluxheim/udp/status.
  • Added UDP passive upstream health controls:
    passive_health_enabled, passive_health_failures, and
    passive_health_ejection_secs.

Changed

  • dns-load-balance UDP routes now log a security warning when a beta route
    listens on a non-loopback address.
  • UDP request/response pools skip passively ejected upstreams while at least
    one ready member remains, with fallback behavior when the full pool is
    unhealthy.
  • UDP beta docs and smoke tests now describe and exercise the explicit
    per-source pressure controls.
  • UDP smoke coverage now verifies exact-cap responses are accepted and
    oversized downstream datagrams are dropped before reaching upstreams.
  • The stable release gate can run the UDP beta smoke with
    FLUXHEIM_GATE_UDP=1; set FLUXHEIM_UDP_SMOKE_ITERATIONS for longer local
    soak runs.
  • UDP response-rate limiting no longer scans the full tracked-source map on
    every response. The route now uses a current-window generation and clears it
    only when the second changes.
  • UDP passive-health fallback selection now scans at most the configured
    upstream count instead of the total weighted slot count when members are
    ejected.

Compatibility

  • Existing UDP beta configs continue to load; the new fields have bounded
    defaults.
  • udp-proxy is still not part of the normal release profiles.

Checksums And Signatures

  • Commit: bf0526b4fb1b37cfc33cf72ad41a47e3fa0056db
  • 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:
    • d128c0284cc99c88388e00e27725564be6de00c850ff03b512ba87f5e9584de4 fluxheim-1.5.21.tar.gz
    • 4e36064675ac371da3f6a4fffccdd05d987891f02090cbd44e15d12092296301 fluxheim-1.5.21.zip
  • Binary checksums:
    • x86_64:
      • 37edf500c563d55b4e69f1d82224e4b8a55d3583ef14121a719190276d026392 fluxheim-1.5.21-full-x86_64-linux.tar.gz
      • cde0905803d07d46249d3e395a579a8d039a7e640558015b62a83942bf68f0bd fluxheim-1.5.21-cache-x86_64-linux.tar.gz
      • f2aff758cef9d714b2eb76390be07b2e293619a90d4a28bf757fa3ba44022e08 fluxheim-1.5.21-proxy-x86_64-linux.tar.gz
      • bf5b91da53fb75538b6064f09c942ae6b907da5276561cdd89911f5f75674132 fluxheim-1.5.21-php-x86_64-linux.tar.gz
      • 3fb5df5ed378e138b9a5f3fca3aa82f3ec5bb0b44420a483d55ba09fcfea40b4 fluxheim-1.5.21-load-balancer-x86_64-linux.tar.gz
      • f8eff05670b45d3c8ff3fefe9c5299bd88bdea041b021c56e8928654445f76f3 fluxheim-1.5.21-config-tester-x86_64-linux.tar.gz
    • aarch64:
      • 2c43737a3c2b51b1558b59dd1ef8c37c2c16c77e0e258f2dcba132cd6257baf3 fluxheim-1.5.21-full-aarch64-linux.tar.gz
      • fc915ef30ff614c3d3167de1bac5dc8f094afa4c715d013c9904f5467c18900f fluxheim-1.5.21-cache-aarch64-linux.tar.gz
      • 560d7b5a88419d51cdf844112d22a2d203a6fe787b61112b776150c72907c1d9 fluxheim-1.5.21-proxy-aarch64-linux.tar.gz
      • f9fb9d59cd655bfd00b940e943e950c3056faa348aaa840230e1a579c651b7a7 fluxheim-1.5.21-php-aarch64-linux.tar.gz
      • aa6dac83302318f57a6fcad6c5f11903e03397864856d8715d623bf460bccd46 fluxheim-1.5.21-load-balancer-aarch64-linux.tar.gz
      • 2b3c336c6f20bf5309d32cec885db258a2df3b554bc45a9cd6a2e85b998a5e6b fluxheim-1.5.21-config-tester-aarch64-linux.tar.gz
    • macos:
      • 533f8252989f9a8d455f6f82259e965f1add011f8ab2ba744cb92277e305784c fluxheim-1.5.21-dev-aarch64-macos.tar.gz
  • SBOM checksums:
    • 108dc44377694cbe7c4bf840c257adfb907f52bb58921b1b8042803d62e41999 fluxheim.spdx.json
    • 24e1663976f7e61ad2596ca97bd5ce6227c9c06f6d45c547075f870f5351e746 fluxheim.cyclonedx.json
  • Reproducible build:
    • a1dad755b60e8f667ac98ff9352754ef706dc4b34e7900e5983b1100f052f38d x86_64
    • 2716cbf04f68988867a6672c7ec57cb4808ee7d4630e2b889b7a05aff77abe18 aarch64
    • 8210aea73ded9732fb325255e743121405f20dece920634f347cc209c4765193 macos
  • Full Build Container digests:
    • Wolfi: ghcr.io/valkyoth/fluxheim@sha256:a12cb63ecefa0e092dc9ba514415df3b4620099cc870e19d37a45cb64b0869ff
    • Alpine: ghcr.io/valkyoth/fluxheim@sha256:16e7b8a6098d89e97e9f1a597917b7cdab1c349a60520b1a1faf06637709debc
    • SUSE Micro: ghcr.io/valkyoth/fluxheim@sha256:227ddeb1c775d312add505d2c67ba18ce23532ca1d60b3ee5ff3085fc9bc5eb9
    • Debian: ghcr.io/valkyoth/fluxheim@sha256:1c1f851e33c24a40630627fcc002e8e22536afc4e0cdc0da255ddf64e7575552
  • Cache Build Container digests:
    • Wolfi: ghcr.io/valkyoth/fluxheim@sha256:7bacfde825a546f8a25de3c1dbd7cac547d78a1b76afc153f9d62db31c4e115b
    • Alpine: ghcr.io/valkyoth/fluxheim@sha256:141c42b8c376b711e1d1f6ee3165b83c9a73e5de5bf9cc73fb2599e218b558cc
    • SUSE Micro: ghcr.io/valkyoth/fluxheim@sha256:38ed5c049d5d88889a86b9c552427e204605d8c342154edb676f332c522ba018
    • Debian: ghcr.io/valkyoth/fluxheim@sha256:7e1a4bbbfb58495abead6d925d39592b056c949fb0eaf9538772360d09b0fe57
  • Proxy Build Container digests:
    • Wolfi: ghcr.io/valkyoth/fluxheim@sha256:4114ce3111ea00761a0d90940a96b9c8ef1034dd12f363e2f4ed637db3ee1fdb
    • Alpine: ghcr.io/valkyoth/fluxheim@sha256:0743771e19a8c87f3372442a35eb18505fb40220849eab56ee6bf04d5e12c3ac
    • SUSE Micro: ghcr.io/valkyoth/fluxheim@sha256:4c130f0d5488dfa9ad98817e7697f47cdadbce5eb0354a2c4846711a1d0f18c0
    • Debian: ghcr.io/valkyoth/fluxheim@sha256:93cc24371dc6997f1f996a52e4dac31e3a3478ce86f71e7e1fe6cda8eccc8b65
  • PHP Build Container digests:
    • Wolfi: ghcr.io/valkyoth/fluxheim@sha256:e33c2645fcdc16bc4ea0bee1272d90f5cd90273c40d626fc64eb868e591cb8d9
    • Alpine: ghcr.io/valkyoth/fluxheim@sha256:3c20c579182e4cb65e9eec11f890ba45ea93fb08f9d17d0b4af21ecf4f59e129
    • SUSE Micro: ghcr.io/valkyoth/fluxheim@sha256:118af8a61276086b56355f9ed766398d692bf1ecbc77ec49c5d98cbab446978c
    • Debian: ghcr.io/valkyoth/fluxheim@sha256:0f8d7f6c3884aa22c1a1961285972339ea60c2c369f6405d6afefa19830b2b0f
  • Load Balancer Build Container digests:
    • Wolfi: ghcr.io/valkyoth/fluxheim@sha256:61775fea830a5aa7036f3d4cdbeda235788f62c9019662c55b64717bf8933084
    • Alpine: ghcr.io/valkyoth/fluxheim@sha256:46fa14eb73aad7a4714192649bfc19f43ea05963918be74dbc1a6d0a1dafad93
    • SUSE Micro: ghcr.io/valkyoth/fluxheim@sha256:172fd21c2b76d84c8493ba9de6d52fcb1e934a91c323d888e044928c753a06d7
    • Debian: ghcr.io/valkyoth/fluxheim@sha256:52015279849002ce6bb11f29191c51fe720cfa682ef0ea85dfa7ef568d90219d
  • Tag signature:
    • Good "git" signature for 1921261+eldryoth@users.noreply.github.com with ED25519 key SHA256:EoLRQ5k4J5pYz3UMFmkrV798gYFNkToGS2xEPvebqB4