Skip to content

1.11.0

Choose a tag to compare

@datasage datasage released this 05 Aug 15:27
· 16 commits to 2.0.x since this release
ad9cf48

Supported PHP

~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0 — adds 8.5, drops 8.1.

Dependency declarations fixed

dependency evidence
container-interop/container-interop ^1.2 Interop\Container imported by 8 src/ factory classes. Supplied via laminas-servicemanager's replace, so nothing extra installs.
laminas/laminas-json ^3.8 Laminas\Json\Json::encode called unguarded at src/JsonModel.php:99 and :102. Was present only transitively.

Two namespaces used in src/ were deliberately not promoted to require:

  • Laminas\ApiTools\Hal is referenced only through instanceof, which is false when the class is absent — a genuine optional dependency, so it stays in require-dev.
  • Laminas\Console is used in src/Factory/RequestFactory.php, a class marked @deprecated since 1.6.0 and documented as no longer used within the module, with a class_exists() guard. laminas-console is abandoned; removing the dead factory is the better fix.

Other changes

  • Dependency floors raised to releases covering the whole supported range, dropping two stale laminas 2.x alternatives (laminas-eventmanager ^2.6.3 || ^3.0.1, laminas-stdlib ^2.7.8 || ^3.2.1).
  • laminas-mvc ^3.0.2 → ^3.8 plus a datasage/laminas-mvc VCS repository entry; api-tools-api-problem → ^1.10; api-tools-hal (dev) → ^1.13.
  • vimeo/psalm ^5 → ^6.0. Baseline regenerated and three suppression blocks psalm 6 reports as unused removed: InternalMethod, InvalidArgument for test/Factory/RenameUploadFilterFactoryTest.php, UndefinedDocblockClass for src/Filter/RenameUpload.php.
  • Removed 4 no-op setAccessible() calls from test/, deprecated in 8.5.
  • config.platform.php 8.1.99 → 8.2.99.
  • CI: .laminas-ci.json now excludes doc linting instead of ignoring platform requirements; removed release-on-milestone-closed.yml.

No src/ changes.

CI green on 8.2, 8.3, 8.4 and 8.5 across locked, lowest and latest. 158 tests, 371 assertions.

Known tooling limitation

phpcs 3.13.5 aborts on test/ContentTypeListenerTest.php when run on PHP 8.5, reporting 51 spurious errors. This is pre-existing and reproduces with the unmodified file; phpcs passes on 8.2, 8.3 and 8.4, and CI runs PHPCodeSniffer on 8.2. A phpcs 4.x bump is the fix.