Skip to content
Tags give the ability to mark specific points in history as being important
  • v3.1.20
    [DAPHNIE] passive metrics collection when [telemetry] => enabled = 1
    [apnscpd] resolve when waitpid() syscalls in housekeeping fail to collect exit code
    [Bootstrapper] resolve conditions in which Mitogen cannot activate. FLARE prematurely checks for /etc/sysconfig/apnscp
    
  • v3.1.19
    [Logs] fix condition in which xfs-based mounts can trigger an Apache reload failure if a site goes over quota due to idiosyncrasies in how quota enforcement operates compared to ext4
    [Scopes] cp.flare-check, cp.update-schedule
    [UI] job runner status now available as admin
    [scripts] htrebuild implies systemctl reload httpd
    [Metrics] materialized views properly refresh
    [Opcenter] fix condition where editing all attributes of a domain results in dropping the domain from mapping and subequently fails to regenerate session
    
  • v3.1.18
    [UI] Toolbox domain clones within Manage Mailboxes, Subdomains, and DNS Manager
    [PHP] drop dentry/inode cache on PHP-FPM update
    [Opcenter] invalidating metacache on certain service reconfigurations triggers session ghost
    [UI] update styles
    [SSL] AcmePHP supports GET-as-POST
    [Opcenter] DeleteDomain, EditDomain support invoice grouping
    
  • v3.1.17
    [System] force-update mod_security package; optionally require module configuration
    
  • v3.1.16
    [Migrations] update cPanel shadow location
    [Scopes] ftp.enabled toggles FTP on server
    [Web Apps] restrict .git/
    
  • v3.1.15
    [Migration] --late-quota flag applies storage amnesty during migration (see Migrations.md)
    [Settings] blank page on full name change
    [Migration] transform symlink'd docroot to their platform equivalent
    [auth] set_temp_password() now works as site administrator. First parameter becomes target user, e.g. cpcmd -d site1 auth:set-temp-password foobar 480 (assign random password to user foobar, valid for 480 seconds)
    [Web Apps] early enrollment to snapshots
    
  • v3.1.14
    [Hooks] new! Copy bin/hooks to config/custom/hooks to get started
    [Web Apps] version sort breaks next version upgrade
    [apnscpd] fix "php_version insufficient privileges to call" error
    [Impersonation] restore session on app that initiated impersonation
    
  • v3.1.13
    [admin] get_site_storage()- list storage for all domains
    [user] getpwnam cache clobbers non-system user list
    
  • v3.1.12
    [Migrations] --apply-fortification=MODE applies Fortification profile to detected Web Apps
    [cpcmd] cpcmd --help command:name invokes introspection
    [mod_security] update baseline configuration, use Lua for filtering
    [File Manager] add "Date Modified" column
    [web] status() method reports mod_systemd on Apache 2.4.41-7+ releases
    
  • v3.1.11
    [Migrations] multiple improvements to cPanel imports
    [Apps] new PHP Pool management
    [Apps] application manifest accepts Yamlf ormat
    [SSL] wait 5 seconds to confirm TXT record during DNS validations
    [Rampart] flush() allows for emergency flushing of all or named jails. whitelist() assumes authenticated address when $ip omitted
    
  • v3.1.10
    [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.9
    [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.8
    [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.7
    [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.6
    [Bootstrapper] prefer EDGE builds on install to improve responsiveness in resolving installer issues. Switch back to preferred update policy after install
    [Security] always ensure FST/etc/sudoers is broken from system version
    [Bootstrapper] fix urllib3 warning
    
  • v3.1.5
    [MySQL] MDEV-20987 mitigation
    
  • v3.1.4
    [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.1.3
    [apnscpd] MySQL deadlock periodically sticks on "resuming syscall"
    [Bootstrapper] PowerDNS selection as default DNS provider fails initial install
    
  • v3.1.2
    [Bootstrapper] propagate HOME= environment variable on resume
    [Migrations] provision DNS on alias domains at account creation time
    [Users] permit usernames that begin with a number followed by character
    
  • v3.1.1
    [Opcenter] catastrophic backtracking error during versioning with enormous commits
    [upcp] always run migration unless explicitly declined
    [misc] list-commands() accepts optional shell-style wildcard filter