diff --git a/composer.json b/composer.json
index 193f065..cd452f5 100644
--- a/composer.json
+++ b/composer.json
@@ -17,15 +17,15 @@
         "php": "^8.1"
     },
     "require-dev": {
-        "bamarni/composer-bin-plugin": "^1.8",
+        "bamarni/composer-bin-plugin": "^1.8.2",
         "dragon-code/benchmark": "^2.6",
         "ergebnis/composer-normalize": "^2.43.0",
-        "friendsofphp/php-cs-fixer": "^3.62.0",
+        "friendsofphp/php-cs-fixer": "^3.64.0",
         "infection/infection": "^0.29.6",
-        "phpstan/phpstan": "^1.11.9",
-        "phpunit/phpunit": "^10.5",
-        "phpyh/coding-standard": "^2.6.1",
-        "symfony/var-dumper": "^6.4.10 || ^7.1.3"
+        "phpstan/phpstan": "^1.12.1",
+        "phpunit/phpunit": "^10.5.31",
+        "phpyh/coding-standard": "^2.6.2",
+        "symfony/var-dumper": "^6.4.11 || ^7.1.3"
     },
     "autoload": {
         "psr-4": {
@@ -51,23 +51,21 @@
     "extra": {
         "bamarni-bin": {
             "bin-links": false,
-            "forward-command": false,
+            "forward-command": true,
             "target-directory": "tools"
         }
     },
     "scripts": {
-        "post-install-cmd": "@install-tools",
-        "post-update-cmd": "@install-tools",
         "check-require": "tools/composer-require-checker/vendor/bin/composer-require-checker",
         "check-unused": "tools/composer-unused/vendor/bin/composer-unused",
         "fixcs": "php-cs-fixer fix --diff",
         "infection": "infection --show-mutations",
-        "install-tools": [
-            "@composer bin psalm install",
-            "@composer bin composer-require-checker install"
-        ],
         "pre-command-run": "mkdir -p var",
         "psalm": "tools/psalm/vendor/bin/psalm --show-info --no-diff --no-cache",
-        "test": "phpunit"
+        "test": "phpunit",
+        "bump-dev": [
+            "@composer bump --dev-only",
+            "@composer bin all bump --dev-only"
+        ]
     }
 }
diff --git a/composer.lock b/composer.lock
index 7f4eeac..d623ec1 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": "7782d7940f6b7cc9b57f5b2c66504789",
+    "content-hash": "d6c8a437b757eb518f9537b6b6f4e501",
     "packages": [],
     "packages-dev": [
         {
@@ -2104,16 +2104,16 @@
         },
         {
             "name": "phpstan/phpstan",
-            "version": "1.12.0",
+            "version": "1.12.1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/phpstan/phpstan.git",
-                "reference": "384af967d35b2162f69526c7276acadce534d0e1"
+                "reference": "d8ed7fffa66de1db0d2972267d8ed1d8fa0fe5a2"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/phpstan/phpstan/zipball/384af967d35b2162f69526c7276acadce534d0e1",
-                "reference": "384af967d35b2162f69526c7276acadce534d0e1",
+                "url": "https://api.github.com/repos/phpstan/phpstan/zipball/d8ed7fffa66de1db0d2972267d8ed1d8fa0fe5a2",
+                "reference": "d8ed7fffa66de1db0d2972267d8ed1d8fa0fe5a2",
                 "shasum": ""
             },
             "require": {
@@ -2158,7 +2158,7 @@
                     "type": "github"
                 }
             ],
-            "time": "2024-08-27T09:18:05+00:00"
+            "time": "2024-09-03T19:55:22+00:00"
         },
         {
             "name": "phpunit/php-code-coverage",
@@ -2483,16 +2483,16 @@
         },
         {
             "name": "phpunit/phpunit",
-            "version": "10.5.30",
+            "version": "10.5.31",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/phpunit.git",
-                "reference": "b15524febac0153876b4ba9aab3326c2ee94c897"
+                "reference": "43e7c3e6a484e538453f89dfa6a6f308c32792da"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b15524febac0153876b4ba9aab3326c2ee94c897",
-                "reference": "b15524febac0153876b4ba9aab3326c2ee94c897",
+                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/43e7c3e6a484e538453f89dfa6a6f308c32792da",
+                "reference": "43e7c3e6a484e538453f89dfa6a6f308c32792da",
                 "shasum": ""
             },
             "require": {
@@ -2506,7 +2506,7 @@
                 "phar-io/manifest": "^2.0.4",
                 "phar-io/version": "^3.2.1",
                 "php": ">=8.1",
-                "phpunit/php-code-coverage": "^10.1.15",
+                "phpunit/php-code-coverage": "^10.1.16",
                 "phpunit/php-file-iterator": "^4.1.0",
                 "phpunit/php-invoker": "^4.0.0",
                 "phpunit/php-text-template": "^3.0.1",
@@ -2564,7 +2564,7 @@
             "support": {
                 "issues": "https://github.com/sebastianbergmann/phpunit/issues",
                 "security": "https://github.com/sebastianbergmann/phpunit/security/policy",
-                "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.30"
+                "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.31"
             },
             "funding": [
                 {
@@ -2580,7 +2580,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-08-13T06:09:37+00:00"
+            "time": "2024-09-03T11:57:55+00:00"
         },
         {
             "name": "phpyh/coding-standard",
diff --git a/tools/composer-require-checker/composer.json b/tools/composer-require-checker/composer.json
index 7ed9aa1..18a4d50 100644
--- a/tools/composer-require-checker/composer.json
+++ b/tools/composer-require-checker/composer.json
@@ -1,6 +1,6 @@
 {
     "require-dev": {
-        "maglnet/composer-require-checker": "^4.7"
+        "maglnet/composer-require-checker": "^4.7.1"
     },
     "config": {
         "platform": {
diff --git a/tools/composer-require-checker/composer.lock b/tools/composer-require-checker/composer.lock
index 9acc049..ff9e169 100644
--- a/tools/composer-require-checker/composer.lock
+++ b/tools/composer-require-checker/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": "f80b76e46b8d83da89b2d51d9ccbaf1c",
+    "content-hash": "ddd1c9f1ef85ffdb4b5ead0b472abdad",
     "packages": [],
     "packages-dev": [
         {
diff --git a/tools/psalm/composer.json b/tools/psalm/composer.json
index 0b5d448..87eee86 100644
--- a/tools/psalm/composer.json
+++ b/tools/psalm/composer.json
@@ -1,6 +1,6 @@
 {
     "require-dev": {
-        "phpunit/phpunit": "^10.5.30",
+        "phpunit/phpunit": "^10.5.31",
         "psalm/plugin-phpunit": "^0.18.4",
         "vimeo/psalm": "^5.25.0"
     },
diff --git a/tools/psalm/composer.lock b/tools/psalm/composer.lock
index 0af72a0..8edf983 100644
--- a/tools/psalm/composer.lock
+++ b/tools/psalm/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": "6fbd5abd9d4204d3f9a0881b1092c660",
+    "content-hash": "3aa54fc452424d71a7a98fbc2207e98f",
     "packages": [],
     "packages-dev": [
         {
@@ -1542,16 +1542,16 @@
         },
         {
             "name": "phpunit/phpunit",
-            "version": "10.5.30",
+            "version": "10.5.31",
             "source": {
                 "type": "git",
                 "url": "https://github.com/sebastianbergmann/phpunit.git",
-                "reference": "b15524febac0153876b4ba9aab3326c2ee94c897"
+                "reference": "43e7c3e6a484e538453f89dfa6a6f308c32792da"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b15524febac0153876b4ba9aab3326c2ee94c897",
-                "reference": "b15524febac0153876b4ba9aab3326c2ee94c897",
+                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/43e7c3e6a484e538453f89dfa6a6f308c32792da",
+                "reference": "43e7c3e6a484e538453f89dfa6a6f308c32792da",
                 "shasum": ""
             },
             "require": {
@@ -1565,7 +1565,7 @@
                 "phar-io/manifest": "^2.0.4",
                 "phar-io/version": "^3.2.1",
                 "php": ">=8.1",
-                "phpunit/php-code-coverage": "^10.1.15",
+                "phpunit/php-code-coverage": "^10.1.16",
                 "phpunit/php-file-iterator": "^4.1.0",
                 "phpunit/php-invoker": "^4.0.0",
                 "phpunit/php-text-template": "^3.0.1",
@@ -1623,7 +1623,7 @@
             "support": {
                 "issues": "https://github.com/sebastianbergmann/phpunit/issues",
                 "security": "https://github.com/sebastianbergmann/phpunit/security/policy",
-                "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.30"
+                "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.31"
             },
             "funding": [
                 {
@@ -1639,7 +1639,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-08-13T06:09:37+00:00"
+            "time": "2024-09-03T11:57:55+00:00"
         },
         {
             "name": "psalm/plugin-phpunit",