With the release of PHP 8.3, the DotKernel team has been working on updating the dependencies in our packages. Eventually, this allowed us to update our Applications as well, starting with the Admin, in release 4.3.1

There were some issues and backward incompatibilities that we will list below.

The full list of file changes is here.

  • Supports only PHP 8.2 and PHP 8.3
    • Removed support for PHP 8.1
    • Updated workflows – removed PHP 8.1
    • Commits #1 and #2
  • Updated dependencies
    • require
      • “dotkernel/dot-cli”: “^3.4.2”,
      • “dotkernel/dot-controller”: “^3.4.3”,
      • “dotkernel/dot-data-fixtures”: “^1.1.3”,
      • “dotkernel/dot-errorhandler”: “^3.3.2”,
      • “dotkernel/dot-flashmessenger”: “^3.4.2”,
      • “dotkernel/dot-geoip”: “^3.5.3”,
      • “dotkernel/dot-helpers”: “^3.4.2”,
      • “dotkernel/dot-mail”: “^4.1.1”,
      • “dotkernel/dot-navigation”: “^3.4.2”,
      • “dotkernel/dot-rbac-guard”: “^3.4.2”,
      • “dotkernel/dot-session”: “^5.4.2”,
      • “dotkernel/dot-twigrenderer”: “3.4.3”,
      • “dotkernel/dot-user-agent-sniffer”: “^3.3.3”,
      • “friendsofphp/proxy-manager-lts”: “^1.0.16”,
      • “laminas/laminas-component-installer”: “^3.4.0”,
      • “laminas/laminas-config-aggregator”: “^1.14.0”,
      • “laminas/laminas-i18n”: “^2.26.0”,
      • “laminas/laminas-math”: “^3.7.0”,
      • “mezzio/mezzio”: “^3.18.0”,
      • “mezzio/mezzio-authorization-rbac”: “^1.7.0”,
      • “mezzio/mezzio-cors”: “^1.11.1”,
      • “mezzio/mezzio-fastroute”: “^3.11.0”,
      • “ramsey/uuid-doctrine”: “^2.0.0”,
      • “roave/psr-container-doctrine”: “^4.1.0”
    • require-dev
      • “filp/whoops”: “^2.15.4”,
      • “laminas/laminas-development-mode”: “^3.12.0”,
      • “laminas/laminas-http”: “^2.19.0”,
      • “mezzio/mezzio-tooling”: “^2.9.0”,
      • “phpunit/phpunit”: “^10.5.9”,
      • “vimeo/psalm”: “^5.20.0”
    • Commit #1
  • Added “laminas/laminas-http”: “^2.19.0” to composer.json require-dev (required for tests)
    • Commit #1
  • Updated src/Admin/src/Service/AdminService.php, function logAdminVisit
    • Note: No longer returns AddressNotFoundException
    • Commit #1
  • Removed parameter from configuration files and uses for class PhpFileCache (required by cache)
    • Removed use Doctrine\Common\Cache\PhpFileCache; from from local.php.dist (local.php) and doctrine.global.php
    • Removed the parameters used by cache configuration from local.php.dist (local.php) and cache from doctrine.global.php
    • Commit #1 and #2
  • Updated dotkernel/dot-twigrenderer dependencies
    • Removed doctrine/doctrine-module because of conflict
    • Other packages that don’t get installed because of removing doctrine/doctrine-module – make sure to check if their functionality is used in your project
      • doctrine/doctrine-laminas-hydrator
      • laminas/laminas-cache-storage-adapter-filesystem
      • laminas/laminas-cache-storage-adapter-memory
      • laminas/laminas-mvc
      • laminas/laminas-paginator

Updating to PHP 8.3 has not been as streamlined as in previous updates, but the advantages of doing so outweigh the extra work on the custom code to remove potential incompatibilities.

The DotKernel team is focused on the cache that has been removed in the current version because doctrine/cache deleted their cache implementation classes. We are also updating our existing projects to PHP 8.3 and testing the changes on live environments to iron out any other issues.


Looking for PHP, Laminas or Mezzio Support?

As part of the Laminas Commercial Vendor Program, Apidemia offers expert technical support and services for:

  • Modernising Legacy Applications
  • Migration from any version of Zend Framework to Laminas
  • Migration from legacy Laminas API Tools (formerly Apigility) to Dotkernel API
  • Mezzio and Laminas Consulting and Technical Audit
  • Leave a Reply

    Your email address will not be published. Required fields are marked *

    You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>