Core
- Upgraded CLI framework from ulrichsg/getopt-php v3 to v4
- Bumped minimum CMSMS version to 2.2.14
- Full PHP 8.2/8.3 compatibility (fixed dynamic property deprecation)
- Fixed CMSMS root detection for CMSMS 2.2.22+ (removed lib/page.functions.php check)
- Fixed first-pass strict options bug that prevented global options from working with command options
- Added custom error handler to suppress CMSMS core deprecation warnings on PHP 8.2+
- Switched cmsms-latestversion from file_get_contents to cURL (fixes HTTPS failures in CLI)
New Commands (33 added, total now 63)
- content-list
- content-get
- content-create
- content-edit
- content-delete
- template-list
- template-export
- template-import
- template-file-export
- template-file-import
- stylesheet-list
- stylesheet-export
- stylesheet-import
- design-list
- design-export
- design-import
- udt-list
- udt-export
- udt-import
- gcb-list
- gcb-get
- gcb-set
- event-list
- event-send
- route-list
- pref-get
- pref-set
- jobs-list
- jobs-run
- mail-info
- mail-test
- config-set
- module-install-xml
- module-uninstall
- module-upgrade
- module-package-xml
Enhanced Commands
- module-install: added --forge (download from Forge) and --with-deps (resolve and install dependencies)
- module-package-xml: default output now writes to modules/Name/releases/version/ instead of cwd
- module-remove: now also deletes the module directory (previously only uninstalled)
Bug Fixes
- Fixed module-activate undefined $module variable
- Fixed db-dump -F including mysqldump stderr warning in SQL output
- Fixed cache-clear undefined $days variable
- Fixed design-export/design-import DesignManager classes not autoloaded in CLI context
- Fixed module-activate/module-deactivate using stale module cache
- Fixed cmsms-download undefined $dest_file variable
- Fixed CmsUtils::get_module_dependants() returning null instead of empty array on PHP 8.2