| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-08-06 | 4.9 kB | |
| Version 5.0.14 source code.tar.gz | 2026-08-06 | 241.3 kB | |
| Version 5.0.14 source code.zip | 2026-08-06 | 310.4 kB | |
| Totals: 3 Items | 556.5 kB | 0 | |
[5.0.14] — 2026-08-06
Fixed
cipi self-update/cipi api updatehung forever on panel API package update — baressh-keyscan github.com(no timeout) blocked before Composer, and VCScomposer updatehad no wall-clock limit (stderr was often discarded). Now: timed keyscan + official GitHub host-key fallback, Composer guard (timeout+COMPOSER_PROCESS_TIMEOUT), timed queue stop/migrate, andcipi api updateupdatescipi/apionly (full rebuild remainscipi api upgrade). Self-update delegates to_api_update_package/_gui_update_packageso the first upgrade pass already gets the fix.systemctl list-unit-files --quiet UNITis not an existence check — it exits 0 even when zero units match, so PostgreSQL (and optional PHP-FPM units) could be treated as present. Detection now usessystemctl catviasystemd_unit_existsfor DB engines andcipi service.cipi db engines— prints ASCIInot_installedinstead of an em dash, so API/GUI parsers cannot mis-read the status column.
[5.0.13] — 2026-08-06
Fixed
cipi self-updateaborted with_cipi_composer_prepare_github: command not foundand left the panel on HTTP 500 — upgrading from older builds (e.g. v5.0.2) kept the pre-updateself-update/common.shhelpers in memory while sourcing the newgui.sh, which called a helper that did not exist yet. After the blanketchown -R root:root /opt/cipi, GUI.env/ storage stayed root-owned and PHP-FPM returned 500.lib/gui.shnow has the same inline fallback as the API (_gui_composer_prepare_github),ensure_cipi_gui_permissionsalso restores.envownership, andself-updatealways reclaims panel permissions at the end even if the Composer step fails. Migration 5.0.13 reclaims API/GUI ownership on update.
[5.0.12] — 2026-08-06
Fixed
cipi php switchcould leave the panel on nginx 502 — it now rewrites the API and (when installed) GUI FPM pools onto the target PHP (listen = /run/php/cipi-api.sock/cipi-gui.sock), removes them from other versions, stops the old FPM to release the socks, recreates/run/php+ both sockets via the newphp*-fpm, waits until they exist, and rolls back both pools if either socket never appears.
[5.0.11] — 2026-08-06
Fixed
cipi php switchfailed withunable to remove '/etc/alternatives/php.dpkg-tmp': Read-only file system— same remount-ro class as SMTP/basicauth/vault. Switch now remounts///etcwritable beforeupdate-alternatives, clears stale*.dpkg-tmpleftovers, retries once on RO errors, and prints an actionable recovery hint.
[5.0.10] — 2026-08-06
Fixed
cipi php switchfalse failure after a successful CLI switch —update-alternatives --set phpoften printsusing /usr/bin/phpX.Y …then exits non-zero when a slave alternative (phar/phpdbg/…) is missing or broken. The panel API treated that as hard failure even though/usr/bin/phpalready pointed at the new version. Switch now verifies the resolved binary and continues when the master link is correct. Re-running switch when CLI is already on the target version still migrates a leftover API FPM pool.
[5.0.9] — 2026-08-06
Fixed
- Panel API
PUT /api/php/defaultfailed withsudo: a terminal is required to read the password—/etc/sudoers.d/cipi-apiallowedphp list|install|removebut notphp switch, sowww-datacould not set the system default PHP without a TTY. Addedcipi php switch *to the whitelist. Migration 5.0.9 regenerates sudoers oncipi self-update.
[5.0.8] — 2026-08-06
Fixed
- Panel API
cipi/apiupdates —cipi self-update/cipi api updatenow pullcipi/apifrom GitHub via Composer VCS when no bundled/opt/cipi/cipi-apicopy exists (same model ascipi/gui). Only runs if the panel API is already installed (/opt/cipi/api/artisan); it never installs the API on servers that do not use it. Fixes servers stuck on Packagist while GitHub already has 1.16+. - Non-interactive CLI flags —
parse_argsstrips wrapping quotes from--key='value'arguments built by the panel API (escapeshellarg), socipi smtp configure --host=…and similar commands receive clean values. - Migration 5.0.8 — reduced to a noop (the previous script duplicated self-update and could abort with
ensure_cipi_api_permissions: command not found). ssh_dir: unbound variableduring self-update —_cipi_composer_prepare_github/_api_composer_prepare_githubusedlocal ssh_dir=… kh="${ssh_dir}/…", which underset -uexpandsssh_dirbefore it is assigned and aborted the API/GUI composer step.