diff --git a/.docker/php/Dockerfile b/.docker/php/Dockerfile
index ded5e03..5ca707f 100644
--- a/.docker/php/Dockerfile
+++ b/.docker/php/Dockerfile
@@ -1,4 +1,4 @@
-FROM thecodingmachine/php:8.0-v4-fpm
+FROM thecodingmachine/php:8.4-v4-fpm
COPY ./ /var/www/html/
diff --git a/README.md b/README.md
index f155b1e..7d20588 100644
--- a/README.md
+++ b/README.md
@@ -30,7 +30,7 @@ Main goal is to provide best prepared starter-kit project for Nette developers.
Focused on:
-- PHP 8.1+
+- PHP 8.4+
- `nette/*` packages
- Doctrine ORM via `nettrine/*`
- Symfony components via `contributte/*`
@@ -132,7 +132,7 @@ composer create-project -s dev contributte/webapp-skeleton acme
Here is a list of all features you can find in this project.
-- PHP 8.0+
+- PHP 8.4+
- :package: Packages
- Nette 3+
- Contributte
diff --git a/composer.json b/composer.json
index 8ae767f..009f047 100644
--- a/composer.json
+++ b/composer.json
@@ -12,7 +12,7 @@
"license": "MIT",
"type": "project",
"require": {
- "php": ">=8.2",
+ "php": "^8.4",
"contributte/bootstrap": "^0.7.0",
"contributte/application": "^0.6.0",
diff --git a/composer.lock b/composer.lock
index 07d0d91..7b49232 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": "69abe9db0d363d556a79ec66d1d636fc",
+ "content-hash": "c775895f4de14ac1052f732ff284ab53",
"packages": [
{
"name": "contributte/application",
@@ -1811,29 +1811,29 @@
},
{
"name": "doctrine/deprecations",
- "version": "1.1.5",
+ "version": "1.1.6",
"source": {
"type": "git",
"url": "https://github.com/doctrine/deprecations.git",
- "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38"
+ "reference": "d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/deprecations/zipball/459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38",
- "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38",
+ "url": "https://api.github.com/repos/doctrine/deprecations/zipball/d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca",
+ "reference": "d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0"
},
"conflict": {
- "phpunit/phpunit": "<=7.5 || >=13"
+ "phpunit/phpunit": "<=7.5 || >=14"
},
"require-dev": {
- "doctrine/coding-standard": "^9 || ^12 || ^13",
- "phpstan/phpstan": "1.4.10 || 2.1.11",
+ "doctrine/coding-standard": "^9 || ^12 || ^14",
+ "phpstan/phpstan": "1.4.10 || 2.1.30",
"phpstan/phpstan-phpunit": "^1.0 || ^2",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12.4 || ^13.0",
"psr/log": "^1 || ^2 || ^3"
},
"suggest": {
@@ -1853,22 +1853,22 @@
"homepage": "https://www.doctrine-project.org/",
"support": {
"issues": "https://github.com/doctrine/deprecations/issues",
- "source": "https://github.com/doctrine/deprecations/tree/1.1.5"
+ "source": "https://github.com/doctrine/deprecations/tree/1.1.6"
},
- "time": "2025-04-07T20:06:18+00:00"
+ "time": "2026-02-07T07:09:04+00:00"
},
{
"name": "doctrine/event-manager",
- "version": "2.0.1",
+ "version": "2.1.1",
"source": {
"type": "git",
"url": "https://github.com/doctrine/event-manager.git",
- "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e"
+ "reference": "dda33921b198841ca8dbad2eaa5d4d34769d18cf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/event-manager/zipball/b680156fa328f1dfd874fd48c7026c41570b9c6e",
- "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e",
+ "url": "https://api.github.com/repos/doctrine/event-manager/zipball/dda33921b198841ca8dbad2eaa5d4d34769d18cf",
+ "reference": "dda33921b198841ca8dbad2eaa5d4d34769d18cf",
"shasum": ""
},
"require": {
@@ -1878,10 +1878,10 @@
"doctrine/common": "<2.9"
},
"require-dev": {
- "doctrine/coding-standard": "^12",
- "phpstan/phpstan": "^1.8.8",
- "phpunit/phpunit": "^10.5",
- "vimeo/psalm": "^5.24"
+ "doctrine/coding-standard": "^14",
+ "phpdocumentor/guides-cli": "^1.4",
+ "phpstan/phpstan": "^2.1.32",
+ "phpunit/phpunit": "^10.5.58"
},
"type": "library",
"autoload": {
@@ -1930,7 +1930,7 @@
],
"support": {
"issues": "https://github.com/doctrine/event-manager/issues",
- "source": "https://github.com/doctrine/event-manager/tree/2.0.1"
+ "source": "https://github.com/doctrine/event-manager/tree/2.1.1"
},
"funding": [
{
@@ -1946,7 +1946,7 @@
"type": "tidelift"
}
],
- "time": "2024-05-22T20:47:39+00:00"
+ "time": "2026-01-29T07:11:08+00:00"
},
{
"name": "doctrine/inflector",
@@ -2186,16 +2186,16 @@
},
{
"name": "doctrine/migrations",
- "version": "3.9.5",
+ "version": "3.9.6",
"source": {
"type": "git",
"url": "https://github.com/doctrine/migrations.git",
- "reference": "1b823afbc40f932dae8272574faee53f2755eac5"
+ "reference": "ffd8355cdd8505fc650d9604f058bf62aedd80a1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/migrations/zipball/1b823afbc40f932dae8272574faee53f2755eac5",
- "reference": "1b823afbc40f932dae8272574faee53f2755eac5",
+ "url": "https://api.github.com/repos/doctrine/migrations/zipball/ffd8355cdd8505fc650d9604f058bf62aedd80a1",
+ "reference": "ffd8355cdd8505fc650d9604f058bf62aedd80a1",
"shasum": ""
},
"require": {
@@ -2269,7 +2269,7 @@
],
"support": {
"issues": "https://github.com/doctrine/migrations/issues",
- "source": "https://github.com/doctrine/migrations/tree/3.9.5"
+ "source": "https://github.com/doctrine/migrations/tree/3.9.6"
},
"funding": [
{
@@ -2285,20 +2285,20 @@
"type": "tidelift"
}
],
- "time": "2025-11-20T11:15:36+00:00"
+ "time": "2026-02-11T06:46:11+00:00"
},
{
"name": "doctrine/orm",
- "version": "3.6.1",
+ "version": "3.6.2",
"source": {
"type": "git",
"url": "https://github.com/doctrine/orm.git",
- "reference": "2148940290e4c44b9101095707e71fb590832fa5"
+ "reference": "4262eb495b4d2a53b45de1ac58881e0091f2970f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/orm/zipball/2148940290e4c44b9101095707e71fb590832fa5",
- "reference": "2148940290e4c44b9101095707e71fb590832fa5",
+ "url": "https://api.github.com/repos/doctrine/orm/zipball/4262eb495b4d2a53b45de1ac58881e0091f2970f",
+ "reference": "4262eb495b4d2a53b45de1ac58881e0091f2970f",
"shasum": ""
},
"require": {
@@ -2371,9 +2371,9 @@
],
"support": {
"issues": "https://github.com/doctrine/orm/issues",
- "source": "https://github.com/doctrine/orm/tree/3.6.1"
+ "source": "https://github.com/doctrine/orm/tree/3.6.2"
},
- "time": "2026-01-09T05:28:15+00:00"
+ "time": "2026-01-30T21:41:41+00:00"
},
{
"name": "doctrine/persistence",
@@ -3601,16 +3601,16 @@
},
{
"name": "nette/php-generator",
- "version": "v4.2.0",
+ "version": "v4.2.1",
"source": {
"type": "git",
"url": "https://github.com/nette/php-generator.git",
- "reference": "4707546a1f11badd72f5d82af4f8a6bc64bd56ac"
+ "reference": "52aff4d9b12f20ca9f3e31a559b646d2fd21dd61"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nette/php-generator/zipball/4707546a1f11badd72f5d82af4f8a6bc64bd56ac",
- "reference": "4707546a1f11badd72f5d82af4f8a6bc64bd56ac",
+ "url": "https://api.github.com/repos/nette/php-generator/zipball/52aff4d9b12f20ca9f3e31a559b646d2fd21dd61",
+ "reference": "52aff4d9b12f20ca9f3e31a559b646d2fd21dd61",
"shasum": ""
},
"require": {
@@ -3619,9 +3619,9 @@
},
"require-dev": {
"jetbrains/phpstorm-attributes": "^1.2",
- "nette/tester": "^2.4",
+ "nette/tester": "^2.6",
"nikic/php-parser": "^5.0",
- "phpstan/phpstan-nette": "^2.0@stable",
+ "phpstan/phpstan": "^2.0@stable",
"tracy/tracy": "^2.8"
},
"suggest": {
@@ -3667,22 +3667,22 @@
],
"support": {
"issues": "https://github.com/nette/php-generator/issues",
- "source": "https://github.com/nette/php-generator/tree/v4.2.0"
+ "source": "https://github.com/nette/php-generator/tree/v4.2.1"
},
- "time": "2025-08-06T18:24:31+00:00"
+ "time": "2026-02-09T05:43:31+00:00"
},
{
"name": "nette/robot-loader",
- "version": "v4.1.0",
+ "version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/nette/robot-loader.git",
- "reference": "805fb81376c24755d50bdb8bc69ca4db3def71d1"
+ "reference": "fb255f5da2676d58863bef1716baf52993c7ffec"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nette/robot-loader/zipball/805fb81376c24755d50bdb8bc69ca4db3def71d1",
- "reference": "805fb81376c24755d50bdb8bc69ca4db3def71d1",
+ "url": "https://api.github.com/repos/nette/robot-loader/zipball/fb255f5da2676d58863bef1716baf52993c7ffec",
+ "reference": "fb255f5da2676d58863bef1716baf52993c7ffec",
"shasum": ""
},
"require": {
@@ -3691,8 +3691,8 @@
"php": "8.1 - 8.5"
},
"require-dev": {
- "nette/tester": "^2.4",
- "phpstan/phpstan-nette": "^2.0@stable",
+ "nette/tester": "^2.6",
+ "phpstan/phpstan": "^2.0@stable",
"tracy/tracy": "^2.9"
},
"type": "library",
@@ -3736,9 +3736,9 @@
],
"support": {
"issues": "https://github.com/nette/robot-loader/issues",
- "source": "https://github.com/nette/robot-loader/tree/v4.1.0"
+ "source": "https://github.com/nette/robot-loader/tree/v4.1.1"
},
- "time": "2025-08-06T18:34:21+00:00"
+ "time": "2026-02-08T03:51:26+00:00"
},
{
"name": "nette/routing",
@@ -3807,16 +3807,16 @@
},
{
"name": "nette/schema",
- "version": "v1.3.3",
+ "version": "v1.3.4",
"source": {
"type": "git",
"url": "https://github.com/nette/schema.git",
- "reference": "2befc2f42d7c715fd9d95efc31b1081e5d765004"
+ "reference": "086497a2f34b82fede9b5a41cc8e131d087cd8f7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nette/schema/zipball/2befc2f42d7c715fd9d95efc31b1081e5d765004",
- "reference": "2befc2f42d7c715fd9d95efc31b1081e5d765004",
+ "url": "https://api.github.com/repos/nette/schema/zipball/086497a2f34b82fede9b5a41cc8e131d087cd8f7",
+ "reference": "086497a2f34b82fede9b5a41cc8e131d087cd8f7",
"shasum": ""
},
"require": {
@@ -3824,8 +3824,8 @@
"php": "8.1 - 8.5"
},
"require-dev": {
- "nette/tester": "^2.5.2",
- "phpstan/phpstan-nette": "^2.0@stable",
+ "nette/tester": "^2.6",
+ "phpstan/phpstan": "^2.0@stable",
"tracy/tracy": "^2.8"
},
"type": "library",
@@ -3866,9 +3866,9 @@
],
"support": {
"issues": "https://github.com/nette/schema/issues",
- "source": "https://github.com/nette/schema/tree/v1.3.3"
+ "source": "https://github.com/nette/schema/tree/v1.3.4"
},
- "time": "2025-10-30T22:57:59+00:00"
+ "time": "2026-02-08T02:54:00+00:00"
},
{
"name": "nette/security",
@@ -3946,16 +3946,16 @@
},
{
"name": "nette/utils",
- "version": "v4.1.1",
+ "version": "v4.1.2",
"source": {
"type": "git",
"url": "https://github.com/nette/utils.git",
- "reference": "c99059c0315591f1a0db7ad6002000288ab8dc72"
+ "reference": "f76b5dc3d6c6d3043c8d937df2698515b99cbaf5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nette/utils/zipball/c99059c0315591f1a0db7ad6002000288ab8dc72",
- "reference": "c99059c0315591f1a0db7ad6002000288ab8dc72",
+ "url": "https://api.github.com/repos/nette/utils/zipball/f76b5dc3d6c6d3043c8d937df2698515b99cbaf5",
+ "reference": "f76b5dc3d6c6d3043c8d937df2698515b99cbaf5",
"shasum": ""
},
"require": {
@@ -3968,7 +3968,7 @@
"require-dev": {
"jetbrains/phpstorm-attributes": "^1.2",
"nette/tester": "^2.5",
- "phpstan/phpstan-nette": "^2.0@stable",
+ "phpstan/phpstan": "^2.0@stable",
"tracy/tracy": "^2.9"
},
"suggest": {
@@ -4029,9 +4029,9 @@
],
"support": {
"issues": "https://github.com/nette/utils/issues",
- "source": "https://github.com/nette/utils/tree/v4.1.1"
+ "source": "https://github.com/nette/utils/tree/v4.1.2"
},
- "time": "2025-12-22T12:14:32+00:00"
+ "time": "2026-02-03T17:21:09+00:00"
},
{
"name": "nettrine/annotations",
@@ -4173,6 +4173,7 @@
"type": "github"
}
],
+ "abandoned": "symfony/cache",
"time": "2025-01-10T17:33:34+00:00"
},
{
@@ -4862,16 +4863,16 @@
},
{
"name": "symfony/cache",
- "version": "v7.4.3",
+ "version": "v7.4.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache.git",
- "reference": "642117d18bc56832e74b68235359ccefab03dd11"
+ "reference": "8dde98d5a4123b53877aca493f9be57b333f14bd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/cache/zipball/642117d18bc56832e74b68235359ccefab03dd11",
- "reference": "642117d18bc56832e74b68235359ccefab03dd11",
+ "url": "https://api.github.com/repos/symfony/cache/zipball/8dde98d5a4123b53877aca493f9be57b333f14bd",
+ "reference": "8dde98d5a4123b53877aca493f9be57b333f14bd",
"shasum": ""
},
"require": {
@@ -4942,7 +4943,7 @@
"psr6"
],
"support": {
- "source": "https://github.com/symfony/cache/tree/v7.4.3"
+ "source": "https://github.com/symfony/cache/tree/v7.4.5"
},
"funding": [
{
@@ -4962,7 +4963,7 @@
"type": "tidelift"
}
],
- "time": "2025-12-28T10:45:24+00:00"
+ "time": "2026-01-27T16:16:02+00:00"
},
{
"name": "symfony/cache-contracts",
@@ -5042,16 +5043,16 @@
},
{
"name": "symfony/console",
- "version": "v7.4.3",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "732a9ca6cd9dfd940c639062d5edbde2f6727fb6"
+ "reference": "41e38717ac1dd7a46b6bda7d6a82af2d98a78894"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/732a9ca6cd9dfd940c639062d5edbde2f6727fb6",
- "reference": "732a9ca6cd9dfd940c639062d5edbde2f6727fb6",
+ "url": "https://api.github.com/repos/symfony/console/zipball/41e38717ac1dd7a46b6bda7d6a82af2d98a78894",
+ "reference": "41e38717ac1dd7a46b6bda7d6a82af2d98a78894",
"shasum": ""
},
"require": {
@@ -5116,7 +5117,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v7.4.3"
+ "source": "https://github.com/symfony/console/tree/v7.4.4"
},
"funding": [
{
@@ -5136,7 +5137,7 @@
"type": "tidelift"
}
],
- "time": "2025-12-23T14:50:43+00:00"
+ "time": "2026-01-13T11:36:38+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -5207,16 +5208,16 @@
},
{
"name": "symfony/event-dispatcher",
- "version": "v7.4.0",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "9dddcddff1ef974ad87b3708e4b442dc38b2261d"
+ "reference": "dc2c0eba1af673e736bb851d747d266108aea746"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9dddcddff1ef974ad87b3708e4b442dc38b2261d",
- "reference": "9dddcddff1ef974ad87b3708e4b442dc38b2261d",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/dc2c0eba1af673e736bb851d747d266108aea746",
+ "reference": "dc2c0eba1af673e736bb851d747d266108aea746",
"shasum": ""
},
"require": {
@@ -5268,7 +5269,7 @@
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/event-dispatcher/tree/v7.4.0"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v7.4.4"
},
"funding": [
{
@@ -5288,7 +5289,7 @@
"type": "tidelift"
}
],
- "time": "2025-10-28T09:38:46+00:00"
+ "time": "2026-01-05T11:45:34+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
@@ -5936,16 +5937,16 @@
},
{
"name": "symfony/string",
- "version": "v8.0.1",
+ "version": "v8.0.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "ba65a969ac918ce0cc3edfac6cdde847eba231dc"
+ "reference": "758b372d6882506821ed666032e43020c4f57194"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/ba65a969ac918ce0cc3edfac6cdde847eba231dc",
- "reference": "ba65a969ac918ce0cc3edfac6cdde847eba231dc",
+ "url": "https://api.github.com/repos/symfony/string/zipball/758b372d6882506821ed666032e43020c4f57194",
+ "reference": "758b372d6882506821ed666032e43020c4f57194",
"shasum": ""
},
"require": {
@@ -6002,7 +6003,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v8.0.1"
+ "source": "https://github.com/symfony/string/tree/v8.0.4"
},
"funding": [
{
@@ -6022,7 +6023,7 @@
"type": "tidelift"
}
],
- "time": "2025-12-01T09:13:36+00:00"
+ "time": "2026-01-12T12:37:40+00:00"
},
{
"name": "symfony/var-exporter",
@@ -6106,16 +6107,16 @@
},
{
"name": "tracy/tracy",
- "version": "v2.11.0",
+ "version": "v2.11.1",
"source": {
"type": "git",
"url": "https://github.com/nette/tracy.git",
- "reference": "eec57bcf2ff11d79f519a19da9d7ae1e2c63c42e"
+ "reference": "c4a03c921af532b74c63edd8bf3f68a99dec7e77"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nette/tracy/zipball/eec57bcf2ff11d79f519a19da9d7ae1e2c63c42e",
- "reference": "eec57bcf2ff11d79f519a19da9d7ae1e2c63c42e",
+ "url": "https://api.github.com/repos/nette/tracy/zipball/c4a03c921af532b74c63edd8bf3f68a99dec7e77",
+ "reference": "c4a03c921af532b74c63edd8bf3f68a99dec7e77",
"shasum": ""
},
"require": {
@@ -6131,9 +6132,9 @@
"nette/di": "^3.0",
"nette/http": "^3.0",
"nette/mail": "^3.0 || ^4.0",
- "nette/tester": "^2.2",
+ "nette/tester": "^2.6",
"nette/utils": "^3.0 || ^4.0",
- "phpstan/phpstan-nette": "^2.0@stable",
+ "phpstan/phpstan": "^2.0@stable",
"psr/log": "^1.0 || ^2.0 || ^3.0"
},
"type": "library",
@@ -6178,9 +6179,9 @@
],
"support": {
"issues": "https://github.com/nette/tracy/issues",
- "source": "https://github.com/nette/tracy/tree/v2.11.0"
+ "source": "https://github.com/nette/tracy/tree/v2.11.1"
},
- "time": "2025-10-31T00:12:50+00:00"
+ "time": "2026-02-08T02:51:45+00:00"
}
],
"packages-dev": [
@@ -6862,16 +6863,16 @@
},
{
"name": "nette/tester",
- "version": "v2.5.7",
+ "version": "v2.6.0",
"source": {
"type": "git",
"url": "https://github.com/nette/tester.git",
- "reference": "dc02e7811f3491a72e87538044586cee2f483d58"
+ "reference": "0d416a3715ee7547f5e286aa7e65180f35467624"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nette/tester/zipball/dc02e7811f3491a72e87538044586cee2f483d58",
- "reference": "dc02e7811f3491a72e87538044586cee2f483d58",
+ "url": "https://api.github.com/repos/nette/tester/zipball/0d416a3715ee7547f5e286aa7e65180f35467624",
+ "reference": "0d416a3715ee7547f5e286aa7e65180f35467624",
"shasum": ""
},
"require": {
@@ -6879,7 +6880,7 @@
},
"require-dev": {
"ext-simplexml": "*",
- "phpstan/phpstan-nette": "^2.0@stable"
+ "phpstan/phpstan": "^2.0@stable"
},
"bin": [
"src/tester"
@@ -6887,7 +6888,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.5-dev"
+ "dev-master": "2.6-dev"
}
},
"autoload": {
@@ -6934,22 +6935,22 @@
],
"support": {
"issues": "https://github.com/nette/tester/issues",
- "source": "https://github.com/nette/tester/tree/v2.5.7"
+ "source": "https://github.com/nette/tester/tree/v2.6.0"
},
- "time": "2025-11-22T18:50:53+00:00"
+ "time": "2026-01-22T08:39:16+00:00"
},
{
"name": "phpstan/phpdoc-parser",
- "version": "2.3.1",
+ "version": "2.3.2",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git",
- "reference": "16dbf9937da8d4528ceb2145c9c7c0bd29e26374"
+ "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/16dbf9937da8d4528ceb2145c9c7c0bd29e26374",
- "reference": "16dbf9937da8d4528ceb2145c9c7c0bd29e26374",
+ "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/a004701b11273a26cd7955a61d67a7f1e525a45a",
+ "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a",
"shasum": ""
},
"require": {
@@ -6981,17 +6982,17 @@
"description": "PHPDoc parser with support for nullable, intersection and generic types",
"support": {
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
- "source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.1"
+ "source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.2"
},
- "time": "2026-01-12T11:33:04+00:00"
+ "time": "2026-01-25T14:56:51+00:00"
},
{
"name": "phpstan/phpstan",
- "version": "2.1.33",
+ "version": "2.1.39",
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan/zipball/9e800e6bee7d5bd02784d4c6069b48032d16224f",
- "reference": "9e800e6bee7d5bd02784d4c6069b48032d16224f",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/c6f73a2af4cbcd99c931d0fb8f08548cc0fa8224",
+ "reference": "c6f73a2af4cbcd99c931d0fb8f08548cc0fa8224",
"shasum": ""
},
"require": {
@@ -7036,25 +7037,25 @@
"type": "github"
}
],
- "time": "2025-12-05T10:24:31+00:00"
+ "time": "2026-02-11T14:48:56+00:00"
},
{
"name": "phpstan/phpstan-deprecation-rules",
- "version": "2.0.3",
+ "version": "2.0.4",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan-deprecation-rules.git",
- "reference": "468e02c9176891cc901143da118f09dc9505fc2f"
+ "reference": "6b5571001a7f04fa0422254c30a0017ec2f2cacc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan-deprecation-rules/zipball/468e02c9176891cc901143da118f09dc9505fc2f",
- "reference": "468e02c9176891cc901143da118f09dc9505fc2f",
+ "url": "https://api.github.com/repos/phpstan/phpstan-deprecation-rules/zipball/6b5571001a7f04fa0422254c30a0017ec2f2cacc",
+ "reference": "6b5571001a7f04fa0422254c30a0017ec2f2cacc",
"shasum": ""
},
"require": {
"php": "^7.4 || ^8.0",
- "phpstan/phpstan": "^2.1.15"
+ "phpstan/phpstan": "^2.1.39"
},
"require-dev": {
"php-parallel-lint/php-parallel-lint": "^1.2",
@@ -7079,29 +7080,32 @@
"MIT"
],
"description": "PHPStan rules for detecting usage of deprecated classes, methods, properties, constants and traits.",
+ "keywords": [
+ "static analysis"
+ ],
"support": {
"issues": "https://github.com/phpstan/phpstan-deprecation-rules/issues",
- "source": "https://github.com/phpstan/phpstan-deprecation-rules/tree/2.0.3"
+ "source": "https://github.com/phpstan/phpstan-deprecation-rules/tree/2.0.4"
},
- "time": "2025-05-14T10:56:57+00:00"
+ "time": "2026-02-09T13:21:14+00:00"
},
{
"name": "phpstan/phpstan-doctrine",
- "version": "2.0.12",
+ "version": "2.0.16",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan-doctrine.git",
- "reference": "d20ee0373d22735271f1eb4d631856b5f847d399"
+ "reference": "f4ff6084a26d91174b3f0b047589af293a893104"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/d20ee0373d22735271f1eb4d631856b5f847d399",
- "reference": "d20ee0373d22735271f1eb4d631856b5f847d399",
+ "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/f4ff6084a26d91174b3f0b047589af293a893104",
+ "reference": "f4ff6084a26d91174b3f0b047589af293a893104",
"shasum": ""
},
"require": {
"php": "^7.4 || ^8.0",
- "phpstan/phpstan": "^2.1.13"
+ "phpstan/phpstan": "^2.1.34"
},
"conflict": {
"doctrine/collections": "<1.0",
@@ -7152,24 +7156,27 @@
"MIT"
],
"description": "Doctrine extensions for PHPStan",
+ "keywords": [
+ "static analysis"
+ ],
"support": {
"issues": "https://github.com/phpstan/phpstan-doctrine/issues",
- "source": "https://github.com/phpstan/phpstan-doctrine/tree/2.0.12"
+ "source": "https://github.com/phpstan/phpstan-doctrine/tree/2.0.16"
},
- "time": "2025-12-01T11:34:02+00:00"
+ "time": "2026-02-11T08:54:45+00:00"
},
{
"name": "phpstan/phpstan-nette",
- "version": "2.0.7",
+ "version": "2.0.9",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan-nette.git",
- "reference": "488d326408740b28c364849316ec065c13799568"
+ "reference": "abd2b295fac8258fb294fd5dc17c5e024c6e3c89"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan-nette/zipball/488d326408740b28c364849316ec065c13799568",
- "reference": "488d326408740b28c364849316ec065c13799568",
+ "url": "https://api.github.com/repos/phpstan/phpstan-nette/zipball/abd2b295fac8258fb294fd5dc17c5e024c6e3c89",
+ "reference": "abd2b295fac8258fb294fd5dc17c5e024c6e3c89",
"shasum": ""
},
"require": {
@@ -7216,27 +7223,27 @@
"description": "Nette Framework class reflection extension for PHPStan",
"support": {
"issues": "https://github.com/phpstan/phpstan-nette/issues",
- "source": "https://github.com/phpstan/phpstan-nette/tree/2.0.7"
+ "source": "https://github.com/phpstan/phpstan-nette/tree/2.0.9"
},
- "time": "2025-12-08T10:39:26+00:00"
+ "time": "2026-02-11T12:41:39+00:00"
},
{
"name": "phpstan/phpstan-strict-rules",
- "version": "2.0.7",
+ "version": "2.0.10",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan-strict-rules.git",
- "reference": "d6211c46213d4181054b3d77b10a5c5cb0d59538"
+ "reference": "1aba28b697c1e3b6bbec8a1725f8b11b6d3e5a5f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/d6211c46213d4181054b3d77b10a5c5cb0d59538",
- "reference": "d6211c46213d4181054b3d77b10a5c5cb0d59538",
+ "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/1aba28b697c1e3b6bbec8a1725f8b11b6d3e5a5f",
+ "reference": "1aba28b697c1e3b6bbec8a1725f8b11b6d3e5a5f",
"shasum": ""
},
"require": {
"php": "^7.4 || ^8.0",
- "phpstan/phpstan": "^2.1.29"
+ "phpstan/phpstan": "^2.1.39"
},
"require-dev": {
"php-parallel-lint/php-parallel-lint": "^1.2",
@@ -7262,24 +7269,27 @@
"MIT"
],
"description": "Extra strict and opinionated rules for PHPStan",
+ "keywords": [
+ "static analysis"
+ ],
"support": {
"issues": "https://github.com/phpstan/phpstan-strict-rules/issues",
- "source": "https://github.com/phpstan/phpstan-strict-rules/tree/2.0.7"
+ "source": "https://github.com/phpstan/phpstan-strict-rules/tree/2.0.10"
},
- "time": "2025-09-26T11:19:08+00:00"
+ "time": "2026-02-11T14:17:32+00:00"
},
{
"name": "sebastian/comparator",
- "version": "7.1.3",
+ "version": "7.1.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "dc904b4bb3ab070865fa4068cd84f3da8b945148"
+ "reference": "6a7de5df2e094f9a80b40a522391a7e6022df5f6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/dc904b4bb3ab070865fa4068cd84f3da8b945148",
- "reference": "dc904b4bb3ab070865fa4068cd84f3da8b945148",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/6a7de5df2e094f9a80b40a522391a7e6022df5f6",
+ "reference": "6a7de5df2e094f9a80b40a522391a7e6022df5f6",
"shasum": ""
},
"require": {
@@ -7338,7 +7348,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/comparator/issues",
"security": "https://github.com/sebastianbergmann/comparator/security/policy",
- "source": "https://github.com/sebastianbergmann/comparator/tree/7.1.3"
+ "source": "https://github.com/sebastianbergmann/comparator/tree/7.1.4"
},
"funding": [
{
@@ -7358,7 +7368,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-20T11:27:00+00:00"
+ "time": "2026-01-24T09:28:48+00:00"
},
{
"name": "sebastian/diff",
@@ -7739,21 +7749,21 @@
},
{
"name": "symfony/property-access",
- "version": "v8.0.3",
+ "version": "v8.0.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/property-access.git",
- "reference": "3e9ed5d66144e02f1f430ef3be8e166920ae5271"
+ "reference": "a35a5ec85b605d0d1a9fd802cb44d87682c746fd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/property-access/zipball/3e9ed5d66144e02f1f430ef3be8e166920ae5271",
- "reference": "3e9ed5d66144e02f1f430ef3be8e166920ae5271",
+ "url": "https://api.github.com/repos/symfony/property-access/zipball/a35a5ec85b605d0d1a9fd802cb44d87682c746fd",
+ "reference": "a35a5ec85b605d0d1a9fd802cb44d87682c746fd",
"shasum": ""
},
"require": {
"php": ">=8.4",
- "symfony/property-info": "^7.4.2|^8.0.3"
+ "symfony/property-info": "^7.4.4|^8.0.4"
},
"require-dev": {
"symfony/cache": "^7.4|^8.0",
@@ -7796,7 +7806,7 @@
"reflection"
],
"support": {
- "source": "https://github.com/symfony/property-access/tree/v8.0.3"
+ "source": "https://github.com/symfony/property-access/tree/v8.0.4"
},
"funding": [
{
@@ -7816,29 +7826,29 @@
"type": "tidelift"
}
],
- "time": "2025-12-18T11:23:51+00:00"
+ "time": "2026-01-05T09:27:50+00:00"
},
{
"name": "symfony/property-info",
- "version": "v8.0.3",
+ "version": "v8.0.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/property-info.git",
- "reference": "a756f192435191bd50f55967adf999212c4a7232"
+ "reference": "9d987224b54758240e80a062c5e414431bbf84de"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/property-info/zipball/a756f192435191bd50f55967adf999212c4a7232",
- "reference": "a756f192435191bd50f55967adf999212c4a7232",
+ "url": "https://api.github.com/repos/symfony/property-info/zipball/9d987224b54758240e80a062c5e414431bbf84de",
+ "reference": "9d987224b54758240e80a062c5e414431bbf84de",
"shasum": ""
},
"require": {
"php": ">=8.4",
"symfony/string": "^7.4|^8.0",
- "symfony/type-info": "^7.4.1|^8.0.1"
+ "symfony/type-info": "^7.4.4|^8.0.4"
},
"conflict": {
- "phpdocumentor/reflection-docblock": "<5.2",
+ "phpdocumentor/reflection-docblock": "<5.2|>=6",
"phpdocumentor/type-resolver": "<1.5.1"
},
"require-dev": {
@@ -7882,7 +7892,7 @@
"validator"
],
"support": {
- "source": "https://github.com/symfony/property-info/tree/v8.0.3"
+ "source": "https://github.com/symfony/property-info/tree/v8.0.5"
},
"funding": [
{
@@ -7902,20 +7912,20 @@
"type": "tidelift"
}
],
- "time": "2025-12-18T11:23:51+00:00"
+ "time": "2026-01-27T16:18:07+00:00"
},
{
"name": "symfony/type-info",
- "version": "v8.0.1",
+ "version": "v8.0.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/type-info.git",
- "reference": "bb091cec1f70383538c7d000699781813f8d1a6a"
+ "reference": "106a2d3bbf0d4576b2f70e6ca866fa420956ed0d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/type-info/zipball/bb091cec1f70383538c7d000699781813f8d1a6a",
- "reference": "bb091cec1f70383538c7d000699781813f8d1a6a",
+ "url": "https://api.github.com/repos/symfony/type-info/zipball/106a2d3bbf0d4576b2f70e6ca866fa420956ed0d",
+ "reference": "106a2d3bbf0d4576b2f70e6ca866fa420956ed0d",
"shasum": ""
},
"require": {
@@ -7964,7 +7974,7 @@
"type"
],
"support": {
- "source": "https://github.com/symfony/type-info/tree/v8.0.1"
+ "source": "https://github.com/symfony/type-info/tree/v8.0.4"
},
"funding": [
{
@@ -7984,7 +7994,7 @@
"type": "tidelift"
}
],
- "time": "2025-12-05T14:08:45+00:00"
+ "time": "2026-01-09T12:15:10+00:00"
},
{
"name": "symfony/yaml",
@@ -8068,8 +8078,8 @@
"prefer-stable": true,
"prefer-lowest": false,
"platform": {
- "php": ">=8.2"
+ "php": "^8.4"
},
"platform-dev": {},
- "plugin-api-version": "2.6.0"
+ "plugin-api-version": "2.9.0"
}
diff --git a/phpstan.neon b/phpstan.neon
index e86337d..a68a46c 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -4,7 +4,7 @@ includes:
parameters:
level: 9
- phpVersion: 80200
+ phpVersion: 80400
tmpDir: %currentWorkingDirectory%/var/tmp/phpstan
diff --git a/ruleset.xml b/ruleset.xml
index f08df10..28966d2 100644
--- a/ruleset.xml
+++ b/ruleset.xml
@@ -3,7 +3,7 @@
Contributte
-
+