--- title: "1.24.9 — Unambiguous JobEngine audit lineage" description: "django-mojo 1.24.9 makes JobEngine invoke application runners through the already-selected absolute Python executable. This removes the /usr/bin/env PATH-search exec chain that could make legitimate scheduled firewall work look ambiguous to MojoSec and flood the central security stream. No migration…" date: "2026-09-09" tags: ["release"] canonical: "https://django-mojo.sitesmojo.com/changelog/1-24-9/" --- django-mojo 1.24.9 makes JobEngine invoke application runners through the already-selected absolute Python executable. This removes the /usr/bin/env PATH-search exec chain that could make legitimate scheduled firewall work look ambiguous to MojoSec and flood the central security stream. No migrations or consumer code changes are required. ### Fixed - JobEngine now starts application runners through its current absolute Python executable, preventing portable `/usr/bin/env` shebang resolution from producing competing Linux Audit exec generations for one launch. ### Security - JobEngine refuses to spawn when its selected interpreter is missing, relative, or non-executable, preserving exact executable provenance instead of falling back to PATH resolution. ### Upgrade notes - No migrations or consumer code changes are required. Restart the deployed JobEngine and scheduler after upgrading so new processes use the direct launcher.