A new apnscp release has been pushed to the servers focusing primarily on tidying up under the hood. Sorry, no awesome, new features yet. We’re working on cleaning up backend, and automating some of the most common tasks, because having more time to write code and less time to repeat processes is awesome. There’s also a super secret, yet very deadly wipe() command in the site module. If you would like to reinitialize your account to its original state, call this via the SOAP API.

Changelog

NEW: gethostbyname_t(), gethostbyaddr_t()- perform respective DNS lookups with configurablable timeout (1s default) (DNS)
NEW: wipe() – DO NOT USE THIS – wipes account, reinitializing account to clean state (Site)
NEW: get_authns_from_host()- get authoritative nameservers (nameservers that appear in WHOIS) for a domain (DNS)
NEW: silence()- for when you really, really, really want to shut up PHP (Error Reporter)
NEW: Util_Account_Editor: wrapper for editing account meta, handles old Ensim error/warnings in apnscp error reporting facility (Editor)
NEW: ssl module to create, sign certificates. Still API calls at this point, still further regression testing before integrating into CP (SSL)
FIX: stop polling ticket for updates if last update fails (Tickets)
FIX: prevent users for adding domains that have DNS records set that do not use ns1/2.apisnetworks.com or that do not have the requisite IP address pointed to the site. This is a security precaution to prevent users from maliciously hijacking DNS and mail routing for hostnames (Addon Domains)
FIX: flush()- ignore warning if getpwnam() flush fails to delete unset cache (User)
FIX: get_records_by_rr() fails to return records when “ANY” RR specified (DNS)
FIX: when relocating a MySQL database, make sure the caller that triggers a move is the DB owner (SQL)
FIX: dialog fails to close if selectField option passed (File Tree)
FIX: incorrect ticket meta used as ticket subject (CRM)
FIX: stdin channel output returned as array instead of string as other channels (Process)
FIX: garbage collector can collect unused, initialized variables early in code execution, particularly seen with the SOAP facet that preloads the ~500 KB WSDL before evaluating an envelop. Manually GC when it’s safe (SOAP, apnscpd)
CHG: natural sort nameservers (DNS Manager)
CHG: check if ticket server is down, handle accordingly (Tickets)
CHG: dispatch notification completion message after account migrated successfully (Migration)
CHG: reload HTTP server on account IP change, server name change, or addon domain change (Web)
CHG: update account IP address on ipinfo metadata change (DNS)
CHG: transfer DNS automatically on domain addition, obsoletes transferdomain.sh (DNS)
CHG: prevent account editing in disabled state, silence “apnscp reconfigured with warnings” message, add support for create, delete modes (Account Editor)
CHG: Add extra check to make sure information is persent in ticket before ticket is submitted (CRM)
CHG: Disable tickets for suspended accounts (CRM)
CHG: return null if ticket metadata is not set, e.g. no description given in ticket (CRM)
CHG: don’t flush output buffer after reporting error, interferes with headers (Error Reporter)
CHG: note that addon domains may take up to 24 hours to propagate (Addon Domains)
CHG: respond with 500 status instead of 200 on AJAX error (AJAX)
CHG: delay postback notifier pulse until page has sufficiently rendered (500 ms) (Template)
CHG: before performing username switch, flush getpwnam() cache to ensure the requested user was not recently created (Auth)
CHG: 25% speedup to canonicalize_site(), canonicalize_path() used in File module (File)
CHG: use jQuery Deferred callbacks with apnscp.cmd() (apnscp.js)
REM: optional testimonial note (Dashboard)
REM: function_cache, service_cache cleanup in session database – these are no longer in use
NEW: gethostbyname_t(), gethostbyaddr_t()- perform respective DNS lookups with configurablable timeout (1s default) (DNS)

NEW: wipe() – DO NOT USE THIS – wipes account, reinitializing account to clean state (Site)
NEW: get_authns_from_host()- get authoritative nameservers (nameservers that appear in WHOIS) for a domain (DNS)
NEW: silence()- for when you really, really, really want to shut up PHP (Error Reporter)
NEW: Util_Account_Editor: wrapper for editing account meta, handles old Ensim error/warnings in apnscp error reporting facility (Editor)
NEW: ssl module to create, sign certificates. Still API calls at this point, still further regression testing before integrating into CP (SSL)
FIX: stop polling ticket for updates if last update fails (Tickets)
FIX: prevent users for adding domains that have DNS records set that do not use ns1/2.apisnetworks.com or that do not have the requisite IP address pointed to the site. This is a security precaution to prevent users from maliciously hijacking DNS and mail routing for hostnames (Addon Domains)
FIX: flush()- ignore warning if getpwnam() flush fails to delete unset cache (User)
FIX: get_records_by_rr() fails to return records when “ANY” RR specified (DNS)
FIX: when relocating a MySQL database, make sure the caller that triggers a move is the DB owner (SQL)
FIX: dialog fails to close if selectField option passed (File Tree)
FIX: incorrect ticket meta used as ticket subject (CRM)
FIX: stdin channel output returned as array instead of string as other channels (Process)
FIX: garbage collector can collect unused, initialized variables early in code execution, particularly seen with the SOAP facet that preloads the ~500 KB WSDL before evaluating an envelop. Manually GC when it’s safe (SOAP, apnscpd)
CHG: natural sort nameservers (DNS Manager)
CHG: check if ticket server is down, handle accordingly (Tickets)
CHG: dispatch notification completion message after account migrated successfully (Migration)
CHG: reload HTTP server on account IP change, server name change, or addon domain change (Web)
CHG: update account IP address on ipinfo metadata change (DNS)
CHG: transfer DNS automatically on domain addition, obsoletes transferdomain.sh (DNS)
CHG: prevent account editing in disabled state, silence “apnscp reconfigured with warnings” message, add support for create, delete modes (Account Editor)
CHG: Add extra check to make sure information is persent in ticket before ticket is submitted (CRM)
CHG: Disable tickets for suspended accounts (CRM)
CHG: return null if ticket metadata is not set, e.g. no description given in ticket (CRM)
CHG: don’t flush output buffer after reporting error, interferes with headers (Error Reporter)
CHG: note that addon domains may take up to 24 hours to propagate (Addon Domains)
CHG: respond with 500 status instead of 200 on AJAX error (AJAX)
CHG: delay postback notifier pulse until page has sufficiently rendered (500 ms) (Template)
CHG: before performing username switch, flush getpwnam() cache to ensure the requested user was not recently created (Auth)
CHG: 25% speedup to canonicalize_site(), canonicalize_path() used in File module (File)
CHG: use jQuery Deferred callbacks with apnscp.cmd() (apnscp.js)
REM: optional testimonial note (Dashboard)
REM: function_cache, service_cache cleanup in session database – these are no longer in use

New CP Update: Internal tweaks, automation, and more