Skip to content

Fluxheim 1.3.7

Choose a tag to compare

@eldryoth eldryoth released this 23 May 18:52
· 996 commits to main since this release
Immutable release. Only release title and notes can be modified.
v1.3.7
9b44173

Fluxheim 1.3.7 Release Notes

Fluxheim 1.3.7 is the production PHP-FPM completion release for the 1.3 line.
It keeps PHP application hosting on the stable FastCGI/php-fpm path and removes
the reserved pure-Rust PHP/phprs track from the release plan.

Highlights

  • External php-fpm remains the default and fully supported deployment mode.
  • Added managed php-fpm process supervision under the existing php-fpm feature,
    not as a new Cargo runtime feature. Managed mode now includes a watchdog that
    respawns the php-fpm master after post-start crashes with bounded backoff.
  • Managed php-fpm starts with a cleared inherited environment and sanitized
    PATH, generates private pool state, and shuts down with SIGTERM before
    SIGKILL.
  • Managed php-fpm teardown is detached from Tokio worker threads, shutdown is
    observed during respawn socket waits, and restart backoff uses the actual
    successful socket-ready timestamp so crash-loop detection is stable.
  • Exposed managed mode as a runtime config choice in [vhosts.php.fpm], with a
    small auditable surface for binary path, private socket directory, worker
    count, max-request recycling, static/dynamic/ondemand pool sizing, request
    lifecycle controls, slowlog diagnostics, output/env toggles, optional
    session/upload temp paths, optional worker user/group, and generated pool
    files.
  • Reuses the existing FastCGI request/response path so WordPress, Laravel,
    Symfony, phpBB, XenForo, MediaWiki, MyBB, and Flarum behavior remains aligned
    with normal php-fpm deployments.
  • Added clear config-tester and runtime diagnostics for missing php-fpm binaries,
    unsafe managed directories, process start failures, and FastCGI request
    failures.
  • Extended scripts/smoke_wordpress_php_fpm.sh with external, managed,
    both, managed-static, managed-dynamic, managed-ondemand,
    managed-respawn, and managed-all coverage. The both mode runs the same
    WordPress install, login, cookie, redirect, and admin-dashboard flow against
    operator-managed php-fpm and all Fluxheim-managed php-fpm process manager
    modes, while managed-respawn kills the php-fpm master and verifies recovery
    without a Fluxheim reload.
  • The recommended Wolfi PHP image now installs php-8.5-fpm and uses a
    managed php-fpm container config by default, making it directly usable for
    single-container PHP sites that mount content under /srv/fluxheim.
  • The 1.4 roadmap now consolidates production proxy parity into a compact
    line: edge policy/compression, upstream resilience, TLS/protocol parity, and
    discovery/mirroring/operator hooks.

Out Of Scope

  • phprs / pure-Rust PHP integration. Managed php-fpm now covers the intended
    zero-admin PHP deployment model without adopting an immature PHP interpreter.
  • Embedded PHP/libphp or Turbine-style in-process PHP runtimes. Turbine-style
    app servers remain normal HTTP upstreams for Fluxheim to reverse-proxy.
  • Persistent php-cli stdin/stdout worker protocols for production PHP apps.
    Production mode should use php-fpm semantics and request isolation.

Checksums And Signatures

  • Commit: 9b441736a6b6ff402edbb7f295dc09561366aef3
  • 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:
    • c00f3724064667d2c7c085fe3bb686493a16f765b3f9493ea7991f1d1a111fbc fluxheim-1.3.7.tar.gz
    • ada736db622755e7b5991e2645a6d1e5352327e084958d0c48fd7a47e872a598 fluxheim-1.3.7.zip
  • Binary checksums:
    • 196a4924abc05b57d9a2f9a17e441a6a0965b6a778b707e70c2e0ef2716ea57d fluxheim-1.3.7-full-x86_64-linux.tar.gz
    • 5ec29e7649fa504588ba2efb64f5220efea75d19fee81a1b5345c3ef514a04f8 fluxheim-1.3.7-cache-x86_64-linux.tar.gz
    • bc39fed6b6e8067728f05c28c4500819f0c77e4586e247513341b34237e2ab7a fluxheim-1.3.7-proxy-x86_64-linux.tar.gz
    • 9658ad7c889a4342abaabadc8f8224ae54fe22b13cf31924ea7947a6f28a010b fluxheim-1.3.7-php-x86_64-linux.tar.gz
    • 56a6e596a15ce66e28974bc780e9de2e132a7d9ca0e256873706fc39b3f93d07 fluxheim-1.3.7-config-tester-x86_64-linux.tar.gz
  • SBOM checksums:
    • 3ce09d83b1e4e5b019e1ef5c99b4627e1bea69e2ffb78c7066c75a2afc607a25 fluxheim.spdx.json
    • eca1b931de9817ce2b438bd7e5da4b4fae50921d8d2c76366eadf05ae0caeec1 fluxheim.cyclonedx.json
  • Reproducible build:
    • 8c7a725f406e9575882c7c77ff4b3c6be2d2600ad54ddcecb2e4eddc3ae7eb08
  • Full Build Container digests:
    • Wolfi: ghcr.io/valkyoth/fluxheim@sha256:0665250c3a47a451ade9c36b1ef78f9a9447e2089a5bd2646c8f5054744e17b7
    • Alpine: ghcr.io/valkyoth/fluxheim@sha256:3363f375b1b364fd67a64842b9227fffb32a605ed39295f3efc834912d4df2d4
    • SUSE Micro: ghcr.io/valkyoth/fluxheim@sha256:33aa5950d5b77ff11699748ae07a26a8e9c0b1c5fb07660afadd9c4e5ade47ca
    • Debian: ghcr.io/valkyoth/fluxheim@sha256:5090501332e49211a70c0ab7be1558403b0b88bb17f47b777851dafc6389932f
  • Cache Build Container digests:
    • Wolfi: ghcr.io/valkyoth/fluxheim@sha256:1fd28e4ca1beaee8092a637f011370eb2b11f2e2a2bd162e3a2a192d9da89554
    • Alpine: ghcr.io/valkyoth/fluxheim@sha256:88395a4deb52a01b4d5aae942968e199568b702cb076b98ad9e53ad44f3aecaf
    • SUSE Micro: ghcr.io/valkyoth/fluxheim@sha256:af32e0fd543c68179713703e778768b933bad4f986c56fb00cf75c11be9938b5
    • Debian: ghcr.io/valkyoth/fluxheim@sha256:bd7fb2170ddb1fa5b39611f1c73186d77e5fbe88e2e054a50466abce7d8b3cf8
  • Proxy Build Container digests:
    • Wolfi: ghcr.io/valkyoth/fluxheim@sha256:617df23e8578a1918749e2ca7b1e0628fdb402aca9c474135a72ae5ea818e93a
    • Alpine: ghcr.io/valkyoth/fluxheim@sha256:643ef0eb9b9b79e55bd6a4cf1712bd76f4425e67c3c3474302bb0c88d74e0c19
    • SUSE Micro: ghcr.io/valkyoth/fluxheim@sha256:a499161f71fd843d94933219702705b3e6ef1ff185f309088f26465fc62574a5
    • Debian: ghcr.io/valkyoth/fluxheim@sha256:08afb29e470ff2cfa9a5f5ae98ccc7453a6d82574406e48242787cc78bb5e4f9
  • PHP Build Container digests:
    • Wolfi: ghcr.io/valkyoth/fluxheim@sha256:43a8da5f3f00c4daa0bbc4e83985599d6f0317ce882e6b072835d862d6cd2369
    • Alpine: ghcr.io/valkyoth/fluxheim@sha256:8235a93cc2471224a09fe230ad70fbbfda0d0dec6a6223be4002ac5f1ee487b6
    • SUSE Micro: ghcr.io/valkyoth/fluxheim@sha256:051057cc99bae7984d475caf1e2dbe44d423d653a8e84d531f46f2b2d8473cad
    • Debian: ghcr.io/valkyoth/fluxheim@sha256:2f20f5416141ba75f720279e7d30d90f2bad37f7d476a6e2aac5311e0ab165df
  • Tag signature:
    • Good "git" signature for 1921261+eldryoth@users.noreply.github.com with ED25519 key SHA256:EoLRQ5k4J5pYz3UMFmkrV798gYFNkToGS2xEPvebqB4