This is the final release from Subversion for Launchpad. It will be moving over to git this weekend, May 6-7, and long overdue. Expect intermittent outages along the way. As this is the final subversion release, the changelog follows. Of notable changes, Launchpad now supports Blade templates from Laravel and secondary user password resets if that user has an email address configured (Account > Settings). Because of unintended account leakage, Launchpad will neither confirm nor deny the success of the request.

Reset user password in Launchpad

And for the sake of tradition, here’s all 2867 commits from Subversion. RIP svn, you will not be missed!

Changelog

  • NEW: Blade support (Page Template)
  • NEW: secondary user password reset support (Login)
  • NEW: user mocking (Auth)
  • NEW: database prefix change support (Settings)
  • NEW: tableExists/columnExists/databaseExists helper functions (MySQL)
  • NEW: custom templateconfigs (Template Engine)
  • NEW: admin preferences file via appliance/.config/
  • NEW: toggle nav behavior (Settings)
  • FIX: only log stats on non-error (Page Container)
  • FIX: overview data normally hidden displayed vertically on first login (Dashboard)
  • FIX: populate PostgreSQL when enabled on edit (sql)
  • FIX: strtok consumes directory delimiter (file)
  • FIX: skip logging UI bandwidth if site id is not set (Tabulate Bandwidth)
  • FIX: control maintenance window represented as octal (apnscpcore)
  • FIX: gracefully handle dead workers (lservicelib)
  • FIX: verify ajax cmd parameter is subclass of Module_Skeleton (AJAX)
  • FIX: removing tablespace fails (SQL)
  • FIX: @reboot timespec is not parsed (Task Scheduler)
  • FIX: PHP7.1, passing null actual parameter does not invoke formal parameter default (Drupal)
  • FIX: change permissions- PHP 7.1 compat fix, hex string is no longer explicitly cast to dec in array_sum (File Manager)
  • FIX: change permissions- file EOL state overwrites file var (File Manager)
  • FIX: set site_id before verifying privilege (Auth)
  • FIX: initializeUser()- error if no privilege level detected (Auth)
  • FIX: terminate authentication procedure if session information fails to update on successful authentication (Auth)
  • FIX: delete()- fails to delete symlink if refers to directory (file)
  • FIX: _sync()- double-encoding arguments as array on retry (Transfer)
  • FIX: append_error()- recognize E_OK (Error Reporter)
  • FIX: get_login_history()- integer overflow on 32-bit platforms (auth)
  • FIX: usec param to socket_set_timeout is microseconds (Net::Gethost)
  • FIX: aliased apps result in 404 (Template Engine)
  • FIX: ping() not implemented on mysqlnd/mysqli (https://bugs.php.net/bug.php?id=52561) (MySQL)
  • FIX: style rules improperly applied (Troubletickets)
  • FIX: incorrect cwd calculation (File Manager)
  • FIX: ghosting, optimize delete_backend(). Deleting 10,000 random files speedup improved 120x (file)
  • FIX: element is transitioning bootstrap4 error, github PR #21743 (apnscp.js)
  • FIX: cwd form variable missing from new directory/file/symlink (File Manager)
  • FIX: multiple locations, potential unserialize object injection
  • FIX: workaround for broken lchown/lchgrp in PHP7.1 with ZTS – https://bugs.php.net/bug.php?id=74357 (web)
  • FIX: cwd missing from modal-based postback (File Manager)
  • FIX: uninstalled application persists in webapp map without running detect (Webapps)
  • FIX: webhook initialization deadlock (Auth)
  • FIX: Bootstrap 4 alpha6 fixes
  • FIX: buildup_shadow() ignores last directory in build up (File)
  • FIX: gethostbyname timeout waaaaaayyyy too short (letsencrypt)
  • FIX: gethostbyaddr_t does not always return tthe correct IP (Net)
  • CHG: rewrite Webmail, unify session setter (Webmail)
  • CHG: silence() now reports fatal events: E_ERROR, E_COMPILE_ERROR, and E_CORE_ERROR (Error Reporter)
  • CHG: verify content on reachability validation rather than just status code (Lets Encrypt)
  • CHG: move daemonization to apnscpd (lservicelib)
  • CHG: refactor user initialization to Auth_Info_User (Auth)
  • CHG: update redirection to use hostineer (Auth::Redirect)
  • CHG: reinitialize $_SESSION on session_destroy() instead of undefining (apnscpSession)
  • CHG: install()- purge OFS layer before checking for paths (ssl)
  • CHG: ping only if query fails and query result code is GONE_AWAY (MySQL)
  • CHG: use YYYYMMDDHH for migration timestamp rather than unix time (Transfer)
  • CHG: cleanup list_aliases() (aliases)
  • CHG: register session destruction to execute at script-end rather than hooking in as register_shutdown_function. Prevents losing session manipulation in class destructors, which fire *after* register_shutdown_function() has processed (apnscpSession)
  • CHG: terminal is now tunable via config.ini
  • CHG: cleanup session handler, implement SessionHandlerInterface (apnscpSession)
  • CHG: use BS “collapse” component instead of jQuery for additional postback access (Page Template)
  • CHG: suppress nagging on whitelabel NS usage (DNS Manager)
  • CHG: convert db connection to singleton (crm)
  • CHG: increase max wait to 50 seconds for memcached initialization (Constants)
  • CHG: rename NO_DNS_CHECK to DNS_CHECK (aliases)
  • CHG: DNS verification record check min timeout, 500 ms -> 1500 ms (aliases)
  • CHG: update log wrapper to use PHP7 variadic args
  • CHG: cleanup controller (Page Container)
  • CHG: ping() before committing session data (apnscpSession)
  • CHG: “Edit” action is now “Select” (Web Apps)
  • CHG: add -f, -d options to apnscpd to force foreground/background (daemon) operation (apnscpd)
  • CHG: after deleting a site, invalidate all traces (apnscpSession)
  • CHG: decouple hardcoded bug reporting address/filters. Implement runtime backtrace/reporting filters (Error Reporter)
  • CHG: use async signal handling (apnscpd)
  • CHG: cleanup password_verify (auth)
  • CHG: add_shared_domain()- if addon domain directory uid >= min uid (500) and user no longer exists, squash folder ownership to account admin (aliases)
  • CHG: only autopopulate www alternative on non-subdomain requests (SSL)
  • CHG: deduplicate webapps installation routines (webapps)
  • CHG: flip array_first() callback param order, [value, key] (helpers)
  • CHG: chown() allow user to be a valid UID (file)
  • CHG: squash option for webapps. When true, the webapp installation will inherit the current UID rather than the parent directory UID for the installed application. Resolves issue when site admin installs app over secondary user (webapps)
  • CHG: ensure vacation check runs last (Dashboard)
  • CHG: rework login notifications and sideloading
  • CHG: select nav pill automatically on page load, history paging (apnscp.js)
  • REM: package management AJAX
  • REM: ticks, use pcntl_async_signals()
  • REM: destructor double-setting session preferences (Preferences)
  • REM: mcrypt
  • REM: bootstrap.js duplicate (Page Template)
Launchpad Update – final svn release
Tagged on: