From b9d4b5277aeea863ee523b00500debaf0f273fc3 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 23 Nov 2025 19:30:21 +0000 Subject: [PATCH 1/3] feat: add Symfony 8 constraint for future compatibility Prepare composer.json for Symfony 8 support by adding ^8.0 constraint to symfony/finder, symfony/event-dispatcher, symfony/console, and symfony/var-dumper dependencies. --- composer.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/composer.json b/composer.json index 46ef4116..d75d0b28 100644 --- a/composer.json +++ b/composer.json @@ -23,9 +23,9 @@ ], "require": { "php": "^7.4|^8", - "symfony/finder": "^3.0|^4.0|^5.0|^6.0|^7.0", - "symfony/event-dispatcher": "^3.0|^4.0|^5.0|^6.0|^7.0", - "symfony/console": "^3.0|^4.0|^5.0|^6.0|^7.0", + "symfony/finder": "^3.0|^4.0|^5.0|^6.0|^7.0|^8.0", + "symfony/event-dispatcher": "^3.0|^4.0|^5.0|^6.0|^7.0|^8.0", + "symfony/console": "^3.0|^4.0|^5.0|^6.0|^7.0|^8.0", "symfony/polyfill-php80": "^1.20", "nikic/php-parser": "~5", "webmozart/assert": "^1.9", @@ -40,7 +40,7 @@ "phpspec/prophecy-phpunit": "^2.3", "phpunit/phpunit": "^7.5|^9.0|^10.0", "roave/security-advisories": "dev-master", - "symfony/var-dumper": "^3.0|^4.0|^5.0|^6.0|^7.0" + "symfony/var-dumper": "^3.0|^4.0|^5.0|^6.0|^7.0|^8.0" }, "autoload": { "psr-4": { From e645f75c369bebea439ec2d0f28a40db8ad2b737 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 23 Nov 2025 19:33:47 +0000 Subject: [PATCH 2/3] feat: add Symfony 8 support - Update composer.json to allow Symfony 8.x components - Add backward compatible fix for Application::add() removal in Symfony 8 (uses addCommand() when available, falls back to add() for older versions) Tested with symfony/console v8.0.0-RC3, symfony/event-dispatcher v8.0.0-RC1, symfony/finder v8.0.0-RC1, and symfony/var-dumper v8.0.0-RC1. --- composer.json | 18 ++++++++++-------- src/CLI/PhpArkitectApplication.php | 11 ++++++++--- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/composer.json b/composer.json index d75d0b28..05c408be 100644 --- a/composer.json +++ b/composer.json @@ -23,15 +23,15 @@ ], "require": { "php": "^7.4|^8", - "symfony/finder": "^3.0|^4.0|^5.0|^6.0|^7.0|^8.0", - "symfony/event-dispatcher": "^3.0|^4.0|^5.0|^6.0|^7.0|^8.0", - "symfony/console": "^3.0|^4.0|^5.0|^6.0|^7.0|^8.0", - "symfony/polyfill-php80": "^1.20", - "nikic/php-parser": "~5", - "webmozart/assert": "^1.9", "ext-json": "*", + "nikic/php-parser": "~5", + "ondram/ci-detector": "^4.1", "phpstan/phpdoc-parser": "^1.2|^2.0", - "ondram/ci-detector": "^4.1" + "symfony/console": "^8.0@RC", + "symfony/event-dispatcher": "^8.0@RC", + "symfony/finder": "^8.0@RC", + "symfony/polyfill-php80": "^1.20", + "webmozart/assert": "^1.9" }, "require-dev": { "friendsofphp/php-cs-fixer": "^3.75", @@ -40,7 +40,7 @@ "phpspec/prophecy-phpunit": "^2.3", "phpunit/phpunit": "^7.5|^9.0|^10.0", "roave/security-advisories": "dev-master", - "symfony/var-dumper": "^3.0|^4.0|^5.0|^6.0|^7.0|^8.0" + "symfony/var-dumper": "^8.0@RC" }, "autoload": { "psr-4": { @@ -52,6 +52,8 @@ "Arkitect\\Tests\\": "tests/" } }, + "minimum-stability": "RC", + "prefer-stable": true, "config": { "bin-dir": "bin", "sort-packages": true diff --git a/src/CLI/PhpArkitectApplication.php b/src/CLI/PhpArkitectApplication.php index 0047cf50..775cba18 100644 --- a/src/CLI/PhpArkitectApplication.php +++ b/src/CLI/PhpArkitectApplication.php @@ -21,9 +21,14 @@ class PhpArkitectApplication extends \Symfony\Component\Console\Application public function __construct() { parent::__construct('PHPArkitect', Version::get()); - $this->add(new Check()); - $this->add(new Init()); - $this->add(new DebugExpression()); + + // Symfony 8 removed add() in favor of addCommand() + // addCommand() was introduced in Symfony 7.4 + $addMethod = method_exists($this, 'addCommand') ? 'addCommand' : 'add'; + + $this->$addMethod(new Check()); + $this->$addMethod(new Init()); + $this->$addMethod(new DebugExpression()); } public function getLongVersion(): string From 0ca99ffb68853ee6a9efcb944ac79359c2295167 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 29 Nov 2025 10:48:50 +0000 Subject: [PATCH 3/3] chore: update Symfony constraints to stable versions - Remove @RC stability constraint, use stable versions - Update to Symfony 8.0.0 stable - Maintain backward compatibility with Symfony 3.x-8.x - Remove minimum-stability constraint All 327 tests pass with Symfony 8.0.0 stable. --- composer.json | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/composer.json b/composer.json index 05c408be..3b31af70 100644 --- a/composer.json +++ b/composer.json @@ -27,9 +27,9 @@ "nikic/php-parser": "~5", "ondram/ci-detector": "^4.1", "phpstan/phpdoc-parser": "^1.2|^2.0", - "symfony/console": "^8.0@RC", - "symfony/event-dispatcher": "^8.0@RC", - "symfony/finder": "^8.0@RC", + "symfony/console": "^3.0|^4.0|^5.0|^6.0|^7.0|^8.0", + "symfony/event-dispatcher": "^3.0|^4.0|^5.0|^6.0|^7.0|^8.0", + "symfony/finder": "^3.0|^4.0|^5.0|^6.0|^7.0|^8.0", "symfony/polyfill-php80": "^1.20", "webmozart/assert": "^1.9" }, @@ -40,7 +40,7 @@ "phpspec/prophecy-phpunit": "^2.3", "phpunit/phpunit": "^7.5|^9.0|^10.0", "roave/security-advisories": "dev-master", - "symfony/var-dumper": "^8.0@RC" + "symfony/var-dumper": "^3.0|^4.0|^5.0|^6.0|^7.0|^8.0" }, "autoload": { "psr-4": { @@ -52,8 +52,6 @@ "Arkitect\\Tests\\": "tests/" } }, - "minimum-stability": "RC", - "prefer-stable": true, "config": { "bin-dir": "bin", "sort-packages": true