1.24.5 — Version-aware MojoSec lifecycle during framework deploys
Editorial identity incomplete
2026-09-09
django-mojo 1.24.5 prevents long-lived MojoSec sensors from silently continuing to run old framework code after an upgrade. Deployments now refresh an already-active stale sensor, prove its process generation and loaded version, repeat the operation for rollback and recovery, and preserve the rule that observer failures never veto application deployment.
Added
- MojoSec’s on-node status now reports the loaded django-mojo version and kernel-backed process generation, allowing operators to distinguish installed code from the code actually running.
Changed
- Node diagnostics now report installed-versus-loaded MojoSec drift, process age, and durable refresh outcomes.
- Audit diagnostics hash the exact loaded rule bytes and accept systemd’s lowercase capability rendering without hiding genuine policy drift.
Security
- Framework deployments now refresh an already-active MojoSec sensor when its loaded code is stale or cannot be proved current. Candidate activation, rollback, and interrupted recovery use one bounded, duplicate-safe attempt.
- Refresh failures remain visible in root-owned durable evidence but cannot fail or roll back an otherwise healthy application deployment.
- Inactive sensors remain inactive, and no calendar-based restart policy is added.
Upgrade notes
- No migration or configuration change is required.
- The first upgrade adopts refresh when the new candidate activation begins. If an older updater is interrupted before that boundary and diagnostics report version drift, restart sensors one node at a time or complete the next deployment.