Back to Changelog

v1.0.179

Patch Released May 1, 2026

Critical fixes for PHP Extension Manager: prefix-collision detection bug affecting pdo, odbc, xml and similar families, plus HTTP 500 on hosts without system PHP. Substring-overlapping extensions can now be toggled independently.

Improvements

2
  • Extension pairs whose names overlap as substrings (pdo with pdo_mysql/pgsql/sqlite/odbc, odbc with pdo_odbc, xml with xmlreader/xmlwriter/simplexml, mysql with mysqlnd/pdo_mysql) can now be toggled independently of each other.
  • Regression coverage: 60+ API calls combined with on-disk filesystem verification across PHP 8.1 through 8.5 all pass.

Bug Fixes

2
  • PHP Extension Manager: enabling extensions whose names are prefixes of other extensions (such as pdo, odbc, xml, mysql) reported "Enabled" but did not actually activate the extension, leaving the "Enable" button on screen. Root cause: the backend used strings.Contains for filename matching, so Contains("20-pdo_odbc.ini", "pdo") returned true and the loop treated pdo_odbc as pdo, incorrectly returning "already enabled" early. Filenames are now stripped of priority prefixes (e.g. 20-) and compared with exact match.
  • Extension toggle returned HTTP 500 on servers without a system PHP install (failed to create extension config in /etc/php/X.Y/cli/conf.d). The backend assumed /etc/php existed; it now skips that directory entirely when os.IsNotExist is reported.
See the Demo