Back to Blog
Dotkernel 3

PHP 8.3 support in Dotkernel API

The last remaining application to be updated to support PHP 8.3 is the API, now at v4.2.1. The steps taken to perform the update are similar to the ones in the update for the Frontend.

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
    • Commit #1
  • Updated dependencies
    • Commit #1
    • require
      • "dotkernel/dot-annotated-services": "^4.1.7",
      • "dotkernel/dot-cli": "^3.5.0",
      • "dotkernel/dot-data-fixtures": "^1.1.3",
      • "dotkernel/dot-doctrine-metadata": "^3.2.2",
      • "dotkernel/dot-errorhandler": "^3.3.2",
      • "dotkernel/dot-mail": "^4.1.1",
      • "dotkernel/dot-response-header": "^3.2.3",
      • "laminas/laminas-component-installer": "^3.4.0",
      • "laminas/laminas-config": "^3.9.0",
      • "laminas/laminas-config-aggregator": "^1.14.0",
      • "laminas/laminas-http": "^2.19.0",
      • "laminas/laminas-hydrator": "^4.15.0",
      • "laminas/laminas-inputfilter": "^2.29.0",
      • "laminas/laminas-paginator": "^2.18.0",
      • "laminas/laminas-stdlib": "^3.19.0",
      • "laminas/laminas-text": "^2.11.0",
      • "mezzio/mezzio": "^3.19.0",
      • "mezzio/mezzio-authentication-oauth2": "^2.8.0",
      • "mezzio/mezzio-authorization-acl": "^1.10.0",
      • "mezzio/mezzio-authorization-rbac": "^1.7.0",
      • "mezzio/mezzio-cors": "^1.11.1",
      • "mezzio/mezzio-fastroute": "^3.11.0",
      • "mezzio/mezzio-problem-details": "^1.13.1",
      • "mezzio/mezzio-twigrenderer": "^2.15.0",
      • "ramsey/uuid-doctrine": "^2.0.0",
      • "roave/psr-container-doctrine": "^4.1.0",
      • "symfony/filesystem": "^7.0.3"
    • require-dev
      • "laminas/laminas-coding-standard": "^2.5",
      • "laminas/laminas-development-mode": "^3.12.0",
      • "mezzio/mezzio-tooling": "^2.9.0",
      • "phpunit/phpunit": "^10.5.10",
      • "roave/security-advisories": "dev-latest",
      • "vimeo/psalm": "^5.22.0"
  • Removed parameter from configuration files and uses for class PhpFileCache (previously required by cache)
    • Updated config/autoload/doctrine.global.php
      • Removed use Doctrine\Common\Cache\PhpFileCache
      • Removed the parameters used by cache configuration and cache
    • Commit #1
    • Make sure to keep the lines from the more recent commit #2
  • Added dot-cache
    • Updated composer.json, config/autoload/doctrine.global.php and config/config.php
    • Commit #1
  • Note
    • When upgrading from older versions of DotKernel API (before PHP 8.3), you may need to run composer update and/or install Sodium (run sudo dnf install php-sodium.x86_64)
    • Update your queries: replace useQueryCache() with setCacheable() wherever it's used