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
- 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
- require
- Added
"laminas/laminas-http": "^2.19.0"to composer.json require-dev (required for tests)- Commit #1
- Updated
src/Admin/src/Service/AdminService.php, functionlogAdminVisit- Note: No longer returns
AddressNotFoundException - Commit #1
- Note: No longer returns
- Removed parameter from configuration files and uses for class
PhpFileCache(required by cache) - Updated
dotkernel/dot-twigrendererdependencies- Removed
doctrine/doctrine-modulebecause 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 projectdoctrine/doctrine-laminas-hydratorlaminas/laminas-cache-storage-adapter-filesystemlaminas/laminas-cache-storage-adapter-memorylaminas/laminas-mvclaminas/laminas-paginator
- Removed
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.
Frequently Asked Questions
Which Dotkernel Admin release added PHP 8.3 support? +
Release 4.3.1.
Which PHP versions does this release support? +
Only PHP 8.2 and PHP 8.3 - support for PHP 8.1 was removed, including from the workflows.
Did the logAdminVisit function change? +
Yes. src/Admin/src/Service/AdminService.php's logAdminVisit function was updated and no longer returns AddressNotFoundException.
Why were cache-related parameters removed from the configuration files? +
The PhpFileCache class and its related parameters were removed from local.php.dist (local.php) and doctrine.global.php because doctrine/cache deleted their cache implementation classes.
Are there side effects from updating the dot-twigrenderer dependencies? +
Yes. doctrine/doctrine-module was removed because of a conflict, which means other packages that depended on it - such as doctrine/doctrine-laminas-hydrator, laminas-cache-storage-adapter-filesystem, laminas-cache-storage-adapter-memory, laminas-mvc and laminas-paginator - may no longer get installed, so you should check whether your project actually relies on them.