diff --git a/composer.json b/composer.json index 8afa684..006d109 100644 --- a/composer.json +++ b/composer.json @@ -10,7 +10,7 @@ "a9f/fractor-extension-installer": true }, "platform": { - "php": "8.5.11" + "php": "8.5.12" }, "sort-packages": true }, @@ -56,6 +56,7 @@ ], "require-dev": { "a9f/typo3-fractor": "^1.1", + "deployer/deployer": "^8.0", "ssch/typo3-rector": "^3.16" } } diff --git a/composer.lock b/composer.lock index 5905dbc..cd70bfe 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "9de2907eea881944a362013a40f3cc7e", + "content-hash": "bcb472ad98cfa2a48699faed4f6366e8", "packages": [ { "name": "b13/container", @@ -8876,6 +8876,71 @@ }, "time": "2026-09-25T12:42:45+00:00" }, + { + "name": "deployer/deployer", + "version": "v8.0.5", + "source": { + "type": "git", + "url": "https://github.com/deployphp/deployer.git", + "reference": "199273500b4f14ff5eafd76bea524e5d44bcaff3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/deployphp/deployer/zipball/199273500b4f14ff5eafd76bea524e5d44bcaff3", + "reference": "199273500b4f14ff5eafd76bea524e5d44bcaff3", + "shasum": "" + }, + "require": { + "maml/maml": "^3.2", + "php": "^8.3", + "symfony/console": "^7.4.0 || ^8.0.0", + "symfony/process": "^7.4.0 || ^8.0.0", + "symfony/yaml": "^7.4.0 || ^8.0.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.68", + "phpstan/phpstan": "^2.1", + "phpunit/php-code-coverage": "^12.0", + "phpunit/phpunit": "^12.5" + }, + "bin": [ + "bin/dep" + ], + "type": "library", + "autoload": { + "files": [ + "src/functions.php", + "src/Support/helpers.php" + ], + "psr-4": { + "Deployer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anton Medvedev", + "email": "anton@medv.io" + } + ], + "description": "Deployment Tool", + "homepage": "https://deployer.org", + "support": { + "docs": "https://deployer.org/docs", + "issues": "https://github.com/deployphp/deployer/issues", + "source": "https://github.com/deployphp/deployer" + }, + "funding": [ + { + "url": "https://github.com/sponsors/antonmedv", + "type": "github" + } + ], + "time": "2026-05-18T16:59:34+00:00" + }, { "name": "helmich/typo3-typoscript-parser", "version": "v2.8.1", @@ -9175,6 +9240,60 @@ ], "time": "2026-07-09T11:49:27+00:00" }, + { + "name": "maml/maml", + "version": "v3.2.0", + "source": { + "type": "git", + "url": "https://github.com/maml-dev/maml-php.git", + "reference": "f11cdff4325bf399f23c33fc1995450e40ac0854" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/maml-dev/maml-php/zipball/f11cdff4325bf399f23c33fc1995450e40ac0854", + "reference": "f11cdff4325bf399f23c33fc1995450e40ac0854", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=8.2" + }, + "require-dev": { + "php-cs-fixer/shim": "^3.94", + "phpstan/phpstan": "^2.1", + "phpunit/phpunit": "^10.0 || ^11.0 || ^12.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Maml\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anton Medvedev", + "email": "anton@medv.io" + } + ], + "description": "MAML Parser", + "homepage": "https://maml.dev", + "keywords": [ + "config", + "configuration", + "maml", + "parser", + "serializer" + ], + "support": { + "issues": "https://github.com/maml-dev/maml-php/issues", + "source": "https://github.com/maml-dev/maml-php/tree/v3.2.0" + }, + "time": "2026-04-12T16:50:36+00:00" + }, { "name": "nette/utils", "version": "v4.1.6", @@ -9908,7 +10027,7 @@ "platform": {}, "platform-dev": {}, "platform-overrides": { - "php": "8.5.11" + "php": "8.5.12" }, "plugin-api-version": "2.9.0" } diff --git a/config/system/additional.php b/config/system/additional.php index c881580..c648e23 100644 --- a/config/system/additional.php +++ b/config/system/additional.php @@ -35,6 +35,27 @@ if (getenv('IS_DDEV_PROJECT') == 'true') { 'trustedHostsPattern' => '.*.*', 'devIPmask' => '*', 'displayErrors' => 1, + // Warnings and deprecations are exceptions locally: they are how PHP 7.4 leftovers show up + 'exceptionalErrors' => 12290, + ], + 'BE' => [ + 'debug' => true, + ], + 'FE' => [ + 'debug' => true, + ], + 'LOG' => [ + 'TYPO3' => [ + 'CMS' => [ + 'deprecations' => [ + 'writerConfiguration' => [ + 'notice' => [ + \TYPO3\CMS\Core\Log\Writer\FileWriter::class => ['disabled' => false], + ], + ], + ], + ], + ], ], ] ); diff --git a/config/system/secrets.example.php b/config/system/secrets.example.php index 7efa79e..d5dd50b 100644 --- a/config/system/secrets.example.php +++ b/config/system/secrets.example.php @@ -3,6 +3,17 @@ // Template for config/system/secrets.php (not in Git). Values come from the TYPO3 10 // production LocalConfiguration.php; empty values are ignored. return [ + // Production only (DDEV brings its own database settings) + 'DB' => [ + 'Connections' => [ + 'Default' => [ + 'dbname' => '', + 'host' => '', + 'password' => '', + 'user' => '', + ], + ], + ], 'SYS' => [ // Must be the production key of TYPO3 10: static pages link to cHash URLs served by TYPO3 13 'encryptionKey' => '', diff --git a/config/system/settings.php b/config/system/settings.php index 9ad7881..d5d44bb 100644 --- a/config/system/settings.php +++ b/config/system/settings.php @@ -1,7 +1,7 @@ [ - 'debug' => true, + 'debug' => false, 'installToolPassword' => '$argon2i$v=19$m=65536,t=16,p=1$NVBiTmJvdEljbWY0WmdjUg$YRkMEpjn+hVLAZWWrrU9wIhVgZ3pPhSnPQyB/7+7Z1g', 'passwordHashing' => [ 'className' => 'TYPO3\\CMS\\Core\\Crypto\\PasswordHashing\\Argon2iPasswordHash', @@ -74,12 +74,13 @@ return [ 'cacheHash' => [ 'enforceValidation' => true, ], - 'debug' => true, + 'debug' => false, 'disableNoCacheParameter' => true, 'passwordHashing' => [ 'className' => 'TYPO3\\CMS\\Core\\Crypto\\PasswordHashing\\Argon2iPasswordHash', 'options' => [], ], + 'compressionLevel' => 0, ], 'GFX' => [ 'processor' => 'GraphicsMagick', @@ -94,7 +95,7 @@ return [ 'writerConfiguration' => [ 'notice' => [ 'TYPO3\CMS\Core\Log\Writer\FileWriter' => [ - 'disabled' => false, + 'disabled' => true, ], ], ], @@ -104,7 +105,7 @@ return [ ], 'MAIL' => [ 'transport' => 'sendmail', - 'transport_sendmail_command' => '/usr/local/bin/mailpit sendmail -t --smtp-addr 127.0.0.1:1025', + 'transport_sendmail_command' => '/usr/sbin/sendmail -t -i', 'transport_smtp_encrypt' => '', 'transport_smtp_password' => '', 'transport_smtp_server' => '', @@ -131,10 +132,10 @@ return [ ], ], ], - 'devIPmask' => '*', - 'displayErrors' => 1, + 'devIPmask' => '', + 'displayErrors' => 0, 'encryptionKey' => '0ad297595e43cb5f668bdf7878eaea7002a4193fd26d2742a3a708b4b0715bcfabdae84a47ca8517d55732d9ea72a26a', - 'exceptionalErrors' => 12290, + 'exceptionalErrors' => 4096, 'features' => [ 'extbase.consistentDateTimeHandling' => true, 'frontend.cache.autoTagging' => true, @@ -144,5 +145,6 @@ return [ 'systemMaintainers' => [ 1, ], + 'trustedHostsPattern' => '(?:[a-z0-9-]+\\.)?(?:ep-reisen\\.de|ski-boarderweek\\.(?:de|com|eu)|skiboarderweek\\.(?:de|eu)|snowzone\\.net|unichamp\\.de|snow-break\\.(?:de|com)|semesterende-skireisen\\.de|alpinevacation\\.ch|cllt-touristik\\.at|ep-events\\.de|ski-wochenenden\\.de)', ], ];