Skip to content

1.5.10.2149

Latest

Choose a tag to compare

@fog-workflows fog-workflows released this 30 Jul 18:02
df82a45

Pull Requests

  • Add Japanese translation by @mashiro-mikage in #870
  • Document 1.5 LDAP nested-group migration gap as wontfix and direct users to 1.6 by @mastacontrola with @Copilot in #894
  • Make the str_contains() polyfill agree with the function it replaces by @mastacontrola in #901
  • Stop the installer reporting failures on a successful upgrade by @mastacontrola in #902
  • Resolve the DB unit to one name instead of three by @mastacontrola in #904
  • fix(web): stop isLoaded() gates poisoning association writes (1.5 port) by @mastacontrola in #912
  • Add isDirty() to stop assocSetter() re-diffing untouched associations by @darksidemilk in #918
  • ci: add push-triggered stub delegating to fog-workflows version check (dev-branch) by @darksidemilk in #923
  • docs: link Version Sync Automation doc from README by @darksidemilk in #929
  • sync branches by @darksidemilk in #936
  • refactor(githooks): make fog-version.sh a pure compute, add apply script by @darksidemilk in #931
  • feat(githooks): skip apply-fog-version.sh entirely when nothing drifted by @darksidemilk in #937
  • docs: add current-version badges for stable/dev-branch/working-1.6 by @darksidemilk in #942
  • Stable Release PR For 1.5.10.2149 - 2026-07-30 by @fog-workflows[bot] in #951

Full Changelog: 1.5.10.1903...1.5.10.2149


Commits

  • Add Japanese translation (7d73d9f68)
  • Update messages.po (a0a87c242)
  • Update messages.po (b55c0919d)
  • Update functions.sh (ed2c8b527)
  • add ja to function for redhat (846b42cd0)
  • Update messages.po (6dd592e9c)
  • いくつかの翻訳を追加 (83edfea6f)
  • Update messages.po (55bfe31b5)
  • Merge PR #870: Add Japanese translation (1eca5450b)
  • Fix silent failure and data loss when moving captured images out of /images/dev (edb467547)
  • Fix uncaught ValueError 500 when a storage group has no nodes (a7be9a645)
  • Harden FOG client endpoints against empty-collection crashes (60edfd044)
  • Harden lib/fog against PHP 8 min()/max() ValueError on empty arrays (376f13a89)
  • Fix zero-byte HTTP 500 on PHP 7.4 from the mixed hint on Initiator::e() (10d4bce68)
  • Make the installer verify the web tier and the schema deploy (d9551e06b)
  • Guard multicast/imaging lookups against PHP 8 empty-array errors (fb247b0af)
  • Stop udp-sender when its session leaves the active set (6fb7ccada)
  • Stop resetting the multicast join counter on every poll (6d060fe34)
  • Persist multicast sender ownership and scope sessions to the owning node (fa999c8c1)
  • Close the multicast join window and stop reporting phantom deployments (9b53a409c)
  • Make the multicast port override a pool and enforce the session cap (e6afb75fb)
  • Tier schema-deploy authorization by credential channel (3d0b681d1)
  • Reconcile orphaned senders even when multicast is globally disabled (05dc69cda)
  • Close the GHSA-gj9f batch findings that are still live on 1.5.x (1bcfafb73)
  • Escape the inventory report display columns on 1.5.x (edc5322ec)
  • Stop a spoofable pre-auth request clearing a host's encryption key (fb2cc3ecc)
  • Escape the multicast sender command line at the sink (19682c75d)
  • Send the real path when the image path is the image file (d6ffb8c7c)
  • Reject '.' and '..' as snapin filenames here too (f008b9a97)
  • Stage only what the commit touches in the pre-commit PSR2 pass (8e30a2fdf)
  • Let a FOG Client recover from a lost authorize reply (8c9ea2976)
  • Stop passing null where an internal string parameter is expected (c82e5b919)
  • Initial plan (8a30ab788)
  • Document LDAP nested-group 1.5 wontfix limitation (03de85c26)
  • Let the rate-limit reply carry its meaning in the body, like the rest (217707d87)
  • Stop every non-AD login enumerating the whole group subtree (5ce3121e4)
  • Stop the one entry point that read raw superglobal input (e904a07d9)
  • Add the filter-field guard to 1.5 (17bedf0a0)
  • Make the filtered /names and /ids routes work on PHP 8 (c35b54599)
  • Vet only request filter keys, not PHP-built ones (78633f3c7)
  • Compile an uncompilable filter to 1=0, as 1.6 does (ac9e68da5)
  • Stop a closed session naming a sender that is already dead (919665769)
  • Read multicast service settings by name, not by position (cb2901992)
  • Read the other services' settings by name too (9fec3c224)
  • Initialise MasterIDs before reading it (b9ea2167c)
  • Say string, which is what group tasking returns (3149aa3a2)
  • Make the str_contains() polyfill agree with the function it replaces (4531858c3)
  • Stop the installer reporting failures on a successful upgrade (e4e5b806c)
  • Resolve the DB unit to one name instead of three (82a6a0b5d)
  • Send a split partition as one stream instead of one sender per chunk (cae235745)
  • Collect the chunks of a split partition for multicast (62ae16e8e)
  • Send multicast on the interface the node's address actually routes over (59c2954a2)
  • Skip a multicast session whose image is gone instead of killing the daemon (d68ba04f6)
  • fix(web): stop isLoaded() gates poisoning association writes (1.5 port) (c5affc40d)
  • Say the interface mismatch once, not every tick (1deba033d)
  • Add isDirty() to stop assocSetter() re-diffing untouched associations (725c5a75f)
  • Say what the storage node Interface field is for (12a6fc4a5)
  • Merge branch 'dev-branch' into isdirty-query-reduction-dev (8eaafb137)
  • Add isDirty() to stop assocSetter() re-diffing untouched associations (#918) (fd76e7616)
  • ci: add push-triggered stub delegating to fog-workflows version check (e2f0da997)
  • fix(schema): let the install token deploy a schema on an upgrade (1.5 port) (041bd38b5)
  • fix(service): let the supervisor actually reap and re-fork its child (85a7a13a5)
  • chore: disable FOG_VERSION check automation (self-triggering loop bug) (97fb5b61d)
  • refactor(githooks): extract FOG_VERSION math into a standalone script (8a311fa16)
  • fix(service): make daemon failures visible and halve recovery latency (ca63f9d11)
  • fix(githooks): exclude the bot's own fixup commits from FOG_VERSION's count (b1ff09ab4)
  • fix(githooks): anticipate the fixup commit's own +1 instead of excluding it (d26b9a6e7)
  • docs: link Version Sync Automation doc from the versioning section (68c33f418)
  • docs: fix Version Sync Automation permalink format (e01c156e0)
  • refactor(githooks): make fog-version.sh a pure compute, add apply script (2c64c7fea)
  • feat(githooks): skip apply-fog-version.sh entirely when nothing drifted (6db1f7f7a)
  • docs: add current-version badges for stable/dev-branch/working-1.6 (f978ef43d)
  • Dispatch getPartitions() on the instance, not statically (d8f46c450)
  • fix(service): bound the daemon DB read timeout (cfbb131b4)
  • fix(db): bound the web tier's DB read timeout too (99980fb9b)
  • fix(service): harden killTasking()/isRunning() against a dead process (266ba64cc)
  • fix local githook (d1824d9ec)
  • fix local precommit (d91d80cb2)
  • Adjust version display in readme (15d376930)

Closed Issues Since Last Release

  • 1.5 killTasking()/isRunning() throw on an already-exited process (PHP 8); 1.6 already hardened (#945)
  • Daemons hang indefinitely on a wedged MySQL: no read timeout, unit stays "active" doing nothing (#944)
  • Sweep $databaseFields for columns created by a later schema migration (#928)
  • working-1.6: upgrade from any released version deadlocks — schema deploy needs login, login needs schema 275 (ngmGraphColor) (#927)
  • Service_persist() can never reap its child: SIGCHLD is SIG_IGN, so waitpid() always fails and the re-fork path is dead code (#917)
  • Storage node Interface setting is ignored by multicast (msInterface written, never read) (#908)
  • Multicast daemon child exits silently when a queued session's image row is gone (#907)
  • Multicast silently skips Split 200MiB partition files (dNpM.img.NNN) (#898)
  • Multicast of Split 200MiB images sends only the first chunk of each partition (#897)
  • 1.5: every LDAP login on a non-AD directory enumerates the entire group subtree (#896)
  • Deleting a snapin orphans its tasks and leaves queued snapin jobs stuck forever (#895)
  • LDAP plugin has no LDAPS certificate-verification control, and the failure looks like an unreachable server (#893)
  • 1.5: LDAP nested-group setting is unreachable on any install predating the feature (no plugin schema migration path) (#892)
  • LDAP: every no-match login enumerates the entire group tree (#891)
  • checkcredentials.php returns HTTP 429 when rate limited, which may hide the #!rl body from FOS (#890)
  • management/other/index.php fatals when requested directly (#889)
  • Saving FOG configuration warns on an uninitialised $items (#888)
  • LDAP: every sign-in logs a full exception dump from a second unbind (#887)
  • LDAP: association tabs on the LDAP Group page never show a target as associated (#886)
  • LDAP: deleting a user, role or user group leaves orphan plugin rows (#885)
  • LDAP: resolve nested/transitive group membership (#884)
  • LDAP: map directory groups to FOG roles and user groups (#882)
  • Bug: Multicast task not killing itself after finishing task. (#820)
  • Multicast with multiple Storage Nodes (#815)
  • The "Accesscontrol" rule is missing in the Access Controls plugin. (#750)
  • multicasting do not wrok (#728)
  • User Tracker report producting out-of-memory error (#700)
  • Stop udp-sender processes when canceling a session. (#523)