composer.json required >=7.4 while src/ was written against 7.4-only syntax
(727 typed properties, 16 ??=), so the package could not load on the PHP 7.3
that prod runs. CRM depends on it, making this a live production hazard.
- 727 typed properties -> @var docblocks across 174 files; method parameter
and return types are kept (PHP 7.0+)
- 16 ??= -> ?? ( = ...) in ServiceRuntimeConfig
- tests: 108 PHP 8.0 named arguments -> positional across 12 calls, filling
skipped optionals from their declared defaults
- tools/lint-php73.sh now covers tests/ as well as src/
- composer: php >=7.3, config.platform.php = 7.3.33
- dependency: ksf-modules-dao v0.5.1 -> v0.5.2 (v0.5.1 shipped a match()
expression, itself a 7.3 parse error)
263 tests / 845 assertions pass on PHP 7.3.33 and on 8.1.