-
v3.1.1001c044ab · ·
[Metrics] preview release, cpcmd scope:set cp.config telemetry enabled 1 [API] misc:command-info()/misc:i() dumps introspection on a command, similar in usage to misc:list-commands() [Nexus] multi-selection on domains, scope support to periodically purge suspended domains via opcenter.account-cleanup [DNS] add_record_conditionally()- honor RFC 1912 § 2.4 CNAME rules [Web Apps] search function [Artisan] new make:scope command [Databases] properly remap definers on views/triggers/events/procedures through "best-effort" target user or account admin [Web Apps] Release Fortification mode now always available
-
v3.1.94b299447 · ·
[Bootstrapper] improvements to unsafe text handling in Ansible 2.9 [Core] DEBUG=1 environment variable enables debugging for the life of the request [Postfix] disable deep protocol inspection tests, reduce bad SASL cache duration to 30 minutes [Migrations] read "documentroot" metadata to determine addon/subdomain locations. Follow historic "shell" paths for user mail in cPanel backups. [apnscpd] disable realpath cache [rspamd] package dependency relocation [wordpress] report database credentials in the presence of custom error handlers [config] support vanity nameserver configuration in [dns] => vanity_ns [dns] import_from_domain() clones DNS records from hosted domain [dns] export()/import() visibility opened to admin
-
v3.1.823d58d0e · ·
[Bootstrapper] Ansible 2.9 compatibility changes. IPv4, IPv6 detection checks routable interface for accessibility. Use Mitogen where available. MySQL password recovery now attempted as needed. [upcp] switching from edge to major/minor resumes from last known branch deviation [php] migrate_directives()- move PHP directives between ISAPI/FPM environments [cgroups] resolve higher order devices (> 255 such as NVMe) generate exception
-
v3.1.71d675f2e · ·
[Bootstrapper] Mitogen, Ansible 2.9 compatibility changes [Bootstrapper] add abbreviated playbook for prebuilt images [AJAX] disallow user function invocation outside webapp path [DNS Manager] Toolbox feature now works with admin [cpcmd] -l/--list-commands feature to display all commands for role [Migrations] ensure html/ has public accessibility
-
v3.1.4142106f0 · ·
[Helpers] DeleteDomain --since=timespec, --dry-run. "--since" removes suspended domains older than spec. "--dry-run" explains removal without processing. [Build] clean.sh cleanup release for imaging (see https://hq.apnscp.com/accelerating-apnscp-install/) [DNS] zones now use Blade template [Layout] further subdivide master layout into partial themes. Allow overriding of layout per theme (see Customizing.md) [Nexus] disabled services remain disabled on failure [Summary] SSL state incorrectly reported as disabled [DNS Manager] validate email service enabled prior to applying MX reset [PowerDNS] update module [Opcenter] domains may duplicate database prefix [Logging] [core] => bug_report always appends From: header
-
v3.0.63464fabfe · ·
[Scopes] apache.evasive-wordpress-filter sets strict xmlrpc/wp-login POST limits [Opcenter] plans now support partial overrides [Rampart] fail2ban v0.10 compatibility [Scopes] Static file + WordPress filters customizable templates (see docs/admin/Evasive.md) [Bootstrapper] quota build applied incorrectly on / mount instead of /home [Opcenter] improve failed account resiliency. Unhandled exceptions reported on failed creation [Bandwidth] updating bandwidth,threshold properly updates database record [Wordpress] Fortification applies mutual read-write permissions to upgrade/
-
v3.0.62f7ba0b92 · ·
[PHP] update internationalization build deps [CLI] suspend resumption effectively resolving unpredictable "Session corruption" error [cPanel] handle case where SHELL is without quotes. Soft fail is dnszones/ is missing from backup [fail2ban] decrease database retention duration from 90 days to recidive duration + 5 days [Modules] .pgpass missing provisioning on account creation [Modules] admin:collect() accepts second parameter, filter param e.g. cpcmd admin:collect null "[ssh.enabled:1]"
-
v3.0.61765fb43c · ·
[SECURITY] xss in gecos in Manage Users, file:reset-path() operates on referent instead of link [Bootstrapper] system/sysctl improperly handles empty values in Ansible 2.8.4 [Quota] disabling disk quota no longer disables inode quota [DNS] changing the primary domain fails ownership check [DNS] email:get-records() renamed to provisioning-records() for consistency with dns:provisioning-records() [apnscpd] backend lockups recover faster
-
v3.0.60b83b2cc2 · ·
[Laravel] fix "min" Fortification application [Migration] add --delete flag, removes backup on successful import [scripts] expand change_dns.php usage to support arbitrary TTL/prior IP [AJAX] remove "s" session ID setter [helpers] fix condition in which collapsed arrays reported "name.subname.index" in key