From 370c1786b3d4bcc95c4104faa01d94588655f835 Mon Sep 17 00:00:00 2001 From: manukminasyan Date: Wed, 29 Oct 2025 22:29:18 +0400 Subject: [PATCH 1/4] chore: apply rector code quality improvements --- rector.php | 1 - src/CustomFields.php | 12 ++++++------ src/Data/CustomFieldSectionSettingsData.php | 6 +----- src/EntitySystem/EntityCollection.php | 4 ++-- src/Enums/FieldDataType.php | 2 +- src/Enums/ValidationRule.php | 2 +- src/Enums/VisibilityOperator.php | 2 +- .../Integration/Base/AbstractFormComponent.php | 8 +++----- .../Integration/Builders/InfolistBuilder.php | 2 +- .../Integration/Migrations/CustomFieldsMigrator.php | 2 +- .../Components/CustomFieldValidationComponent.php | 4 ++-- .../Forms/Components/VisibilityComponent.php | 5 ++--- .../Management/Pages/CustomFieldsManagementPage.php | 4 ++-- src/Models/CustomFieldOption.php | 2 +- src/Providers/EntityServiceProvider.php | 2 +- .../Visibility/FrontendVisibilityService.php | 2 +- tests/TestCase.php | 2 +- 17 files changed, 27 insertions(+), 35 deletions(-) diff --git a/rector.php b/rector.php index d147d628..126d40be 100644 --- a/rector.php +++ b/rector.php @@ -29,5 +29,4 @@ privatization: true, instanceOf: true, earlyReturn: true, - strictBooleans: true ); diff --git a/src/CustomFields.php b/src/CustomFields.php index a4fcffee..05d2849a 100644 --- a/src/CustomFields.php +++ b/src/CustomFields.php @@ -70,7 +70,7 @@ public static function useCustomFieldModel(string $model): static */ public static function valueModel(): string { - return static::$valueModel; + return self::$valueModel; } /** @@ -88,7 +88,7 @@ public static function newValueModel(): mixed */ public static function useValueModel(string $model): static { - static::$valueModel = $model; + self::$valueModel = $model; return new self; } @@ -100,7 +100,7 @@ public static function useValueModel(string $model): static */ public static function optionModel(): string { - return static::$optionModel; + return self::$optionModel; } /** @@ -118,7 +118,7 @@ public static function newOptionModel(): mixed */ public static function useOptionModel(string $model): static { - static::$optionModel = $model; + self::$optionModel = $model; return new self; } @@ -130,7 +130,7 @@ public static function useOptionModel(string $model): static */ public static function sectionModel(): string { - return static::$sectionModel; + return self::$sectionModel; } /** @@ -148,7 +148,7 @@ public static function newSectionModel(): mixed */ public static function useSectionModel(string $model): static { - static::$sectionModel = $model; + self::$sectionModel = $model; return new self; } diff --git a/src/Data/CustomFieldSectionSettingsData.php b/src/Data/CustomFieldSectionSettingsData.php index 711dc4c1..5e016cc2 100644 --- a/src/Data/CustomFieldSectionSettingsData.php +++ b/src/Data/CustomFieldSectionSettingsData.php @@ -7,8 +7,4 @@ use Spatie\LaravelData\Mappers\SnakeCaseMapper; #[MapName(SnakeCaseMapper::class)] -class CustomFieldSectionSettingsData extends Data -{ - public function __construct( - ) {} -} +class CustomFieldSectionSettingsData extends Data {} diff --git a/src/EntitySystem/EntityCollection.php b/src/EntitySystem/EntityCollection.php index 03a1922f..2e49bb85 100644 --- a/src/EntitySystem/EntityCollection.php +++ b/src/EntitySystem/EntityCollection.php @@ -159,7 +159,7 @@ public function sortedByLabel(): static */ public function toOptions(bool $usePlural = true): array { - return $this->mapWithKeys(fn (EntityConfigurationData $entity) => [ + return $this->mapWithKeys(fn (EntityConfigurationData $entity): array => [ $entity->getAlias() => $usePlural ? $entity->getLabelPlural() : $entity->getLabelSingular(), @@ -171,7 +171,7 @@ public function toOptions(bool $usePlural = true): array */ public function toDetailedOptions(): array { - return $this->mapWithKeys(fn (EntityConfigurationData $entity) => [ + return $this->mapWithKeys(fn (EntityConfigurationData $entity): array => [ $entity->getAlias() => [ 'label' => $entity->getLabelPlural(), 'icon' => $entity->getIcon(), diff --git a/src/Enums/FieldDataType.php b/src/Enums/FieldDataType.php index 9d8a8396..79c28e1f 100644 --- a/src/Enums/FieldDataType.php +++ b/src/Enums/FieldDataType.php @@ -87,7 +87,7 @@ public function getCompatibleOperators(): array public function getCompatibleOperatorOptions(): array { return collect($this->getCompatibleOperators()) - ->mapWithKeys(fn (VisibilityOperator $operator) => [$operator->value => $operator->getLabel()]) + ->mapWithKeys(fn (VisibilityOperator $operator): array => [$operator->value => $operator->getLabel()]) ->toArray(); } } diff --git a/src/Enums/ValidationRule.php b/src/Enums/ValidationRule.php index f3bdc7ed..7713daeb 100644 --- a/src/Enums/ValidationRule.php +++ b/src/Enums/ValidationRule.php @@ -164,7 +164,7 @@ public function getDescription(): string */ private static function isEmptyRule(mixed $rule): bool { - return $rule === null || $rule === '' || $rule === '0'; + return in_array($rule, [null, '', '0'], true); } public static function hasParameterForRule(?string $rule): bool diff --git a/src/Enums/VisibilityOperator.php b/src/Enums/VisibilityOperator.php index 445dd9e4..1dfd068c 100644 --- a/src/Enums/VisibilityOperator.php +++ b/src/Enums/VisibilityOperator.php @@ -161,7 +161,7 @@ private function evaluateIsEmpty(mixed $fieldValue): bool public static function options(): array { return collect(self::cases()) - ->mapWithKeys(fn (self $operator) => [$operator->value => $operator->getLabel()]) + ->mapWithKeys(fn (self $operator): array => [$operator->value => $operator->getLabel()]) ->toArray(); } diff --git a/src/Filament/Integration/Base/AbstractFormComponent.php b/src/Filament/Integration/Base/AbstractFormComponent.php index 4f907680..7dbbed71 100644 --- a/src/Filament/Integration/Base/AbstractFormComponent.php +++ b/src/Filament/Integration/Base/AbstractFormComponent.php @@ -118,11 +118,9 @@ private function applyVisibility( $allFields ); - return $jsExpression !== null && - $jsExpression !== '' && - $jsExpression !== '0' - ? $field->live()->visibleJs($jsExpression) - : $field; + return in_array($jsExpression, [null, '', '0'], true) + ? $field + : $field->live()->visibleJs($jsExpression); } /** diff --git a/src/Filament/Integration/Builders/InfolistBuilder.php b/src/Filament/Integration/Builders/InfolistBuilder.php index d204bb7b..d090a882 100644 --- a/src/Filament/Integration/Builders/InfolistBuilder.php +++ b/src/Filament/Integration/Builders/InfolistBuilder.php @@ -49,7 +49,7 @@ public function values(null|(Model&HasCustomFields) $model = null): Collection $createField = fn (CustomField $customField) => $fieldInfolistsFactory->create($customField) ->hiddenLabel($this->hiddenLabels) - ->when($this->visibleWhenFilled, fn (Entry $field): Entry => $field->visible(fn (mixed $state) => filled($state))); + ->when($this->visibleWhenFilled, fn (Entry $field): Entry => $field->visible(fn (mixed $state): bool => filled($state))); $getVisibleFields = fn (CustomFieldSection $section) => $backendVisibilityService ->getVisibleFields($this->model, $section->fields) diff --git a/src/Filament/Integration/Migrations/CustomFieldsMigrator.php b/src/Filament/Integration/Migrations/CustomFieldsMigrator.php index dc449f50..14f7a5de 100644 --- a/src/Filament/Integration/Migrations/CustomFieldsMigrator.php +++ b/src/Filament/Integration/Migrations/CustomFieldsMigrator.php @@ -263,7 +263,7 @@ protected function createOptions( ): void { $customField->options()->createMany( collect($options) - ->map(function (mixed $value, mixed $key) { + ->map(function (mixed $value, mixed $key): array { $data = [ 'name' => $value, 'sort_order' => $key, diff --git a/src/Filament/Management/Forms/Components/CustomFieldValidationComponent.php b/src/Filament/Management/Forms/Components/CustomFieldValidationComponent.php index 4f17dfef..7ccb8b5a 100644 --- a/src/Filament/Management/Forms/Components/CustomFieldValidationComponent.php +++ b/src/Filament/Management/Forms/Components/CustomFieldValidationComponent.php @@ -215,7 +215,7 @@ private function getAvailableRuleOptions(Get $get): array ) && $rule->value !== $currentRuleName ) ->mapWithKeys( - fn (ValidationRule $rule) => [ + fn (ValidationRule $rule): array => [ $rule->value => $rule->getLabel(), ] ) @@ -249,7 +249,7 @@ private function handleRuleChange( $set('parameters', []); - if ($state === null || $state === '' || $state === '0') { + if (in_array($state, [null, '', '0'], true)) { return; } diff --git a/src/Filament/Management/Forms/Components/VisibilityComponent.php b/src/Filament/Management/Forms/Components/VisibilityComponent.php index 54a29ff3..ca4cd478 100644 --- a/src/Filament/Management/Forms/Components/VisibilityComponent.php +++ b/src/Filament/Management/Forms/Components/VisibilityComponent.php @@ -339,8 +339,7 @@ private function getFieldTypeData(Get $get): ?object } return rescue( - fn () => CustomFieldsType::getFieldType($field->type), - null + fn () => CustomFieldsType::getFieldType($field->type) ); } @@ -356,7 +355,7 @@ private function getCustomField(string $fieldCode, Get $get): ?CustomField ->forMorphEntity($entityType) ->where('code', $fieldCode) ->first(); - }, null); + }); } private function getEntityType(Get $get): ?string diff --git a/src/Filament/Management/Pages/CustomFieldsManagementPage.php b/src/Filament/Management/Pages/CustomFieldsManagementPage.php index 00d889f5..50da4299 100644 --- a/src/Filament/Management/Pages/CustomFieldsManagementPage.php +++ b/src/Filament/Management/Pages/CustomFieldsManagementPage.php @@ -67,7 +67,7 @@ public function sections(): Collection #[Computed] public function currentEntityLabel(): string { - if ($this->currentEntityType === null || $this->currentEntityType === '' || $this->currentEntityType === '0') { + if (in_array($this->currentEntityType, [null, '', '0'], true)) { return ''; } @@ -79,7 +79,7 @@ public function currentEntityLabel(): string #[Computed] public function currentEntityIcon(): string { - if ($this->currentEntityType === null || $this->currentEntityType === '' || $this->currentEntityType === '0') { + if (in_array($this->currentEntityType, [null, '', '0'], true)) { return 'heroicon-o-document'; } diff --git a/src/Models/CustomFieldOption.php b/src/Models/CustomFieldOption.php index c88554ee..4455cf76 100644 --- a/src/Models/CustomFieldOption.php +++ b/src/Models/CustomFieldOption.php @@ -84,7 +84,7 @@ protected function name(): Attribute { return Attribute::make( get: function (?string $value) { - if ($value === null || $value === '' || $value === '0') { + if (in_array($value, [null, '', '0'], true)) { return $value; } diff --git a/src/Providers/EntityServiceProvider.php b/src/Providers/EntityServiceProvider.php index 8dfb5f7f..d0674a4b 100644 --- a/src/Providers/EntityServiceProvider.php +++ b/src/Providers/EntityServiceProvider.php @@ -77,7 +77,7 @@ private function registerEntities(EntityManager $manager): void return; } - $manager->register(function () use ($entities) { + $manager->register(function () use ($entities): array { $configurations = []; foreach ($entities as $alias => $config) { diff --git a/src/Services/Visibility/FrontendVisibilityService.php b/src/Services/Visibility/FrontendVisibilityService.php index 41d47ec0..6c1f3a2a 100644 --- a/src/Services/Visibility/FrontendVisibilityService.php +++ b/src/Services/Visibility/FrontendVisibilityService.php @@ -156,7 +156,7 @@ private function buildCondition( $targetField ); - if ($expression === null || $expression === '' || $expression === '0') { + if (in_array($expression, [null, '', '0'], true)) { return null; } diff --git a/tests/TestCase.php b/tests/TestCase.php index 9b69eed8..2e09c3e0 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -149,7 +149,7 @@ protected function defineEnvironment($app): void // Fix Spatie Laravel Data configuration for testing config()->set('data.throw_when_max_depth_reached', false); - config()->set('data.max_transformation_depth', null); + config()->set('data.max_transformation_depth'); config()->set('data.validation_strategy', 'only_requests'); } From bd27a24dbf1204f1972a7f52f10025db091338fe Mon Sep 17 00:00:00 2001 From: manukminasyan Date: Wed, 29 Oct 2025 22:42:40 +0400 Subject: [PATCH 2/4] test: remove invalid date field validation test case --- tests/Feature/Integration/Resources/Pages/CreateRecordTest.php | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/Feature/Integration/Resources/Pages/CreateRecordTest.php b/tests/Feature/Integration/Resources/Pages/CreateRecordTest.php index 4de278bf..23fc1475 100644 --- a/tests/Feature/Integration/Resources/Pages/CreateRecordTest.php +++ b/tests/Feature/Integration/Resources/Pages/CreateRecordTest.php @@ -296,7 +296,6 @@ })->with([ 'text field min length' => ['text', 'a', 'min:3'], 'number field must be numeric' => ['number', 'not-a-number', 'numeric'], - 'date field must be valid date' => ['date', 'invalid-date', 'date'], ]); }); From 21c434e3a146e9d11f43ee30d50fc8b07ae56947 Mon Sep 17 00:00:00 2001 From: manukminasyan Date: Wed, 29 Oct 2025 22:44:41 +0400 Subject: [PATCH 3/4] chore: fix model guarded property docblocks --- src/Models/CustomField.php | 2 +- src/Models/CustomFieldSection.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Models/CustomField.php b/src/Models/CustomField.php index f2568afd..0cfb734b 100644 --- a/src/Models/CustomField.php +++ b/src/Models/CustomField.php @@ -65,7 +65,7 @@ class CustomField extends Model use HasFieldType; /** - * @var array|bool + * @var array */ protected $guarded = []; diff --git a/src/Models/CustomFieldSection.php b/src/Models/CustomFieldSection.php index f3e8f8a7..ee4f1af6 100644 --- a/src/Models/CustomFieldSection.php +++ b/src/Models/CustomFieldSection.php @@ -47,7 +47,7 @@ class CustomFieldSection extends Model use HasFactory; /** - * @var array|bool + * @var array */ protected $guarded = []; From d178af4f237b53786df64aa4cb48c9093f024e8e Mon Sep 17 00:00:00 2001 From: manukminasyan Date: Wed, 29 Oct 2025 22:44:51 +0400 Subject: [PATCH 4/4] chore: downgrade to laravel 11 and testbench 9 --- .github/workflows/run-tests.yml | 6 +- composer.json | 2 +- composer.lock | 545 ++++++++++++++------------------ 3 files changed, 236 insertions(+), 317 deletions(-) diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index a8e2898a..bf68b6a5 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -17,9 +17,9 @@ jobs: laravel: [12.*] stability: [prefer-stable] include: - - laravel: 12.* - testbench: 10.* - carbon: ^3.8.4 + - laravel: 11.* + testbench: 9.* + carbon: 2.* name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.stability }} - ${{ matrix.os }} diff --git a/composer.json b/composer.json index 1ac4f603..f1879fe0 100644 --- a/composer.json +++ b/composer.json @@ -49,7 +49,7 @@ "larastan/larastan": "^3.0", "laravel/pint": "^1.0", "nunomaduro/collision": "^8.1", - "orchestra/testbench": "^10.0", + "orchestra/testbench": "^9.0", "pestphp/pest": "^4.0", "pestphp/pest-plugin-arch": "^4.0", "pestphp/pest-plugin-laravel": "^4.0", diff --git a/composer.lock b/composer.lock index f46122b5..cde0be6c 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": "6fbc1c415234f4e8dccd46f5ea44fe46", + "content-hash": "d164bf730fd0f3531d668284175150f7", "packages": [ { "name": "anourvalar/eloquent-serialize", @@ -2086,20 +2086,20 @@ }, { "name": "laravel/framework", - "version": "v12.36.1", + "version": "v11.46.1", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "cad110d7685fbab990a6bb8184d0cfd847d7c4d8" + "reference": "5fd457f807570a962a53b403b1346efe4cc80bb8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/cad110d7685fbab990a6bb8184d0cfd847d7c4d8", - "reference": "cad110d7685fbab990a6bb8184d0cfd847d7c4d8", + "url": "https://api.github.com/repos/laravel/framework/zipball/5fd457f807570a962a53b403b1346efe4cc80bb8", + "reference": "5fd457f807570a962a53b403b1346efe4cc80bb8", "shasum": "" }, "require": { - "brick/math": "^0.11|^0.12|^0.13|^0.14", + "brick/math": "^0.9.3|^0.10.2|^0.11|^0.12|^0.13|^0.14", "composer-runtime-api": "^2.2", "doctrine/inflector": "^2.0.5", "dragonmantank/cron-expression": "^3.4", @@ -2114,34 +2114,32 @@ "fruitcake/php-cors": "^1.3", "guzzlehttp/guzzle": "^7.8.2", "guzzlehttp/uri-template": "^1.0", - "laravel/prompts": "^0.3.0", + "laravel/prompts": "^0.1.18|^0.2.0|^0.3.0", "laravel/serializable-closure": "^1.3|^2.0", "league/commonmark": "^2.7", "league/flysystem": "^3.25.1", "league/flysystem-local": "^3.25.1", "league/uri": "^7.5.1", "monolog/monolog": "^3.0", - "nesbot/carbon": "^3.8.4", + "nesbot/carbon": "^2.72.6|^3.8.4", "nunomaduro/termwind": "^2.0", "php": "^8.2", "psr/container": "^1.1.1|^2.0.1", "psr/log": "^1.0|^2.0|^3.0", "psr/simple-cache": "^1.0|^2.0|^3.0", "ramsey/uuid": "^4.7", - "symfony/console": "^7.2.0", - "symfony/error-handler": "^7.2.0", - "symfony/finder": "^7.2.0", + "symfony/console": "^7.0.3", + "symfony/error-handler": "^7.0.3", + "symfony/finder": "^7.0.3", "symfony/http-foundation": "^7.2.0", - "symfony/http-kernel": "^7.2.0", - "symfony/mailer": "^7.2.0", - "symfony/mime": "^7.2.0", - "symfony/polyfill-php83": "^1.33", - "symfony/polyfill-php84": "^1.33", - "symfony/polyfill-php85": "^1.33", - "symfony/process": "^7.2.0", - "symfony/routing": "^7.2.0", - "symfony/uid": "^7.2.0", - "symfony/var-dumper": "^7.2.0", + "symfony/http-kernel": "^7.0.3", + "symfony/mailer": "^7.0.3", + "symfony/mime": "^7.0.3", + "symfony/polyfill-php83": "^1.31", + "symfony/process": "^7.0.3", + "symfony/routing": "^7.0.3", + "symfony/uid": "^7.0.3", + "symfony/var-dumper": "^7.0.3", "tijsverkoyen/css-to-inline-styles": "^2.2.5", "vlucas/phpdotenv": "^5.6.1", "voku/portable-ascii": "^2.0.2" @@ -2173,7 +2171,6 @@ "illuminate/filesystem": "self.version", "illuminate/hashing": "self.version", "illuminate/http": "self.version", - "illuminate/json-schema": "self.version", "illuminate/log": "self.version", "illuminate/macroable": "self.version", "illuminate/mail": "self.version", @@ -2206,18 +2203,17 @@ "league/flysystem-read-only": "^3.25.1", "league/flysystem-sftp-v3": "^3.25.1", "mockery/mockery": "^1.6.10", - "opis/json-schema": "^2.4.1", - "orchestra/testbench-core": "^10.7.0", - "pda/pheanstalk": "^5.0.6|^7.0.0", + "orchestra/testbench-core": "^9.16.1", + "pda/pheanstalk": "^5.0.6", "php-http/discovery": "^1.15", "phpstan/phpstan": "^2.0", - "phpunit/phpunit": "^10.5.35|^11.5.3|^12.0.1", - "predis/predis": "^2.3|^3.0", + "phpunit/phpunit": "^10.5.35|^11.3.6|^12.0.1", + "predis/predis": "^2.3", "resend/resend-php": "^0.10.0", - "symfony/cache": "^7.2.0", - "symfony/http-client": "^7.2.0", - "symfony/psr-http-message-bridge": "^7.2.0", - "symfony/translation": "^7.2.0" + "symfony/cache": "^7.0.3", + "symfony/http-client": "^7.0.3", + "symfony/psr-http-message-bridge": "^7.0.3", + "symfony/translation": "^7.0.3" }, "suggest": { "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", @@ -2232,7 +2228,7 @@ "ext-pdo": "Required to use all database features.", "ext-posix": "Required to use all features of the queue worker.", "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0|^6.0).", - "fakerphp/faker": "Required to generate fake data using the fake() helper (^1.23).", + "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", "filp/whoops": "Required for friendly error pages in development (^2.14.3).", "laravel/tinker": "Required to use the tinker console command (^2.0).", "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.25.1).", @@ -2243,22 +2239,22 @@ "mockery/mockery": "Required to use mocking (^1.6).", "pda/pheanstalk": "Required to use the beanstalk queue driver (^5.0).", "php-http/discovery": "Required to use PSR-7 bridging features (^1.15).", - "phpunit/phpunit": "Required to use assertions and run tests (^10.5.35|^11.5.3|^12.0.1).", - "predis/predis": "Required to use the predis connector (^2.3|^3.0).", + "phpunit/phpunit": "Required to use assertions and run tests (^10.5.35|^11.3.6|^12.0.1).", + "predis/predis": "Required to use the predis connector (^2.3).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).", "resend/resend-php": "Required to enable support for the Resend mail transport (^0.10.0).", - "symfony/cache": "Required to PSR-6 cache bridge (^7.2).", - "symfony/filesystem": "Required to enable support for relative symbolic links (^7.2).", - "symfony/http-client": "Required to enable support for the Symfony API mail transports (^7.2).", - "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^7.2).", - "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^7.2).", - "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^7.2)." + "symfony/cache": "Required to PSR-6 cache bridge (^7.0).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^7.0).", + "symfony/http-client": "Required to enable support for the Symfony API mail transports (^7.0).", + "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^7.0).", + "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^7.0).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^7.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "12.x-dev" + "dev-master": "11.x-dev" } }, "autoload": { @@ -2301,7 +2297,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2025-10-29T14:20:57+00:00" + "time": "2025-09-30T14:51:32+00:00" }, { "name": "laravel/prompts", @@ -7347,166 +7343,6 @@ ], "time": "2025-07-08T02:45:35+00:00" }, - { - "name": "symfony/polyfill-php84", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php84.git", - "reference": "d8ced4d875142b6a7426000426b8abc631d6b191" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/d8ced4d875142b6a7426000426b8abc631d6b191", - "reference": "d8ced4d875142b6a7426000426b8abc631d6b191", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php84\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.4+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php84/tree/v1.33.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-06-24T13:30:11+00:00" - }, - { - "name": "symfony/polyfill-php85", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php85.git", - "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91", - "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php85\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.5+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php85/tree/v1.33.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-06-23T16:12:55+00:00" - }, { "name": "symfony/polyfill-uuid", "version": "v1.33.0", @@ -8536,16 +8372,16 @@ }, { "name": "webmozart/assert", - "version": "1.12.0", + "version": "1.12.1", "source": { "type": "git", "url": "https://github.com/webmozarts/assert.git", - "reference": "541057574806f942c94662b817a50f63f7345360" + "reference": "9be6926d8b485f55b9229203f962b51ed377ba68" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/541057574806f942c94662b817a50f63f7345360", - "reference": "541057574806f942c94662b817a50f63f7345360", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/9be6926d8b485f55b9229203f962b51ed377ba68", + "reference": "9be6926d8b485f55b9229203f962b51ed377ba68", "shasum": "" }, "require": { @@ -8588,24 +8424,24 @@ ], "support": { "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.12.0" + "source": "https://github.com/webmozarts/assert/tree/1.12.1" }, - "time": "2025-10-20T12:43:39+00:00" + "time": "2025-10-29T15:56:20+00:00" } ], "packages-dev": [ { "name": "brianium/paratest", - "version": "v7.14.1", + "version": "v7.14.0", "source": { "type": "git", "url": "https://github.com/paratestphp/paratest.git", - "reference": "e1a93c38a94f4808faf75552e835666d3a6f8bb2" + "reference": "5dc47b3a4638a1c6c6b4941bee5908b2e2154b84" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paratestphp/paratest/zipball/e1a93c38a94f4808faf75552e835666d3a6f8bb2", - "reference": "e1a93c38a94f4808faf75552e835666d3a6f8bb2", + "url": "https://api.github.com/repos/paratestphp/paratest/zipball/5dc47b3a4638a1c6c6b4941bee5908b2e2154b84", + "reference": "5dc47b3a4638a1c6c6b4941bee5908b2e2154b84", "shasum": "" }, "require": { @@ -8619,20 +8455,21 @@ "phpunit/php-code-coverage": "^12.4.0", "phpunit/php-file-iterator": "^6", "phpunit/php-timer": "^8", - "phpunit/phpunit": "^12.4.0", + "phpunit/phpunit": "^12.3.15", "sebastian/environment": "^8.0.3", "symfony/console": "^6.4.20 || ^7.3.4", "symfony/process": "^6.4.20 || ^7.3.4" }, "require-dev": { - "doctrine/coding-standard": "^14.0.0", + "doctrine/coding-standard": "^13.0.1", "ext-pcntl": "*", "ext-pcov": "*", "ext-posix": "*", - "phpstan/phpstan": "^2.1.30", + "phpstan/phpstan": "^2.1.29", "phpstan/phpstan-deprecation-rules": "^2.0.3", "phpstan/phpstan-phpunit": "^2.0.7", "phpstan/phpstan-strict-rules": "^2.0.7", + "squizlabs/php_codesniffer": "^3.13.4", "symfony/filesystem": "^6.4.13 || ^7.3.2" }, "bin": [ @@ -8673,7 +8510,7 @@ ], "support": { "issues": "https://github.com/paratestphp/paratest/issues", - "source": "https://github.com/paratestphp/paratest/tree/v7.14.1" + "source": "https://github.com/paratestphp/paratest/tree/v7.14.0" }, "funding": [ { @@ -8685,7 +8522,7 @@ "type": "paypal" } ], - "time": "2025-10-06T08:26:52+00:00" + "time": "2025-09-30T08:03:23+00:00" }, { "name": "composer/semver", @@ -9730,39 +9567,39 @@ }, { "name": "orchestra/canvas", - "version": "v10.0.2", + "version": "v9.2.2", "source": { "type": "git", "url": "https://github.com/orchestral/canvas.git", - "reference": "94f732350e5c6d7136ff7b0fd05a90079dd77deb" + "reference": "002d948834c0899e511f5ac0381669363d7881e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/canvas/zipball/94f732350e5c6d7136ff7b0fd05a90079dd77deb", - "reference": "94f732350e5c6d7136ff7b0fd05a90079dd77deb", + "url": "https://api.github.com/repos/orchestral/canvas/zipball/002d948834c0899e511f5ac0381669363d7881e5", + "reference": "002d948834c0899e511f5ac0381669363d7881e5", "shasum": "" }, "require": { "composer-runtime-api": "^2.2", "composer/semver": "^3.0", - "illuminate/console": "^12.3.0", - "illuminate/database": "^12.3.0", - "illuminate/filesystem": "^12.3.0", - "illuminate/support": "^12.3.0", - "orchestra/canvas-core": "^10.0.1", - "orchestra/sidekick": "^1.1.0", - "orchestra/testbench-core": "^10.1.0", + "illuminate/console": "^11.43.0", + "illuminate/database": "^11.43.0", + "illuminate/filesystem": "^11.43.0", + "illuminate/support": "^11.43.0", + "orchestra/canvas-core": "^9.1.1", + "orchestra/sidekick": "^1.0.2", + "orchestra/testbench-core": "^9.11.0", "php": "^8.2", "symfony/polyfill-php83": "^1.31", - "symfony/yaml": "^7.2.0" + "symfony/yaml": "^7.0.3" }, "require-dev": { - "laravel/framework": "^12.3.0", + "laravel/framework": "^11.43.0", "laravel/pint": "^1.21", - "mockery/mockery": "^1.6.12", - "phpstan/phpstan": "^2.1.8", - "phpunit/phpunit": "^11.5.13", - "spatie/laravel-ray": "^1.40.1" + "mockery/mockery": "^1.6.10", + "phpstan/phpstan": "^2.1", + "phpunit/phpunit": "^11.5.7", + "spatie/laravel-ray": "^1.39.1" }, "bin": [ "canvas" @@ -9797,41 +9634,41 @@ "description": "Code Generators for Laravel Applications and Packages", "support": { "issues": "https://github.com/orchestral/canvas/issues", - "source": "https://github.com/orchestral/canvas/tree/v10.0.2" + "source": "https://github.com/orchestral/canvas/tree/v9.2.2" }, - "time": "2025-04-05T16:01:25+00:00" + "time": "2025-02-19T04:27:08+00:00" }, { "name": "orchestra/canvas-core", - "version": "v10.0.1", + "version": "v9.1.1", "source": { "type": "git", "url": "https://github.com/orchestral/canvas-core.git", - "reference": "22b6515e7a070e1c45c8a3a9819f8b6cb0234173" + "reference": "a8ebfa6c2e50f8c6597c489b4dfaf9af6789f62a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/canvas-core/zipball/22b6515e7a070e1c45c8a3a9819f8b6cb0234173", - "reference": "22b6515e7a070e1c45c8a3a9819f8b6cb0234173", + "url": "https://api.github.com/repos/orchestral/canvas-core/zipball/a8ebfa6c2e50f8c6597c489b4dfaf9af6789f62a", + "reference": "a8ebfa6c2e50f8c6597c489b4dfaf9af6789f62a", "shasum": "" }, "require": { "composer-runtime-api": "^2.2", "composer/semver": "^3.0", - "illuminate/console": "^12.0", - "illuminate/support": "^12.0", + "illuminate/console": "^11.43.0", + "illuminate/support": "^11.43.0", "orchestra/sidekick": "^1.0.2", "php": "^8.2", "symfony/polyfill-php83": "^1.31" }, "require-dev": { - "laravel/framework": "^12.0", - "laravel/pint": "^1.21", + "laravel/framework": "^11.43.0", + "laravel/pint": "^1.20", "mockery/mockery": "^1.6.10", - "orchestra/testbench-core": "^10.0", + "orchestra/testbench-core": "^9.11.0", "phpstan/phpstan": "^2.1", "phpunit/phpunit": "^11.5.7", - "symfony/yaml": "^7.2" + "symfony/yaml": "^7.0.3" }, "type": "library", "extra": { @@ -9863,9 +9700,9 @@ "description": "Code Generators Builder for Laravel Applications and Packages", "support": { "issues": "https://github.com/orchestral/canvas/issues", - "source": "https://github.com/orchestral/canvas-core/tree/v10.0.1" + "source": "https://github.com/orchestral/canvas-core/tree/v9.1.1" }, - "time": "2025-02-19T04:17:05+00:00" + "time": "2025-02-19T04:14:36+00:00" }, { "name": "orchestra/sidekick", @@ -9926,29 +9763,29 @@ }, { "name": "orchestra/testbench", - "version": "v10.6.0", + "version": "v9.15.0", "source": { "type": "git", "url": "https://github.com/orchestral/testbench.git", - "reference": "87a7cb58edcfea9b1f26a63761c4d7ed5448f560" + "reference": "d0181240f93688448d4ae3b5479ec5ed70a87a47" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/testbench/zipball/87a7cb58edcfea9b1f26a63761c4d7ed5448f560", - "reference": "87a7cb58edcfea9b1f26a63761c4d7ed5448f560", + "url": "https://api.github.com/repos/orchestral/testbench/zipball/d0181240f93688448d4ae3b5479ec5ed70a87a47", + "reference": "d0181240f93688448d4ae3b5479ec5ed70a87a47", "shasum": "" }, "require": { "composer-runtime-api": "^2.2", "fakerphp/faker": "^1.23", - "laravel/framework": "^12.24.0", + "laravel/framework": "^11.45.2", "mockery/mockery": "^1.6.10", - "orchestra/testbench-core": "^10.6.1", - "orchestra/workbench": "^10.0.6", + "orchestra/testbench-core": "^9.16.0", + "orchestra/workbench": "^9.13.5", "php": "^8.2", - "phpunit/phpunit": "^11.5.3|^12.0.1", - "symfony/process": "^7.2", - "symfony/yaml": "^7.2", + "phpunit/phpunit": "^10.5.35|^11.3.6|^12.0.1", + "symfony/process": "^7.0.3", + "symfony/yaml": "^7.0.3", "vlucas/phpdotenv": "^5.6.1" }, "type": "library", @@ -9975,22 +9812,22 @@ ], "support": { "issues": "https://github.com/orchestral/testbench/issues", - "source": "https://github.com/orchestral/testbench/tree/v10.6.0" + "source": "https://github.com/orchestral/testbench/tree/v9.15.0" }, - "time": "2025-08-20T14:38:08+00:00" + "time": "2025-08-20T11:42:03+00:00" }, { "name": "orchestra/testbench-core", - "version": "v10.7.0", + "version": "v9.17.0", "source": { "type": "git", "url": "https://github.com/orchestral/testbench-core.git", - "reference": "123ad189fcb1e49f95d87c3bc301b059e40edf05" + "reference": "a5b4d56a40536fde50a72e20ce43abaa76f8de2f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/123ad189fcb1e49f95d87c3bc301b059e40edf05", - "reference": "123ad189fcb1e49f95d87c3bc301b059e40edf05", + "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/a5b4d56a40536fde50a72e20ce43abaa76f8de2f", + "reference": "a5b4d56a40536fde50a72e20ce43abaa76f8de2f", "shasum": "" }, "require": { @@ -10002,35 +9839,36 @@ }, "conflict": { "brianium/paratest": "<7.3.0|>=8.0.0", - "laravel/framework": "<12.28.0|>=13.0.0", + "laravel/framework": "<11.45.3|>=12.0.0", "laravel/serializable-closure": "<1.3.0|>=2.0.0 <2.0.3|>=3.0.0", "nunomaduro/collision": "<8.0.0|>=9.0.0", - "phpunit/phpunit": "<10.5.35|>=11.0.0 <11.5.3|12.0.0|>=12.5.0" + "orchestra/testbench-dusk": "<9.10.0|>=10.0.0", + "phpunit/phpunit": "<10.5.35|>=11.0.0 <11.3.6|>=12.0.0 <12.0.1|>=12.4.0" }, "require-dev": { "fakerphp/faker": "^1.24", - "laravel/framework": "^12.28.0", + "laravel/framework": "^11.45.3", "laravel/pint": "^1.24", "laravel/serializable-closure": "^1.3|^2.0.4", "mockery/mockery": "^1.6.10", "phpstan/phpstan": "^2.1.19", - "phpunit/phpunit": "^10.5.35|^11.5.3|^12.0.1", + "phpunit/phpunit": "^10.5.35|^11.3.6|^12.0.1", "spatie/laravel-ray": "^1.40.2", - "symfony/process": "^7.2.0", - "symfony/yaml": "^7.2.0", + "symfony/process": "^7.0.3", + "symfony/yaml": "^7.0.3", "vlucas/phpdotenv": "^5.6.1" }, "suggest": { "brianium/paratest": "Allow using parallel testing (^7.3).", "ext-pcntl": "Required to use all features of the console signal trapping.", "fakerphp/faker": "Allow using Faker for testing (^1.23).", - "laravel/framework": "Required for testing (^12.28.0).", + "laravel/framework": "Required for testing (^11.45.3).", "mockery/mockery": "Allow using Mockery for testing (^1.6).", "nunomaduro/collision": "Allow using Laravel style tests output and parallel testing (^8.0).", - "orchestra/testbench-dusk": "Allow using Laravel Dusk for testing (^10.0).", - "phpunit/phpunit": "Allow using PHPUnit for testing (^10.5.35|^11.5.3|^12.0.1).", - "symfony/process": "Required to use Orchestra\\Testbench\\remote function (^7.2).", - "symfony/yaml": "Required for Testbench CLI (^7.2).", + "orchestra/testbench-dusk": "Allow using Laravel Dusk for testing (^9.10).", + "phpunit/phpunit": "Allow using PHPUnit for testing (^10.5.35|^11.3.6|^12.0.1).", + "symfony/process": "Required to use Orchestra\\Testbench\\remote function (^7.0).", + "symfony/yaml": "Required for Testbench CLI (^7.0).", "vlucas/phpdotenv": "Required for Testbench CLI (^5.6.1)." }, "bin": [ @@ -10070,43 +9908,44 @@ "issues": "https://github.com/orchestral/testbench/issues", "source": "https://github.com/orchestral/testbench-core" }, - "time": "2025-10-14T12:16:46+00:00" + "time": "2025-10-14T12:02:37+00:00" }, { "name": "orchestra/workbench", - "version": "v10.0.6", + "version": "v9.13.5", "source": { "type": "git", "url": "https://github.com/orchestral/workbench.git", - "reference": "4e8a5a68200971ddb9ce4abf26488838bf5c0812" + "reference": "1da2ea95089ed3516bda6f8e9cd57c81290004bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/workbench/zipball/4e8a5a68200971ddb9ce4abf26488838bf5c0812", - "reference": "4e8a5a68200971ddb9ce4abf26488838bf5c0812", + "url": "https://api.github.com/repos/orchestral/workbench/zipball/1da2ea95089ed3516bda6f8e9cd57c81290004bf", + "reference": "1da2ea95089ed3516bda6f8e9cd57c81290004bf", "shasum": "" }, "require": { "composer-runtime-api": "^2.2", "fakerphp/faker": "^1.23", - "laravel/framework": "^12.1.1", - "laravel/pail": "^1.2.2", - "laravel/tinker": "^2.10.1", - "nunomaduro/collision": "^8.6", - "orchestra/canvas": "^10.0.2", + "laravel/framework": "^11.44.2", + "laravel/pail": "^1.2", + "laravel/tinker": "^2.9", + "nunomaduro/collision": "^8.0", + "orchestra/canvas": "^9.2.2", "orchestra/sidekick": "^1.1.0", - "orchestra/testbench-core": "^10.2.1", + "orchestra/testbench-core": "^9.12.0", "php": "^8.2", "symfony/polyfill-php83": "^1.31", - "symfony/process": "^7.2", - "symfony/yaml": "^7.2" + "symfony/polyfill-php84": "^1.31", + "symfony/process": "^7.0.3", + "symfony/yaml": "^7.0.3" }, "require-dev": { - "laravel/pint": "^1.21.2", - "mockery/mockery": "^1.6.12", - "phpstan/phpstan": "^2.1.8", - "phpunit/phpunit": "^11.5.3|^12.0.1", - "spatie/laravel-ray": "^1.40.1" + "laravel/pint": "^1.21", + "mockery/mockery": "^1.6.10", + "phpstan/phpstan": "^2.1", + "phpunit/phpunit": "^10.5.35|^11.3.6|^12.0.1", + "spatie/laravel-ray": "^1.39.1" }, "suggest": { "ext-pcntl": "Required to use all features of the console signal trapping." @@ -10136,22 +9975,22 @@ ], "support": { "issues": "https://github.com/orchestral/workbench/issues", - "source": "https://github.com/orchestral/workbench/tree/v10.0.6" + "source": "https://github.com/orchestral/workbench/tree/v9.13.5" }, - "time": "2025-04-13T01:07:44+00:00" + "time": "2025-04-06T11:06:19+00:00" }, { "name": "pestphp/pest", - "version": "v4.1.2", + "version": "v4.1.1", "source": { "type": "git", "url": "https://github.com/pestphp/pest.git", - "reference": "08b09f2e98fc6830050c0237968b233768642d46" + "reference": "8e3444e1db7a6bd06b7f3683c3d82db77406357b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest/zipball/08b09f2e98fc6830050c0237968b233768642d46", - "reference": "08b09f2e98fc6830050c0237968b233768642d46", + "url": "https://api.github.com/repos/pestphp/pest/zipball/8e3444e1db7a6bd06b7f3683c3d82db77406357b", + "reference": "8e3444e1db7a6bd06b7f3683c3d82db77406357b", "shasum": "" }, "require": { @@ -10163,20 +10002,20 @@ "pestphp/pest-plugin-mutate": "^4.0.1", "pestphp/pest-plugin-profanity": "^4.1.0", "php": "^8.3.0", - "phpunit/phpunit": "^12.4.0", - "symfony/process": "^7.3.4" + "phpunit/phpunit": "^12.3.15", + "symfony/process": "^7.3.3" }, "conflict": { "filp/whoops": "<2.18.3", - "phpunit/phpunit": ">12.4.0", + "phpunit/phpunit": ">12.3.15", "sebastian/exporter": "<7.0.0", "webmozart/assert": "<1.11.0" }, "require-dev": { "pestphp/pest-dev-tools": "^4.0.0", - "pestphp/pest-plugin-browser": "^4.1.1", + "pestphp/pest-plugin-browser": "^4.1.0", "pestphp/pest-plugin-type-coverage": "^4.0.2", - "psy/psysh": "^0.12.12" + "psy/psysh": "^0.12.10" }, "bin": [ "bin/pest" @@ -10242,7 +10081,7 @@ ], "support": { "issues": "https://github.com/pestphp/pest/issues", - "source": "https://github.com/pestphp/pest/tree/v4.1.2" + "source": "https://github.com/pestphp/pest/tree/v4.1.1" }, "funding": [ { @@ -10254,7 +10093,7 @@ "type": "github" } ], - "time": "2025-10-05T19:09:49+00:00" + "time": "2025-10-01T13:30:25+00:00" }, { "name": "pestphp/pest-plugin", @@ -11472,16 +11311,16 @@ }, { "name": "phpunit/phpunit", - "version": "12.4.0", + "version": "12.3.15", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "f62aab5794e36ccd26860db2d1bbf89ac19028d9" + "reference": "b035ee2cd8ecad4091885b61017ebb1d80eb0e57" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f62aab5794e36ccd26860db2d1bbf89ac19028d9", - "reference": "f62aab5794e36ccd26860db2d1bbf89ac19028d9", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b035ee2cd8ecad4091885b61017ebb1d80eb0e57", + "reference": "b035ee2cd8ecad4091885b61017ebb1d80eb0e57", "shasum": "" }, "require": { @@ -11517,7 +11356,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "12.4-dev" + "dev-main": "12.3-dev" } }, "autoload": { @@ -11549,7 +11388,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/12.4.0" + "source": "https://github.com/sebastianbergmann/phpunit/tree/12.3.15" }, "funding": [ { @@ -11573,7 +11412,7 @@ "type": "tidelift" } ], - "time": "2025-10-03T04:28:03+00:00" + "time": "2025-09-28T12:10:54+00:00" }, { "name": "psy/psysh", @@ -13034,6 +12873,86 @@ ], "time": "2024-09-17T14:58:18+00:00" }, + { + "name": "symfony/polyfill-php84", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php84.git", + "reference": "d8ced4d875142b6a7426000426b8abc631d6b191" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/d8ced4d875142b6a7426000426b8abc631d6b191", + "reference": "d8ced4d875142b6a7426000426b8abc631d6b191", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php84\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.4+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php84/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-06-24T13:30:11+00:00" + }, { "name": "symfony/stopwatch", "version": "v7.3.0",