Skip to content
NEW:
[ClamAV] Malware scans may be bypassed using an environment marker. See ModSecurity.md.
[DNS] Bulk record replacement. Arguments can take the form of a closure or bare Record object to replace individual parameters or record entirely. See PowerDNS.md and DNS.md docs.
[OS] AlmaLinux + Rocky Linux support. Convert using cpcmd scope:set system.distro alma or cpcmd scope:set system.distro rocky
[PowerDNS] SOA bulk updates.
[stats] release()- OS identification.

FIXED:
[apnscpd] foreground launch fails when launched without systemd.
[Laravel] database may not be available on rollback.
[Nexus] Deselecting boolean always defaults to true.
[Opcenter] Switching apache,webuser leaves resident prior user processes. Preserve non-system user.
[Process] preserve 0/1/2 file descriptors. POSIX guarantees these FDs exist, but not how it's rendered. Restore former flags after execution.
[Quota] Incorrect strict type comparison in amnesty mode.
[PHP-FPM] Ownership change doesn't restart pool.
[Webapps] Early gc_collect_cycles() call results in callback execution prior to metadata commit.
[Webapps] Reindexed numeric global subdomains.
[WordPress] y/n prompt re-enabling SSO defaults to N.

CHANGED:
[Auth] Forward authenticated() call to respective auth handler. Override authenticated() method for CLI auth module. All commands are implicitly authenticated. Possibly resolves session ghosting errors that occur when switching roles and \Auth::authenticated() attempts to resume the session created at invocation.
[Auth]  Unauthenticated AJAX requests return 403. 403 has confers the intended effect of halting further AJAX requests in the timeout loop.
[Filesystem] Add glibc-langpack-en for non-English installs.
[ClamAV]  Whitelist foxhole signatures that result in a high rate of false positives: JS_Zip_19, JS_Zip_21, JS_Zip_23, JS_Zip_24.
[DigitalOcean] Skip broken SOA record.
[dns] get_records_external()- graceful error if no viable resolvers could be used
[Majordomo] Flip default action to subscription management.
[Majordomo] Rewrite From: address on mailing list submission such that DKIM/DMARC policies are preserved. This requires majordomo 1.94.5-2 available in apnscp-updates repo.
[Opcenter] expose CLI configuration in validator option "runtime".
[PHP-FPM] Bypass PHP-FPM regeneration unless --reconfig is specified or service class changes.
[pman] run() uses "runuser" instead of su for faster invocation.
[Process] killUser() accepts second parameter, $gid, to further restrict process by gid.
[Rampart] blocking a connection sends a RST packet to force a connection hang-up.
[Scopes] trim cp.config strings.
[Setup Instructions] Add DKIM DNS record.
[Utility] strip 1 layer of quotes on type inference. Cleans up UI presentation in cp.config.
[Webapps] Fortification removed from Passenger-based apps.
[Webapps] .gitignore accepts per-app overrides.
[WordPress] duplicating a site now copies snapshot settings.