From 1f2a520c2bdfa0ae8c363b3a39786ad2214b2baf Mon Sep 17 00:00:00 2001
From: Dmitry Khomutov
Date: Thu, 18 Aug 2022 22:07:13 +0700
Subject: [PATCH 01/33] Fixes after release 2.1.
---
CHANGELOG.md | 2 +-
VERSION.md | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0bb39245..ee9f4c66 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -42,7 +42,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
### Fixed
- Install command return code.
-- [PHPUnit] Xdebug settings for coverage option. Pull request [#427](https://github.com/php-censor/php-censor/pull/427). Thanks to [@KieranFYI](https://github.com/KieranFYI).
+- **[PHPUnit]** Xdebug settings for coverage option. Pull request [#427](https://github.com/php-censor/php-censor/pull/427). Thanks to [@KieranFYI](https://github.com/KieranFYI).
## Other versions
diff --git a/VERSION.md b/VERSION.md
index 7ec1d6db..a74d18b8 100644
--- a/VERSION.md
+++ b/VERSION.md
@@ -1 +1 @@
-2.1.0
+2.2.0-alpha
From f124daf726bfb4a0a311e81731f51ea371397bd2 Mon Sep 17 00:00:00 2001
From: Dmitry Khomutov
Date: Thu, 18 Aug 2022 22:27:06 +0700
Subject: [PATCH 02/33] Fixed README.
---
README.md | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/README.md b/README.md
index c8c13c76..31e85990 100644
--- a/README.md
+++ b/README.md
@@ -15,14 +15,15 @@
PHP Censor versions:
-| Version | Latest | Branch | Status | Minimal PHP Version |
-| :------------------: |:--------:| :-----------: |:---------------------------------------------------------------------:| :-----------------: |
-| `1.0` (Morty Smith) | `1.0.16` | `release-1.0` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
-| `1.1` (Birdperson) | `1.1.6` | `release-1.1` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
-| `1.2` (Summer Smith) | `1.2.4` | `release-1.2` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
-| `1.3` (Jerry Smith) | `1.3.7` | `release-1.3` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
-| `2.0` (Rick Sanchez) | `2.0.10` | `release-2.0` | Current stable version ([Upgrade from v1 to v2](docs/UPGRADE_2.0.md)) | `>=7.4` |
-| `2.1` | WIP | `master` | Feature minor version (WIP) | `>=7.4` |
+| Version | Latest | Branch | Status | Minimal PHP Version |
+|:---------------------:|:--------:|:-------------:|:------------------------------------------------------------------:| :-----------------: |
+| `1.0` (Morty Smith) | `1.0.16` | `release-1.0` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
+| `1.1` (Birdperson) | `1.1.6` | `release-1.1` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
+| `1.2` (Summer Smith) | `1.2.4` | `release-1.2` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
+| `1.3` (Jerry Smith) | `1.3.7` | `release-1.3` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
+| `2.0` (Rick Sanchez) | `2.0.10` | `release-2.0` | Last stable version ([Upgrade from v1 to v2](docs/UPGRADE_2.0.md)) | `>=7.4` |
+| `2.1` (Mr. Meeseeks) | `2.1.0` | `release-2.1` | Current stable version | `>=7.4` |
+| `2.2` | WIP | `master` | Feature minor version (WIP) | `>=7.4` |
[](docs/screenshots/dashboard.png)
From 0052ea9fb156b33d06433a25c6e5301c899b0256 Mon Sep 17 00:00:00 2001
From: Dmitry Khomutov
Date: Tue, 30 Aug 2022 22:42:50 +0700
Subject: [PATCH 03/33] Updated current version in README (2.1.1).
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 31e85990..dbfd88f2 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,7 @@ PHP Censor versions:
| `1.2` (Summer Smith) | `1.2.4` | `release-1.2` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
| `1.3` (Jerry Smith) | `1.3.7` | `release-1.3` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
| `2.0` (Rick Sanchez) | `2.0.10` | `release-2.0` | Last stable version ([Upgrade from v1 to v2](docs/UPGRADE_2.0.md)) | `>=7.4` |
-| `2.1` (Mr. Meeseeks) | `2.1.0` | `release-2.1` | Current stable version | `>=7.4` |
+| `2.1` (Mr. Meeseeks) | `2.1.1` | `release-2.1` | Current stable version | `>=7.4` |
| `2.2` | WIP | `master` | Feature minor version (WIP) | `>=7.4` |
[](docs/screenshots/dashboard.png)
From 3bd1c8e61ceb0c567262a80d979bb6859fed444e Mon Sep 17 00:00:00 2001
From: Pavel Starosek
Date: Wed, 31 Aug 2022 00:06:35 +0600
Subject: [PATCH 04/33] Typo
---
src/Logging/BuildDBLogHandler.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Logging/BuildDBLogHandler.php b/src/Logging/BuildDBLogHandler.php
index a0cfbd9a..4b33ab3c 100644
--- a/src/Logging/BuildDBLogHandler.php
+++ b/src/Logging/BuildDBLogHandler.php
@@ -79,7 +79,7 @@ private function sanitize(string $message): string
ROOT_DIR,
], [
'/',
- '//',
+ '/',
'/',
'/',
], $message);
From 7c50095a192e53538fa0bd2be5f00d6e9b84b54e Mon Sep 17 00:00:00 2001
From: Dmitry Khomutov
Date: Thu, 1 Sep 2022 23:45:52 +0700
Subject: [PATCH 05/33] Updated current version in README (2.1.2).
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index dbfd88f2..af70f4e8 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,7 @@ PHP Censor versions:
| `1.2` (Summer Smith) | `1.2.4` | `release-1.2` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
| `1.3` (Jerry Smith) | `1.3.7` | `release-1.3` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
| `2.0` (Rick Sanchez) | `2.0.10` | `release-2.0` | Last stable version ([Upgrade from v1 to v2](docs/UPGRADE_2.0.md)) | `>=7.4` |
-| `2.1` (Mr. Meeseeks) | `2.1.1` | `release-2.1` | Current stable version | `>=7.4` |
+| `2.1` (Mr. Meeseeks) | `2.1.2` | `release-2.1` | Current stable version | `>=7.4` |
| `2.2` | WIP | `master` | Feature minor version (WIP) | `>=7.4` |
[](docs/screenshots/dashboard.png)
From da840e290b814eefe77016d2cf818fecf6a3c3ce Mon Sep 17 00:00:00 2001
From: StudioMaX
Date: Thu, 1 Sep 2022 23:48:32 +0600
Subject: [PATCH 06/33] Remove HipChat as it was shut down in 2019
---
README.md | 2 +-
composer.json | 1 -
composer.lock | 48 +---------------
docs/en/README.md | 1 -
docs/en/plugins/hipchat_notify.md | 36 ------------
src/Languages/lang.en.php | 1 -
src/Languages/lang.es.php | 1 -
src/Languages/lang.fr.php | 1 -
src/Languages/lang.id.php | 1 -
src/Languages/lang.my.php | 1 -
src/Languages/lang.pt-br.php | 1 -
src/Languages/lang.ru.php | 1 -
src/Plugin/HipchatNotify.php | 96 -------------------------------
13 files changed, 2 insertions(+), 189 deletions(-)
delete mode 100644 docs/en/plugins/hipchat_notify.md
delete mode 100644 src/Plugin/HipchatNotify.php
diff --git a/README.md b/README.md
index af70f4e8..8e584693 100644
--- a/README.md
+++ b/README.md
@@ -73,7 +73,7 @@ PHPMessDetector, PHPTalLint and TechnicalDebt;
* Run through any combination of the other [supported plugins](docs/en/README.md#plugins), including Campfire,
CleanBuild, CopyBuild, Deployer, Env, Git, Grunt, Gulp, PackageBuild, Phar, Phing, Shell and Wipe;
-* Send notifications to Email, XMPP, Slack, IRC, Flowdock, HipChat and
+* Send notifications to Email, XMPP, Slack, IRC, Flowdock and
[Telegram](docs/en/plugins/telegram_notify.md);
* Use your LDAP-server for authentication;
diff --git a/composer.json b/composer.json
index b260263b..74b26eb1 100644
--- a/composer.json
+++ b/composer.json
@@ -82,7 +82,6 @@
"sebastian/diff": "^4.0",
"maknz/slack": "^1.7",
- "hipchat/hipchat-php": "^1.4",
"php-censor/flowdock-client": "^2.0"
},
"require-dev": {
diff --git a/composer.lock b/composer.lock
index 34b1507d..1679fa52 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": "20b1f00489615f4ab268d26b842fdd1d",
+ "content-hash": "9338892db5fc6bdd5295204471d78718",
"packages": [
{
"name": "cakephp/core",
@@ -688,52 +688,6 @@
],
"time": "2022-06-20T21:43:03+00:00"
},
- {
- "name": "hipchat/hipchat-php",
- "version": "v1.4",
- "source": {
- "type": "git",
- "url": "https://github.com/hipchat/hipchat-php.git",
- "reference": "5936c0a48d2d514d94bfc1d774b04c42cd3bc39e"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/hipchat/hipchat-php/zipball/5936c0a48d2d514d94bfc1d774b04c42cd3bc39e",
- "reference": "5936c0a48d2d514d94bfc1d774b04c42cd3bc39e",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "type": "library",
- "autoload": {
- "psr-0": {
- "HipChat": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "HipChat",
- "email": "support@hipchat.com",
- "homepage": "https://www.hipchat.com",
- "role": "Company"
- }
- ],
- "description": "PHP library for HipChat",
- "homepage": "http://github.com/hipchat/hipchat-php",
- "keywords": [
- "hipchat"
- ],
- "support": {
- "issues": "https://github.com/hipchat/hipchat-php/issues",
- "source": "https://github.com/hipchat/hipchat-php/tree/master"
- },
- "time": "2015-04-28T22:48:40+00:00"
- },
{
"name": "jasongrimes/paginator",
"version": "1.0.3",
diff --git a/docs/en/README.md b/docs/en/README.md
index 6a937707..eb00f0a7 100644
--- a/docs/en/README.md
+++ b/docs/en/README.md
@@ -85,7 +85,6 @@ Plugins
* [Campfire](plugins/campfire_notify.md) - `campfire_notify`
* [Email](plugins/email_notify.md) - `email_notify`
* [FlowDock](plugins/flowdock_notify.md) - `flowdock_notify`
-* [HipChat](plugins/hipchat_notify.md) - `hipchat_notify`
* [IRC](plugins/irc_notify.md) - `irc_notify`
* [Slack](plugins/slack_notify.md) - `slack_notify`
* [Telegram](plugins/telegram_notify.md) - `telegram_notify`
diff --git a/docs/en/plugins/hipchat_notify.md b/docs/en/plugins/hipchat_notify.md
deleted file mode 100644
index 6dfa9a10..00000000
--- a/docs/en/plugins/hipchat_notify.md
+++ /dev/null
@@ -1,36 +0,0 @@
-Plugin Hipchat Notify
-=====================
-
-This plugin joins a [HipChat](https://www.hipchat.com/) room and sends a user-defined message, for example a
-"Build Succeeded" message.
-
-Configuration
--------------
-
-### Options
-
-| Field | Required? | Description |
-|-------|-----------|-------------|
-| `auth_token` | Yes | Your HipChat API authentication token (v1) |
-| `room` | Yes | Your Hipchat room name or ID number. This can also be an array of room names or numbers, and the message will be sent to all rooms. |
-| `message` | No | The message to send to the room. Default - `%PROJECT_TITLE% built at %BUILD_LINK%` |
-| `color` | No | Message color. Valid values: yellow, green, red, purple, gray, random. Default - `yellow`|
-| `notify` | No | Whether or not this message should trigger a notification for people in the room (change the tab color, play a sound, etc). Default - `false`. |
-
-Message can be formatted via HTML. Example:
-```html
-%PROJECT_TITLE% - build %BUILD_ID% failed!
-```
-
-### Examples
-
-```yml
-success:
- hipchat_notify_step:
- plugin: hipchat_notify
- auth_token: 123
- room: 456
- message: '%PROJECT_TITLE% - build %BUILD_ID% failed!'
- color: red
- notify: true
-```
diff --git a/src/Languages/lang.en.php b/src/Languages/lang.en.php
index 210fd8f3..dd767785 100644
--- a/src/Languages/lang.en.php
+++ b/src/Languages/lang.en.php
@@ -431,7 +431,6 @@
'deployer' => 'Deployer',
'env' => 'Env',
'grunt' => 'Grunt',
- 'hipchat_notify' => 'Hipchat Notify',
'irc_notify' => 'IRC Notify',
'lint' => 'Lint',
'mysql' => 'MySQL',
diff --git a/src/Languages/lang.es.php b/src/Languages/lang.es.php
index abba6e06..e982c42c 100644
--- a/src/Languages/lang.es.php
+++ b/src/Languages/lang.es.php
@@ -415,7 +415,6 @@
'deployer' => 'Deployer',
'env' => 'Env',
'grunt' => 'Grunt',
- 'hipchat_notify' => 'Hipchat Notify',
'irc' => 'IRC',
'lint' => 'Lint',
'mysql' => 'MySQL',
diff --git a/src/Languages/lang.fr.php b/src/Languages/lang.fr.php
index dd1fedb6..d0e23ee7 100644
--- a/src/Languages/lang.fr.php
+++ b/src/Languages/lang.fr.php
@@ -405,7 +405,6 @@
'deployer' => 'Deployer',
'env' => 'Env',
'grunt' => 'Grunt',
- 'hipchat_notify' => 'Hipchat Notify',
'irc_notify' => 'IRC Notify',
'lint' => 'Lint',
'mysql' => 'MySQL',
diff --git a/src/Languages/lang.id.php b/src/Languages/lang.id.php
index 7da0b339..e871d51c 100644
--- a/src/Languages/lang.id.php
+++ b/src/Languages/lang.id.php
@@ -412,7 +412,6 @@
'deployer' => 'Deployer',
'env' => 'Env',
'grunt' => 'Grunt',
- 'hipchat_notify' => 'Hipchat Notify',
'irc' => 'IRC',
'lint' => 'Lint',
'mysql' => 'MySQL',
diff --git a/src/Languages/lang.my.php b/src/Languages/lang.my.php
index d8db7cdf..29099f2d 100644
--- a/src/Languages/lang.my.php
+++ b/src/Languages/lang.my.php
@@ -413,7 +413,6 @@
'deployer' => 'Deployer',
'env' => 'Env',
'grunt' => 'Grunt',
- 'hipchat_notify' => 'Hipchat Notify',
'irc' => 'IRC',
'lint' => 'Lint',
'mysql' => 'MySQL',
diff --git a/src/Languages/lang.pt-br.php b/src/Languages/lang.pt-br.php
index 6f20fad5..b482ff23 100644
--- a/src/Languages/lang.pt-br.php
+++ b/src/Languages/lang.pt-br.php
@@ -423,7 +423,6 @@
'deployer' => 'Deployer',
'env' => 'Env',
'grunt' => 'Grunt',
- 'hipchat_notify' => 'Hipchat Notify',
'irc' => 'IRC',
'lint' => 'Lint',
'mysql' => 'MySQL',
diff --git a/src/Languages/lang.ru.php b/src/Languages/lang.ru.php
index d2e56821..80a90a52 100644
--- a/src/Languages/lang.ru.php
+++ b/src/Languages/lang.ru.php
@@ -419,7 +419,6 @@
'deployer' => 'Deployer',
'env' => 'Env',
'grunt' => 'Grunt',
- 'hipchat_notify' => 'Hipchat Notify',
'irc_notify' => 'IRC Notify',
'lint' => 'Lint',
'mysql' => 'MySQL',
diff --git a/src/Plugin/HipchatNotify.php b/src/Plugin/HipchatNotify.php
deleted file mode 100644
index 592593be..00000000
--- a/src/Plugin/HipchatNotify.php
+++ /dev/null
@@ -1,96 +0,0 @@
-
- * @author Dmitry Khomutov
- */
-class HipchatNotify extends Plugin
-{
- protected $authToken;
- protected $color;
- protected $notify;
- protected $message;
- protected $room;
-
- /**
- * @return string
- */
- public static function pluginName()
- {
- return 'hipchat_notify';
- }
-
- /**
- * {@inheritDoc}
- */
- public function __construct(Builder $builder, Build $build, array $options = [])
- {
- parent::__construct($builder, $build, $options);
-
- if (!\is_array($options) || !isset($options['room']) || !isset($options['auth_token'])) {
- throw new InvalidArgumentException('Please define room and authToken for hipchat_notify plugin.');
- }
-
- if (\array_key_exists('auth_token', $options)) {
- $this->authToken = $this->builder->interpolate($options['auth_token'], true);
- }
-
- $this->room = $options['room'];
-
- if (isset($options['message'])) {
- $this->message = $options['message'];
- } else {
- $this->message = '%PROJECT_TITLE% built at %BUILD_LINK%';
- }
-
- if (isset($options['color'])) {
- $this->color = $options['color'];
- } else {
- $this->color = 'yellow';
- }
-
- if (isset($options['notify'])) {
- $this->notify = $options['notify'];
- } else {
- $this->notify = false;
- }
- }
-
- /**
- * Run the HipChat plugin.
- * @return bool
- */
- public function execute()
- {
- $hipChat = new HipChat($this->authToken);
- $message = $this->builder->interpolate($this->message);
-
- $result = true;
- if (\is_array($this->room)) {
- foreach ($this->room as $room) {
- if (!$hipChat->message_room($room, 'PHP Censor', $message, $this->notify, $this->color)) {
- $result = false;
- }
- }
- } else {
- if (!$hipChat->message_room($this->room, 'PHP Censor', $message, $this->notify, $this->color)) {
- $result = false;
- }
- }
-
- return $result;
- }
-}
From 83273e2608c881474bc69c0bc2cd6bd7a6039142 Mon Sep 17 00:00:00 2001
From: Dmitry Khomutov
Date: Fri, 16 Sep 2022 22:19:27 +0700
Subject: [PATCH 07/33] Fixed docs.
---
README.md | 25 +++++++++++++++++++++----
docs/en/installing.md | 4 ++--
2 files changed, 23 insertions(+), 6 deletions(-)
diff --git a/README.md b/README.md
index 8e584693..0fe4b3ad 100644
--- a/README.md
+++ b/README.md
@@ -161,11 +161,28 @@ cd /path/to/php-censor
./vendor/bin/phpunit --configuration ./phpunit.xml.dist --coverage-html ./tests/runtime/coverage -vvv --colors=always
```
-For Phar plugin tests set 'phar.readonly' setting to Off (0) in `php.ini` config. Otherwise the tests will be skipped.
+For Phar plugin tests set `phar.readonly` setting to Off (`0`) in `php.ini` config. Otherwise the tests will be skipped.
-For database tests create an empty 'test_db' database on 'localhost' with user/password: `root/`
-for MySQL and with user/password: `postgres/` for PostgreSQL (You can change default test user, password and
-database name in `phpunit.xml[.dist]` config constants). If connection failed the tests will be skipped.
+For database tests create an empty databases on 'localhost' with user/password for MySQL/PostgreSQL and set env
+variables from `phpunit.xml.dist` config. For example:
+
+```shell
+#!/usr/bin/env bash
+
+psql --username="test" --host="127.0.0.1" --echo-all --command="DROP DATABASE IF EXISTS \"php-censor-test\";"
+psql --username="test" --host="127.0.0.1" --echo-all --command="CREATE DATABASE \"php-censor-test\";"
+
+mysql --user="test" --password="test" --host="127.0.0.1" --verbose --execute="CREATE DATABASE IF NOT EXISTS \`php-censor-test\`;"
+
+export SKIP_DB_TESTS=0;\
+export POSTGRESQL_DBNAME=php-censor-test;\
+export POSTGRESQL_USER=test;\
+export POSTGRESQL_PASSWORD=test;\
+export MYSQL_DBNAME=php-censor-test;\
+export MYSQL_USER=test;\
+export MYSQL_PASSWORD=test;\
+vendor/bin/phpunit --configuration=phpunit.xml.dist --verbose
+```
## Documentation
diff --git a/docs/en/installing.md b/docs/en/installing.md
index 1785f71f..fd9aa498 100644
--- a/docs/en/installing.md
+++ b/docs/en/installing.md
@@ -65,10 +65,10 @@ cd ./php-censor.local
--admin-email='admin@php-censor.local'
```
-* [Add a virtual host to your web server](docs/en/virtual_host.md), pointing to the `public` directory within your new
+* [Add a virtual host to your web server](virtual_host.md), pointing to the `public` directory within your new
PHP Censor directory. You'll need to set up rewrite rules to point all non-existent requests to PHP Censor;
-* [Set up the PHP Censor Worker](docs/en/workers/worker.md);
+* [Set up the PHP Censor Worker](workers/worker.md);
## Installing via Docker
From addff907adf13078c2b3fac0e336b055df041ed4 Mon Sep 17 00:00:00 2001
From: Dmitry Khomutov
Date: Tue, 8 Nov 2022 23:14:43 +0700
Subject: [PATCH 08/33] Added Rector checks.
---
Makefile | 8 +-
composer.json | 3 +-
composer.lock | 119 +++++++++++++++++-
psalm.xml.dist | 3 +-
rector.php | 23 ++++
src/Helper/CommandExecutor.php | 11 +-
src/Plugin/Behat.php | 4 +-
src/Plugin/BitbucketNotify.php | 2 +-
src/Plugin/CampfireNotify.php | 3 +-
src/Plugin/Composer.php | 16 +--
src/Plugin/Deployer.php | 3 +-
src/Plugin/Grunt.php | 8 +-
src/Plugin/Gulp.php | 8 +-
src/Plugin/Mage.php | 4 +-
src/Plugin/Mage3.php | 4 +-
src/Plugin/Pdepend.php | 10 +-
src/Plugin/PhpCodeSniffer.php | 19 +--
src/Plugin/PhpDocblockChecker.php | 4 +-
src/Plugin/PhpLoc.php | 5 +-
src/Plugin/PhpMessDetector.php | 10 +-
src/Plugin/PhpParallelLint.php | 7 +-
src/Plugin/SecurityChecker.php | 4 +-
src/Plugin/SensiolabsInsight.php | 4 +-
src/Plugin/TechnicalDebt.php | 10 +-
.../Util/BitbucketNotifyPluginResult.php | 3 +-
src/Plugin/Util/PhpUnitResult.php | 12 +-
src/Plugin/Util/PhpUnitResultJson.php | 36 +++---
src/Plugin/Util/PhpUnitResultJunit.php | 4 +-
src/Plugin/WebhookNotify.php | 2 +-
src/Plugin/XmppNotify.php | 22 ++--
src/Store/BuildErrorStore.php | 15 +--
src/Store/BuildMetaStore.php | 11 +-
src/Store/BuildStore.php | 32 ++---
src/Store/EnvironmentStore.php | 5 +-
src/Store/ProjectStore.php | 17 +--
src/Store/UserStore.php | 4 +-
src/Worker/BuildWorker.php | 3 +-
37 files changed, 252 insertions(+), 206 deletions(-)
create mode 100644 rector.php
diff --git a/Makefile b/Makefile
index 84eb1c67..ebbb9b0b 100644
--- a/Makefile
+++ b/Makefile
@@ -31,8 +31,14 @@ code-style-fix: php-info install ## Fix code style
psalm: php-info install ## Run Psalm check
$(PHP) vendor/bin/psalm --config=psalm.xml.dist --threads=4 --show-snippet=true --show-info=true
+rector: php-info install ## Run Rector check
+ $(PHP) vendor/bin/rector --dry-run --clear-cache
+
+rector-fix: php-info install ## Run Rector fix
+ $(PHP) vendor/bin/rector --clear-cache
+
run-worker: php-info install ## Run PHP Censor worker
$(PHP) bin/console php-censor:worker -v
-.PHONY: php-info list install install-force update test test-coverage mutation-test code-style-fix psalm run-worker
+.PHONY: php-info list install install-force update test test-coverage mutation-test code-style-fix psalm rector rector-fix run-worker
.DEFAULT_GOAL := list
diff --git a/composer.json b/composer.json
index 74b26eb1..fee2d97b 100644
--- a/composer.json
+++ b/composer.json
@@ -96,7 +96,8 @@
"php-censor/phpdoc-checker": "^3.0",
"friendsofphp/php-cs-fixer": "^3.3",
"symfony/var-dumper": "^4.4",
- "vimeo/psalm": "^4.23"
+ "vimeo/psalm": "^4.23",
+ "rector/rector": "^0.14"
},
"extra": {
"platform": {
diff --git a/composer.lock b/composer.lock
index 1679fa52..c882b454 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": "9338892db5fc6bdd5295204471d78718",
+ "content-hash": "e358ae009c0e1eb5935d495a57c18e1b",
"packages": [
{
"name": "cakephp/core",
@@ -6734,6 +6734,65 @@
},
"time": "2020-07-09T08:33:42+00:00"
},
+ {
+ "name": "phpstan/phpstan",
+ "version": "1.8.10",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpstan/phpstan.git",
+ "reference": "0c4459dc42c568b818b3f25186589f3acddc1823"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/0c4459dc42c568b818b3f25186589f3acddc1823",
+ "reference": "0c4459dc42c568b818b3f25186589f3acddc1823",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2|^8.0"
+ },
+ "conflict": {
+ "phpstan/phpstan-shim": "*"
+ },
+ "bin": [
+ "phpstan",
+ "phpstan.phar"
+ ],
+ "type": "library",
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "PHPStan - PHP Static Analysis Tool",
+ "keywords": [
+ "dev",
+ "static analysis"
+ ],
+ "support": {
+ "issues": "https://github.com/phpstan/phpstan/issues",
+ "source": "https://github.com/phpstan/phpstan/tree/1.8.10"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/ondrejmirtes",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/phpstan",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-10-17T14:23:35+00:00"
+ },
{
"name": "phpunit/php-code-coverage",
"version": "9.2.17",
@@ -7150,6 +7209,64 @@
],
"time": "2022-08-30T07:42:16+00:00"
},
+ {
+ "name": "rector/rector",
+ "version": "0.14.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/rectorphp/rector.git",
+ "reference": "e61574288661334155de6e5f0f45497285abad5d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/rectorphp/rector/zipball/e61574288661334155de6e5f0f45497285abad5d",
+ "reference": "e61574288661334155de6e5f0f45497285abad5d",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2|^8.0",
+ "phpstan/phpstan": "^1.8.7"
+ },
+ "conflict": {
+ "rector/rector-doctrine": "*",
+ "rector/rector-downgrade-php": "*",
+ "rector/rector-laravel": "*",
+ "rector/rector-php-parser": "*",
+ "rector/rector-phpoffice": "*",
+ "rector/rector-phpunit": "*",
+ "rector/rector-symfony": "*"
+ },
+ "bin": [
+ "bin/rector"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "0.14-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "Instant Upgrade and Automated Refactoring of any PHP code",
+ "support": {
+ "issues": "https://github.com/rectorphp/rector/issues",
+ "source": "https://github.com/rectorphp/rector/tree/0.14.6"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/tomasvotruba",
+ "type": "github"
+ }
+ ],
+ "time": "2022-10-15T22:58:22+00:00"
+ },
{
"name": "sanmai/later",
"version": "0.1.2",
diff --git a/psalm.xml.dist b/psalm.xml.dist
index 4e9226bd..9664617d 100644
--- a/psalm.xml.dist
+++ b/psalm.xml.dist
@@ -1,10 +1,11 @@
diff --git a/rector.php b/rector.php
new file mode 100644
index 00000000..a5d4ab02
--- /dev/null
+++ b/rector.php
@@ -0,0 +1,23 @@
+paths([
+ __DIR__ . '/src'
+ ]);
+
+ // register a single rule
+ $rectorConfig->rule(InlineConstructorDefaultToPropertyRector::class);
+
+ $rectorConfig->sets([
+ SetList::PHP_74,
+ //SetList::CODE_QUALITY,
+ //SetList::TYPE_DECLARATION_STRICT,
+ //SetList::DEAD_CODE,
+ ]);
+};
diff --git a/src/Helper/CommandExecutor.php b/src/Helper/CommandExecutor.php
index a815568c..e8a8a127 100644
--- a/src/Helper/CommandExecutor.php
+++ b/src/Helper/CommandExecutor.php
@@ -29,7 +29,7 @@ class CommandExecutor implements CommandExecutorInterface
/**
* @var array
*/
- protected $lastOutput;
+ protected $lastOutput = [];
/**
* @var string
@@ -60,7 +60,7 @@ class CommandExecutor implements CommandExecutorInterface
*
* @var array
*/
- private static $noExitCommands = [
+ private static array $noExitCommands = [
'codecept',
];
@@ -69,7 +69,7 @@ class CommandExecutor implements CommandExecutorInterface
*
* @var array
*/
- private static $blacklistEnvVars = [
+ private static array $blacklistEnvVars = [
'PHP_SELF',
'SCRIPT_NAME',
'SCRIPT_FILENAME',
@@ -86,7 +86,6 @@ public function __construct(BuildLogger $logger, $rootDir, $verbose = false)
{
$this->logger = $logger;
$this->verbose = $verbose;
- $this->lastOutput = [];
$this->rootDir = $rootDir;
}
@@ -136,9 +135,7 @@ public function executeCommand($args = [])
\exec("ps auxww | grep '{$withNoExit}' | grep -v grep", $response);
$response = \array_filter(
$response,
- function ($a) {
- return \strpos($a, $this->buildPath) !== false;
- }
+ fn($a) => \strpos($a, $this->buildPath) !== false
);
} while (!empty($response));
$process->stop();
diff --git a/src/Plugin/Behat.php b/src/Plugin/Behat.php
index 710a2802..bfff90a4 100644
--- a/src/Plugin/Behat.php
+++ b/src/Plugin/Behat.php
@@ -21,7 +21,7 @@ class Behat extends Plugin
/**
* @var string
*/
- protected $features;
+ protected $features = '';
/**
* @return string
@@ -40,8 +40,6 @@ public function __construct(Builder $builder, Build $build, array $options = [])
$this->executable = $this->findBinary(['behat', 'behat.phar']);
- $this->features = '';
-
if (!empty($options['features'])) {
$this->features = $options['features'];
}
diff --git a/src/Plugin/BitbucketNotify.php b/src/Plugin/BitbucketNotify.php
index ba56850f..ff0edc52 100644
--- a/src/Plugin/BitbucketNotify.php
+++ b/src/Plugin/BitbucketNotify.php
@@ -269,7 +269,7 @@ protected function prepareResult($targetBranch)
return [];
}
- $plugins = \array_unique(\array_merge(\array_keys($targetBranchBuildStats), \array_keys($currentBranchBuildStats)));
+ $plugins = \array_unique([...\array_keys($targetBranchBuildStats), ...\array_keys($currentBranchBuildStats)]);
\sort($plugins);
$result = [];
diff --git a/src/Plugin/CampfireNotify.php b/src/Plugin/CampfireNotify.php
index 7645ee25..12fca94a 100644
--- a/src/Plugin/CampfireNotify.php
+++ b/src/Plugin/CampfireNotify.php
@@ -21,7 +21,7 @@ class CampfireNotify extends Plugin
protected $url;
protected $authToken;
protected $userAgent;
- protected $cookie;
+ protected $cookie = 'php-censor-cookie';
protected $verbose = false;
protected $room;
protected $message;
@@ -44,7 +44,6 @@ public function __construct(Builder $builder, Build $build, array $options = [])
$this->message = $options['message'];
$version = $this->builder->interpolate('%SYSTEM_VERSION%');
$this->userAgent = 'PHP Censor/' . $version;
- $this->cookie = "php-censor-cookie";
if (isset($options['verbose']) && $options['verbose']) {
$this->verbose = true;
diff --git a/src/Plugin/Composer.php b/src/Plugin/Composer.php
index 74363ef8..97852ece 100644
--- a/src/Plugin/Composer.php
+++ b/src/Plugin/Composer.php
@@ -19,11 +19,11 @@
*/
class Composer extends Plugin implements ZeroConfigPluginInterface
{
- protected $action;
- protected $preferDist;
- protected $noDev;
- protected $ignorePlatformReqs;
- protected $preferSource;
+ protected $action = 'install';
+ protected $preferDist = false;
+ protected $noDev = false;
+ protected $ignorePlatformReqs = false;
+ protected $preferSource = false;
/**
* @return string
@@ -40,12 +40,6 @@ public function __construct(Builder $builder, Build $build, array $options = [])
{
parent::__construct($builder, $build, $options);
- $this->action = 'install';
- $this->preferDist = false;
- $this->preferSource = false;
- $this->noDev = false;
- $this->ignorePlatformReqs = false;
-
$this->executable = $this->findBinary(['composer', 'composer.phar']);
if (\array_key_exists('action', $options)) {
diff --git a/src/Plugin/Deployer.php b/src/Plugin/Deployer.php
index 71bcb377..742ad89f 100644
--- a/src/Plugin/Deployer.php
+++ b/src/Plugin/Deployer.php
@@ -19,7 +19,7 @@
class Deployer extends Plugin
{
protected $webhookUrl;
- protected $reason;
+ protected $reason = 'PHP Censor Build #%BUILD_ID% - %COMMIT_MESSAGE%';
protected $updateOnly;
/**
@@ -37,7 +37,6 @@ public function __construct(Builder $builder, Build $build, array $options = [])
{
parent::__construct($builder, $build, $options);
- $this->reason = 'PHP Censor Build #%BUILD_ID% - %COMMIT_MESSAGE%';
if (isset($options['webhook_url'])) {
$this->webhookUrl = $options['webhook_url'];
}
diff --git a/src/Plugin/Grunt.php b/src/Plugin/Grunt.php
index 7069c06a..0d49bac7 100644
--- a/src/Plugin/Grunt.php
+++ b/src/Plugin/Grunt.php
@@ -17,8 +17,8 @@
*/
class Grunt extends Plugin
{
- protected $task;
- protected $gruntfile;
+ protected $task = null;
+ protected $gruntfile = 'Gruntfile.js';
/**
* @return string
@@ -35,10 +35,6 @@ public function __construct(Builder $builder, Build $build, array $options = [])
{
parent::__construct($builder, $build, $options);
- $this->task = null;
-
- $this->gruntfile = 'Gruntfile.js';
-
if (isset($options['task'])) {
$this->task = $options['task'];
}
diff --git a/src/Plugin/Gulp.php b/src/Plugin/Gulp.php
index 1a33053e..6aff9411 100644
--- a/src/Plugin/Gulp.php
+++ b/src/Plugin/Gulp.php
@@ -17,8 +17,8 @@
*/
class Gulp extends Plugin
{
- protected $task;
- protected $gulpfile;
+ protected $task = null;
+ protected $gulpfile = 'gulpfile.js';
/**
* @return string
@@ -35,12 +35,8 @@ public function __construct(Builder $builder, Build $build, array $options = [])
{
parent::__construct($builder, $build, $options);
- $this->task = null;
-
$this->executable = $this->findBinary('gulp');
- $this->gulpfile = 'gulpfile.js';
-
if (isset($options['task'])) {
$this->task = $options['task'];
}
diff --git a/src/Plugin/Mage.php b/src/Plugin/Mage.php
index 32668d43..2be2f1cc 100644
--- a/src/Plugin/Mage.php
+++ b/src/Plugin/Mage.php
@@ -83,9 +83,7 @@ protected function getMageLog()
throw new RuntimeException('Log dir read fail');
}
- $list = \array_filter($list, function ($name) {
- return \preg_match('/^log-\d+-\d+\.log$/', $name);
- });
+ $list = \array_filter($list, fn($name) => \preg_match('/^log-\d+-\d+\.log$/', $name));
if (empty($list)) {
throw new RuntimeException('Log dir filter fail');
}
diff --git a/src/Plugin/Mage3.php b/src/Plugin/Mage3.php
index df3f3c72..f3e30b16 100644
--- a/src/Plugin/Mage3.php
+++ b/src/Plugin/Mage3.php
@@ -88,9 +88,7 @@ protected function getMageLog()
throw new RuntimeException('Log dir read fail');
}
- $list = \array_filter($list, function ($name) {
- return \preg_match('/^\d+_\d+\.log$/', $name);
- });
+ $list = \array_filter($list, fn($name) => \preg_match('/^\d+_\d+\.log$/', $name));
if (empty($list)) {
throw new RuntimeException('Log dir filter fail');
}
diff --git a/src/Plugin/Pdepend.php b/src/Plugin/Pdepend.php
index 941dbe32..74964c0b 100644
--- a/src/Plugin/Pdepend.php
+++ b/src/Plugin/Pdepend.php
@@ -34,17 +34,17 @@ class Pdepend extends Plugin
/**
* @var string File where the summary.xml is stored
*/
- protected $summary;
+ protected $summary = 'summary.xml';
/**
* @var string File where the chart.svg is stored
*/
- protected $chart;
+ protected $chart = 'chart.svg';
/**
* @var string File where the pyramid.svg is stored
*/
- protected $pyramid;
+ protected $pyramid = 'pyramid.svg';
/**
* @var string
@@ -71,10 +71,6 @@ public function __construct(Builder $builder, Build $build, array $options = [])
{
parent::__construct($builder, $build, $options);
- $this->summary = 'summary.xml';
- $this->pyramid = 'pyramid.svg';
- $this->chart = 'chart.svg';
-
$this->executable = $this->findBinary(['pdepend', 'pdepend.phar']);
$this->buildDirectory = $build->getBuildDirectory();
diff --git a/src/Plugin/PhpCodeSniffer.php b/src/Plugin/PhpCodeSniffer.php
index c195065a..ae6ae205 100644
--- a/src/Plugin/PhpCodeSniffer.php
+++ b/src/Plugin/PhpCodeSniffer.php
@@ -25,32 +25,32 @@ class PhpCodeSniffer extends Plugin implements ZeroConfigPluginInterface
/**
* @var array
*/
- protected $suffixes;
+ protected $suffixes = ['php'];
/**
* @var string
*/
- protected $standard;
+ protected $standard = 'PSR2';
/**
* @var string
*/
- protected $tabWidth;
+ protected $tabWidth = '';
/**
* @var string
*/
- protected $encoding;
+ protected $encoding = '';
/**
* @var int
*/
- protected $allowedErrors;
+ protected $allowedErrors = 0;
/**
* @var int
*/
- protected $allowedWarnings;
+ protected $allowedWarnings = 0;
/**
* @var int
@@ -82,13 +82,6 @@ public function __construct(Builder $builder, Build $build, array $options = [])
{
parent::__construct($builder, $build, $options);
- $this->suffixes = ['php'];
- $this->standard = 'PSR2';
- $this->tabWidth = '';
- $this->encoding = '';
- $this->allowedWarnings = 0;
- $this->allowedErrors = 0;
-
$this->executable = $this->findBinary(['phpcs', 'phpcs.phar']);
if (isset($options['zero_config']) && $options['zero_config']) {
diff --git a/src/Plugin/PhpDocblockChecker.php b/src/Plugin/PhpDocblockChecker.php
index 24ca38bf..516a75d2 100644
--- a/src/Plugin/PhpDocblockChecker.php
+++ b/src/Plugin/PhpDocblockChecker.php
@@ -26,7 +26,7 @@ class PhpDocblockChecker extends Plugin implements ZeroConfigPluginInterface
/**
* @var int
*/
- protected $allowedWarnings;
+ protected $allowedWarnings = 0;
/**
* @return string
@@ -43,8 +43,6 @@ public function __construct(Builder $builder, Build $build, array $options = [])
{
parent::__construct($builder, $build, $options);
- $this->allowedWarnings = 0;
-
if (isset($options['zero_config']) && $options['zero_config']) {
$this->allowedWarnings = -1;
}
diff --git a/src/Plugin/PhpLoc.php b/src/Plugin/PhpLoc.php
index 00026008..1a817b58 100644
--- a/src/Plugin/PhpLoc.php
+++ b/src/Plugin/PhpLoc.php
@@ -5,6 +5,7 @@
use PHPCensor;
use PHPCensor\Builder;
use PHPCensor\Model\Build;
+use PHPCensor\Model\User;
use PHPCensor\Plugin;
use PHPCensor\ZeroConfigPluginInterface;
@@ -56,9 +57,7 @@ public function execute()
{
$ignore = '';
if (\is_array($this->ignore)) {
- $map = function ($item) {
- return \sprintf(' --exclude="%s"', $item);
- };
+ $map = fn($item) => \sprintf(' --exclude="%s"', $item);
$ignore = \array_map($map, $this->ignore);
$ignore = \implode('', $ignore);
diff --git a/src/Plugin/PhpMessDetector.php b/src/Plugin/PhpMessDetector.php
index b6a22ea2..46a000c2 100644
--- a/src/Plugin/PhpMessDetector.php
+++ b/src/Plugin/PhpMessDetector.php
@@ -24,15 +24,15 @@ class PhpMessDetector extends Plugin implements ZeroConfigPluginInterface
/**
* @var array
*/
- protected $suffixes;
+ protected $suffixes = ['php'];
/**
* Array of PHPMD rules. Can be one of the builtins (codesize, unusedcode, naming, design, controversial)
* or a filename (detected by checking for a / in it), either absolute or relative to the project root.
* @var array
*/
- protected $rules;
- protected $allowedWarnings;
+ protected $rules = ['codesize', 'unusedcode', 'naming'];
+ protected $allowedWarnings = 0;
/**
* @return string
@@ -49,10 +49,6 @@ public function __construct(Builder $builder, Build $build, array $options = [])
{
parent::__construct($builder, $build, $options);
- $this->suffixes = ['php'];
- $this->rules = ['codesize', 'unusedcode', 'naming'];
- $this->allowedWarnings = 0;
-
if (isset($options['zero_config']) && $options['zero_config']) {
$this->allowedWarnings = -1;
}
diff --git a/src/Plugin/PhpParallelLint.php b/src/Plugin/PhpParallelLint.php
index 1d39b669..4ec480d7 100644
--- a/src/Plugin/PhpParallelLint.php
+++ b/src/Plugin/PhpParallelLint.php
@@ -21,12 +21,12 @@ class PhpParallelLint extends Plugin implements ZeroConfigPluginInterface
/**
* @var string - comma separated list of file extensions
*/
- protected $extensions;
+ protected $extensions = 'php';
/**
* @var bool - enable short tags
*/
- protected $shortTag;
+ protected $shortTag = false;
/**
* @return string
@@ -47,9 +47,6 @@ public function __construct(Builder $builder, Build $build, array $options = [])
{
parent::__construct($builder, $build, $options);
- $this->extensions = 'php';
- $this->shortTag = false;
-
$this->executable = $this->findBinary(['parallel-lint', 'parallel-lint.phar']);
if (isset($options['shorttags'])) {
diff --git a/src/Plugin/SecurityChecker.php b/src/Plugin/SecurityChecker.php
index 2f7bf71b..53bfeebe 100644
--- a/src/Plugin/SecurityChecker.php
+++ b/src/Plugin/SecurityChecker.php
@@ -23,7 +23,7 @@ class SecurityChecker extends Plugin implements ZeroConfigPluginInterface
/**
* @var int
*/
- protected $allowedWarnings;
+ protected $allowedWarnings = 0;
/**
* @var string
@@ -53,8 +53,6 @@ public function __construct(Builder $builder, Build $build, array $options = [])
{
parent::__construct($builder, $build, $options);
- $this->allowedWarnings = 0;
-
if (isset($options['zero_config']) && $options['zero_config']) {
$this->allowedWarnings = -1;
}
diff --git a/src/Plugin/SensiolabsInsight.php b/src/Plugin/SensiolabsInsight.php
index 6477bacd..fc638742 100644
--- a/src/Plugin/SensiolabsInsight.php
+++ b/src/Plugin/SensiolabsInsight.php
@@ -38,7 +38,7 @@ class SensiolabsInsight extends Plugin
/**
* @var int
*/
- protected $allowedWarnings;
+ protected $allowedWarnings = 0;
/**
* @return string
@@ -54,8 +54,6 @@ public static function pluginName()
public function __construct(Builder $builder, Build $build, array $options = [])
{
parent::__construct($builder, $build, $options);
-
- $this->allowedWarnings = 0;
if (\array_key_exists('allowed_warnings', $options)) {
$this->allowedWarnings = (int)$options['allowed_warnings'];
}
diff --git a/src/Plugin/TechnicalDebt.php b/src/Plugin/TechnicalDebt.php
index 347e7799..8c19f77e 100644
--- a/src/Plugin/TechnicalDebt.php
+++ b/src/Plugin/TechnicalDebt.php
@@ -25,17 +25,17 @@ class TechnicalDebt extends Plugin implements ZeroConfigPluginInterface
/**
* @var array
*/
- protected $suffixes;
+ protected $suffixes = ['php'];
/**
* @var int
*/
- protected $allowedErrors;
+ protected $allowedErrors = 0;
/**
* @var array - terms to search for
*/
- protected $searches;
+ protected $searches = ['TODO', 'FIXME', 'TO DO', 'FIX ME'];
/**
* @var array - lines of . and X to visualize errors
@@ -117,10 +117,6 @@ public function __construct(Builder $builder, Build $build, array $options = [])
{
parent::__construct($builder, $build, $options);
- $this->suffixes = ['php'];
- $this->allowedErrors = 0;
- $this->searches = ['TODO', 'FIXME', 'TO DO', 'FIX ME'];
-
if (!empty($options['suffixes']) && \is_array($options['suffixes'])) {
$this->suffixes = $options['suffixes'];
}
diff --git a/src/Plugin/Util/BitbucketNotifyPluginResult.php b/src/Plugin/Util/BitbucketNotifyPluginResult.php
index a7dda97b..8157dcdb 100644
--- a/src/Plugin/Util/BitbucketNotifyPluginResult.php
+++ b/src/Plugin/Util/BitbucketNotifyPluginResult.php
@@ -22,14 +22,13 @@ class BitbucketNotifyPluginResult
protected $right;
/** @var string $outputFormat */
- protected $outputFormat;
+ protected $outputFormat = self::DEFAULT_PLUGIN_OUTPUT_FORMAT;
public function __construct($plugin, $left, $right)
{
$this->plugin = $plugin;
$this->left = $left;
$this->right = $right;
- $this->outputFormat = self::DEFAULT_PLUGIN_OUTPUT_FORMAT;
}
public function getPlugin()
diff --git a/src/Plugin/Util/PhpUnitResult.php b/src/Plugin/Util/PhpUnitResult.php
index ac10f74b..e90788cb 100644
--- a/src/Plugin/Util/PhpUnitResult.php
+++ b/src/Plugin/Util/PhpUnitResult.php
@@ -42,17 +42,17 @@ public function __construct($outputFile, $buildPath = '')
*/
abstract public function parse();
- abstract protected function getSeverity($testcase);
+ abstract protected function getSeverity($testCase);
- abstract protected function buildMessage($testcase);
+ abstract protected function buildMessage($testCase);
- abstract protected function buildTrace($testcase);
+ abstract protected function buildTrace($testCase);
- abstract protected function getFileAndLine($testcase);
+ abstract protected function getFileAndLine($testCase);
- protected function getOutput($testcase)
+ protected function getOutput($testCase)
{
- return $testcase['output'];
+ return $testCase['output'];
}
protected function parseTestcase($testcase)
diff --git a/src/Plugin/Util/PhpUnitResultJson.php b/src/Plugin/Util/PhpUnitResultJson.php
index b9051e1c..da47d408 100644
--- a/src/Plugin/Util/PhpUnitResultJson.php
+++ b/src/Plugin/Util/PhpUnitResultJson.php
@@ -72,21 +72,21 @@ public function parse()
/**
* Build the severity of the event
*
- * @param $event
+ * @param $testCase
*
* @return string The severity flags
* @throws Exception
*/
- protected function getSeverity($event)
+ protected function getSeverity($testCase)
{
- $status = $event['status'];
+ $status = $testCase['status'];
switch ($status) {
case 'fail':
$severity = self::SEVERITY_FAIL;
break;
case 'error':
- if (\strpos($event['message'], 'Skipped') === 0 || \strpos($event['message'], 'Incomplete') === 0) {
+ if (\strpos($testCase['message'], 'Skipped') === 0 || \strpos($testCase['message'], 'Incomplete') === 0) {
$severity = self::SEVERITY_SKIPPED;
} else {
$severity = self::SEVERITY_ERROR;
@@ -108,16 +108,16 @@ protected function getSeverity($event)
/**
* Build the message string for an event
*
- * @param array $event
+ * @param array $testCase
*
* @return string
*/
- protected function buildMessage($event)
+ protected function buildMessage($testCase)
{
- $message = $event['test'];
+ $message = $testCase['test'];
- if ($event['message']) {
- $message .= PHP_EOL . $event ['message'];
+ if ($testCase['message']) {
+ $message .= PHP_EOL . $testCase ['message'];
}
return $message;
@@ -126,16 +126,16 @@ protected function buildMessage($event)
/**
* Build a string base trace of the failure
*
- * @param array $event
+ * @param array $testCase
*
* @return string[]
*/
- protected function buildTrace($event)
+ protected function buildTrace($testCase)
{
$formattedTrace = [];
- if (!empty($event['trace'])) {
- foreach ($event['trace'] as $step) {
+ if (!empty($testCase['trace'])) {
+ foreach ($testCase['trace'] as $step) {
$line = \str_replace($this->buildPath, '', $step['file']) . ':' . $step['line'];
$formattedTrace[] = $line;
}
@@ -147,20 +147,20 @@ protected function buildTrace($event)
/**
* Saves additional info for a failing test
*
- * @param array $event
+ * @param array $testCase
*
* @return array
*/
- protected function getFileAndLine($event)
+ protected function getFileAndLine($testCase)
{
- if (empty($event['trace'])) {
+ if (empty($testCase['trace'])) {
return [
'file' => '',
'line' => '',
];
}
- $firstTrace = \end($event['trace']);
- \reset($event['trace']);
+ $firstTrace = \end($testCase['trace']);
+ \reset($testCase['trace']);
return [
'file' => \str_replace($this->buildPath, '', $firstTrace['file']),
diff --git a/src/Plugin/Util/PhpUnitResultJunit.php b/src/Plugin/Util/PhpUnitResultJunit.php
index 1cbac12a..003ad587 100644
--- a/src/Plugin/Util/PhpUnitResultJunit.php
+++ b/src/Plugin/Util/PhpUnitResultJunit.php
@@ -167,9 +167,9 @@ private function internalProblem($description)
throw new RuntimeException($description);
}
- protected function getFileAndLine($testcase)
+ protected function getFileAndLine($testCase)
{
- $attributes = $testcase->attributes();
+ $attributes = $testCase->attributes();
return [
'file' => \str_replace($this->buildPath, '', $attributes['file']),
diff --git a/src/Plugin/WebhookNotify.php b/src/Plugin/WebhookNotify.php
index 3a19d5da..eb0e7a0f 100644
--- a/src/Plugin/WebhookNotify.php
+++ b/src/Plugin/WebhookNotify.php
@@ -25,7 +25,7 @@ class WebhookNotify extends Plugin
/**
* @var string The URL to send the webhook to.
*/
- private $url;
+ private string $url;
/**
* @return string
diff --git a/src/Plugin/XmppNotify.php b/src/Plugin/XmppNotify.php
index 49df480f..f65ba8b1 100644
--- a/src/Plugin/XmppNotify.php
+++ b/src/Plugin/XmppNotify.php
@@ -20,37 +20,37 @@ class XmppNotify extends Plugin
/**
* @var string, username of sender account xmpp
*/
- protected $username;
+ protected $username = '';
/**
* @var string, alias server of sender account xmpp
*/
- protected $server;
+ protected $server = '';
/**
* @var string, password of sender account xmpp
*/
- protected $password;
+ protected $password = '';
/**
* @var string, alias for sender
*/
- protected $alias;
+ protected $alias = '';
/**
* @var string, use tls
*/
- protected $tls;
+ protected $tls = false;
/**
* @var array, list of recipients xmpp accounts
*/
- protected $recipients;
+ protected $recipients = [];
/**
* @var string, mask to format date
*/
- protected $dateFormat;
+ protected $dateFormat = '%c';
/**
* @return string
@@ -67,14 +67,6 @@ public function __construct(Builder $builder, Build $build, array $options = [])
{
parent::__construct($builder, $build, $options);
- $this->username = '';
- $this->password = '';
- $this->server = '';
- $this->alias = '';
- $this->recipients = [];
- $this->tls = false;
- $this->dateFormat = '%c';
-
$this->executable = $this->findBinary('sendxmpp');
/*
diff --git a/src/Store/BuildErrorStore.php b/src/Store/BuildErrorStore.php
index d71f15e2..b2774900 100644
--- a/src/Store/BuildErrorStore.php
+++ b/src/Store/BuildErrorStore.php
@@ -8,6 +8,7 @@
use PDO;
use PHPCensor\Exception\HttpException;
use PHPCensor\Model\BuildError;
+use PHPCensor\Model\BuildMeta;
use PHPCensor\Store;
/**
@@ -73,9 +74,7 @@ public function getByBuildId(int $buildId, ?int $limit = null, int $offset = 0,
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $map = function ($item) {
- return new BuildError($this->storeRegistry, $item);
- };
+ $map = fn($item) => new BuildError($this->storeRegistry, $item);
$rtn = \array_map($map, $res);
$count = \count($rtn);
@@ -152,10 +151,7 @@ public function getKnownPlugins(int $buildId, ?int $severity = null, ?string $is
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
-
- $map = function ($item) {
- return $item['plugin'];
- };
+ $map = fn($item) => $item['plugin'];
return \array_map($map, $res);
} else {
@@ -185,10 +181,7 @@ public function getKnownSeverities(int $buildId, ?string $plugin = null, ?string
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
-
- $map = function ($item) {
- return (int)$item['severity'];
- };
+ $map = fn($item) => (int)$item['severity'];
return \array_map($map, $res);
} else {
diff --git a/src/Store/BuildMetaStore.php b/src/Store/BuildMetaStore.php
index 0a240eeb..6fa6da20 100644
--- a/src/Store/BuildMetaStore.php
+++ b/src/Store/BuildMetaStore.php
@@ -6,6 +6,8 @@
use PDO;
use PHPCensor\Exception\HttpException;
+use PHPCensor\Model\Build;
+use PHPCensor\Model\BuildError;
use PHPCensor\Model\BuildMeta;
use PHPCensor\Store;
@@ -68,9 +70,7 @@ public function getByBuildId(int $buildId, int $limit = 1000, string $useConnect
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $map = function ($item) {
- return new BuildMeta($this->storeRegistry, $item);
- };
+ $map = fn($item) => new BuildMeta($this->storeRegistry, $item);
$rtn = \array_map($map, $res);
$count = \count($rtn);
@@ -96,10 +96,7 @@ public function getErrorsForUpgrade(int $limit): array
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
-
- $map = function ($item) {
- return new BuildMeta($this->storeRegistry, $item);
- };
+ $map = fn($item) => new BuildMeta($this->storeRegistry, $item);
return \array_map($map, $res);
} else {
diff --git a/src/Store/BuildStore.php b/src/Store/BuildStore.php
index 929f39e4..1ade97bd 100644
--- a/src/Store/BuildStore.php
+++ b/src/Store/BuildStore.php
@@ -44,9 +44,7 @@ public function getByProjectId(int $projectId, int $limit = 1000, string $useCon
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $map = function ($item) {
- return new Build($this->storeRegistry, $item);
- };
+ $map = fn($item) => new Build($this->storeRegistry, $item);
$rtn = \array_map($map, $res);
$count = \count($rtn);
@@ -76,9 +74,7 @@ public function getByStatus(int $status, int $limit = 1000, string $useConnectio
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $map = function ($item) {
- return new Build($this->storeRegistry, $item);
- };
+ $map = fn($item) => new Build($this->storeRegistry, $item);
$rtn = \array_map($map, $res);
$count = \count($rtn);
@@ -99,10 +95,7 @@ public function getBuilds(int $limit = 5, int $offset = 0): array
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
-
- $map = function ($item) {
- return new Build($this->storeRegistry, $item);
- };
+ $map = fn($item) => new Build($this->storeRegistry, $item);
return \array_map($map, $res);
} else {
@@ -151,10 +144,7 @@ public function getLatestBuilds(?int $projectId = null, int $limit = 5): array
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
-
- $map = function ($item) {
- return new Build($this->storeRegistry, $item);
- };
+ $map = fn($item) => new Build($this->storeRegistry, $item);
return \array_map($map, $res);
} else {
@@ -253,9 +243,7 @@ public function getAllProjectsLatestBuilds(int $limitByProject = 5, int $limitAl
}
foreach ($projects as $idx => $project) {
- $projects[$idx] = \array_filter($project, function ($val) {
- return ($val['latest'][0]->getStatus() !== Build::STATUS_SUCCESS);
- });
+ $projects[$idx] = \array_filter($project, fn($val) => $val['latest'][0]->getStatus() !== Build::STATUS_SUCCESS);
}
$projects = \array_filter($projects);
@@ -279,10 +267,7 @@ public function getByProjectAndCommit(int $projectId, string $commitId): array
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
-
- $map = function ($item) {
- return new Build($this->storeRegistry, $item);
- };
+ $map = fn($item) => new Build($this->storeRegistry, $item);
$rtn = \array_map($map, $res);
@@ -424,10 +409,7 @@ public function getOldByProject(int $projectId, int $keep = 100): array
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
-
- $map = function ($item) {
- return new Build($this->storeRegistry, $item);
- };
+ $map = fn($item) => new Build($this->storeRegistry, $item);
$rtn = \array_map($map, $res);
$count = \count($rtn);
diff --git a/src/Store/EnvironmentStore.php b/src/Store/EnvironmentStore.php
index a0ffe27a..23484dc7 100644
--- a/src/Store/EnvironmentStore.php
+++ b/src/Store/EnvironmentStore.php
@@ -7,6 +7,7 @@
use Exception;
use PDO;
use PHPCensor\Exception\HttpException;
+use PHPCensor\Model\Build;
use PHPCensor\Model\Environment;
use PHPCensor\Store;
@@ -66,9 +67,7 @@ public function getByProjectId(int $projectId, string $useConnection = 'read'):
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $map = function ($item) {
- return new Environment($this->storeRegistry, $item);
- };
+ $map = fn($item) => new Environment($this->storeRegistry, $item);
$rtn = \array_map($map, $res);
$count = \count($rtn);
diff --git a/src/Store/ProjectStore.php b/src/Store/ProjectStore.php
index 84e199bf..13cbb885 100644
--- a/src/Store/ProjectStore.php
+++ b/src/Store/ProjectStore.php
@@ -7,6 +7,7 @@
use Exception;
use PDO;
use PHPCensor\Exception\HttpException;
+use PHPCensor\Model\Environment;
use PHPCensor\Model\Project;
use PHPCensor\Store;
@@ -70,9 +71,7 @@ public function getByTitle(string $title, int $limit = 1000, string $useConnecti
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $map = function ($item) {
- return new Project($this->storeRegistry, $item);
- };
+ $map = fn($item) => new Project($this->storeRegistry, $item);
$rtn = \array_map($map, $res);
$count = \count($rtn);
@@ -97,9 +96,7 @@ public function getKnownBranches(int $projectId): array
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $map = function ($item) {
- return $item['branch'];
- };
+ $map = fn($item) => $item['branch'];
return \array_map($map, $res);
} else {
@@ -122,9 +119,7 @@ public function getAll(string $useConnection = 'read', bool $archived = false):
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $map = function ($item) {
- return new Project($this->storeRegistry, $item);
- };
+ $map = fn($item) => new Project($this->storeRegistry, $item);
$rtn = \array_map($map, $res);
$count = \count($rtn);
@@ -158,9 +153,7 @@ public function getByGroupId(int $groupId, bool $archived = false, int $limit =
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $map = function ($item) {
- return new Project($this->storeRegistry, $item);
- };
+ $map = fn($item) => new Project($this->storeRegistry, $item);
$rtn = \array_map($map, $res);
$count = \count($rtn);
diff --git a/src/Store/UserStore.php b/src/Store/UserStore.php
index 74980b6b..eb4b0a38 100644
--- a/src/Store/UserStore.php
+++ b/src/Store/UserStore.php
@@ -114,9 +114,7 @@ public function getByName(string $name, int $limit = 1000, string $useConnection
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $map = function ($item) {
- return new User($this->storeRegistry, $item);
- };
+ $map = fn($item) => new User($this->storeRegistry, $item);
$rtn = \array_map($map, $res);
$count = \count($rtn);
diff --git a/src/Worker/BuildWorker.php b/src/Worker/BuildWorker.php
index 21f22a0e..21c11b91 100644
--- a/src/Worker/BuildWorker.php
+++ b/src/Worker/BuildWorker.php
@@ -63,7 +63,7 @@ class BuildWorker
private Pheanstalk $pheanstalk;
- private int $lastPeriodical;
+ private int $lastPeriodical = 0;
public function __construct(
ConfigurationInterface $configuration,
@@ -87,7 +87,6 @@ public function __construct(
$this->queueTube = $queueTube;
$this->pheanstalk = Pheanstalk::create($queueHost, $queuePort);
- $this->lastPeriodical = 0;
$this->canPeriodicalWork = $canPeriodicalWork;
}
From 5818fa87779274efc5fbf5824d01135f97ab59b5 Mon Sep 17 00:00:00 2001
From: Dmitry Khomutov
Date: Thu, 17 Nov 2022 22:58:46 +0700
Subject: [PATCH 09/33] Code style fixes.
---
src/Helper/CommandExecutor.php | 6 +-----
src/Plugin/Mage.php | 2 +-
src/Plugin/Mage3.php | 2 +-
src/Plugin/PhpLoc.php | 2 +-
src/Store/BuildErrorStore.php | 6 +++---
src/Store/BuildMetaStore.php | 4 ++--
src/Store/BuildStore.php | 14 +++++++-------
src/Store/EnvironmentStore.php | 2 +-
src/Store/ProjectStore.php | 8 ++++----
src/Store/UserStore.php | 2 +-
10 files changed, 22 insertions(+), 26 deletions(-)
diff --git a/src/Helper/CommandExecutor.php b/src/Helper/CommandExecutor.php
index e8a8a127..cac36a7f 100644
--- a/src/Helper/CommandExecutor.php
+++ b/src/Helper/CommandExecutor.php
@@ -57,8 +57,6 @@ class CommandExecutor implements CommandExecutorInterface
/**
* Commands with no proper exit mechanism
- *
- * @var array
*/
private static array $noExitCommands = [
'codecept',
@@ -66,8 +64,6 @@ class CommandExecutor implements CommandExecutorInterface
/**
* Environment variables that should not be inherited
- *
- * @var array
*/
private static array $blacklistEnvVars = [
'PHP_SELF',
@@ -135,7 +131,7 @@ public function executeCommand($args = [])
\exec("ps auxww | grep '{$withNoExit}' | grep -v grep", $response);
$response = \array_filter(
$response,
- fn($a) => \strpos($a, $this->buildPath) !== false
+ fn ($a) => \strpos($a, $this->buildPath) !== false
);
} while (!empty($response));
$process->stop();
diff --git a/src/Plugin/Mage.php b/src/Plugin/Mage.php
index 2be2f1cc..c276703b 100644
--- a/src/Plugin/Mage.php
+++ b/src/Plugin/Mage.php
@@ -83,7 +83,7 @@ protected function getMageLog()
throw new RuntimeException('Log dir read fail');
}
- $list = \array_filter($list, fn($name) => \preg_match('/^log-\d+-\d+\.log$/', $name));
+ $list = \array_filter($list, fn ($name) => \preg_match('/^log-\d+-\d+\.log$/', $name));
if (empty($list)) {
throw new RuntimeException('Log dir filter fail');
}
diff --git a/src/Plugin/Mage3.php b/src/Plugin/Mage3.php
index f3e30b16..c60ab9f4 100644
--- a/src/Plugin/Mage3.php
+++ b/src/Plugin/Mage3.php
@@ -88,7 +88,7 @@ protected function getMageLog()
throw new RuntimeException('Log dir read fail');
}
- $list = \array_filter($list, fn($name) => \preg_match('/^\d+_\d+\.log$/', $name));
+ $list = \array_filter($list, fn ($name) => \preg_match('/^\d+_\d+\.log$/', $name));
if (empty($list)) {
throw new RuntimeException('Log dir filter fail');
}
diff --git a/src/Plugin/PhpLoc.php b/src/Plugin/PhpLoc.php
index 1a817b58..0529cc3b 100644
--- a/src/Plugin/PhpLoc.php
+++ b/src/Plugin/PhpLoc.php
@@ -57,7 +57,7 @@ public function execute()
{
$ignore = '';
if (\is_array($this->ignore)) {
- $map = fn($item) => \sprintf(' --exclude="%s"', $item);
+ $map = fn ($item) => \sprintf(' --exclude="%s"', $item);
$ignore = \array_map($map, $this->ignore);
$ignore = \implode('', $ignore);
diff --git a/src/Store/BuildErrorStore.php b/src/Store/BuildErrorStore.php
index b2774900..b40894fa 100644
--- a/src/Store/BuildErrorStore.php
+++ b/src/Store/BuildErrorStore.php
@@ -74,7 +74,7 @@ public function getByBuildId(int $buildId, ?int $limit = null, int $offset = 0,
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $map = fn($item) => new BuildError($this->storeRegistry, $item);
+ $map = fn ($item) => new BuildError($this->storeRegistry, $item);
$rtn = \array_map($map, $res);
$count = \count($rtn);
@@ -151,7 +151,7 @@ public function getKnownPlugins(int $buildId, ?int $severity = null, ?string $is
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $map = fn($item) => $item['plugin'];
+ $map = fn ($item) => $item['plugin'];
return \array_map($map, $res);
} else {
@@ -181,7 +181,7 @@ public function getKnownSeverities(int $buildId, ?string $plugin = null, ?string
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $map = fn($item) => (int)$item['severity'];
+ $map = fn ($item) => (int)$item['severity'];
return \array_map($map, $res);
} else {
diff --git a/src/Store/BuildMetaStore.php b/src/Store/BuildMetaStore.php
index 6fa6da20..ff358c70 100644
--- a/src/Store/BuildMetaStore.php
+++ b/src/Store/BuildMetaStore.php
@@ -70,7 +70,7 @@ public function getByBuildId(int $buildId, int $limit = 1000, string $useConnect
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $map = fn($item) => new BuildMeta($this->storeRegistry, $item);
+ $map = fn ($item) => new BuildMeta($this->storeRegistry, $item);
$rtn = \array_map($map, $res);
$count = \count($rtn);
@@ -96,7 +96,7 @@ public function getErrorsForUpgrade(int $limit): array
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $map = fn($item) => new BuildMeta($this->storeRegistry, $item);
+ $map = fn ($item) => new BuildMeta($this->storeRegistry, $item);
return \array_map($map, $res);
} else {
diff --git a/src/Store/BuildStore.php b/src/Store/BuildStore.php
index 1ade97bd..98fd7b81 100644
--- a/src/Store/BuildStore.php
+++ b/src/Store/BuildStore.php
@@ -44,7 +44,7 @@ public function getByProjectId(int $projectId, int $limit = 1000, string $useCon
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $map = fn($item) => new Build($this->storeRegistry, $item);
+ $map = fn ($item) => new Build($this->storeRegistry, $item);
$rtn = \array_map($map, $res);
$count = \count($rtn);
@@ -74,7 +74,7 @@ public function getByStatus(int $status, int $limit = 1000, string $useConnectio
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $map = fn($item) => new Build($this->storeRegistry, $item);
+ $map = fn ($item) => new Build($this->storeRegistry, $item);
$rtn = \array_map($map, $res);
$count = \count($rtn);
@@ -95,7 +95,7 @@ public function getBuilds(int $limit = 5, int $offset = 0): array
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $map = fn($item) => new Build($this->storeRegistry, $item);
+ $map = fn ($item) => new Build($this->storeRegistry, $item);
return \array_map($map, $res);
} else {
@@ -144,7 +144,7 @@ public function getLatestBuilds(?int $projectId = null, int $limit = 5): array
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $map = fn($item) => new Build($this->storeRegistry, $item);
+ $map = fn ($item) => new Build($this->storeRegistry, $item);
return \array_map($map, $res);
} else {
@@ -243,7 +243,7 @@ public function getAllProjectsLatestBuilds(int $limitByProject = 5, int $limitAl
}
foreach ($projects as $idx => $project) {
- $projects[$idx] = \array_filter($project, fn($val) => $val['latest'][0]->getStatus() !== Build::STATUS_SUCCESS);
+ $projects[$idx] = \array_filter($project, fn ($val) => $val['latest'][0]->getStatus() !== Build::STATUS_SUCCESS);
}
$projects = \array_filter($projects);
@@ -267,7 +267,7 @@ public function getByProjectAndCommit(int $projectId, string $commitId): array
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $map = fn($item) => new Build($this->storeRegistry, $item);
+ $map = fn ($item) => new Build($this->storeRegistry, $item);
$rtn = \array_map($map, $res);
@@ -409,7 +409,7 @@ public function getOldByProject(int $projectId, int $keep = 100): array
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $map = fn($item) => new Build($this->storeRegistry, $item);
+ $map = fn ($item) => new Build($this->storeRegistry, $item);
$rtn = \array_map($map, $res);
$count = \count($rtn);
diff --git a/src/Store/EnvironmentStore.php b/src/Store/EnvironmentStore.php
index 23484dc7..01c6192b 100644
--- a/src/Store/EnvironmentStore.php
+++ b/src/Store/EnvironmentStore.php
@@ -67,7 +67,7 @@ public function getByProjectId(int $projectId, string $useConnection = 'read'):
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $map = fn($item) => new Environment($this->storeRegistry, $item);
+ $map = fn ($item) => new Environment($this->storeRegistry, $item);
$rtn = \array_map($map, $res);
$count = \count($rtn);
diff --git a/src/Store/ProjectStore.php b/src/Store/ProjectStore.php
index 13cbb885..f9151207 100644
--- a/src/Store/ProjectStore.php
+++ b/src/Store/ProjectStore.php
@@ -71,7 +71,7 @@ public function getByTitle(string $title, int $limit = 1000, string $useConnecti
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $map = fn($item) => new Project($this->storeRegistry, $item);
+ $map = fn ($item) => new Project($this->storeRegistry, $item);
$rtn = \array_map($map, $res);
$count = \count($rtn);
@@ -96,7 +96,7 @@ public function getKnownBranches(int $projectId): array
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $map = fn($item) => $item['branch'];
+ $map = fn ($item) => $item['branch'];
return \array_map($map, $res);
} else {
@@ -119,7 +119,7 @@ public function getAll(string $useConnection = 'read', bool $archived = false):
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $map = fn($item) => new Project($this->storeRegistry, $item);
+ $map = fn ($item) => new Project($this->storeRegistry, $item);
$rtn = \array_map($map, $res);
$count = \count($rtn);
@@ -153,7 +153,7 @@ public function getByGroupId(int $groupId, bool $archived = false, int $limit =
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $map = fn($item) => new Project($this->storeRegistry, $item);
+ $map = fn ($item) => new Project($this->storeRegistry, $item);
$rtn = \array_map($map, $res);
$count = \count($rtn);
diff --git a/src/Store/UserStore.php b/src/Store/UserStore.php
index eb4b0a38..fb0ad4a3 100644
--- a/src/Store/UserStore.php
+++ b/src/Store/UserStore.php
@@ -114,7 +114,7 @@ public function getByName(string $name, int $limit = 1000, string $useConnection
if ($stmt->execute()) {
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $map = fn($item) => new User($this->storeRegistry, $item);
+ $map = fn ($item) => new User($this->storeRegistry, $item);
$rtn = \array_map($map, $res);
$count = \count($rtn);
From 57c84c5fd8b6c63c6162d563635c8a942f9ed162 Mon Sep 17 00:00:00 2001
From: Pavel Starosek
Date: Wed, 7 Dec 2022 02:30:38 +0600
Subject: [PATCH 10/33] PHP 8.1 deprecation while searching for composer binary
---
src/Helper/CommandExecutor.php | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/Helper/CommandExecutor.php b/src/Helper/CommandExecutor.php
index cac36a7f..b240a27e 100644
--- a/src/Helper/CommandExecutor.php
+++ b/src/Helper/CommandExecutor.php
@@ -295,7 +295,7 @@ public function findBinary($binary, $priorityPath = 'local', $binaryPath = '', $
return $existedBinary;
}
- if ($existedBinary = $this->findBinaryLocal($composerBin, $bin)) {
+ if (null !== $composerBin && $existedBinary = $this->findBinaryLocal($composerBin, $bin)) {
return $existedBinary;
}
@@ -311,7 +311,7 @@ public function findBinary($binary, $priorityPath = 'local', $binaryPath = '', $
return $existedBinary;
}
- if ($existedBinary = $this->findBinaryLocal($composerBin, $bin)) {
+ if (null !== $composerBin && $existedBinary = $this->findBinaryLocal($composerBin, $bin)) {
return $existedBinary;
}
@@ -327,7 +327,7 @@ public function findBinary($binary, $priorityPath = 'local', $binaryPath = '', $
return $existedBinary;
}
- if ($existedBinary = $this->findBinaryLocal($composerBin, $bin)) {
+ if (null !== $composerBin && $existedBinary = $this->findBinaryLocal($composerBin, $bin)) {
return $existedBinary;
}
@@ -339,7 +339,7 @@ public function findBinary($binary, $priorityPath = 'local', $binaryPath = '', $
return $existedBinary;
}
} else {
- if ($existedBinary = $this->findBinaryLocal($composerBin, $bin)) {
+ if (null !== $composerBin && $existedBinary = $this->findBinaryLocal($composerBin, $bin)) {
return $existedBinary;
}
From 53f21768fffb2ebd0837914e7fb105d1b1408ab7 Mon Sep 17 00:00:00 2001
From: Dmitry Khomutov
Date: Wed, 11 Jan 2023 22:32:20 +0700
Subject: [PATCH 11/33] Updated last stable version in README.
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 0fe4b3ad..d993b93c 100644
--- a/README.md
+++ b/README.md
@@ -21,7 +21,7 @@ PHP Censor versions:
| `1.1` (Birdperson) | `1.1.6` | `release-1.1` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
| `1.2` (Summer Smith) | `1.2.4` | `release-1.2` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
| `1.3` (Jerry Smith) | `1.3.7` | `release-1.3` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
-| `2.0` (Rick Sanchez) | `2.0.10` | `release-2.0` | Last stable version ([Upgrade from v1 to v2](docs/UPGRADE_2.0.md)) | `>=7.4` |
+| `2.0` (Rick Sanchez) | `2.0.11` | `release-2.0` | Last stable version ([Upgrade from v1 to v2](docs/UPGRADE_2.0.md)) | `>=7.4` |
| `2.1` (Mr. Meeseeks) | `2.1.2` | `release-2.1` | Current stable version | `>=7.4` |
| `2.2` | WIP | `master` | Feature minor version (WIP) | `>=7.4` |
From 4c60f2624f2bdbdc7cba04c86b04b6ea9eca3eed Mon Sep 17 00:00:00 2001
From: Dmitry Khomutov
Date: Wed, 11 Jan 2023 22:59:29 +0700
Subject: [PATCH 12/33] Updated current stable version in README.
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index d993b93c..408dc8b9 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,7 @@ PHP Censor versions:
| `1.2` (Summer Smith) | `1.2.4` | `release-1.2` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
| `1.3` (Jerry Smith) | `1.3.7` | `release-1.3` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
| `2.0` (Rick Sanchez) | `2.0.11` | `release-2.0` | Last stable version ([Upgrade from v1 to v2](docs/UPGRADE_2.0.md)) | `>=7.4` |
-| `2.1` (Mr. Meeseeks) | `2.1.2` | `release-2.1` | Current stable version | `>=7.4` |
+| `2.1` (Mr. Meeseeks) | `2.1.3` | `release-2.1` | Current stable version | `>=7.4` |
| `2.2` | WIP | `master` | Feature minor version (WIP) | `>=7.4` |
[](docs/screenshots/dashboard.png)
From ee17cb22e4ed55c1191bc58d9905764f15b9e955 Mon Sep 17 00:00:00 2001
From: Dmitry Khomutov
Date: Sun, 22 Jan 2023 23:02:56 +0700
Subject: [PATCH 13/33] Added CLI command for add/update secrets.
---
src/Command/AddSecretCommand.php | 93 +++++++++++++++++++
...mand.php => CheckLocalizationsCommand.php} | 20 ++--
src/Command/CreateBuildCommand.php | 7 +-
src/Command/InstallCommand.php | 2 +-
src/Command/WorkerCommand.php | 12 +--
src/Console/Application.php | 10 +-
6 files changed, 121 insertions(+), 23 deletions(-)
create mode 100644 src/Command/AddSecretCommand.php
rename src/Command/{CheckLocalizationCommand.php => CheckLocalizationsCommand.php} (82%)
diff --git a/src/Command/AddSecretCommand.php b/src/Command/AddSecretCommand.php
new file mode 100644
index 00000000..c0ca71e9
--- /dev/null
+++ b/src/Command/AddSecretCommand.php
@@ -0,0 +1,93 @@
+
+ */
+class AddSecretCommand extends Command
+{
+ private SecretStore $secretStore;
+
+ public function __construct(
+ ConfigurationInterface $configuration,
+ DatabaseManager $databaseManager,
+ StoreRegistry $storeRegistry,
+ LoggerInterface $logger,
+ SecretStore $secretStore,
+ ?string $name = null
+ ) {
+ parent::__construct($configuration, $databaseManager, $storeRegistry, $logger, $name);
+
+ $this->secretStore = $secretStore;
+ }
+
+ /**
+ * Configure.
+ */
+ protected function configure(): void
+ {
+ $this
+ ->setName('php-censor:add-secret')
+
+ ->addArgument('secret-name', InputArgument::REQUIRED, 'Secret name')
+ ->addArgument('secret-value', InputArgument::REQUIRED, 'Secret value')
+
+ ->addOption('force', 'f', InputOption::VALUE_NONE, 'Force to update existing values', false)
+
+ ->setDescription('Update secret');
+ }
+
+ /**
+ * Loops through projects.
+ *
+ * @throws HttpException
+ */
+ protected function execute(InputInterface $input, OutputInterface $output): int
+ {
+ $secretName = $input->getArgument('secret-name');
+ $secretValue = $input->getArgument('secret-value');
+ $force = (bool)$input->getOption('force');
+
+ $secrets = $this->secretStore->getByNames([$secretName]);
+ if ($secrets && !$force) {
+ $output->writeln(
+ 'Secret with name "%s" already exists! Use flag "-f|--force" if you want update secret.'
+ );
+
+ return 1;
+ }
+
+ $secret = new Secret($this->storeRegistry);
+ $secret->setCreateDate(new \DateTime());
+ $secret->setUserId(null);
+ $secret->setName($secretName);
+
+ if ($force) {
+ $secret = $secrets[0];
+ }
+
+ $secret->setValue($secretValue);
+
+ $this->secretStore->save($secret);
+
+ return 0;
+ }
+}
diff --git a/src/Command/CheckLocalizationCommand.php b/src/Command/CheckLocalizationsCommand.php
similarity index 82%
rename from src/Command/CheckLocalizationCommand.php
rename to src/Command/CheckLocalizationsCommand.php
index 10f81be1..28f15f79 100644
--- a/src/Command/CheckLocalizationCommand.php
+++ b/src/Command/CheckLocalizationsCommand.php
@@ -14,7 +14,7 @@
*
* @author Dmitry Khomutov
*/
-class CheckLocalizationCommand extends Command
+class CheckLocalizationsCommand extends Command
{
protected string $basePath = __DIR__ . '/../Languages';
@@ -25,27 +25,25 @@ protected function configure(): void
$this
->setName('php-censor:check-localizations')
- ->addOption('same', 0, InputOption::VALUE_OPTIONAL, 'Same than English version (0 = no, 1 = yes)')
- ->addOption('langs', [], InputOption::VALUE_OPTIONAL, 'List of languages separated by commas. By default, all languages')
+ ->addOption('same', 's', InputOption::VALUE_NONE, 'Same than English version', false)
+ ->addOption('languages', 'l', InputOption::VALUE_OPTIONAL, 'List of languages separated by commas. By default, all languages', '')
- ->setDescription('Check localizations.');
+ ->setDescription('Check localizations');
}
protected function execute(InputInterface $input, OutputInterface $output): int
{
$output->writeln("\nCheck localizations!");
- $sameThanEnglish = (null !== $input->getOption('same'))
- ? $input->getOption('same')
- : false;
+ $sameThanEnglish = (bool)$input->getOption('same');
- $languagesList = (null !== $input->getOption('langs'))
- ? \explode(',', $input->getOption('langs'))
+ $languages = $input->getOption('languages')
+ ? \explode(',', $input->getOption('languages'))
: [];
// Get English version
- $english = $this->getTranslations($this->basePath.'/lang.en.php');
- $othersLanguages = $this->getLanguages($languagesList);
+ $english = $this->getTranslations($this->basePath . '/lang.en.php');
+ $othersLanguages = $this->getLanguages($languages);
$diffs = $this->compareTranslations($english, $othersLanguages);
foreach ($diffs as $language => $value) {
diff --git a/src/Command/CreateBuildCommand.php b/src/Command/CreateBuildCommand.php
index fcebb607..b7422cf0 100644
--- a/src/Command/CreateBuildCommand.php
+++ b/src/Command/CreateBuildCommand.php
@@ -54,11 +54,12 @@ protected function configure(): void
$this
->setName('php-censor:create-build')
- ->addArgument('projectId', InputArgument::REQUIRED, 'A project ID')
+ ->addArgument('project-id', InputArgument::REQUIRED, 'A project ID')
->addOption('commit', null, InputOption::VALUE_OPTIONAL, 'Commit ID to build')
->addOption('branch', null, InputOption::VALUE_OPTIONAL, 'Branch to build')
->addOption('email', null, InputOption::VALUE_OPTIONAL, 'Committer email')
->addOption('message', null, InputOption::VALUE_OPTIONAL, 'Commit message')
+ ->addOption('environment', null, InputOption::VALUE_OPTIONAL, 'Build environment')
->setDescription('Create a build for a project');
}
@@ -70,10 +71,10 @@ protected function configure(): void
*/
public function execute(InputInterface $input, OutputInterface $output): int
{
- $projectId = (int)$input->getArgument('projectId');
+ $projectId = (int)$input->getArgument('project-id');
$commitId = $input->getOption('commit');
$branch = $input->getOption('branch');
- $environment = $input->hasOption('environment') ? $input->getOption('environment') : null;
+ $environment = $input->getOption('environment');
$ciEmail = $input->getOption('email');
$ciMessage = $input->getOption('message');
diff --git a/src/Command/InstallCommand.php b/src/Command/InstallCommand.php
index 051420e6..5e743416 100644
--- a/src/Command/InstallCommand.php
+++ b/src/Command/InstallCommand.php
@@ -89,7 +89,7 @@ protected function configure(): void
->addOption(
'config-from-file',
null,
- InputOption::VALUE_OPTIONAL,
+ InputOption::VALUE_NONE,
'Take config from file and ignore options',
false
)
diff --git a/src/Command/WorkerCommand.php b/src/Command/WorkerCommand.php
index f98be5d1..0d28f0a2 100644
--- a/src/Command/WorkerCommand.php
+++ b/src/Command/WorkerCommand.php
@@ -5,7 +5,6 @@
namespace PHPCensor\Command;
use Exception;
-use Monolog\Logger;
use Pheanstalk\Contract\PheanstalkInterface;
use PHPCensor\BuildFactory;
use PHPCensor\Common\Application\ConfigurationInterface;
@@ -53,20 +52,21 @@ public function __construct(
protected function configure(): void
{
- $whenHints = 'soon=when next job done (default), done=when current jobs done, idle=when waiting for jobs';
$this
->setName('php-censor:worker')
->addOption(
'periodical-work',
'p',
InputOption::VALUE_NONE,
- 'Allow worker run periodical work'
+ 'Allow worker run periodical work',
+ false
)
->addOption(
'stop-worker',
's',
InputOption::VALUE_OPTIONAL,
- "Gracefully stop one worker ($whenHints)"
+ "Gracefully stop one worker ('soon' = when next job done, 'done' = when current jobs done, 'idle' = when waiting for jobs)",
+ ''
)
->setDescription('Runs the PHP Censor build worker.');
}
@@ -126,7 +126,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
return 0;
}
- $canPeriodicalWork = $input->hasOption('periodical-work') && $input->getOption('periodical-work');
+ $periodicalWork = (bool)$input->getOption('periodical-work');
$worker = new BuildWorker(
$this->configuration,
$this->databaseManager,
@@ -137,7 +137,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
$config['host'],
(int)$this->configuration->get('php-censor.queue.port', PheanstalkInterface::DEFAULT_PORT),
$config['name'],
- $canPeriodicalWork
+ $periodicalWork
);
$worker->startWorker();
diff --git a/src/Console/Application.php b/src/Console/Application.php
index ee1dbf32..d4d6098a 100644
--- a/src/Console/Application.php
+++ b/src/Console/Application.php
@@ -15,7 +15,8 @@
use Phinx\Console\Command\Rollback;
use Phinx\Console\Command\Status;
use PHPCensor\BuildFactory;
-use PHPCensor\Command\CheckLocalizationCommand;
+use PHPCensor\Command\AddSecretCommand;
+use PHPCensor\Command\CheckLocalizationsCommand;
use PHPCensor\Command\CreateAdminCommand;
use PHPCensor\Command\CreateBuildCommand;
use PHPCensor\Command\InstallCommand;
@@ -30,6 +31,7 @@
use PHPCensor\Service\BuildService;
use PHPCensor\Store\BuildStore;
use PHPCensor\Store\ProjectStore;
+use PHPCensor\Store\SecretStore;
use PHPCensor\Store\UserStore;
use PHPCensor\StoreRegistry;
use Symfony\Component\Console\Application as BaseApplication;
@@ -179,6 +181,9 @@ public function __construct(
/** @var BuildStore $buildStore */
$buildStore = $this->storeRegistry->get('Build');
+ /** @var SecretStore $secretStore */
+ $secretStore = $this->storeRegistry->get('Secret');
+
$buildFactory = new BuildFactory(
$this->configuration,
$this->storeRegistry
@@ -200,7 +205,8 @@ public function __construct(
$this->add(new RemoveOldBuildsCommand($this->configuration, $this->databaseManager, $this->storeRegistry, $logger, $projectStore, $buildService));
$this->add(new WorkerCommand($this->configuration, $this->databaseManager, $this->storeRegistry, $logger, $buildService, $buildFactory));
$this->add(new RebuildQueueCommand($this->configuration, $this->databaseManager, $this->storeRegistry, $logger));
- $this->add(new CheckLocalizationCommand($this->configuration, $this->databaseManager, $this->storeRegistry, $logger));
+ $this->add(new CheckLocalizationsCommand($this->configuration, $this->databaseManager, $this->storeRegistry, $logger));
+ $this->add(new AddSecretCommand($this->configuration, $this->databaseManager, $this->storeRegistry, $logger, $secretStore));
}
public function getHelp(): string
From 0d1e333bad039b24ae5e2d2aff5225dc18cb7ab7 Mon Sep 17 00:00:00 2001
From: Dmitry Khomutov
Date: Sun, 22 Jan 2023 23:06:11 +0700
Subject: [PATCH 14/33] Added CLI command for add/update secrets (Fixed tests).
---
tests/src/Command/CreateBuildCommandTest.php | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/tests/src/Command/CreateBuildCommandTest.php b/tests/src/Command/CreateBuildCommandTest.php
index b4dac954..81b2ec72 100644
--- a/tests/src/Command/CreateBuildCommandTest.php
+++ b/tests/src/Command/CreateBuildCommandTest.php
@@ -85,9 +85,9 @@ public function testExecute(): void
{
$commandTester = $this->getCommandTester();
- $commandTester->execute(['projectId' => 1]);
- $commandTester->execute(['projectId' => 1, '--commit' => '92c8c6e']);
- $commandTester->execute(['projectId' => 1, '--branch' => 'master']);
+ $commandTester->execute(['project-id' => 1]);
+ $commandTester->execute(['project-id' => 1, '--commit' => '92c8c6e']);
+ $commandTester->execute(['project-id' => 1, '--branch' => 'master']);
self::assertTrue(true);
}
@@ -97,6 +97,6 @@ public function testExecuteWithUnknownProjectId(): void
self::expectException(InvalidArgumentException::class);
$commandTester = $this->getCommandTester();
- $commandTester->execute(['projectId' => 2]);
+ $commandTester->execute(['project-id' => 2]);
}
}
From 918557f3bfec0f0ea22fcc669655fdd71939a79e Mon Sep 17 00:00:00 2001
From: Dmitry Khomutov
Date: Tue, 31 Jan 2023 16:52:28 +0700
Subject: [PATCH 15/33] Added CLI command for add/update secrets (Fixed
validation).
---
src/Command/AddSecretCommand.php | 18 ++++++++++--------
src/Controller/SecretController.php | 2 +-
src/Model/Secret.php | 1 +
3 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/src/Command/AddSecretCommand.php b/src/Command/AddSecretCommand.php
index c0ca71e9..b1b43678 100644
--- a/src/Command/AddSecretCommand.php
+++ b/src/Command/AddSecretCommand.php
@@ -14,7 +14,6 @@
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
-use PHPCensor\Exception\HttpException;
/**
* @package PHP Censor
@@ -55,15 +54,10 @@ protected function configure(): void
->setDescription('Update secret');
}
- /**
- * Loops through projects.
- *
- * @throws HttpException
- */
protected function execute(InputInterface $input, OutputInterface $output): int
{
- $secretName = $input->getArgument('secret-name');
- $secretValue = $input->getArgument('secret-value');
+ $secretName = (string)$input->getArgument('secret-name');
+ $secretValue = (string)$input->getArgument('secret-value');
$force = (bool)$input->getOption('force');
$secrets = $this->secretStore->getByNames([$secretName]);
@@ -75,6 +69,14 @@ protected function execute(InputInterface $input, OutputInterface $output): int
return 1;
}
+ if (!\preg_match(\sprintf('#%s#', Secret::SECRET_NAME_PATTERN), $secretName)) {
+ $output->writeln(
+ 'Secret name "%s" is invalid! Use only letters, numbers and "-" or "_".'
+ );
+
+ return 2;
+ }
+
$secret = new Secret($this->storeRegistry);
$secret->setCreateDate(new \DateTime());
$secret->setUserId(null);
diff --git a/src/Controller/SecretController.php b/src/Controller/SecretController.php
index 0f3b42d9..3ed942c6 100644
--- a/src/Controller/SecretController.php
+++ b/src/Controller/SecretController.php
@@ -100,7 +100,7 @@ public function edit(?int $secretId = null)
$field
->setClass('form-control')
->setContainerClass('form-group')
- ->setPattern('^[-_\w\d]+$')
+ ->setPattern(Secret::SECRET_NAME_PATTERN)
->setValue($secret->getName());
$form->addField($field);
diff --git a/src/Model/Secret.php b/src/Model/Secret.php
index 211626a4..e0e241d4 100644
--- a/src/Model/Secret.php
+++ b/src/Model/Secret.php
@@ -14,4 +14,5 @@
*/
class Secret extends BaseSecret
{
+ public const SECRET_NAME_PATTERN = '^[-_\w\d]+$';
}
From 2d1ab894490700f9cb077d54be647a31fbc64039 Mon Sep 17 00:00:00 2001
From: Dmitry Khomutov
Date: Fri, 17 Feb 2023 16:12:21 +0700
Subject: [PATCH 16/33] Added CLI command for add/update secrets (Some fixes).
---
src/Command/AddSecretCommand.php | 10 +++++-----
src/Command/CheckLocalizationsCommand.php | 2 +-
src/Command/InstallCommand.php | 3 +--
src/Command/WorkerCommand.php | 3 +--
4 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/src/Command/AddSecretCommand.php b/src/Command/AddSecretCommand.php
index b1b43678..754b3fa7 100644
--- a/src/Command/AddSecretCommand.php
+++ b/src/Command/AddSecretCommand.php
@@ -49,7 +49,7 @@ protected function configure(): void
->addArgument('secret-name', InputArgument::REQUIRED, 'Secret name')
->addArgument('secret-value', InputArgument::REQUIRED, 'Secret value')
- ->addOption('force', 'f', InputOption::VALUE_NONE, 'Force to update existing values', false)
+ ->addOption('force', 'f', InputOption::VALUE_NONE, 'Force to update existing values')
->setDescription('Update secret');
}
@@ -63,7 +63,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
$secrets = $this->secretStore->getByNames([$secretName]);
if ($secrets && !$force) {
$output->writeln(
- 'Secret with name "%s" already exists! Use flag "-f|--force" if you want update secret.'
+ \sprintf('Secret with name "%s" already exists! Use flag "-f|--force" if you want update secret.', $secretName)
);
return 1;
@@ -71,7 +71,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
if (!\preg_match(\sprintf('#%s#', Secret::SECRET_NAME_PATTERN), $secretName)) {
$output->writeln(
- 'Secret name "%s" is invalid! Use only letters, numbers and "-" or "_".'
+ \sprintf('Secret name "%s" is invalid! Use only letters, numbers and "-" or "_".', $secretName)
);
return 2;
@@ -82,8 +82,8 @@ protected function execute(InputInterface $input, OutputInterface $output): int
$secret->setUserId(null);
$secret->setName($secretName);
- if ($force) {
- $secret = $secrets[0];
+ if ($secrets && $force) {
+ $secret = $secrets[$secretName];
}
$secret->setValue($secretValue);
diff --git a/src/Command/CheckLocalizationsCommand.php b/src/Command/CheckLocalizationsCommand.php
index 28f15f79..e655fa2e 100644
--- a/src/Command/CheckLocalizationsCommand.php
+++ b/src/Command/CheckLocalizationsCommand.php
@@ -25,7 +25,7 @@ protected function configure(): void
$this
->setName('php-censor:check-localizations')
- ->addOption('same', 's', InputOption::VALUE_NONE, 'Same than English version', false)
+ ->addOption('same', 's', InputOption::VALUE_NONE, 'Same than English version')
->addOption('languages', 'l', InputOption::VALUE_OPTIONAL, 'List of languages separated by commas. By default, all languages', '')
->setDescription('Check localizations');
diff --git a/src/Command/InstallCommand.php b/src/Command/InstallCommand.php
index 5e743416..f688917f 100644
--- a/src/Command/InstallCommand.php
+++ b/src/Command/InstallCommand.php
@@ -90,8 +90,7 @@ protected function configure(): void
'config-from-file',
null,
InputOption::VALUE_NONE,
- 'Take config from file and ignore options',
- false
+ 'Take config from file and ignore options'
)
->setDescription('Install PHP Censor');
diff --git a/src/Command/WorkerCommand.php b/src/Command/WorkerCommand.php
index 0d28f0a2..7d70be3b 100644
--- a/src/Command/WorkerCommand.php
+++ b/src/Command/WorkerCommand.php
@@ -58,8 +58,7 @@ protected function configure(): void
'periodical-work',
'p',
InputOption::VALUE_NONE,
- 'Allow worker run periodical work',
- false
+ 'Allow worker run periodical work'
)
->addOption(
'stop-worker',
From 30d60024208308902d17278c78d01155a869e46c Mon Sep 17 00:00:00 2001
From: Dmitry Khomutov
Date: Tue, 19 Dec 2023 10:58:26 +0700
Subject: [PATCH 17/33] Updated dependencies.
Fixed: guzzlehttp/psr7 (1.9.0) CVE-2023-29197: Improper header validation https://github.com/guzzle/psr7/security/advisories/GHSA-wxmh-65f7-jcvw.
---
composer.lock | 1054 +++++++++++++++++++++++++++----------------------
1 file changed, 573 insertions(+), 481 deletions(-)
diff --git a/composer.lock b/composer.lock
index 61e38837..17177fcb 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,26 +4,29 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "e358ae009c0e1eb5935d495a57c18e1b",
+ "content-hash": "b021933c25e0840d8c885e184593250d",
"packages": [
{
"name": "cakephp/core",
- "version": "4.4.10",
+ "version": "4.5.2",
"source": {
"type": "git",
"url": "https://github.com/cakephp/core.git",
- "reference": "20e50de2f461b5983a1a1296fe5c3762857b9edd"
+ "reference": "c2f4dff110d41e475d1041f2abe236f1c62d0cd0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/cakephp/core/zipball/20e50de2f461b5983a1a1296fe5c3762857b9edd",
- "reference": "20e50de2f461b5983a1a1296fe5c3762857b9edd",
+ "url": "https://api.github.com/repos/cakephp/core/zipball/c2f4dff110d41e475d1041f2abe236f1c62d0cd0",
+ "reference": "c2f4dff110d41e475d1041f2abe236f1c62d0cd0",
"shasum": ""
},
"require": {
"cakephp/utility": "^4.0",
"php": ">=7.4.0"
},
+ "provide": {
+ "psr/container-implementation": "^1.0 || ^2.0"
+ },
"suggest": {
"cakephp/cache": "To use Configure::store() and restore().",
"cakephp/event": "To use PluginApplicationInterface or plugin applications.",
@@ -61,20 +64,20 @@
"issues": "https://github.com/cakephp/cakephp/issues",
"source": "https://github.com/cakephp/core"
},
- "time": "2022-10-07T16:40:13+00:00"
+ "time": "2023-10-21T13:30:46+00:00"
},
{
"name": "cakephp/database",
- "version": "4.4.10",
+ "version": "4.5.2",
"source": {
"type": "git",
"url": "https://github.com/cakephp/database.git",
- "reference": "c12a8f30f802968a885774e2ac3c099f470bf07c"
+ "reference": "317739cc32060ef19b6c19c87ac6b64848d78e27"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/cakephp/database/zipball/c12a8f30f802968a885774e2ac3c099f470bf07c",
- "reference": "c12a8f30f802968a885774e2ac3c099f470bf07c",
+ "url": "https://api.github.com/repos/cakephp/database/zipball/317739cc32060ef19b6c19c87ac6b64848d78e27",
+ "reference": "317739cc32060ef19b6c19c87ac6b64848d78e27",
"shasum": ""
},
"require": {
@@ -117,20 +120,20 @@
"issues": "https://github.com/cakephp/cakephp/issues",
"source": "https://github.com/cakephp/database"
},
- "time": "2023-01-03T20:29:38+00:00"
+ "time": "2023-12-07T12:23:54+00:00"
},
{
"name": "cakephp/datasource",
- "version": "4.4.10",
+ "version": "4.5.2",
"source": {
"type": "git",
"url": "https://github.com/cakephp/datasource.git",
- "reference": "cb58adb0e6f52f26fa61d03776b07c157e328c1e"
+ "reference": "5d11a35ffc09dee744faaab7f758aeb42c17cfec"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/cakephp/datasource/zipball/cb58adb0e6f52f26fa61d03776b07c157e328c1e",
- "reference": "cb58adb0e6f52f26fa61d03776b07c157e328c1e",
+ "url": "https://api.github.com/repos/cakephp/datasource/zipball/5d11a35ffc09dee744faaab7f758aeb42c17cfec",
+ "reference": "5d11a35ffc09dee744faaab7f758aeb42c17cfec",
"shasum": ""
},
"require": {
@@ -175,20 +178,20 @@
"issues": "https://github.com/cakephp/cakephp/issues",
"source": "https://github.com/cakephp/datasource"
},
- "time": "2022-11-26T11:46:41+00:00"
+ "time": "2023-11-05T07:32:10+00:00"
},
{
"name": "cakephp/utility",
- "version": "4.4.10",
+ "version": "4.5.2",
"source": {
"type": "git",
"url": "https://github.com/cakephp/utility.git",
- "reference": "aa7bba6c39b56751f5c917464f113c924d4ba10f"
+ "reference": "9fb72974e91e81f1545a15a6d45f50c82cd77def"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/cakephp/utility/zipball/aa7bba6c39b56751f5c917464f113c924d4ba10f",
- "reference": "aa7bba6c39b56751f5c917464f113c924d4ba10f",
+ "url": "https://api.github.com/repos/cakephp/utility/zipball/9fb72974e91e81f1545a15a6d45f50c82cd77def",
+ "reference": "9fb72974e91e81f1545a15a6d45f50c82cd77def",
"shasum": ""
},
"require": {
@@ -234,29 +237,33 @@
"issues": "https://github.com/cakephp/cakephp/issues",
"source": "https://github.com/cakephp/utility"
},
- "time": "2022-11-06T06:40:44+00:00"
+ "time": "2023-04-11T21:22:06+00:00"
},
{
"name": "doctrine/deprecations",
- "version": "v1.0.0",
+ "version": "1.1.2",
"source": {
"type": "git",
"url": "https://github.com/doctrine/deprecations.git",
- "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de"
+ "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/deprecations/zipball/0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de",
- "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de",
+ "url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931",
+ "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931",
"shasum": ""
},
"require": {
- "php": "^7.1|^8.0"
+ "php": "^7.1 || ^8.0"
},
"require-dev": {
"doctrine/coding-standard": "^9",
- "phpunit/phpunit": "^7.5|^8.5|^9.5",
- "psr/log": "^1|^2|^3"
+ "phpstan/phpstan": "1.4.10 || 1.10.15",
+ "phpstan/phpstan-phpunit": "^1.0",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
+ "psalm/plugin-phpunit": "0.18.4",
+ "psr/log": "^1 || ^2 || ^3",
+ "vimeo/psalm": "4.30.0 || 5.12.0"
},
"suggest": {
"psr/log": "Allows logging deprecations via PSR-3 logger implementation"
@@ -275,9 +282,9 @@
"homepage": "https://www.doctrine-project.org/",
"support": {
"issues": "https://github.com/doctrine/deprecations/issues",
- "source": "https://github.com/doctrine/deprecations/tree/v1.0.0"
+ "source": "https://github.com/doctrine/deprecations/tree/1.1.2"
},
- "time": "2022-05-02T15:47:09+00:00"
+ "time": "2023-09-27T20:04:15+00:00"
},
{
"name": "doctrine/lexer",
@@ -359,16 +366,16 @@
},
{
"name": "egulias/email-validator",
- "version": "3.2.5",
+ "version": "3.2.6",
"source": {
"type": "git",
"url": "https://github.com/egulias/EmailValidator.git",
- "reference": "b531a2311709443320c786feb4519cfaf94af796"
+ "reference": "e5997fa97e8790cdae03a9cbd5e78e45e3c7bda7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/b531a2311709443320c786feb4519cfaf94af796",
- "reference": "b531a2311709443320c786feb4519cfaf94af796",
+ "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/e5997fa97e8790cdae03a9cbd5e78e45e3c7bda7",
+ "reference": "e5997fa97e8790cdae03a9cbd5e78e45e3c7bda7",
"shasum": ""
},
"require": {
@@ -414,7 +421,7 @@
],
"support": {
"issues": "https://github.com/egulias/EmailValidator/issues",
- "source": "https://github.com/egulias/EmailValidator/tree/3.2.5"
+ "source": "https://github.com/egulias/EmailValidator/tree/3.2.6"
},
"funding": [
{
@@ -422,7 +429,7 @@
"type": "github"
}
],
- "time": "2023-01-02T17:26:14+00:00"
+ "time": "2023-06-01T07:04:22+00:00"
},
{
"name": "guzzlehttp/guzzle",
@@ -541,16 +548,16 @@
},
{
"name": "guzzlehttp/promises",
- "version": "1.5.2",
+ "version": "1.5.3",
"source": {
"type": "git",
"url": "https://github.com/guzzle/promises.git",
- "reference": "b94b2807d85443f9719887892882d0329d1e2598"
+ "reference": "67ab6e18aaa14d753cc148911d273f6e6cb6721e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/promises/zipball/b94b2807d85443f9719887892882d0329d1e2598",
- "reference": "b94b2807d85443f9719887892882d0329d1e2598",
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/67ab6e18aaa14d753cc148911d273f6e6cb6721e",
+ "reference": "67ab6e18aaa14d753cc148911d273f6e6cb6721e",
"shasum": ""
},
"require": {
@@ -560,11 +567,6 @@
"symfony/phpunit-bridge": "^4.4 || ^5.1"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.5-dev"
- }
- },
"autoload": {
"files": [
"src/functions_include.php"
@@ -605,7 +607,7 @@
],
"support": {
"issues": "https://github.com/guzzle/promises/issues",
- "source": "https://github.com/guzzle/promises/tree/1.5.2"
+ "source": "https://github.com/guzzle/promises/tree/1.5.3"
},
"funding": [
{
@@ -621,20 +623,20 @@
"type": "tidelift"
}
],
- "time": "2022-08-28T14:55:35+00:00"
+ "time": "2023-05-21T12:31:43+00:00"
},
{
"name": "guzzlehttp/psr7",
- "version": "1.9.0",
+ "version": "1.9.1",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
- "reference": "e98e3e6d4f86621a9b75f623996e6bbdeb4b9318"
+ "reference": "e4490cabc77465aaee90b20cfc9a770f8c04be6b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/e98e3e6d4f86621a9b75f623996e6bbdeb4b9318",
- "reference": "e98e3e6d4f86621a9b75f623996e6bbdeb4b9318",
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/e4490cabc77465aaee90b20cfc9a770f8c04be6b",
+ "reference": "e4490cabc77465aaee90b20cfc9a770f8c04be6b",
"shasum": ""
},
"require": {
@@ -653,11 +655,6 @@
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.9-dev"
- }
- },
"autoload": {
"files": [
"src/functions_include.php"
@@ -715,7 +712,7 @@
],
"support": {
"issues": "https://github.com/guzzle/psr7/issues",
- "source": "https://github.com/guzzle/psr7/tree/1.9.0"
+ "source": "https://github.com/guzzle/psr7/tree/1.9.1"
},
"funding": [
{
@@ -731,7 +728,7 @@
"type": "tidelift"
}
],
- "time": "2022-06-20T21:43:03+00:00"
+ "time": "2023-04-17T16:00:37+00:00"
},
{
"name": "jasongrimes/paginator",
@@ -837,16 +834,16 @@
},
{
"name": "monolog/monolog",
- "version": "2.8.0",
+ "version": "2.9.2",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
- "reference": "720488632c590286b88b80e62aa3d3d551ad4a50"
+ "reference": "437cb3628f4cf6042cc10ae97fc2b8472e48ca1f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/720488632c590286b88b80e62aa3d3d551ad4a50",
- "reference": "720488632c590286b88b80e62aa3d3d551ad4a50",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/437cb3628f4cf6042cc10ae97fc2b8472e48ca1f",
+ "reference": "437cb3628f4cf6042cc10ae97fc2b8472e48ca1f",
"shasum": ""
},
"require": {
@@ -861,7 +858,7 @@
"doctrine/couchdb": "~1.0@dev",
"elasticsearch/elasticsearch": "^7 || ^8",
"ext-json": "*",
- "graylog2/gelf-php": "^1.4.2",
+ "graylog2/gelf-php": "^1.4.2 || ^2@dev",
"guzzlehttp/guzzle": "^7.4",
"guzzlehttp/psr7": "^2.2",
"mongodb/mongodb": "^1.8",
@@ -923,7 +920,7 @@
],
"support": {
"issues": "https://github.com/Seldaek/monolog/issues",
- "source": "https://github.com/Seldaek/monolog/tree/2.8.0"
+ "source": "https://github.com/Seldaek/monolog/tree/2.9.2"
},
"funding": [
{
@@ -935,7 +932,7 @@
"type": "tidelift"
}
],
- "time": "2022-07-24T11:55:47+00:00"
+ "time": "2023-10-27T15:25:26+00:00"
},
{
"name": "pda/pheanstalk",
@@ -1328,25 +1325,25 @@
},
{
"name": "psr/http-message",
- "version": "1.0.1",
+ "version": "1.1",
"source": {
"type": "git",
"url": "https://github.com/php-fig/http-message.git",
- "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
+ "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
- "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
+ "url": "https://api.github.com/repos/php-fig/http-message/zipball/cb6ce4845ce34a8ad9e68117c10ee90a29919eba",
+ "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": "^7.2 || ^8.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "1.1.x-dev"
}
},
"autoload": {
@@ -1375,9 +1372,9 @@
"response"
],
"support": {
- "source": "https://github.com/php-fig/http-message/tree/master"
+ "source": "https://github.com/php-fig/http-message/tree/1.1"
},
- "time": "2016-08-06T14:39:51+00:00"
+ "time": "2023-04-04T09:50:52+00:00"
},
{
"name": "psr/log",
@@ -1612,16 +1609,16 @@
},
{
"name": "sebastian/diff",
- "version": "4.0.4",
+ "version": "4.0.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
+ "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
- "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
+ "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
"shasum": ""
},
"require": {
@@ -1666,7 +1663,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
- "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4"
+ "source": "https://github.com/sebastianbergmann/diff/tree/4.0.5"
},
"funding": [
{
@@ -1674,7 +1671,7 @@
"type": "github"
}
],
- "time": "2020-10-26T13:10:38+00:00"
+ "time": "2023-05-07T05:35:17+00:00"
},
{
"name": "sensiolabs/ansi-to-html",
@@ -1808,16 +1805,16 @@
},
{
"name": "symfony/browser-kit",
- "version": "v5.4.11",
+ "version": "v5.4.31",
"source": {
"type": "git",
"url": "https://github.com/symfony/browser-kit.git",
- "reference": "081fe28a26b6bd671dea85ef3a4b5003f3c88027"
+ "reference": "0ed1f634a36606f2065eec221b3975e05016cbbe"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/browser-kit/zipball/081fe28a26b6bd671dea85ef3a4b5003f3c88027",
- "reference": "081fe28a26b6bd671dea85ef3a4b5003f3c88027",
+ "url": "https://api.github.com/repos/symfony/browser-kit/zipball/0ed1f634a36606f2065eec221b3975e05016cbbe",
+ "reference": "0ed1f634a36606f2065eec221b3975e05016cbbe",
"shasum": ""
},
"require": {
@@ -1860,7 +1857,7 @@
"description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/browser-kit/tree/v5.4.11"
+ "source": "https://github.com/symfony/browser-kit/tree/v5.4.31"
},
"funding": [
{
@@ -1876,20 +1873,20 @@
"type": "tidelift"
}
],
- "time": "2022-07-27T15:50:05+00:00"
+ "time": "2023-10-31T07:58:33+00:00"
},
{
"name": "symfony/cache",
- "version": "v5.4.18",
+ "version": "v5.4.32",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache.git",
- "reference": "a33fa08a3f37bb44b90e60b9028796d6b811f9ef"
+ "reference": "2553faca77502a4f68dc93cd2f3b9ec650751e40"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/cache/zipball/a33fa08a3f37bb44b90e60b9028796d6b811f9ef",
- "reference": "a33fa08a3f37bb44b90e60b9028796d6b811f9ef",
+ "url": "https://api.github.com/repos/symfony/cache/zipball/2553faca77502a4f68dc93cd2f3b9ec650751e40",
+ "reference": "2553faca77502a4f68dc93cd2f3b9ec650751e40",
"shasum": ""
},
"require": {
@@ -1917,7 +1914,7 @@
"require-dev": {
"cache/integration-tests": "dev-master",
"doctrine/cache": "^1.6|^2.0",
- "doctrine/dbal": "^2.13.1|^3.0",
+ "doctrine/dbal": "^2.13.1|^3|^4",
"predis/predis": "^1.1",
"psr/simple-cache": "^1.0|^2.0",
"symfony/config": "^4.4|^5.0|^6.0",
@@ -1957,7 +1954,7 @@
"psr6"
],
"support": {
- "source": "https://github.com/symfony/cache/tree/v5.4.18"
+ "source": "https://github.com/symfony/cache/tree/v5.4.32"
},
"funding": [
{
@@ -1973,7 +1970,7 @@
"type": "tidelift"
}
],
- "time": "2022-12-29T16:06:09+00:00"
+ "time": "2023-11-24T13:04:07+00:00"
},
{
"name": "symfony/cache-contracts",
@@ -2056,16 +2053,16 @@
},
{
"name": "symfony/config",
- "version": "v5.4.11",
+ "version": "v5.4.31",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
- "reference": "ec79e03125c1d2477e43dde8528535d90cc78379"
+ "reference": "dd5ea39de228813aba0c23c3a4153da2a4cf3cd9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/ec79e03125c1d2477e43dde8528535d90cc78379",
- "reference": "ec79e03125c1d2477e43dde8528535d90cc78379",
+ "url": "https://api.github.com/repos/symfony/config/zipball/dd5ea39de228813aba0c23c3a4153da2a4cf3cd9",
+ "reference": "dd5ea39de228813aba0c23c3a4153da2a4cf3cd9",
"shasum": ""
},
"require": {
@@ -2115,7 +2112,7 @@
"description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/config/tree/v5.4.11"
+ "source": "https://github.com/symfony/config/tree/v5.4.31"
},
"funding": [
{
@@ -2131,20 +2128,20 @@
"type": "tidelift"
}
],
- "time": "2022-07-20T13:00:38+00:00"
+ "time": "2023-11-09T08:22:43+00:00"
},
{
"name": "symfony/console",
- "version": "v5.4.17",
+ "version": "v5.4.32",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "58422fdcb0e715ed05b385f70d3e8b5ed4bbd45f"
+ "reference": "c70df1ffaf23a8d340bded3cfab1b86752ad6ed7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/58422fdcb0e715ed05b385f70d3e8b5ed4bbd45f",
- "reference": "58422fdcb0e715ed05b385f70d3e8b5ed4bbd45f",
+ "url": "https://api.github.com/repos/symfony/console/zipball/c70df1ffaf23a8d340bded3cfab1b86752ad6ed7",
+ "reference": "c70df1ffaf23a8d340bded3cfab1b86752ad6ed7",
"shasum": ""
},
"require": {
@@ -2209,12 +2206,12 @@
"homepage": "https://symfony.com",
"keywords": [
"cli",
- "command line",
+ "command-line",
"console",
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v5.4.17"
+ "source": "https://github.com/symfony/console/tree/v5.4.32"
},
"funding": [
{
@@ -2230,20 +2227,20 @@
"type": "tidelift"
}
],
- "time": "2022-12-28T14:15:31+00:00"
+ "time": "2023-11-18T18:23:04+00:00"
},
{
"name": "symfony/css-selector",
- "version": "v5.4.17",
+ "version": "v5.4.26",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
- "reference": "052ef49b660f9ad2a3adb311c555c9bc11ba61f4"
+ "reference": "0ad3f7e9a1ab492c5b4214cf22a9dc55dcf8600a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/css-selector/zipball/052ef49b660f9ad2a3adb311c555c9bc11ba61f4",
- "reference": "052ef49b660f9ad2a3adb311c555c9bc11ba61f4",
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/0ad3f7e9a1ab492c5b4214cf22a9dc55dcf8600a",
+ "reference": "0ad3f7e9a1ab492c5b4214cf22a9dc55dcf8600a",
"shasum": ""
},
"require": {
@@ -2280,7 +2277,7 @@
"description": "Converts CSS selectors to XPath expressions",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/css-selector/tree/v5.4.17"
+ "source": "https://github.com/symfony/css-selector/tree/v5.4.26"
},
"funding": [
{
@@ -2296,20 +2293,20 @@
"type": "tidelift"
}
],
- "time": "2022-12-23T11:40:44+00:00"
+ "time": "2023-07-07T06:10:25+00:00"
},
{
"name": "symfony/dependency-injection",
- "version": "v5.4.17",
+ "version": "v5.4.33",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
- "reference": "58f2988128d2d278280781db037677a32cf720db"
+ "reference": "14969a558cd6382b2a12b14b20ef9a851a02da79"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/58f2988128d2d278280781db037677a32cf720db",
- "reference": "58f2988128d2d278280781db037677a32cf720db",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/14969a558cd6382b2a12b14b20ef9a851a02da79",
+ "reference": "14969a558cd6382b2a12b14b20ef9a851a02da79",
"shasum": ""
},
"require": {
@@ -2369,7 +2366,7 @@
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/dependency-injection/tree/v5.4.17"
+ "source": "https://github.com/symfony/dependency-injection/tree/v5.4.33"
},
"funding": [
{
@@ -2385,7 +2382,7 @@
"type": "tidelift"
}
],
- "time": "2022-12-28T13:55:51+00:00"
+ "time": "2023-11-30T08:15:37+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -2456,16 +2453,16 @@
},
{
"name": "symfony/dom-crawler",
- "version": "v5.4.17",
+ "version": "v5.4.32",
"source": {
"type": "git",
"url": "https://github.com/symfony/dom-crawler.git",
- "reference": "32a07d910edc138a1dd5508c17c6b9bc1eb27a1b"
+ "reference": "728f1fc136252a626ba5a69c02bd66a3697ff201"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/32a07d910edc138a1dd5508c17c6b9bc1eb27a1b",
- "reference": "32a07d910edc138a1dd5508c17c6b9bc1eb27a1b",
+ "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/728f1fc136252a626ba5a69c02bd66a3697ff201",
+ "reference": "728f1fc136252a626ba5a69c02bd66a3697ff201",
"shasum": ""
},
"require": {
@@ -2511,7 +2508,7 @@
"description": "Eases DOM navigation for HTML and XML documents",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/dom-crawler/tree/v5.4.17"
+ "source": "https://github.com/symfony/dom-crawler/tree/v5.4.32"
},
"funding": [
{
@@ -2527,20 +2524,20 @@
"type": "tidelift"
}
],
- "time": "2022-12-22T10:31:03+00:00"
+ "time": "2023-11-17T20:43:48+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v5.4.17",
+ "version": "v5.4.26",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "8e18a9d559eb8ebc2220588f1faa726a2fcd31c9"
+ "reference": "5dcc00e03413f05c1e7900090927bb7247cb0aac"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/8e18a9d559eb8ebc2220588f1faa726a2fcd31c9",
- "reference": "8e18a9d559eb8ebc2220588f1faa726a2fcd31c9",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/5dcc00e03413f05c1e7900090927bb7247cb0aac",
+ "reference": "5dcc00e03413f05c1e7900090927bb7247cb0aac",
"shasum": ""
},
"require": {
@@ -2596,7 +2593,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/v5.4.17"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.26"
},
"funding": [
{
@@ -2612,7 +2609,7 @@
"type": "tidelift"
}
],
- "time": "2022-12-12T15:54:21+00:00"
+ "time": "2023-07-06T06:34:20+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
@@ -2695,16 +2692,16 @@
},
{
"name": "symfony/filesystem",
- "version": "v5.4.13",
+ "version": "v5.4.25",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "ac09569844a9109a5966b9438fc29113ce77cf51"
+ "reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/ac09569844a9109a5966b9438fc29113ce77cf51",
- "reference": "ac09569844a9109a5966b9438fc29113ce77cf51",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/0ce3a62c9579a53358d3a7eb6b3dfb79789a6364",
+ "reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364",
"shasum": ""
},
"require": {
@@ -2739,7 +2736,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/filesystem/tree/v5.4.13"
+ "source": "https://github.com/symfony/filesystem/tree/v5.4.25"
},
"funding": [
{
@@ -2755,20 +2752,20 @@
"type": "tidelift"
}
],
- "time": "2022-09-21T19:53:16+00:00"
+ "time": "2023-05-31T13:04:02+00:00"
},
{
"name": "symfony/finder",
- "version": "v5.4.17",
+ "version": "v5.4.27",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "40c08632019838dfb3350f18cf5563b8080055fc"
+ "reference": "ff4bce3c33451e7ec778070e45bd23f74214cd5d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/40c08632019838dfb3350f18cf5563b8080055fc",
- "reference": "40c08632019838dfb3350f18cf5563b8080055fc",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/ff4bce3c33451e7ec778070e45bd23f74214cd5d",
+ "reference": "ff4bce3c33451e7ec778070e45bd23f74214cd5d",
"shasum": ""
},
"require": {
@@ -2802,7 +2799,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v5.4.17"
+ "source": "https://github.com/symfony/finder/tree/v5.4.27"
},
"funding": [
{
@@ -2818,20 +2815,20 @@
"type": "tidelift"
}
],
- "time": "2022-12-22T10:31:03+00:00"
+ "time": "2023-07-31T08:02:31+00:00"
},
{
"name": "symfony/http-foundation",
- "version": "v5.4.17",
+ "version": "v5.4.32",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "b64a0e2df212d5849e4584cabff0cf09c5d6866a"
+ "reference": "cbcd80a4c36f59772d62860fdb0cb6a38da63fd2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/b64a0e2df212d5849e4584cabff0cf09c5d6866a",
- "reference": "b64a0e2df212d5849e4584cabff0cf09c5d6866a",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/cbcd80a4c36f59772d62860fdb0cb6a38da63fd2",
+ "reference": "cbcd80a4c36f59772d62860fdb0cb6a38da63fd2",
"shasum": ""
},
"require": {
@@ -2878,7 +2875,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-foundation/tree/v5.4.17"
+ "source": "https://github.com/symfony/http-foundation/tree/v5.4.32"
},
"funding": [
{
@@ -2894,24 +2891,24 @@
"type": "tidelift"
}
],
- "time": "2022-12-14T08:23:03+00:00"
+ "time": "2023-11-20T15:40:25+00:00"
},
{
"name": "symfony/mailer",
- "version": "v5.4.17",
+ "version": "v5.4.31",
"source": {
"type": "git",
"url": "https://github.com/symfony/mailer.git",
- "reference": "fd816412b76447890efedaf9ddfe8632589ce10c"
+ "reference": "5ca8a7628a5ee69767047dd0f4cf4c9521c999b8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mailer/zipball/fd816412b76447890efedaf9ddfe8632589ce10c",
- "reference": "fd816412b76447890efedaf9ddfe8632589ce10c",
+ "url": "https://api.github.com/repos/symfony/mailer/zipball/5ca8a7628a5ee69767047dd0f4cf4c9521c999b8",
+ "reference": "5ca8a7628a5ee69767047dd0f4cf4c9521c999b8",
"shasum": ""
},
"require": {
- "egulias/email-validator": "^2.1.10|^3",
+ "egulias/email-validator": "^2.1.10|^3|^4",
"php": ">=7.2.5",
"psr/event-dispatcher": "^1",
"psr/log": "^1|^2|^3",
@@ -2925,7 +2922,7 @@
"symfony/http-kernel": "<4.4"
},
"require-dev": {
- "symfony/http-client-contracts": "^1.1|^2|^3",
+ "symfony/http-client": "^4.4|^5.0|^6.0",
"symfony/messenger": "^4.4|^5.0|^6.0"
},
"type": "library",
@@ -2954,7 +2951,7 @@
"description": "Helps sending emails",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/mailer/tree/v5.4.17"
+ "source": "https://github.com/symfony/mailer/tree/v5.4.31"
},
"funding": [
{
@@ -2970,20 +2967,20 @@
"type": "tidelift"
}
],
- "time": "2022-12-14T15:45:23+00:00"
+ "time": "2023-11-03T16:16:43+00:00"
},
{
"name": "symfony/mime",
- "version": "v5.4.17",
+ "version": "v5.4.26",
"source": {
"type": "git",
"url": "https://github.com/symfony/mime.git",
- "reference": "2a83d82efc91c3f03a23c8b47a896df168aa5c63"
+ "reference": "2ea06dfeee20000a319d8407cea1d47533d5a9d2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mime/zipball/2a83d82efc91c3f03a23c8b47a896df168aa5c63",
- "reference": "2a83d82efc91c3f03a23c8b47a896df168aa5c63",
+ "url": "https://api.github.com/repos/symfony/mime/zipball/2ea06dfeee20000a319d8407cea1d47533d5a9d2",
+ "reference": "2ea06dfeee20000a319d8407cea1d47533d5a9d2",
"shasum": ""
},
"require": {
@@ -2998,15 +2995,15 @@
"phpdocumentor/reflection-docblock": "<3.2.2",
"phpdocumentor/type-resolver": "<1.4.0",
"symfony/mailer": "<4.4",
- "symfony/serializer": "<5.4.14|>=6.0,<6.0.14|>=6.1,<6.1.6"
+ "symfony/serializer": "<5.4.26|>=6,<6.2.13|>=6.3,<6.3.2"
},
"require-dev": {
- "egulias/email-validator": "^2.1.10|^3.1",
+ "egulias/email-validator": "^2.1.10|^3.1|^4",
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
"symfony/property-access": "^4.4|^5.1|^6.0",
"symfony/property-info": "^4.4|^5.1|^6.0",
- "symfony/serializer": "^5.4.14|~6.0.14|^6.1.6"
+ "symfony/serializer": "^5.4.26|~6.2.13|^6.3.2"
},
"type": "library",
"autoload": {
@@ -3038,7 +3035,7 @@
"mime-type"
],
"support": {
- "source": "https://github.com/symfony/mime/tree/v5.4.17"
+ "source": "https://github.com/symfony/mime/tree/v5.4.26"
},
"funding": [
{
@@ -3054,20 +3051,20 @@
"type": "tidelift"
}
],
- "time": "2022-12-13T09:59:55+00:00"
+ "time": "2023-07-27T06:29:31+00:00"
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.27.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "5bbc823adecdae860bb64756d639ecfec17b050a"
+ "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a",
- "reference": "5bbc823adecdae860bb64756d639ecfec17b050a",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
+ "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
"shasum": ""
},
"require": {
@@ -3082,7 +3079,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.27-dev"
+ "dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3120,7 +3117,7 @@
"portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0"
},
"funding": [
{
@@ -3136,20 +3133,20 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/polyfill-iconv",
- "version": "v1.27.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-iconv.git",
- "reference": "927013f3aac555983a5059aada98e1907d842695"
+ "reference": "6de50471469b8c9afc38164452ab2b6170ee71c1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/927013f3aac555983a5059aada98e1907d842695",
- "reference": "927013f3aac555983a5059aada98e1907d842695",
+ "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/6de50471469b8c9afc38164452ab2b6170ee71c1",
+ "reference": "6de50471469b8c9afc38164452ab2b6170ee71c1",
"shasum": ""
},
"require": {
@@ -3164,7 +3161,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.27-dev"
+ "dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3203,7 +3200,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-iconv/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-iconv/tree/v1.28.0"
},
"funding": [
{
@@ -3219,20 +3216,20 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
- "version": "v1.27.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "511a08c03c1960e08a883f4cffcacd219b758354"
+ "reference": "875e90aeea2777b6f135677f618529449334a612"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354",
- "reference": "511a08c03c1960e08a883f4cffcacd219b758354",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612",
+ "reference": "875e90aeea2777b6f135677f618529449334a612",
"shasum": ""
},
"require": {
@@ -3244,7 +3241,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.27-dev"
+ "dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3284,7 +3281,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0"
},
"funding": [
{
@@ -3300,20 +3297,20 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/polyfill-intl-idn",
- "version": "v1.27.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-idn.git",
- "reference": "639084e360537a19f9ee352433b84ce831f3d2da"
+ "reference": "ecaafce9f77234a6a449d29e49267ba10499116d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/639084e360537a19f9ee352433b84ce831f3d2da",
- "reference": "639084e360537a19f9ee352433b84ce831f3d2da",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/ecaafce9f77234a6a449d29e49267ba10499116d",
+ "reference": "ecaafce9f77234a6a449d29e49267ba10499116d",
"shasum": ""
},
"require": {
@@ -3327,7 +3324,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.27-dev"
+ "dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3371,7 +3368,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.28.0"
},
"funding": [
{
@@ -3387,20 +3384,20 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2023-01-26T09:30:37+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
- "version": "v1.27.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
- "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6"
+ "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6",
- "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
+ "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
"shasum": ""
},
"require": {
@@ -3412,7 +3409,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.27-dev"
+ "dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3455,7 +3452,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0"
},
"funding": [
{
@@ -3471,20 +3468,20 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.27.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534"
+ "reference": "42292d99c55abe617799667f454222c54c60e229"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
- "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229",
+ "reference": "42292d99c55abe617799667f454222c54c60e229",
"shasum": ""
},
"require": {
@@ -3499,7 +3496,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.27-dev"
+ "dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3538,7 +3535,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0"
},
"funding": [
{
@@ -3554,20 +3551,20 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2023-07-28T09:04:16+00:00"
},
{
"name": "symfony/polyfill-php72",
- "version": "v1.27.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php72.git",
- "reference": "869329b1e9894268a8a61dabb69153029b7a8c97"
+ "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/869329b1e9894268a8a61dabb69153029b7a8c97",
- "reference": "869329b1e9894268a8a61dabb69153029b7a8c97",
+ "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/70f4aebd92afca2f865444d30a4d2151c13c3179",
+ "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179",
"shasum": ""
},
"require": {
@@ -3576,7 +3573,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.27-dev"
+ "dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3614,7 +3611,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php72/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-php72/tree/v1.28.0"
},
"funding": [
{
@@ -3630,20 +3627,20 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/polyfill-php73",
- "version": "v1.27.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php73.git",
- "reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9"
+ "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/9e8ecb5f92152187c4799efd3c96b78ccab18ff9",
- "reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9",
+ "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fe2f306d1d9d346a7fee353d0d5012e401e984b5",
+ "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5",
"shasum": ""
},
"require": {
@@ -3652,7 +3649,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.27-dev"
+ "dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3693,7 +3690,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php73/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-php73/tree/v1.28.0"
},
"funding": [
{
@@ -3709,20 +3706,20 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/polyfill-php80",
- "version": "v1.27.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936"
+ "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
- "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
+ "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
"shasum": ""
},
"require": {
@@ -3731,7 +3728,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.27-dev"
+ "dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3776,7 +3773,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0"
},
"funding": [
{
@@ -3792,20 +3789,20 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/polyfill-php81",
- "version": "v1.27.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php81.git",
- "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a"
+ "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/707403074c8ea6e2edaf8794b0157a0bfa52157a",
- "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a",
+ "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/7581cd600fa9fd681b797d00b02f068e2f13263b",
+ "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b",
"shasum": ""
},
"require": {
@@ -3814,7 +3811,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.27-dev"
+ "dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3855,7 +3852,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php81/tree/v1.27.0"
+ "source": "https://github.com/symfony/polyfill-php81/tree/v1.28.0"
},
"funding": [
{
@@ -3871,20 +3868,20 @@
"type": "tidelift"
}
],
- "time": "2022-11-03T14:55:06+00:00"
+ "time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/process",
- "version": "v5.4.11",
+ "version": "v5.4.28",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "6e75fe6874cbc7e4773d049616ab450eff537bf1"
+ "reference": "45261e1fccad1b5447a8d7a8e67aa7b4a9798b7b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/6e75fe6874cbc7e4773d049616ab450eff537bf1",
- "reference": "6e75fe6874cbc7e4773d049616ab450eff537bf1",
+ "url": "https://api.github.com/repos/symfony/process/zipball/45261e1fccad1b5447a8d7a8e67aa7b4a9798b7b",
+ "reference": "45261e1fccad1b5447a8d7a8e67aa7b4a9798b7b",
"shasum": ""
},
"require": {
@@ -3917,7 +3914,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v5.4.11"
+ "source": "https://github.com/symfony/process/tree/v5.4.28"
},
"funding": [
{
@@ -3933,7 +3930,7 @@
"type": "tidelift"
}
],
- "time": "2022-06-27T16:58:25+00:00"
+ "time": "2023-08-07T10:36:04+00:00"
},
{
"name": "symfony/service-contracts",
@@ -4020,16 +4017,16 @@
},
{
"name": "symfony/string",
- "version": "v5.4.17",
+ "version": "v5.4.32",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "55733a8664b8853b003e70251c58bc8cb2d82a6b"
+ "reference": "91bf4453d65d8231688a04376c3a40efe0770f04"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/55733a8664b8853b003e70251c58bc8cb2d82a6b",
- "reference": "55733a8664b8853b003e70251c58bc8cb2d82a6b",
+ "url": "https://api.github.com/repos/symfony/string/zipball/91bf4453d65d8231688a04376c3a40efe0770f04",
+ "reference": "91bf4453d65d8231688a04376c3a40efe0770f04",
"shasum": ""
},
"require": {
@@ -4086,7 +4083,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v5.4.17"
+ "source": "https://github.com/symfony/string/tree/v5.4.32"
},
"funding": [
{
@@ -4102,20 +4099,20 @@
"type": "tidelift"
}
],
- "time": "2022-12-12T15:54:21+00:00"
+ "time": "2023-11-26T13:43:46+00:00"
},
{
"name": "symfony/var-exporter",
- "version": "v5.4.17",
+ "version": "v5.4.32",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-exporter.git",
- "reference": "2adac0a9b55f9fb40b983b790509581dc3db0fff"
+ "reference": "fdb022f0d3d41df240c18e2eb9a117c430f06add"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-exporter/zipball/2adac0a9b55f9fb40b983b790509581dc3db0fff",
- "reference": "2adac0a9b55f9fb40b983b790509581dc3db0fff",
+ "url": "https://api.github.com/repos/symfony/var-exporter/zipball/fdb022f0d3d41df240c18e2eb9a117c430f06add",
+ "reference": "fdb022f0d3d41df240c18e2eb9a117c430f06add",
"shasum": ""
},
"require": {
@@ -4159,7 +4156,7 @@
"serialize"
],
"support": {
- "source": "https://github.com/symfony/var-exporter/tree/v5.4.17"
+ "source": "https://github.com/symfony/var-exporter/tree/v5.4.32"
},
"funding": [
{
@@ -4175,20 +4172,20 @@
"type": "tidelift"
}
],
- "time": "2022-12-22T10:10:04+00:00"
+ "time": "2023-11-16T19:33:05+00:00"
},
{
"name": "symfony/yaml",
- "version": "v5.4.17",
+ "version": "v5.4.31",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "edcdc11498108f8967fe95118a7ec8624b94760e"
+ "reference": "f387675d7f5fc4231f7554baa70681f222f73563"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/edcdc11498108f8967fe95118a7ec8624b94760e",
- "reference": "edcdc11498108f8967fe95118a7ec8624b94760e",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/f387675d7f5fc4231f7554baa70681f222f73563",
+ "reference": "f387675d7f5fc4231f7554baa70681f222f73563",
"shasum": ""
},
"require": {
@@ -4234,7 +4231,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/yaml/tree/v5.4.17"
+ "source": "https://github.com/symfony/yaml/tree/v5.4.31"
},
"funding": [
{
@@ -4250,20 +4247,20 @@
"type": "tidelift"
}
],
- "time": "2022-12-13T09:57:04+00:00"
+ "time": "2023-11-03T14:41:28+00:00"
},
{
"name": "voku/anti-xss",
- "version": "4.1.39",
+ "version": "4.1.42",
"source": {
"type": "git",
"url": "https://github.com/voku/anti-xss.git",
- "reference": "64a59ba4744e6722866ff3440d93561da9e85cd0"
+ "reference": "bca1f8607e55a3c5077483615cd93bd8f11bd675"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/voku/anti-xss/zipball/64a59ba4744e6722866ff3440d93561da9e85cd0",
- "reference": "64a59ba4744e6722866ff3440d93561da9e85cd0",
+ "url": "https://api.github.com/repos/voku/anti-xss/zipball/bca1f8607e55a3c5077483615cd93bd8f11bd675",
+ "reference": "bca1f8607e55a3c5077483615cd93bd8f11bd675",
"shasum": ""
},
"require": {
@@ -4309,7 +4306,7 @@
],
"support": {
"issues": "https://github.com/voku/anti-xss/issues",
- "source": "https://github.com/voku/anti-xss/tree/4.1.39"
+ "source": "https://github.com/voku/anti-xss/tree/4.1.42"
},
"funding": [
{
@@ -4333,7 +4330,7 @@
"type": "tidelift"
}
],
- "time": "2022-03-08T17:03:58+00:00"
+ "time": "2023-07-03T14:40:46+00:00"
},
{
"name": "voku/portable-ascii",
@@ -4411,16 +4408,16 @@
},
{
"name": "voku/portable-utf8",
- "version": "6.0.12",
+ "version": "6.0.13",
"source": {
"type": "git",
"url": "https://github.com/voku/portable-utf8.git",
- "reference": "db0583727bb17666bbd2ba238c85babb973fd165"
+ "reference": "b8ce36bf26593e5c2e81b1850ef0ffb299d2043f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/voku/portable-utf8/zipball/db0583727bb17666bbd2ba238c85babb973fd165",
- "reference": "db0583727bb17666bbd2ba238c85babb973fd165",
+ "url": "https://api.github.com/repos/voku/portable-utf8/zipball/b8ce36bf26593e5c2e81b1850ef0ffb299d2043f",
+ "reference": "b8ce36bf26593e5c2e81b1850ef0ffb299d2043f",
"shasum": ""
},
"require": {
@@ -4486,7 +4483,7 @@
],
"support": {
"issues": "https://github.com/voku/portable-utf8/issues",
- "source": "https://github.com/voku/portable-utf8/tree/6.0.12"
+ "source": "https://github.com/voku/portable-utf8/tree/6.0.13"
},
"funding": [
{
@@ -4510,7 +4507,7 @@
"type": "tidelift"
}
],
- "time": "2023-01-11T12:26:16+00:00"
+ "time": "2023-03-08T08:35:38+00:00"
}
],
"packages-dev": [
@@ -4826,16 +4823,16 @@
},
{
"name": "composer/semver",
- "version": "3.3.2",
+ "version": "3.4.0",
"source": {
"type": "git",
"url": "https://github.com/composer/semver.git",
- "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9"
+ "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/semver/zipball/3953f23262f2bff1919fc82183ad9acb13ff62c9",
- "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9",
+ "url": "https://api.github.com/repos/composer/semver/zipball/35e8d0af4486141bc745f23a29cc2091eb624a32",
+ "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32",
"shasum": ""
},
"require": {
@@ -4885,9 +4882,9 @@
"versioning"
],
"support": {
- "irc": "irc://irc.freenode.org/composer",
+ "irc": "ircs://irc.libera.chat:6697/composer",
"issues": "https://github.com/composer/semver/issues",
- "source": "https://github.com/composer/semver/tree/3.3.2"
+ "source": "https://github.com/composer/semver/tree/3.4.0"
},
"funding": [
{
@@ -4903,7 +4900,7 @@
"type": "tidelift"
}
],
- "time": "2022-04-01T19:23:25+00:00"
+ "time": "2023-08-31T09:50:34+00:00"
},
{
"name": "composer/xdebug-handler",
@@ -5010,16 +5007,16 @@
},
{
"name": "doctrine/annotations",
- "version": "1.14.2",
+ "version": "1.14.3",
"source": {
"type": "git",
"url": "https://github.com/doctrine/annotations.git",
- "reference": "ad785217c1e9555a7d6c6c8c9f406395a5e2882b"
+ "reference": "fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/annotations/zipball/ad785217c1e9555a7d6c6c8c9f406395a5e2882b",
- "reference": "ad785217c1e9555a7d6c6c8c9f406395a5e2882b",
+ "url": "https://api.github.com/repos/doctrine/annotations/zipball/fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af",
+ "reference": "fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af",
"shasum": ""
},
"require": {
@@ -5080,9 +5077,9 @@
],
"support": {
"issues": "https://github.com/doctrine/annotations/issues",
- "source": "https://github.com/doctrine/annotations/tree/1.14.2"
+ "source": "https://github.com/doctrine/annotations/tree/1.14.3"
},
- "time": "2022-12-15T06:48:22+00:00"
+ "time": "2023-02-01T09:20:38+00:00"
},
{
"name": "doctrine/instantiator",
@@ -5649,16 +5646,16 @@
},
{
"name": "justinrainbow/json-schema",
- "version": "5.2.12",
+ "version": "v5.2.13",
"source": {
"type": "git",
"url": "https://github.com/justinrainbow/json-schema.git",
- "reference": "ad87d5a5ca981228e0e205c2bc7dfb8e24559b60"
+ "reference": "fbbe7e5d79f618997bc3332a6f49246036c45793"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/ad87d5a5ca981228e0e205c2bc7dfb8e24559b60",
- "reference": "ad87d5a5ca981228e0e205c2bc7dfb8e24559b60",
+ "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/fbbe7e5d79f618997bc3332a6f49246036c45793",
+ "reference": "fbbe7e5d79f618997bc3332a6f49246036c45793",
"shasum": ""
},
"require": {
@@ -5713,22 +5710,22 @@
],
"support": {
"issues": "https://github.com/justinrainbow/json-schema/issues",
- "source": "https://github.com/justinrainbow/json-schema/tree/5.2.12"
+ "source": "https://github.com/justinrainbow/json-schema/tree/v5.2.13"
},
- "time": "2022-04-13T08:02:27+00:00"
+ "time": "2023-09-26T02:20:38+00:00"
},
{
"name": "myclabs/deep-copy",
- "version": "1.11.0",
+ "version": "1.11.1",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614"
+ "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614",
- "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
+ "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
"shasum": ""
},
"require": {
@@ -5766,7 +5763,7 @@
],
"support": {
"issues": "https://github.com/myclabs/DeepCopy/issues",
- "source": "https://github.com/myclabs/DeepCopy/tree/1.11.0"
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1"
},
"funding": [
{
@@ -5774,20 +5771,20 @@
"type": "tidelift"
}
],
- "time": "2022-03-03T13:19:32+00:00"
+ "time": "2023-03-08T13:26:56+00:00"
},
{
"name": "netresearch/jsonmapper",
- "version": "v4.1.0",
+ "version": "v4.2.0",
"source": {
"type": "git",
"url": "https://github.com/cweiske/jsonmapper.git",
- "reference": "cfa81ea1d35294d64adb9c68aa4cb9e92400e53f"
+ "reference": "f60565f8c0566a31acf06884cdaa591867ecc956"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/cfa81ea1d35294d64adb9c68aa4cb9e92400e53f",
- "reference": "cfa81ea1d35294d64adb9c68aa4cb9e92400e53f",
+ "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/f60565f8c0566a31acf06884cdaa591867ecc956",
+ "reference": "f60565f8c0566a31acf06884cdaa591867ecc956",
"shasum": ""
},
"require": {
@@ -5823,22 +5820,22 @@
"support": {
"email": "cweiske@cweiske.de",
"issues": "https://github.com/cweiske/jsonmapper/issues",
- "source": "https://github.com/cweiske/jsonmapper/tree/v4.1.0"
+ "source": "https://github.com/cweiske/jsonmapper/tree/v4.2.0"
},
- "time": "2022-12-08T20:46:14+00:00"
+ "time": "2023-04-09T17:37:40+00:00"
},
{
"name": "nikic/php-parser",
- "version": "v4.15.2",
+ "version": "v4.18.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc"
+ "reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc",
- "reference": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/1bcbb2179f97633e98bbbc87044ee2611c7d7999",
+ "reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999",
"shasum": ""
},
"require": {
@@ -5879,9 +5876,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.2"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v4.18.0"
},
- "time": "2022-11-12T15:38:23+00:00"
+ "time": "2023-12-10T21:03:43+00:00"
},
{
"name": "ondram/ci-detector",
@@ -6010,28 +6007,28 @@
},
{
"name": "pdepend/pdepend",
- "version": "2.12.1",
+ "version": "2.16.2",
"source": {
"type": "git",
"url": "https://github.com/pdepend/pdepend.git",
- "reference": "7a892d56ceafd804b4a2ecc85184640937ce9e84"
+ "reference": "f942b208dc2a0868454d01b29f0c75bbcfc6ed58"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/pdepend/pdepend/zipball/7a892d56ceafd804b4a2ecc85184640937ce9e84",
- "reference": "7a892d56ceafd804b4a2ecc85184640937ce9e84",
+ "url": "https://api.github.com/repos/pdepend/pdepend/zipball/f942b208dc2a0868454d01b29f0c75bbcfc6ed58",
+ "reference": "f942b208dc2a0868454d01b29f0c75bbcfc6ed58",
"shasum": ""
},
"require": {
"php": ">=5.3.7",
- "symfony/config": "^2.3.0|^3|^4|^5|^6.0",
- "symfony/dependency-injection": "^2.3.0|^3|^4|^5|^6.0",
- "symfony/filesystem": "^2.3.0|^3|^4|^5|^6.0"
+ "symfony/config": "^2.3.0|^3|^4|^5|^6.0|^7.0",
+ "symfony/dependency-injection": "^2.3.0|^3|^4|^5|^6.0|^7.0",
+ "symfony/filesystem": "^2.3.0|^3|^4|^5|^6.0|^7.0",
+ "symfony/polyfill-mbstring": "^1.19"
},
"require-dev": {
"easy-doc/easy-doc": "0.0.0|^1.2.3",
"gregwar/rst": "^1.0",
- "phpunit/phpunit": "^4.8.36|^5.7.27",
"squizlabs/php_codesniffer": "^2.0.0"
},
"bin": [
@@ -6053,9 +6050,15 @@
"BSD-3-Clause"
],
"description": "Official version of pdepend to be handled with Composer",
+ "keywords": [
+ "PHP Depend",
+ "PHP_Depend",
+ "dev",
+ "pdepend"
+ ],
"support": {
"issues": "https://github.com/pdepend/pdepend/issues",
- "source": "https://github.com/pdepend/pdepend/tree/2.12.1"
+ "source": "https://github.com/pdepend/pdepend/tree/2.16.2"
},
"funding": [
{
@@ -6063,7 +6066,7 @@
"type": "tidelift"
}
],
- "time": "2022-09-08T19:30:37+00:00"
+ "time": "2023-12-17T18:09:59+00:00"
},
{
"name": "phar-io/manifest",
@@ -6178,16 +6181,16 @@
},
{
"name": "php-censor/phpdoc-checker",
- "version": "3.1.0",
+ "version": "3.1.1",
"source": {
"type": "git",
"url": "https://github.com/php-censor/phpdoc-checker.git",
- "reference": "57b22c5376431995307271d5f30861e4840f7d0c"
+ "reference": "3144553b7a2c2c30fdd82e0acf8d6d6f613a0fa4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-censor/phpdoc-checker/zipball/57b22c5376431995307271d5f30861e4840f7d0c",
- "reference": "57b22c5376431995307271d5f30861e4840f7d0c",
+ "url": "https://api.github.com/repos/php-censor/phpdoc-checker/zipball/3144553b7a2c2c30fdd82e0acf8d6d6f613a0fa4",
+ "reference": "3144553b7a2c2c30fdd82e0acf8d6d6f613a0fa4",
"shasum": ""
},
"require": {
@@ -6198,12 +6201,14 @@
"symfony/console": "^4.4|^5.0"
},
"require-dev": {
- "jakub-onderka/php-parallel-lint": "^1.0",
- "phploc/phploc": "^2.0",
+ "friendsofphp/php-cs-fixer": "^3.4",
+ "infection/infection": "^0.25",
+ "php-parallel-lint/php-parallel-lint": "^1.3",
+ "phploc/phploc": "^7.0",
"phpmd/phpmd": "^2.10",
- "phpunit/phpunit": "^7.5",
- "sebastian/phpcpd": "^5.0",
- "squizlabs/php_codesniffer": "^3.6"
+ "phpunit/phpunit": "^9.5",
+ "sebastian/phpcpd": "^6.0",
+ "vimeo/psalm": "^4.16"
},
"bin": [
"bin/phpdoc-checker"
@@ -6248,7 +6253,7 @@
"issues": "https://github.com/php-censor/phpdoc-checker/issues",
"source": "https://github.com/php-censor/phpdoc-checker"
},
- "time": "2022-04-15T15:00:32+00:00"
+ "time": "2023-10-07T03:44:58+00:00"
},
{
"name": "php-cs-fixer/diff",
@@ -6472,24 +6477,27 @@
},
{
"name": "phpdocumentor/type-resolver",
- "version": "1.6.2",
+ "version": "1.7.3",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d"
+ "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/48f445a408c131e38cab1c235aa6d2bb7a0bb20d",
- "reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419",
+ "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419",
"shasum": ""
},
"require": {
+ "doctrine/deprecations": "^1.0",
"php": "^7.4 || ^8.0",
- "phpdocumentor/reflection-common": "^2.0"
+ "phpdocumentor/reflection-common": "^2.0",
+ "phpstan/phpdoc-parser": "^1.13"
},
"require-dev": {
"ext-tokenizer": "*",
+ "phpbench/phpbench": "^1.2",
"phpstan/extension-installer": "^1.1",
"phpstan/phpstan": "^1.8",
"phpstan/phpstan-phpunit": "^1.1",
@@ -6521,9 +6529,9 @@
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"support": {
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
- "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.2"
+ "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.7.3"
},
- "time": "2022-10-14T12:47:21+00:00"
+ "time": "2023-08-12T11:01:26+00:00"
},
{
"name": "phploc/phploc",
@@ -6588,22 +6596,22 @@
},
{
"name": "phpmd/phpmd",
- "version": "2.13.0",
+ "version": "2.15.0",
"source": {
"type": "git",
"url": "https://github.com/phpmd/phpmd.git",
- "reference": "dad0228156856b3ad959992f9748514fa943f3e3"
+ "reference": "74a1f56e33afad4128b886e334093e98e1b5e7c0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpmd/phpmd/zipball/dad0228156856b3ad959992f9748514fa943f3e3",
- "reference": "dad0228156856b3ad959992f9748514fa943f3e3",
+ "url": "https://api.github.com/repos/phpmd/phpmd/zipball/74a1f56e33afad4128b886e334093e98e1b5e7c0",
+ "reference": "74a1f56e33afad4128b886e334093e98e1b5e7c0",
"shasum": ""
},
"require": {
"composer/xdebug-handler": "^1.0 || ^2.0 || ^3.0",
"ext-xml": "*",
- "pdepend/pdepend": "^2.12.1",
+ "pdepend/pdepend": "^2.16.1",
"php": ">=5.3.9"
},
"require-dev": {
@@ -6612,8 +6620,7 @@
"ext-simplexml": "*",
"gregwar/rst": "^1.0",
"mikey179/vfsstream": "^1.6.8",
- "phpunit/phpunit": "^4.8.36 || ^5.7.27",
- "squizlabs/php_codesniffer": "^2.0"
+ "squizlabs/php_codesniffer": "^2.9.2 || ^3.7.2"
},
"bin": [
"src/bin/phpmd"
@@ -6650,6 +6657,7 @@
"description": "PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD.",
"homepage": "https://phpmd.org/",
"keywords": [
+ "dev",
"mess detection",
"mess detector",
"pdepend",
@@ -6659,7 +6667,7 @@
"support": {
"irc": "irc://irc.freenode.org/phpmd",
"issues": "https://github.com/phpmd/phpmd/issues",
- "source": "https://github.com/phpmd/phpmd/tree/2.13.0"
+ "source": "https://github.com/phpmd/phpmd/tree/2.15.0"
},
"funding": [
{
@@ -6667,32 +6675,33 @@
"type": "tidelift"
}
],
- "time": "2022-09-10T08:44:15+00:00"
+ "time": "2023-12-11T08:22:20+00:00"
},
{
"name": "phpspec/prophecy",
- "version": "v1.16.0",
+ "version": "v1.18.0",
"source": {
"type": "git",
"url": "https://github.com/phpspec/prophecy.git",
- "reference": "be8cac52a0827776ff9ccda8c381ac5b71aeb359"
+ "reference": "d4f454f7e1193933f04e6500de3e79191648ed0c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpspec/prophecy/zipball/be8cac52a0827776ff9ccda8c381ac5b71aeb359",
- "reference": "be8cac52a0827776ff9ccda8c381ac5b71aeb359",
+ "url": "https://api.github.com/repos/phpspec/prophecy/zipball/d4f454f7e1193933f04e6500de3e79191648ed0c",
+ "reference": "d4f454f7e1193933f04e6500de3e79191648ed0c",
"shasum": ""
},
"require": {
- "doctrine/instantiator": "^1.2",
- "php": "^7.2 || 8.0.* || 8.1.* || 8.2.*",
+ "doctrine/instantiator": "^1.2 || ^2.0",
+ "php": "^7.2 || 8.0.* || 8.1.* || 8.2.* || 8.3.*",
"phpdocumentor/reflection-docblock": "^5.2",
- "sebastian/comparator": "^3.0 || ^4.0",
- "sebastian/recursion-context": "^3.0 || ^4.0"
+ "sebastian/comparator": "^3.0 || ^4.0 || ^5.0",
+ "sebastian/recursion-context": "^3.0 || ^4.0 || ^5.0"
},
"require-dev": {
"phpspec/phpspec": "^6.0 || ^7.0",
- "phpunit/phpunit": "^8.0 || ^9.0"
+ "phpstan/phpstan": "^1.9",
+ "phpunit/phpunit": "^8.0 || ^9.0 || ^10.0"
},
"type": "library",
"extra": {
@@ -6725,6 +6734,7 @@
"keywords": [
"Double",
"Dummy",
+ "dev",
"fake",
"mock",
"spy",
@@ -6732,28 +6742,28 @@
],
"support": {
"issues": "https://github.com/phpspec/prophecy/issues",
- "source": "https://github.com/phpspec/prophecy/tree/v1.16.0"
+ "source": "https://github.com/phpspec/prophecy/tree/v1.18.0"
},
- "time": "2022-11-29T15:06:56+00:00"
+ "time": "2023-12-07T16:22:33+00:00"
},
{
"name": "phpspec/prophecy-phpunit",
- "version": "v2.0.1",
+ "version": "v2.1.0",
"source": {
"type": "git",
"url": "https://github.com/phpspec/prophecy-phpunit.git",
- "reference": "2d7a9df55f257d2cba9b1d0c0963a54960657177"
+ "reference": "29f8114c2c319a4308e6b070902211e062efa392"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpspec/prophecy-phpunit/zipball/2d7a9df55f257d2cba9b1d0c0963a54960657177",
- "reference": "2d7a9df55f257d2cba9b1d0c0963a54960657177",
+ "url": "https://api.github.com/repos/phpspec/prophecy-phpunit/zipball/29f8114c2c319a4308e6b070902211e062efa392",
+ "reference": "29f8114c2c319a4308e6b070902211e062efa392",
"shasum": ""
},
"require": {
"php": "^7.3 || ^8",
- "phpspec/prophecy": "^1.3",
- "phpunit/phpunit": "^9.1"
+ "phpspec/prophecy": "^1.18",
+ "phpunit/phpunit": "^9.1 || ^10.1"
},
"type": "library",
"extra": {
@@ -6784,22 +6794,69 @@
],
"support": {
"issues": "https://github.com/phpspec/prophecy-phpunit/issues",
- "source": "https://github.com/phpspec/prophecy-phpunit/tree/v2.0.1"
+ "source": "https://github.com/phpspec/prophecy-phpunit/tree/v2.1.0"
+ },
+ "time": "2023-12-08T12:48:02+00:00"
+ },
+ {
+ "name": "phpstan/phpdoc-parser",
+ "version": "1.24.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpstan/phpdoc-parser.git",
+ "reference": "fedf211ff14ec8381c9bf5714e33a7a552dd1acc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/fedf211ff14ec8381c9bf5714e33a7a552dd1acc",
+ "reference": "fedf211ff14ec8381c9bf5714e33a7a552dd1acc",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "require-dev": {
+ "doctrine/annotations": "^2.0",
+ "nikic/php-parser": "^4.15",
+ "php-parallel-lint/php-parallel-lint": "^1.2",
+ "phpstan/extension-installer": "^1.0",
+ "phpstan/phpstan": "^1.5",
+ "phpstan/phpstan-phpunit": "^1.1",
+ "phpstan/phpstan-strict-rules": "^1.0",
+ "phpunit/phpunit": "^9.5",
+ "symfony/process": "^5.2"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "PHPStan\\PhpDocParser\\": [
+ "src/"
+ ]
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "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/1.24.5"
},
- "time": "2020-07-09T08:33:42+00:00"
+ "time": "2023-12-16T09:33:33+00:00"
},
{
"name": "phpstan/phpstan",
- "version": "1.8.10",
+ "version": "1.10.50",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
- "reference": "0c4459dc42c568b818b3f25186589f3acddc1823"
+ "reference": "06a98513ac72c03e8366b5a0cb00750b487032e4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan/zipball/0c4459dc42c568b818b3f25186589f3acddc1823",
- "reference": "0c4459dc42c568b818b3f25186589f3acddc1823",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/06a98513ac72c03e8366b5a0cb00750b487032e4",
+ "reference": "06a98513ac72c03e8366b5a0cb00750b487032e4",
"shasum": ""
},
"require": {
@@ -6828,8 +6885,11 @@
"static analysis"
],
"support": {
+ "docs": "https://phpstan.org/user-guide/getting-started",
+ "forum": "https://github.com/phpstan/phpstan/discussions",
"issues": "https://github.com/phpstan/phpstan/issues",
- "source": "https://github.com/phpstan/phpstan/tree/1.8.10"
+ "security": "https://github.com/phpstan/phpstan/security/policy",
+ "source": "https://github.com/phpstan/phpstan-src"
},
"funding": [
{
@@ -6845,27 +6905,27 @@
"type": "tidelift"
}
],
- "time": "2022-10-17T14:23:35+00:00"
+ "time": "2023-12-13T10:59:42+00:00"
},
{
"name": "phpunit/php-code-coverage",
- "version": "9.2.23",
+ "version": "9.2.29",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "9f1f0f9a2fbb680b26d1cf9b61b6eac43a6e4e9c"
+ "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/9f1f0f9a2fbb680b26d1cf9b61b6eac43a6e4e9c",
- "reference": "9f1f0f9a2fbb680b26d1cf9b61b6eac43a6e4e9c",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6a3a87ac2bbe33b25042753df8195ba4aa534c76",
+ "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
- "nikic/php-parser": "^4.14",
+ "nikic/php-parser": "^4.15",
"php": ">=7.3",
"phpunit/php-file-iterator": "^3.0.3",
"phpunit/php-text-template": "^2.0.2",
@@ -6880,8 +6940,8 @@
"phpunit/phpunit": "^9.3"
},
"suggest": {
- "ext-pcov": "*",
- "ext-xdebug": "*"
+ "ext-pcov": "PHP extension that provides line coverage",
+ "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
},
"type": "library",
"extra": {
@@ -6914,7 +6974,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.23"
+ "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.29"
},
"funding": [
{
@@ -6922,7 +6983,7 @@
"type": "github"
}
],
- "time": "2022-12-28T12:41:10+00:00"
+ "time": "2023-09-19T04:57:46+00:00"
},
{
"name": "phpunit/php-file-iterator",
@@ -7167,20 +7228,20 @@
},
{
"name": "phpunit/phpunit",
- "version": "9.5.27",
+ "version": "9.6.15",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "a2bc7ffdca99f92d959b3f2270529334030bba38"
+ "reference": "05017b80304e0eb3f31d90194a563fd53a6021f1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a2bc7ffdca99f92d959b3f2270529334030bba38",
- "reference": "a2bc7ffdca99f92d959b3f2270529334030bba38",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/05017b80304e0eb3f31d90194a563fd53a6021f1",
+ "reference": "05017b80304e0eb3f31d90194a563fd53a6021f1",
"shasum": ""
},
"require": {
- "doctrine/instantiator": "^1.3.1",
+ "doctrine/instantiator": "^1.3.1 || ^2",
"ext-dom": "*",
"ext-json": "*",
"ext-libxml": "*",
@@ -7191,7 +7252,7 @@
"phar-io/manifest": "^2.0.3",
"phar-io/version": "^3.0.2",
"php": ">=7.3",
- "phpunit/php-code-coverage": "^9.2.13",
+ "phpunit/php-code-coverage": "^9.2.28",
"phpunit/php-file-iterator": "^3.0.5",
"phpunit/php-invoker": "^3.1.1",
"phpunit/php-text-template": "^2.0.3",
@@ -7209,8 +7270,8 @@
"sebastian/version": "^3.0.2"
},
"suggest": {
- "ext-soap": "*",
- "ext-xdebug": "*"
+ "ext-soap": "To be able to generate mocks based on WSDL files",
+ "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
},
"bin": [
"phpunit"
@@ -7218,7 +7279,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "9.5-dev"
+ "dev-master": "9.6-dev"
}
},
"autoload": {
@@ -7249,7 +7310,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.27"
+ "security": "https://github.com/sebastianbergmann/phpunit/security/policy",
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.15"
},
"funding": [
{
@@ -7265,30 +7327,29 @@
"type": "tidelift"
}
],
- "time": "2022-12-09T07:31:23+00:00"
+ "time": "2023-12-01T16:55:19+00:00"
},
{
"name": "rector/rector",
- "version": "0.14.6",
+ "version": "0.14.8",
"source": {
"type": "git",
"url": "https://github.com/rectorphp/rector.git",
- "reference": "e61574288661334155de6e5f0f45497285abad5d"
+ "reference": "46ee9a173a2b2645ca92a75ffc17460139fa226e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/rectorphp/rector/zipball/e61574288661334155de6e5f0f45497285abad5d",
- "reference": "e61574288661334155de6e5f0f45497285abad5d",
+ "url": "https://api.github.com/repos/rectorphp/rector/zipball/46ee9a173a2b2645ca92a75ffc17460139fa226e",
+ "reference": "46ee9a173a2b2645ca92a75ffc17460139fa226e",
"shasum": ""
},
"require": {
"php": "^7.2|^8.0",
- "phpstan/phpstan": "^1.8.7"
+ "phpstan/phpstan": "^1.9.0"
},
"conflict": {
"rector/rector-doctrine": "*",
"rector/rector-downgrade-php": "*",
- "rector/rector-laravel": "*",
"rector/rector-php-parser": "*",
"rector/rector-phpoffice": "*",
"rector/rector-phpunit": "*",
@@ -7315,7 +7376,7 @@
"description": "Instant Upgrade and Automated Refactoring of any PHP code",
"support": {
"issues": "https://github.com/rectorphp/rector/issues",
- "source": "https://github.com/rectorphp/rector/tree/0.14.6"
+ "source": "https://github.com/rectorphp/rector/tree/0.14.8"
},
"funding": [
{
@@ -7323,35 +7384,41 @@
"type": "github"
}
],
- "time": "2022-10-15T22:58:22+00:00"
+ "time": "2022-11-14T14:09:49+00:00"
},
{
"name": "sanmai/later",
- "version": "0.1.2",
+ "version": "0.1.4",
"source": {
"type": "git",
"url": "https://github.com/sanmai/later.git",
- "reference": "9b659fecef2030193fd02402955bc39629d5606f"
+ "reference": "e24c4304a4b1349c2a83151a692cec0c10579f60"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sanmai/later/zipball/9b659fecef2030193fd02402955bc39629d5606f",
- "reference": "9b659fecef2030193fd02402955bc39629d5606f",
+ "url": "https://api.github.com/repos/sanmai/later/zipball/e24c4304a4b1349c2a83151a692cec0c10579f60",
+ "reference": "e24c4304a4b1349c2a83151a692cec0c10579f60",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.4"
},
"require-dev": {
- "friendsofphp/php-cs-fixer": "^2.13",
- "infection/infection": ">=0.10.5",
+ "ergebnis/composer-normalize": "^2.8",
+ "friendsofphp/php-cs-fixer": "^3.35.1",
+ "infection/infection": ">=0.27.6",
"phan/phan": ">=2",
"php-coveralls/php-coveralls": "^2.0",
- "phpstan/phpstan": ">=0.10",
- "phpunit/phpunit": ">=7.4",
+ "phpstan/phpstan": ">=1.4.5",
+ "phpunit/phpunit": ">=9.5 <10",
"vimeo/psalm": ">=2"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "0.1.x-dev"
+ }
+ },
"autoload": {
"files": [
"src/functions.php"
@@ -7373,7 +7440,7 @@
"description": "Later: deferred wrapper object",
"support": {
"issues": "https://github.com/sanmai/later/issues",
- "source": "https://github.com/sanmai/later/tree/0.1.2"
+ "source": "https://github.com/sanmai/later/tree/0.1.4"
},
"funding": [
{
@@ -7381,34 +7448,34 @@
"type": "github"
}
],
- "time": "2021-01-02T10:26:44+00:00"
+ "time": "2023-10-24T00:25:28+00:00"
},
{
"name": "sanmai/pipeline",
- "version": "v6.3",
+ "version": "v6.9",
"source": {
"type": "git",
"url": "https://github.com/sanmai/pipeline.git",
- "reference": "929b115ca58d62b6b2574702df1ebde4562c7c43"
+ "reference": "c48f45c22c3ce4140d071f7658fb151df1cc08ea"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sanmai/pipeline/zipball/929b115ca58d62b6b2574702df1ebde4562c7c43",
- "reference": "929b115ca58d62b6b2574702df1ebde4562c7c43",
+ "url": "https://api.github.com/repos/sanmai/pipeline/zipball/c48f45c22c3ce4140d071f7658fb151df1cc08ea",
+ "reference": "c48f45c22c3ce4140d071f7658fb151df1cc08ea",
"shasum": ""
},
"require": {
- "php": "^7.1 || ^8.0"
+ "php": "^7.4 || ^8.0"
},
"require-dev": {
"ergebnis/composer-normalize": "^2.8",
- "friendsofphp/php-cs-fixer": "^3",
+ "friendsofphp/php-cs-fixer": "^3.17",
"infection/infection": ">=0.10.5",
- "league/pipeline": "^1.0 || ^0.3",
+ "league/pipeline": "^0.3 || ^1.0",
"phan/phan": ">=1.1",
"php-coveralls/php-coveralls": "^2.4.1",
"phpstan/phpstan": ">=0.10",
- "phpunit/phpunit": "^7.4 || ^8.1 || ^9.4",
+ "phpunit/phpunit": ">=9.4",
"vimeo/psalm": ">=2"
},
"type": "library",
@@ -7438,7 +7505,7 @@
"description": "General-purpose collections pipeline",
"support": {
"issues": "https://github.com/sanmai/pipeline/issues",
- "source": "https://github.com/sanmai/pipeline/tree/v6.3"
+ "source": "https://github.com/sanmai/pipeline/tree/v6.9"
},
"funding": [
{
@@ -7446,7 +7513,7 @@
"type": "github"
}
],
- "time": "2022-11-30T06:07:06+00:00"
+ "time": "2023-10-08T11:56:54+00:00"
},
{
"name": "sebastian/cli-parser",
@@ -7748,16 +7815,16 @@
},
{
"name": "sebastian/environment",
- "version": "5.1.4",
+ "version": "5.1.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7"
+ "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/1b5dff7bb151a4db11d49d90e5408e4e938270f7",
- "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
+ "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
"shasum": ""
},
"require": {
@@ -7799,7 +7866,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/environment/issues",
- "source": "https://github.com/sebastianbergmann/environment/tree/5.1.4"
+ "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5"
},
"funding": [
{
@@ -7807,7 +7874,7 @@
"type": "github"
}
],
- "time": "2022-04-03T09:37:03+00:00"
+ "time": "2023-02-03T06:03:51+00:00"
},
{
"name": "sebastian/exporter",
@@ -7888,16 +7955,16 @@
},
{
"name": "sebastian/global-state",
- "version": "5.0.5",
+ "version": "5.0.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2"
+ "reference": "bde739e7565280bda77be70044ac1047bc007e34"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2",
- "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bde739e7565280bda77be70044ac1047bc007e34",
+ "reference": "bde739e7565280bda77be70044ac1047bc007e34",
"shasum": ""
},
"require": {
@@ -7940,7 +8007,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
- "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5"
+ "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.6"
},
"funding": [
{
@@ -7948,7 +8015,7 @@
"type": "github"
}
],
- "time": "2022-02-14T08:28:10+00:00"
+ "time": "2023-08-02T09:26:13+00:00"
},
{
"name": "sebastian/lines-of-code",
@@ -8178,20 +8245,21 @@
"type": "github"
}
],
+ "abandoned": true,
"time": "2020-12-07T05:39:23+00:00"
},
{
"name": "sebastian/recursion-context",
- "version": "4.0.4",
+ "version": "4.0.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172"
+ "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172",
- "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
+ "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
"shasum": ""
},
"require": {
@@ -8230,10 +8298,10 @@
}
],
"description": "Provides functionality to recursively process PHP variables",
- "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
+ "homepage": "https://github.com/sebastianbergmann/recursion-context",
"support": {
"issues": "https://github.com/sebastianbergmann/recursion-context/issues",
- "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4"
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5"
},
"funding": [
{
@@ -8241,7 +8309,7 @@
"type": "github"
}
],
- "time": "2020-10-26T13:17:30+00:00"
+ "time": "2023-02-03T06:07:39+00:00"
},
{
"name": "sebastian/resource-operations",
@@ -8300,16 +8368,16 @@
},
{
"name": "sebastian/type",
- "version": "3.2.0",
+ "version": "3.2.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
- "reference": "fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e"
+ "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e",
- "reference": "fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
+ "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
"shasum": ""
},
"require": {
@@ -8344,7 +8412,7 @@
"homepage": "https://github.com/sebastianbergmann/type",
"support": {
"issues": "https://github.com/sebastianbergmann/type/issues",
- "source": "https://github.com/sebastianbergmann/type/tree/3.2.0"
+ "source": "https://github.com/sebastianbergmann/type/tree/3.2.1"
},
"funding": [
{
@@ -8352,7 +8420,7 @@
"type": "github"
}
],
- "time": "2022-09-12T14:47:03+00:00"
+ "time": "2023-02-03T06:13:03+00:00"
},
{
"name": "sebastian/version",
@@ -8409,16 +8477,16 @@
},
{
"name": "seld/jsonlint",
- "version": "1.9.0",
+ "version": "1.10.1",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/jsonlint.git",
- "reference": "4211420d25eba80712bff236a98960ef68b866b7"
+ "reference": "76d449a358ece77d6f1d6331c68453e657172202"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/4211420d25eba80712bff236a98960ef68b866b7",
- "reference": "4211420d25eba80712bff236a98960ef68b866b7",
+ "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/76d449a358ece77d6f1d6331c68453e657172202",
+ "reference": "76d449a358ece77d6f1d6331c68453e657172202",
"shasum": ""
},
"require": {
@@ -8445,7 +8513,7 @@
{
"name": "Jordi Boggiano",
"email": "j.boggiano@seld.be",
- "homepage": "http://seld.be"
+ "homepage": "https://seld.be"
}
],
"description": "JSON Linter",
@@ -8457,7 +8525,7 @@
],
"support": {
"issues": "https://github.com/Seldaek/jsonlint/issues",
- "source": "https://github.com/Seldaek/jsonlint/tree/1.9.0"
+ "source": "https://github.com/Seldaek/jsonlint/tree/1.10.1"
},
"funding": [
{
@@ -8469,20 +8537,20 @@
"type": "tidelift"
}
],
- "time": "2022-04-01T13:37:23+00:00"
+ "time": "2023-12-18T13:03:25+00:00"
},
{
"name": "squizlabs/php_codesniffer",
- "version": "3.7.1",
+ "version": "3.8.0",
"source": {
"type": "git",
- "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
- "reference": "1359e176e9307e906dc3d890bcc9603ff6d90619"
+ "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
+ "reference": "5805f7a4e4958dbb5e944ef1e6edae0a303765e7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/1359e176e9307e906dc3d890bcc9603ff6d90619",
- "reference": "1359e176e9307e906dc3d890bcc9603ff6d90619",
+ "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/5805f7a4e4958dbb5e944ef1e6edae0a303765e7",
+ "reference": "5805f7a4e4958dbb5e944ef1e6edae0a303765e7",
"shasum": ""
},
"require": {
@@ -8492,7 +8560,7 @@
"php": ">=5.4.0"
},
"require-dev": {
- "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
+ "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0"
},
"bin": [
"bin/phpcs",
@@ -8511,34 +8579,58 @@
"authors": [
{
"name": "Greg Sherwood",
- "role": "lead"
+ "role": "Former lead"
+ },
+ {
+ "name": "Juliette Reinders Folmer",
+ "role": "Current lead"
+ },
+ {
+ "name": "Contributors",
+ "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer/graphs/contributors"
}
],
"description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
- "homepage": "https://github.com/squizlabs/PHP_CodeSniffer",
+ "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer",
"keywords": [
"phpcs",
- "standards"
+ "standards",
+ "static analysis"
],
"support": {
- "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues",
- "source": "https://github.com/squizlabs/PHP_CodeSniffer",
- "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
+ "issues": "https://github.com/PHPCSStandards/PHP_CodeSniffer/issues",
+ "security": "https://github.com/PHPCSStandards/PHP_CodeSniffer/security/policy",
+ "source": "https://github.com/PHPCSStandards/PHP_CodeSniffer",
+ "wiki": "https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki"
},
- "time": "2022-06-18T07:21:10+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/PHPCSStandards",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/jrfnl",
+ "type": "github"
+ },
+ {
+ "url": "https://opencollective.com/php_codesniffer",
+ "type": "open_collective"
+ }
+ ],
+ "time": "2023-12-08T12:32:31+00:00"
},
{
"name": "symfony/options-resolver",
- "version": "v5.4.11",
+ "version": "v5.4.21",
"source": {
"type": "git",
"url": "https://github.com/symfony/options-resolver.git",
- "reference": "54f14e36aa73cb8f7261d7686691fd4d75ea2690"
+ "reference": "4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/options-resolver/zipball/54f14e36aa73cb8f7261d7686691fd4d75ea2690",
- "reference": "54f14e36aa73cb8f7261d7686691fd4d75ea2690",
+ "url": "https://api.github.com/repos/symfony/options-resolver/zipball/4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9",
+ "reference": "4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9",
"shasum": ""
},
"require": {
@@ -8578,7 +8670,7 @@
"options"
],
"support": {
- "source": "https://github.com/symfony/options-resolver/tree/v5.4.11"
+ "source": "https://github.com/symfony/options-resolver/tree/v5.4.21"
},
"funding": [
{
@@ -8594,20 +8686,20 @@
"type": "tidelift"
}
],
- "time": "2022-07-20T13:00:38+00:00"
+ "time": "2023-02-14T08:03:56+00:00"
},
{
"name": "symfony/stopwatch",
- "version": "v5.4.13",
+ "version": "v5.4.21",
"source": {
"type": "git",
"url": "https://github.com/symfony/stopwatch.git",
- "reference": "6df7a3effde34d81717bbef4591e5ffe32226d69"
+ "reference": "f83692cd869a6f2391691d40a01e8acb89e76fee"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/stopwatch/zipball/6df7a3effde34d81717bbef4591e5ffe32226d69",
- "reference": "6df7a3effde34d81717bbef4591e5ffe32226d69",
+ "url": "https://api.github.com/repos/symfony/stopwatch/zipball/f83692cd869a6f2391691d40a01e8acb89e76fee",
+ "reference": "f83692cd869a6f2391691d40a01e8acb89e76fee",
"shasum": ""
},
"require": {
@@ -8640,7 +8732,7 @@
"description": "Provides a way to profile code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/stopwatch/tree/v5.4.13"
+ "source": "https://github.com/symfony/stopwatch/tree/v5.4.21"
},
"funding": [
{
@@ -8656,7 +8748,7 @@
"type": "tidelift"
}
],
- "time": "2022-09-28T13:19:49+00:00"
+ "time": "2023-02-14T08:03:56+00:00"
},
{
"name": "symfony/var-dumper",
@@ -8888,16 +8980,16 @@
},
{
"name": "theseer/tokenizer",
- "version": "1.2.1",
+ "version": "1.2.2",
"source": {
"type": "git",
"url": "https://github.com/theseer/tokenizer.git",
- "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e"
+ "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e",
- "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b2ad5003ca10d4ee50a12da31de12a5774ba6b96",
+ "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96",
"shasum": ""
},
"require": {
@@ -8926,7 +9018,7 @@
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
"support": {
"issues": "https://github.com/theseer/tokenizer/issues",
- "source": "https://github.com/theseer/tokenizer/tree/1.2.1"
+ "source": "https://github.com/theseer/tokenizer/tree/1.2.2"
},
"funding": [
{
@@ -8934,7 +9026,7 @@
"type": "github"
}
],
- "time": "2021-07-28T10:34:58+00:00"
+ "time": "2023-11-20T00:12:19+00:00"
},
{
"name": "vimeo/psalm",
@@ -9171,5 +9263,5 @@
"ext-bcmath": "*"
},
"platform-dev": [],
- "plugin-api-version": "2.3.0"
+ "plugin-api-version": "2.6.0"
}
From 76d3b63a0bfe634217eb422718bb12bc4316d005 Mon Sep 17 00:00:00 2001
From: Dmitry Khomutov
Date: Thu, 11 Jan 2024 19:01:51 +0700
Subject: [PATCH 18/33] Updated README.md versions (+ 2.0.12).
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 408dc8b9..8e90fcc3 100644
--- a/README.md
+++ b/README.md
@@ -21,7 +21,7 @@ PHP Censor versions:
| `1.1` (Birdperson) | `1.1.6` | `release-1.1` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
| `1.2` (Summer Smith) | `1.2.4` | `release-1.2` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
| `1.3` (Jerry Smith) | `1.3.7` | `release-1.3` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
-| `2.0` (Rick Sanchez) | `2.0.11` | `release-2.0` | Last stable version ([Upgrade from v1 to v2](docs/UPGRADE_2.0.md)) | `>=7.4` |
+| `2.0` (Rick Sanchez) | `2.0.12` | `release-2.0` | Last stable version ([Upgrade from v1 to v2](docs/UPGRADE_2.0.md)) | `>=7.4` |
| `2.1` (Mr. Meeseeks) | `2.1.3` | `release-2.1` | Current stable version | `>=7.4` |
| `2.2` | WIP | `master` | Feature minor version (WIP) | `>=7.4` |
From fd7b769bcade80dfe649ed6f4dabe7749ec3839c Mon Sep 17 00:00:00 2001
From: Dmitry Khomutov
Date: Thu, 11 Jan 2024 19:14:53 +0700
Subject: [PATCH 19/33] Updated README.md versions (+ 2.1.4).
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 8e90fcc3..c74a4c9d 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,7 @@ PHP Censor versions:
| `1.2` (Summer Smith) | `1.2.4` | `release-1.2` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
| `1.3` (Jerry Smith) | `1.3.7` | `release-1.3` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
| `2.0` (Rick Sanchez) | `2.0.12` | `release-2.0` | Last stable version ([Upgrade from v1 to v2](docs/UPGRADE_2.0.md)) | `>=7.4` |
-| `2.1` (Mr. Meeseeks) | `2.1.3` | `release-2.1` | Current stable version | `>=7.4` |
+| `2.1` (Mr. Meeseeks) | `2.1.4` | `release-2.1` | Current stable version | `>=7.4` |
| `2.2` | WIP | `master` | Feature minor version (WIP) | `>=7.4` |
[](docs/screenshots/dashboard.png)
From 414af19e43e475d3ce2d27de38f91f09fe571ac0 Mon Sep 17 00:00:00 2001
From: Dmitry Khomutov
Date: Sat, 4 May 2024 18:08:41 +0700
Subject: [PATCH 20/33] Fixed versions in README.md.
---
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index c74a4c9d..c7d19370 100644
--- a/README.md
+++ b/README.md
@@ -21,8 +21,8 @@ PHP Censor versions:
| `1.1` (Birdperson) | `1.1.6` | `release-1.1` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
| `1.2` (Summer Smith) | `1.2.4` | `release-1.2` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
| `1.3` (Jerry Smith) | `1.3.7` | `release-1.3` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
-| `2.0` (Rick Sanchez) | `2.0.12` | `release-2.0` | Last stable version ([Upgrade from v1 to v2](docs/UPGRADE_2.0.md)) | `>=7.4` |
-| `2.1` (Mr. Meeseeks) | `2.1.4` | `release-2.1` | Current stable version | `>=7.4` |
+| `2.0` (Rick Sanchez) | `2.0.13` | `release-2.0` | Last stable version ([Upgrade from v1 to v2](docs/UPGRADE_2.0.md)) | `>=7.4` |
+| `2.1` (Mr. Meeseeks) | `2.1.5` | `release-2.1` | Current stable version | `>=7.4` |
| `2.2` | WIP | `master` | Feature minor version (WIP) | `>=7.4` |
[](docs/screenshots/dashboard.png)
From b43cb01eabe1d0245c09863320cfbab652d4283b Mon Sep 17 00:00:00 2001
From: "Yugeon A. Gruzdev"
Date: Mon, 24 Feb 2025 14:34:43 +0300
Subject: [PATCH 21/33] Support for notifications in telegram group topics
---
src/Plugin/TelegramNotify.php | 23 +++++++++++++++
tests/src/Plugin/TelegramNotifyTest.php | 39 +++++++++++++++++++++++++
2 files changed, 62 insertions(+)
create mode 100644 tests/src/Plugin/TelegramNotifyTest.php
diff --git a/src/Plugin/TelegramNotify.php b/src/Plugin/TelegramNotify.php
index e149bf1e..89b7c43c 100644
--- a/src/Plugin/TelegramNotify.php
+++ b/src/Plugin/TelegramNotify.php
@@ -90,6 +90,12 @@ public function execute()
'text' => $message,
'parse_mode' => 'Markdown',
];
+
+ $messageThreadId = $this->getMessageThreadIdFromGroupId($chatId);
+ if ($messageThreadId !== null) {
+ $params['message_thread_id'] = $messageThreadId;
+ }
+
$client->post(('https://api.telegram.org' . $url), [
'headers' => [
'Content-Type' => 'application/json',
@@ -103,6 +109,11 @@ public function execute()
'text' => $this->buildMsg,
'parse_mode' => 'Markdown',
];
+
+ if ($messageThreadId !== null) {
+ $params['message_thread_id'] = $messageThreadId;
+ }
+
$client->post(('https://api.telegram.org' . $url), [
'headers' => [
'Content-Type' => 'application/json',
@@ -142,4 +153,16 @@ private function buildMessage()
return $this->builder->interpolate(\str_replace(['%ICON_BUILD%'], [$buildIcon], $this->message));
}
+
+ /**
+ * Split chat group id to chat id and message thread id
+ *
+ * @param string|int $chatId
+ * @return string|null
+ */
+ protected function getMessageThreadIdFromGroupId($chatId)
+ {
+ $parts = explode('/', $chatId);
+ return (count($parts) > 1 && $parts[1] !== '') ? $parts[1] : null;
+ }
}
diff --git a/tests/src/Plugin/TelegramNotifyTest.php b/tests/src/Plugin/TelegramNotifyTest.php
new file mode 100644
index 00000000..eff4797f
--- /dev/null
+++ b/tests/src/Plugin/TelegramNotifyTest.php
@@ -0,0 +1,39 @@
+getMethod('getMessageThreadIdFromGroupId');
+ $method->setAccessible(true);
+ $instance = $reflection->newInstanceWithoutConstructor();
+
+ $result = $method->invoke($instance, $chatId);
+ self::assertSame($expectedThreadId, $result);
+ }
+
+ public function chatIdProvider(): array
+ {
+ return [
+ 'without message thread id' => ['-12345', null],
+ 'with message thread id' => ['12345/67890', '67890'],
+ 'empty thread id' => ['12345/', null],
+ 'not group chat' => ['12345', null],
+ 'empty input' => ['', null],
+ 'only slash' => ['/', null],
+ 'double slash' => ['//', null],
+ 'group id digits only' => [12345, null],
+ ];
+ }
+}
From c460a105b06ebe85656d89ee5247bd5c03fd8350 Mon Sep 17 00:00:00 2001
From: "Yugeon A. Gruzdev"
Date: Mon, 24 Feb 2025 14:44:32 +0300
Subject: [PATCH 22/33] doc update
---
docs/en/plugins/telegram_notify.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/docs/en/plugins/telegram_notify.md b/docs/en/plugins/telegram_notify.md
index 105ec471..a8932773 100644
--- a/docs/en/plugins/telegram_notify.md
+++ b/docs/en/plugins/telegram_notify.md
@@ -24,6 +24,7 @@ complete:
recipients:
- ""
- "-"
+ - "-/"
- "@"
send_log: true
```
From cae8a68ccb254cdc4d0c71f181f6e1b48430b266 Mon Sep 17 00:00:00 2001
From: "Yugeon A. Gruzdev"
Date: Mon, 24 Feb 2025 19:28:36 +0300
Subject: [PATCH 23/33] Splitting the incoming chatId into chat and topic ids
---
src/Plugin/TelegramNotify.php | 26 ++++++++++++++-----------
tests/src/Plugin/TelegramNotifyTest.php | 23 ++++++++++++----------
2 files changed, 28 insertions(+), 21 deletions(-)
diff --git a/src/Plugin/TelegramNotify.php b/src/Plugin/TelegramNotify.php
index 89b7c43c..cf4318cf 100644
--- a/src/Plugin/TelegramNotify.php
+++ b/src/Plugin/TelegramNotify.php
@@ -85,15 +85,17 @@ public function execute()
$url = '/bot' . $this->authToken . '/sendMessage';
foreach ($this->recipients as $chatId) {
+ $chatId = $this->builder->interpolate($chatId, true);
+ [$chatId, $topicId] = $this->splitChatIdAndTopicId($chatId);
+
$params = [
- 'chat_id' => $this->builder->interpolate($chatId, true),
+ 'chat_id' => $chatId,
'text' => $message,
'parse_mode' => 'Markdown',
];
- $messageThreadId = $this->getMessageThreadIdFromGroupId($chatId);
- if ($messageThreadId !== null) {
- $params['message_thread_id'] = $messageThreadId;
+ if ($topicId !== null) {
+ $params['message_thread_id'] = $topicId;
}
$client->post(('https://api.telegram.org' . $url), [
@@ -110,8 +112,8 @@ public function execute()
'parse_mode' => 'Markdown',
];
- if ($messageThreadId !== null) {
- $params['message_thread_id'] = $messageThreadId;
+ if ($topicId !== null) {
+ $params['message_thread_id'] = $topicId;
}
$client->post(('https://api.telegram.org' . $url), [
@@ -155,14 +157,16 @@ private function buildMessage()
}
/**
- * Split chat group id to chat id and message thread id
+ * Split chat group id to chat id and topic id
*
* @param string|int $chatId
- * @return string|null
+ * @return array{string, string|null}
*/
- protected function getMessageThreadIdFromGroupId($chatId)
+ protected function splitChatIdAndTopicId($chatId)
{
- $parts = explode('/', $chatId);
- return (count($parts) > 1 && $parts[1] !== '') ? $parts[1] : null;
+ $parts = \explode('/', \trim((string) $chatId) . '/');
+ $topicId = $parts[1] !== '' ? $parts[1] : null;
+
+ return [$parts[0], $topicId];
}
}
diff --git a/tests/src/Plugin/TelegramNotifyTest.php b/tests/src/Plugin/TelegramNotifyTest.php
index eff4797f..80e66063 100644
--- a/tests/src/Plugin/TelegramNotifyTest.php
+++ b/tests/src/Plugin/TelegramNotifyTest.php
@@ -12,10 +12,10 @@ class TelegramNotifyTest extends TestCase
/**
* @dataProvider chatIdProvider
*/
- public function testGetMessageThreadIdFromGroupId($chatId, $expectedThreadId): void
+ public function testSplitChatIdAndTopicId($chatId, $expectedThreadId): void
{
$reflection = new \ReflectionClass(TelegramNotify::class);
- $method = $reflection->getMethod('getMessageThreadIdFromGroupId');
+ $method = $reflection->getMethod('splitChatIdAndTopicId');
$method->setAccessible(true);
$instance = $reflection->newInstanceWithoutConstructor();
@@ -26,14 +26,17 @@ public function testGetMessageThreadIdFromGroupId($chatId, $expectedThreadId): v
public function chatIdProvider(): array
{
return [
- 'without message thread id' => ['-12345', null],
- 'with message thread id' => ['12345/67890', '67890'],
- 'empty thread id' => ['12345/', null],
- 'not group chat' => ['12345', null],
- 'empty input' => ['', null],
- 'only slash' => ['/', null],
- 'double slash' => ['//', null],
- 'group id digits only' => [12345, null],
+ 'without message thread id' => ['-12345', ['-12345', null]],
+ 'with message thread id' => ['12345/67890', ['12345', '67890']],
+ 'empty thread id' => ['12345/', ['12345', null]],
+ 'not group chat' => ['12345', ['12345', null]],
+ 'empty input' => ['', ['', null]],
+ 'only slash' => ['/', ['', null]],
+ 'double slash' => ['//', ['', null]],
+ 'group id digits only' => [12345, ['12345', null]],
+ 'group id digits only (negative)' => [-12345, ['-12345', null]],
+ 'zero topic id' => ['-12345/0', ['-12345', '0']],
+ 'spaces' => [' -12345/0 ', ['-12345', '0']],
];
}
}
From 4c399541d8a97cf40c7601e61dc540270977e480 Mon Sep 17 00:00:00 2001
From: Dmitry Khomutov
Date: Sat, 1 Mar 2025 13:34:47 +0700
Subject: [PATCH 24/33] Updated dependencies.
---
composer.lock | 1217 ++++++++++++++++++++++++-------------------------
1 file changed, 593 insertions(+), 624 deletions(-)
diff --git a/composer.lock b/composer.lock
index 17177fcb..51e39b92 100644
--- a/composer.lock
+++ b/composer.lock
@@ -8,7 +8,7 @@
"packages": [
{
"name": "cakephp/core",
- "version": "4.5.2",
+ "version": "4.5.9",
"source": {
"type": "git",
"url": "https://github.com/cakephp/core.git",
@@ -68,7 +68,7 @@
},
{
"name": "cakephp/database",
- "version": "4.5.2",
+ "version": "4.5.9",
"source": {
"type": "git",
"url": "https://github.com/cakephp/database.git",
@@ -124,16 +124,16 @@
},
{
"name": "cakephp/datasource",
- "version": "4.5.2",
+ "version": "4.5.9",
"source": {
"type": "git",
"url": "https://github.com/cakephp/datasource.git",
- "reference": "5d11a35ffc09dee744faaab7f758aeb42c17cfec"
+ "reference": "073bb5f3b082b87c20309c1b25b1ac2a238d97b3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/cakephp/datasource/zipball/5d11a35ffc09dee744faaab7f758aeb42c17cfec",
- "reference": "5d11a35ffc09dee744faaab7f758aeb42c17cfec",
+ "url": "https://api.github.com/repos/cakephp/datasource/zipball/073bb5f3b082b87c20309c1b25b1ac2a238d97b3",
+ "reference": "073bb5f3b082b87c20309c1b25b1ac2a238d97b3",
"shasum": ""
},
"require": {
@@ -178,20 +178,20 @@
"issues": "https://github.com/cakephp/cakephp/issues",
"source": "https://github.com/cakephp/datasource"
},
- "time": "2023-11-05T07:32:10+00:00"
+ "time": "2024-11-19T19:41:00+00:00"
},
{
"name": "cakephp/utility",
- "version": "4.5.2",
+ "version": "4.5.9",
"source": {
"type": "git",
"url": "https://github.com/cakephp/utility.git",
- "reference": "9fb72974e91e81f1545a15a6d45f50c82cd77def"
+ "reference": "708929115e5b400e1b5b76d8120ca2e51e2de199"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/cakephp/utility/zipball/9fb72974e91e81f1545a15a6d45f50c82cd77def",
- "reference": "9fb72974e91e81f1545a15a6d45f50c82cd77def",
+ "url": "https://api.github.com/repos/cakephp/utility/zipball/708929115e5b400e1b5b76d8120ca2e51e2de199",
+ "reference": "708929115e5b400e1b5b76d8120ca2e51e2de199",
"shasum": ""
},
"require": {
@@ -237,33 +237,31 @@
"issues": "https://github.com/cakephp/cakephp/issues",
"source": "https://github.com/cakephp/utility"
},
- "time": "2023-04-11T21:22:06+00:00"
+ "time": "2024-06-23T00:11:14+00:00"
},
{
"name": "doctrine/deprecations",
- "version": "1.1.2",
+ "version": "1.1.4",
"source": {
"type": "git",
"url": "https://github.com/doctrine/deprecations.git",
- "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931"
+ "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931",
- "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931",
+ "url": "https://api.github.com/repos/doctrine/deprecations/zipball/31610dbb31faa98e6b5447b62340826f54fbc4e9",
+ "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0"
},
"require-dev": {
- "doctrine/coding-standard": "^9",
- "phpstan/phpstan": "1.4.10 || 1.10.15",
- "phpstan/phpstan-phpunit": "^1.0",
+ "doctrine/coding-standard": "^9 || ^12",
+ "phpstan/phpstan": "1.4.10 || 2.0.3",
+ "phpstan/phpstan-phpunit": "^1.0 || ^2",
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
- "psalm/plugin-phpunit": "0.18.4",
- "psr/log": "^1 || ^2 || ^3",
- "vimeo/psalm": "4.30.0 || 5.12.0"
+ "psr/log": "^1 || ^2 || ^3"
},
"suggest": {
"psr/log": "Allows logging deprecations via PSR-3 logger implementation"
@@ -271,7 +269,7 @@
"type": "library",
"autoload": {
"psr-4": {
- "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations"
+ "Doctrine\\Deprecations\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -282,22 +280,22 @@
"homepage": "https://www.doctrine-project.org/",
"support": {
"issues": "https://github.com/doctrine/deprecations/issues",
- "source": "https://github.com/doctrine/deprecations/tree/1.1.2"
+ "source": "https://github.com/doctrine/deprecations/tree/1.1.4"
},
- "time": "2023-09-27T20:04:15+00:00"
+ "time": "2024-12-07T21:18:45+00:00"
},
{
"name": "doctrine/lexer",
- "version": "2.1.0",
+ "version": "2.1.1",
"source": {
"type": "git",
"url": "https://github.com/doctrine/lexer.git",
- "reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124"
+ "reference": "861c870e8b75f7c8f69c146c7f89cc1c0f1b49b6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/lexer/zipball/39ab8fcf5a51ce4b85ca97c7a7d033eb12831124",
- "reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124",
+ "url": "https://api.github.com/repos/doctrine/lexer/zipball/861c870e8b75f7c8f69c146c7f89cc1c0f1b49b6",
+ "reference": "861c870e8b75f7c8f69c146c7f89cc1c0f1b49b6",
"shasum": ""
},
"require": {
@@ -305,11 +303,11 @@
"php": "^7.1 || ^8.0"
},
"require-dev": {
- "doctrine/coding-standard": "^9 || ^10",
+ "doctrine/coding-standard": "^9 || ^12",
"phpstan/phpstan": "^1.3",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6",
"psalm/plugin-phpunit": "^0.18.3",
- "vimeo/psalm": "^4.11 || ^5.0"
+ "vimeo/psalm": "^4.11 || ^5.21"
},
"type": "library",
"autoload": {
@@ -346,7 +344,7 @@
],
"support": {
"issues": "https://github.com/doctrine/lexer/issues",
- "source": "https://github.com/doctrine/lexer/tree/2.1.0"
+ "source": "https://github.com/doctrine/lexer/tree/2.1.1"
},
"funding": [
{
@@ -362,7 +360,7 @@
"type": "tidelift"
}
],
- "time": "2022-12-14T08:49:07+00:00"
+ "time": "2024-02-05T11:35:39+00:00"
},
{
"name": "egulias/email-validator",
@@ -834,16 +832,16 @@
},
{
"name": "monolog/monolog",
- "version": "2.9.2",
+ "version": "2.10.0",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
- "reference": "437cb3628f4cf6042cc10ae97fc2b8472e48ca1f"
+ "reference": "5cf826f2991858b54d5c3809bee745560a1042a7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/437cb3628f4cf6042cc10ae97fc2b8472e48ca1f",
- "reference": "437cb3628f4cf6042cc10ae97fc2b8472e48ca1f",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/5cf826f2991858b54d5c3809bee745560a1042a7",
+ "reference": "5cf826f2991858b54d5c3809bee745560a1042a7",
"shasum": ""
},
"require": {
@@ -864,8 +862,8 @@
"mongodb/mongodb": "^1.8",
"php-amqplib/php-amqplib": "~2.4 || ^3",
"phpspec/prophecy": "^1.15",
- "phpstan/phpstan": "^0.12.91",
- "phpunit/phpunit": "^8.5.14",
+ "phpstan/phpstan": "^1.10",
+ "phpunit/phpunit": "^8.5.38 || ^9.6.19",
"predis/predis": "^1.1 || ^2.0",
"rollbar/rollbar": "^1.3 || ^2 || ^3",
"ruflin/elastica": "^7",
@@ -920,7 +918,7 @@
],
"support": {
"issues": "https://github.com/Seldaek/monolog/issues",
- "source": "https://github.com/Seldaek/monolog/tree/2.9.2"
+ "source": "https://github.com/Seldaek/monolog/tree/2.10.0"
},
"funding": [
{
@@ -932,20 +930,20 @@
"type": "tidelift"
}
],
- "time": "2023-10-27T15:25:26+00:00"
+ "time": "2024-11-12T12:43:37+00:00"
},
{
"name": "pda/pheanstalk",
- "version": "v4.0.4",
+ "version": "v4.0.5",
"source": {
"type": "git",
"url": "https://github.com/pheanstalk/pheanstalk.git",
- "reference": "1a43eb97a53144a2e692bce2ea2be721cc9913a4"
+ "reference": "1459f2f62dddfe28902e0584708417dddd79bd70"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/pheanstalk/pheanstalk/zipball/1a43eb97a53144a2e692bce2ea2be721cc9913a4",
- "reference": "1a43eb97a53144a2e692bce2ea2be721cc9913a4",
+ "url": "https://api.github.com/repos/pheanstalk/pheanstalk/zipball/1459f2f62dddfe28902e0584708417dddd79bd70",
+ "reference": "1459f2f62dddfe28902e0584708417dddd79bd70",
"shasum": ""
},
"require": {
@@ -985,9 +983,9 @@
],
"support": {
"issues": "https://github.com/pheanstalk/pheanstalk/issues",
- "source": "https://github.com/pheanstalk/pheanstalk/tree/v4.0.4"
+ "source": "https://github.com/pheanstalk/pheanstalk/tree/v4.0.5"
},
- "time": "2021-11-19T15:00:20+00:00"
+ "time": "2024-01-11T15:06:06+00:00"
},
{
"name": "php-censor/common",
@@ -1609,16 +1607,16 @@
},
{
"name": "sebastian/diff",
- "version": "4.0.5",
+ "version": "4.0.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131"
+ "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
- "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc",
+ "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc",
"shasum": ""
},
"require": {
@@ -1663,7 +1661,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
- "source": "https://github.com/sebastianbergmann/diff/tree/4.0.5"
+ "source": "https://github.com/sebastianbergmann/diff/tree/4.0.6"
},
"funding": [
{
@@ -1671,20 +1669,20 @@
"type": "github"
}
],
- "time": "2023-05-07T05:35:17+00:00"
+ "time": "2024-03-02T06:30:58+00:00"
},
{
"name": "sensiolabs/ansi-to-html",
- "version": "v1.2.1",
+ "version": "v1.3.0",
"source": {
"type": "git",
"url": "https://github.com/sensiolabs/ansi-to-html.git",
- "reference": "94a3145aae4733ff933c8910263ef56d1ae317a9"
+ "reference": "7a6c16623c02bdbcbe907ab2abcf465ebb31db72"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sensiolabs/ansi-to-html/zipball/94a3145aae4733ff933c8910263ef56d1ae317a9",
- "reference": "94a3145aae4733ff933c8910263ef56d1ae317a9",
+ "url": "https://api.github.com/repos/sensiolabs/ansi-to-html/zipball/7a6c16623c02bdbcbe907ab2abcf465ebb31db72",
+ "reference": "7a6c16623c02bdbcbe907ab2abcf465ebb31db72",
"shasum": ""
},
"require": {
@@ -1700,11 +1698,6 @@
"twig/twig": "Provides nice templating features"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.2-dev"
- }
- },
"autoload": {
"psr-4": {
"SensioLabs\\AnsiConverter\\": "SensioLabs/AnsiConverter"
@@ -1723,9 +1716,9 @@
"description": "A library to convert a text with ANSI codes to HTML",
"support": {
"issues": "https://github.com/sensiolabs/ansi-to-html/issues",
- "source": "https://github.com/sensiolabs/ansi-to-html/tree/v1.2.1"
+ "source": "https://github.com/sensiolabs/ansi-to-html/tree/v1.3.0"
},
- "time": "2020-10-06T05:48:55+00:00"
+ "time": "2024-11-25T09:31:54+00:00"
},
{
"name": "swiftmailer/swiftmailer",
@@ -1805,16 +1798,16 @@
},
{
"name": "symfony/browser-kit",
- "version": "v5.4.31",
+ "version": "v5.4.45",
"source": {
"type": "git",
"url": "https://github.com/symfony/browser-kit.git",
- "reference": "0ed1f634a36606f2065eec221b3975e05016cbbe"
+ "reference": "03cce39764429e07fbab9b989a1182a24578341d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/browser-kit/zipball/0ed1f634a36606f2065eec221b3975e05016cbbe",
- "reference": "0ed1f634a36606f2065eec221b3975e05016cbbe",
+ "url": "https://api.github.com/repos/symfony/browser-kit/zipball/03cce39764429e07fbab9b989a1182a24578341d",
+ "reference": "03cce39764429e07fbab9b989a1182a24578341d",
"shasum": ""
},
"require": {
@@ -1857,7 +1850,7 @@
"description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/browser-kit/tree/v5.4.31"
+ "source": "https://github.com/symfony/browser-kit/tree/v5.4.45"
},
"funding": [
{
@@ -1873,20 +1866,20 @@
"type": "tidelift"
}
],
- "time": "2023-10-31T07:58:33+00:00"
+ "time": "2024-10-22T13:05:35+00:00"
},
{
"name": "symfony/cache",
- "version": "v5.4.32",
+ "version": "v5.4.46",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache.git",
- "reference": "2553faca77502a4f68dc93cd2f3b9ec650751e40"
+ "reference": "0fe08ee32cec2748fbfea10c52d3ee02049e0f6b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/cache/zipball/2553faca77502a4f68dc93cd2f3b9ec650751e40",
- "reference": "2553faca77502a4f68dc93cd2f3b9ec650751e40",
+ "url": "https://api.github.com/repos/symfony/cache/zipball/0fe08ee32cec2748fbfea10c52d3ee02049e0f6b",
+ "reference": "0fe08ee32cec2748fbfea10c52d3ee02049e0f6b",
"shasum": ""
},
"require": {
@@ -1915,7 +1908,7 @@
"cache/integration-tests": "dev-master",
"doctrine/cache": "^1.6|^2.0",
"doctrine/dbal": "^2.13.1|^3|^4",
- "predis/predis": "^1.1",
+ "predis/predis": "^1.1|^2.0",
"psr/simple-cache": "^1.0|^2.0",
"symfony/config": "^4.4|^5.0|^6.0",
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
@@ -1954,7 +1947,7 @@
"psr6"
],
"support": {
- "source": "https://github.com/symfony/cache/tree/v5.4.32"
+ "source": "https://github.com/symfony/cache/tree/v5.4.46"
},
"funding": [
{
@@ -1970,20 +1963,20 @@
"type": "tidelift"
}
],
- "time": "2023-11-24T13:04:07+00:00"
+ "time": "2024-11-04T11:43:55+00:00"
},
{
"name": "symfony/cache-contracts",
- "version": "v2.5.2",
+ "version": "v2.5.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache-contracts.git",
- "reference": "64be4a7acb83b6f2bf6de9a02cee6dad41277ebc"
+ "reference": "517c3a3619dadfa6952c4651767fcadffb4df65e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/64be4a7acb83b6f2bf6de9a02cee6dad41277ebc",
- "reference": "64be4a7acb83b6f2bf6de9a02cee6dad41277ebc",
+ "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/517c3a3619dadfa6952c4651767fcadffb4df65e",
+ "reference": "517c3a3619dadfa6952c4651767fcadffb4df65e",
"shasum": ""
},
"require": {
@@ -1995,12 +1988,12 @@
},
"type": "library",
"extra": {
+ "thanks": {
+ "url": "https://github.com/symfony/contracts",
+ "name": "symfony/contracts"
+ },
"branch-alias": {
"dev-main": "2.5-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
}
},
"autoload": {
@@ -2033,7 +2026,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/cache-contracts/tree/v2.5.2"
+ "source": "https://github.com/symfony/cache-contracts/tree/v2.5.4"
},
"funding": [
{
@@ -2049,20 +2042,20 @@
"type": "tidelift"
}
],
- "time": "2022-01-02T09:53:40+00:00"
+ "time": "2024-09-25T14:11:13+00:00"
},
{
"name": "symfony/config",
- "version": "v5.4.31",
+ "version": "v5.4.46",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
- "reference": "dd5ea39de228813aba0c23c3a4153da2a4cf3cd9"
+ "reference": "977c88a02d7d3f16904a81907531b19666a08e78"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/dd5ea39de228813aba0c23c3a4153da2a4cf3cd9",
- "reference": "dd5ea39de228813aba0c23c3a4153da2a4cf3cd9",
+ "url": "https://api.github.com/repos/symfony/config/zipball/977c88a02d7d3f16904a81907531b19666a08e78",
+ "reference": "977c88a02d7d3f16904a81907531b19666a08e78",
"shasum": ""
},
"require": {
@@ -2112,7 +2105,7 @@
"description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/config/tree/v5.4.31"
+ "source": "https://github.com/symfony/config/tree/v5.4.46"
},
"funding": [
{
@@ -2128,20 +2121,20 @@
"type": "tidelift"
}
],
- "time": "2023-11-09T08:22:43+00:00"
+ "time": "2024-10-30T07:58:02+00:00"
},
{
"name": "symfony/console",
- "version": "v5.4.32",
+ "version": "v5.4.47",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "c70df1ffaf23a8d340bded3cfab1b86752ad6ed7"
+ "reference": "c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/c70df1ffaf23a8d340bded3cfab1b86752ad6ed7",
- "reference": "c70df1ffaf23a8d340bded3cfab1b86752ad6ed7",
+ "url": "https://api.github.com/repos/symfony/console/zipball/c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed",
+ "reference": "c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed",
"shasum": ""
},
"require": {
@@ -2211,7 +2204,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v5.4.32"
+ "source": "https://github.com/symfony/console/tree/v5.4.47"
},
"funding": [
{
@@ -2227,20 +2220,20 @@
"type": "tidelift"
}
],
- "time": "2023-11-18T18:23:04+00:00"
+ "time": "2024-11-06T11:30:55+00:00"
},
{
"name": "symfony/css-selector",
- "version": "v5.4.26",
+ "version": "v5.4.45",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
- "reference": "0ad3f7e9a1ab492c5b4214cf22a9dc55dcf8600a"
+ "reference": "4f7f3c35fba88146b56d0025d20ace3f3901f097"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/css-selector/zipball/0ad3f7e9a1ab492c5b4214cf22a9dc55dcf8600a",
- "reference": "0ad3f7e9a1ab492c5b4214cf22a9dc55dcf8600a",
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/4f7f3c35fba88146b56d0025d20ace3f3901f097",
+ "reference": "4f7f3c35fba88146b56d0025d20ace3f3901f097",
"shasum": ""
},
"require": {
@@ -2277,7 +2270,7 @@
"description": "Converts CSS selectors to XPath expressions",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/css-selector/tree/v5.4.26"
+ "source": "https://github.com/symfony/css-selector/tree/v5.4.45"
},
"funding": [
{
@@ -2293,20 +2286,20 @@
"type": "tidelift"
}
],
- "time": "2023-07-07T06:10:25+00:00"
+ "time": "2024-09-25T14:11:13+00:00"
},
{
"name": "symfony/dependency-injection",
- "version": "v5.4.33",
+ "version": "v5.4.48",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
- "reference": "14969a558cd6382b2a12b14b20ef9a851a02da79"
+ "reference": "e5ca16dee39ef7d63e552ff0bf0a2526a1142c92"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/14969a558cd6382b2a12b14b20ef9a851a02da79",
- "reference": "14969a558cd6382b2a12b14b20ef9a851a02da79",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/e5ca16dee39ef7d63e552ff0bf0a2526a1142c92",
+ "reference": "e5ca16dee39ef7d63e552ff0bf0a2526a1142c92",
"shasum": ""
},
"require": {
@@ -2366,7 +2359,7 @@
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/dependency-injection/tree/v5.4.33"
+ "source": "https://github.com/symfony/dependency-injection/tree/v5.4.48"
},
"funding": [
{
@@ -2382,20 +2375,20 @@
"type": "tidelift"
}
],
- "time": "2023-11-30T08:15:37+00:00"
+ "time": "2024-11-20T10:51:57+00:00"
},
{
"name": "symfony/deprecation-contracts",
- "version": "v2.5.2",
+ "version": "v2.5.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66"
+ "reference": "605389f2a7e5625f273b53960dc46aeaf9c62918"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66",
- "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/605389f2a7e5625f273b53960dc46aeaf9c62918",
+ "reference": "605389f2a7e5625f273b53960dc46aeaf9c62918",
"shasum": ""
},
"require": {
@@ -2403,12 +2396,12 @@
},
"type": "library",
"extra": {
+ "thanks": {
+ "url": "https://github.com/symfony/contracts",
+ "name": "symfony/contracts"
+ },
"branch-alias": {
"dev-main": "2.5-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
}
},
"autoload": {
@@ -2433,7 +2426,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2"
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.4"
},
"funding": [
{
@@ -2449,20 +2442,20 @@
"type": "tidelift"
}
],
- "time": "2022-01-02T09:53:40+00:00"
+ "time": "2024-09-25T14:11:13+00:00"
},
{
"name": "symfony/dom-crawler",
- "version": "v5.4.32",
+ "version": "v5.4.48",
"source": {
"type": "git",
"url": "https://github.com/symfony/dom-crawler.git",
- "reference": "728f1fc136252a626ba5a69c02bd66a3697ff201"
+ "reference": "b57df76f4757a9a8dfbb57ba48d7780cc20776c6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/728f1fc136252a626ba5a69c02bd66a3697ff201",
- "reference": "728f1fc136252a626ba5a69c02bd66a3697ff201",
+ "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/b57df76f4757a9a8dfbb57ba48d7780cc20776c6",
+ "reference": "b57df76f4757a9a8dfbb57ba48d7780cc20776c6",
"shasum": ""
},
"require": {
@@ -2508,7 +2501,7 @@
"description": "Eases DOM navigation for HTML and XML documents",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/dom-crawler/tree/v5.4.32"
+ "source": "https://github.com/symfony/dom-crawler/tree/v5.4.48"
},
"funding": [
{
@@ -2524,20 +2517,20 @@
"type": "tidelift"
}
],
- "time": "2023-11-17T20:43:48+00:00"
+ "time": "2024-11-13T14:36:38+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v5.4.26",
+ "version": "v5.4.45",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "5dcc00e03413f05c1e7900090927bb7247cb0aac"
+ "reference": "72982eb416f61003e9bb6e91f8b3213600dcf9e9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/5dcc00e03413f05c1e7900090927bb7247cb0aac",
- "reference": "5dcc00e03413f05c1e7900090927bb7247cb0aac",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/72982eb416f61003e9bb6e91f8b3213600dcf9e9",
+ "reference": "72982eb416f61003e9bb6e91f8b3213600dcf9e9",
"shasum": ""
},
"require": {
@@ -2593,7 +2586,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/v5.4.26"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.45"
},
"funding": [
{
@@ -2609,20 +2602,20 @@
"type": "tidelift"
}
],
- "time": "2023-07-06T06:34:20+00:00"
+ "time": "2024-09-25T14:11:13+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
- "version": "v2.5.2",
+ "version": "v2.5.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
- "reference": "f98b54df6ad059855739db6fcbc2d36995283fe1"
+ "reference": "e0fe3d79b516eb75126ac6fa4cbf19b79b08c99f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/f98b54df6ad059855739db6fcbc2d36995283fe1",
- "reference": "f98b54df6ad059855739db6fcbc2d36995283fe1",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/e0fe3d79b516eb75126ac6fa4cbf19b79b08c99f",
+ "reference": "e0fe3d79b516eb75126ac6fa4cbf19b79b08c99f",
"shasum": ""
},
"require": {
@@ -2634,12 +2627,12 @@
},
"type": "library",
"extra": {
+ "thanks": {
+ "url": "https://github.com/symfony/contracts",
+ "name": "symfony/contracts"
+ },
"branch-alias": {
"dev-main": "2.5-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
}
},
"autoload": {
@@ -2672,7 +2665,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.2"
+ "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.4"
},
"funding": [
{
@@ -2688,20 +2681,20 @@
"type": "tidelift"
}
],
- "time": "2022-01-02T09:53:40+00:00"
+ "time": "2024-09-25T14:11:13+00:00"
},
{
"name": "symfony/filesystem",
- "version": "v5.4.25",
+ "version": "v5.4.45",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364"
+ "reference": "57c8294ed37d4a055b77057827c67f9558c95c54"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/0ce3a62c9579a53358d3a7eb6b3dfb79789a6364",
- "reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/57c8294ed37d4a055b77057827c67f9558c95c54",
+ "reference": "57c8294ed37d4a055b77057827c67f9558c95c54",
"shasum": ""
},
"require": {
@@ -2710,6 +2703,9 @@
"symfony/polyfill-mbstring": "~1.8",
"symfony/polyfill-php80": "^1.16"
},
+ "require-dev": {
+ "symfony/process": "^5.4|^6.4"
+ },
"type": "library",
"autoload": {
"psr-4": {
@@ -2736,7 +2732,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/filesystem/tree/v5.4.25"
+ "source": "https://github.com/symfony/filesystem/tree/v5.4.45"
},
"funding": [
{
@@ -2752,20 +2748,20 @@
"type": "tidelift"
}
],
- "time": "2023-05-31T13:04:02+00:00"
+ "time": "2024-10-22T13:05:35+00:00"
},
{
"name": "symfony/finder",
- "version": "v5.4.27",
+ "version": "v5.4.45",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "ff4bce3c33451e7ec778070e45bd23f74214cd5d"
+ "reference": "63741784cd7b9967975eec610b256eed3ede022b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/ff4bce3c33451e7ec778070e45bd23f74214cd5d",
- "reference": "ff4bce3c33451e7ec778070e45bd23f74214cd5d",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/63741784cd7b9967975eec610b256eed3ede022b",
+ "reference": "63741784cd7b9967975eec610b256eed3ede022b",
"shasum": ""
},
"require": {
@@ -2799,7 +2795,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v5.4.27"
+ "source": "https://github.com/symfony/finder/tree/v5.4.45"
},
"funding": [
{
@@ -2815,20 +2811,20 @@
"type": "tidelift"
}
],
- "time": "2023-07-31T08:02:31+00:00"
+ "time": "2024-09-28T13:32:08+00:00"
},
{
"name": "symfony/http-foundation",
- "version": "v5.4.32",
+ "version": "v5.4.48",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "cbcd80a4c36f59772d62860fdb0cb6a38da63fd2"
+ "reference": "3f38b8af283b830e1363acd79e5bc3412d055341"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/cbcd80a4c36f59772d62860fdb0cb6a38da63fd2",
- "reference": "cbcd80a4c36f59772d62860fdb0cb6a38da63fd2",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/3f38b8af283b830e1363acd79e5bc3412d055341",
+ "reference": "3f38b8af283b830e1363acd79e5bc3412d055341",
"shasum": ""
},
"require": {
@@ -2838,7 +2834,7 @@
"symfony/polyfill-php80": "^1.16"
},
"require-dev": {
- "predis/predis": "~1.0",
+ "predis/predis": "^1.0|^2.0",
"symfony/cache": "^4.4|^5.0|^6.0",
"symfony/dependency-injection": "^5.4|^6.0",
"symfony/expression-language": "^4.4|^5.0|^6.0",
@@ -2875,7 +2871,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-foundation/tree/v5.4.32"
+ "source": "https://github.com/symfony/http-foundation/tree/v5.4.48"
},
"funding": [
{
@@ -2891,20 +2887,20 @@
"type": "tidelift"
}
],
- "time": "2023-11-20T15:40:25+00:00"
+ "time": "2024-11-13T18:58:02+00:00"
},
{
"name": "symfony/mailer",
- "version": "v5.4.31",
+ "version": "v5.4.45",
"source": {
"type": "git",
"url": "https://github.com/symfony/mailer.git",
- "reference": "5ca8a7628a5ee69767047dd0f4cf4c9521c999b8"
+ "reference": "f732e1fafdf0f4a2d865e91f1018aaca174aeed9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mailer/zipball/5ca8a7628a5ee69767047dd0f4cf4c9521c999b8",
- "reference": "5ca8a7628a5ee69767047dd0f4cf4c9521c999b8",
+ "url": "https://api.github.com/repos/symfony/mailer/zipball/f732e1fafdf0f4a2d865e91f1018aaca174aeed9",
+ "reference": "f732e1fafdf0f4a2d865e91f1018aaca174aeed9",
"shasum": ""
},
"require": {
@@ -2951,7 +2947,7 @@
"description": "Helps sending emails",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/mailer/tree/v5.4.31"
+ "source": "https://github.com/symfony/mailer/tree/v5.4.45"
},
"funding": [
{
@@ -2967,20 +2963,20 @@
"type": "tidelift"
}
],
- "time": "2023-11-03T16:16:43+00:00"
+ "time": "2024-09-25T14:11:13+00:00"
},
{
"name": "symfony/mime",
- "version": "v5.4.26",
+ "version": "v5.4.45",
"source": {
"type": "git",
"url": "https://github.com/symfony/mime.git",
- "reference": "2ea06dfeee20000a319d8407cea1d47533d5a9d2"
+ "reference": "8c1b9b3e5b52981551fc6044539af1d974e39064"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mime/zipball/2ea06dfeee20000a319d8407cea1d47533d5a9d2",
- "reference": "2ea06dfeee20000a319d8407cea1d47533d5a9d2",
+ "url": "https://api.github.com/repos/symfony/mime/zipball/8c1b9b3e5b52981551fc6044539af1d974e39064",
+ "reference": "8c1b9b3e5b52981551fc6044539af1d974e39064",
"shasum": ""
},
"require": {
@@ -2995,15 +2991,16 @@
"phpdocumentor/reflection-docblock": "<3.2.2",
"phpdocumentor/type-resolver": "<1.4.0",
"symfony/mailer": "<4.4",
- "symfony/serializer": "<5.4.26|>=6,<6.2.13|>=6.3,<6.3.2"
+ "symfony/serializer": "<5.4.35|>=6,<6.3.12|>=6.4,<6.4.3"
},
"require-dev": {
"egulias/email-validator": "^2.1.10|^3.1|^4",
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
+ "symfony/process": "^5.4|^6.4",
"symfony/property-access": "^4.4|^5.1|^6.0",
"symfony/property-info": "^4.4|^5.1|^6.0",
- "symfony/serializer": "^5.4.26|~6.2.13|^6.3.2"
+ "symfony/serializer": "^5.4.35|~6.3.12|^6.4.3"
},
"type": "library",
"autoload": {
@@ -3035,7 +3032,7 @@
"mime-type"
],
"support": {
- "source": "https://github.com/symfony/mime/tree/v5.4.26"
+ "source": "https://github.com/symfony/mime/tree/v5.4.45"
},
"funding": [
{
@@ -3051,24 +3048,24 @@
"type": "tidelift"
}
],
- "time": "2023-07-27T06:29:31+00:00"
+ "time": "2024-10-23T20:18:32+00:00"
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.28.0",
+ "version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb"
+ "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
- "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638",
+ "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"provide": {
"ext-ctype": "*"
@@ -3078,12 +3075,9 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -3117,7 +3111,7 @@
"portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0"
},
"funding": [
{
@@ -3133,24 +3127,24 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-iconv",
- "version": "v1.28.0",
+ "version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-iconv.git",
- "reference": "6de50471469b8c9afc38164452ab2b6170ee71c1"
+ "reference": "48becf00c920479ca2e910c22a5a39e5d47ca956"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/6de50471469b8c9afc38164452ab2b6170ee71c1",
- "reference": "6de50471469b8c9afc38164452ab2b6170ee71c1",
+ "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/48becf00c920479ca2e910c22a5a39e5d47ca956",
+ "reference": "48becf00c920479ca2e910c22a5a39e5d47ca956",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"provide": {
"ext-iconv": "*"
@@ -3160,12 +3154,9 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -3200,7 +3191,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-iconv/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-iconv/tree/v1.31.0"
},
"funding": [
{
@@ -3216,36 +3207,33 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
- "version": "v1.28.0",
+ "version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "875e90aeea2777b6f135677f618529449334a612"
+ "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612",
- "reference": "875e90aeea2777b6f135677f618529449334a612",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe",
+ "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"suggest": {
"ext-intl": "For best performance"
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -3281,7 +3269,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0"
},
"funding": [
{
@@ -3297,38 +3285,34 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-intl-idn",
- "version": "v1.28.0",
+ "version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-idn.git",
- "reference": "ecaafce9f77234a6a449d29e49267ba10499116d"
+ "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/ecaafce9f77234a6a449d29e49267ba10499116d",
- "reference": "ecaafce9f77234a6a449d29e49267ba10499116d",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/c36586dcf89a12315939e00ec9b4474adcb1d773",
+ "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773",
"shasum": ""
},
"require": {
- "php": ">=7.1",
- "symfony/polyfill-intl-normalizer": "^1.10",
- "symfony/polyfill-php72": "^1.10"
+ "php": ">=7.2",
+ "symfony/polyfill-intl-normalizer": "^1.10"
},
"suggest": {
"ext-intl": "For best performance"
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -3368,7 +3352,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.31.0"
},
"funding": [
{
@@ -3384,36 +3368,33 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:30:37+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
- "version": "v1.28.0",
+ "version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
- "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92"
+ "reference": "3833d7255cc303546435cb650316bff708a1c75c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
- "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c",
+ "reference": "3833d7255cc303546435cb650316bff708a1c75c",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"suggest": {
"ext-intl": "For best performance"
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -3452,7 +3433,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0"
},
"funding": [
{
@@ -3468,24 +3449,24 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.28.0",
+ "version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "42292d99c55abe617799667f454222c54c60e229"
+ "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229",
- "reference": "42292d99c55abe617799667f454222c54c60e229",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341",
+ "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"provide": {
"ext-mbstring": "*"
@@ -3495,12 +3476,9 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -3535,7 +3513,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0"
},
"funding": [
{
@@ -3551,41 +3529,30 @@
"type": "tidelift"
}
],
- "time": "2023-07-28T09:04:16+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-php72",
- "version": "v1.28.0",
+ "version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php72.git",
- "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179"
+ "reference": "fa2ae56c44f03bed91a39bfc9822e31e7c5c38ce"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/70f4aebd92afca2f865444d30a4d2151c13c3179",
- "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179",
+ "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/fa2ae56c44f03bed91a39bfc9822e31e7c5c38ce",
+ "reference": "fa2ae56c44f03bed91a39bfc9822e31e7c5c38ce",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
- "type": "library",
+ "type": "metapackage",
"extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Php72\\": ""
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -3611,7 +3578,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php72/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-php72/tree/v1.31.0"
},
"funding": [
{
@@ -3627,33 +3594,30 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-php73",
- "version": "v1.28.0",
+ "version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php73.git",
- "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5"
+ "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fe2f306d1d9d346a7fee353d0d5012e401e984b5",
- "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5",
+ "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/0f68c03565dcaaf25a890667542e8bd75fe7e5bb",
+ "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -3690,7 +3654,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php73/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-php73/tree/v1.31.0"
},
"funding": [
{
@@ -3706,33 +3670,30 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-php80",
- "version": "v1.28.0",
+ "version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5"
+ "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
- "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
+ "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -3773,7 +3734,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0"
},
"funding": [
{
@@ -3789,33 +3750,30 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-php81",
- "version": "v1.28.0",
+ "version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php81.git",
- "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b"
+ "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/7581cd600fa9fd681b797d00b02f068e2f13263b",
- "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b",
+ "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
+ "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2"
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -3852,7 +3810,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php81/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0"
},
"funding": [
{
@@ -3868,20 +3826,20 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/process",
- "version": "v5.4.28",
+ "version": "v5.4.47",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "45261e1fccad1b5447a8d7a8e67aa7b4a9798b7b"
+ "reference": "5d1662fb32ebc94f17ddb8d635454a776066733d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/45261e1fccad1b5447a8d7a8e67aa7b4a9798b7b",
- "reference": "45261e1fccad1b5447a8d7a8e67aa7b4a9798b7b",
+ "url": "https://api.github.com/repos/symfony/process/zipball/5d1662fb32ebc94f17ddb8d635454a776066733d",
+ "reference": "5d1662fb32ebc94f17ddb8d635454a776066733d",
"shasum": ""
},
"require": {
@@ -3914,7 +3872,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v5.4.28"
+ "source": "https://github.com/symfony/process/tree/v5.4.47"
},
"funding": [
{
@@ -3930,20 +3888,20 @@
"type": "tidelift"
}
],
- "time": "2023-08-07T10:36:04+00:00"
+ "time": "2024-11-06T11:36:42+00:00"
},
{
"name": "symfony/service-contracts",
- "version": "v2.5.2",
+ "version": "v2.5.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
- "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c"
+ "reference": "f37b419f7aea2e9abf10abd261832cace12e3300"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c",
- "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f37b419f7aea2e9abf10abd261832cace12e3300",
+ "reference": "f37b419f7aea2e9abf10abd261832cace12e3300",
"shasum": ""
},
"require": {
@@ -3959,12 +3917,12 @@
},
"type": "library",
"extra": {
+ "thanks": {
+ "url": "https://github.com/symfony/contracts",
+ "name": "symfony/contracts"
+ },
"branch-alias": {
"dev-main": "2.5-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
}
},
"autoload": {
@@ -3997,7 +3955,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/service-contracts/tree/v2.5.2"
+ "source": "https://github.com/symfony/service-contracts/tree/v2.5.4"
},
"funding": [
{
@@ -4013,20 +3971,20 @@
"type": "tidelift"
}
],
- "time": "2022-05-30T19:17:29+00:00"
+ "time": "2024-09-25T14:11:13+00:00"
},
{
"name": "symfony/string",
- "version": "v5.4.32",
+ "version": "v5.4.47",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "91bf4453d65d8231688a04376c3a40efe0770f04"
+ "reference": "136ca7d72f72b599f2631aca474a4f8e26719799"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/91bf4453d65d8231688a04376c3a40efe0770f04",
- "reference": "91bf4453d65d8231688a04376c3a40efe0770f04",
+ "url": "https://api.github.com/repos/symfony/string/zipball/136ca7d72f72b599f2631aca474a4f8e26719799",
+ "reference": "136ca7d72f72b599f2631aca474a4f8e26719799",
"shasum": ""
},
"require": {
@@ -4083,7 +4041,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v5.4.32"
+ "source": "https://github.com/symfony/string/tree/v5.4.47"
},
"funding": [
{
@@ -4099,20 +4057,20 @@
"type": "tidelift"
}
],
- "time": "2023-11-26T13:43:46+00:00"
+ "time": "2024-11-10T20:33:58+00:00"
},
{
"name": "symfony/var-exporter",
- "version": "v5.4.32",
+ "version": "v5.4.45",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-exporter.git",
- "reference": "fdb022f0d3d41df240c18e2eb9a117c430f06add"
+ "reference": "862700068db0ddfd8c5b850671e029a90246ec75"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-exporter/zipball/fdb022f0d3d41df240c18e2eb9a117c430f06add",
- "reference": "fdb022f0d3d41df240c18e2eb9a117c430f06add",
+ "url": "https://api.github.com/repos/symfony/var-exporter/zipball/862700068db0ddfd8c5b850671e029a90246ec75",
+ "reference": "862700068db0ddfd8c5b850671e029a90246ec75",
"shasum": ""
},
"require": {
@@ -4156,7 +4114,7 @@
"serialize"
],
"support": {
- "source": "https://github.com/symfony/var-exporter/tree/v5.4.32"
+ "source": "https://github.com/symfony/var-exporter/tree/v5.4.45"
},
"funding": [
{
@@ -4172,20 +4130,20 @@
"type": "tidelift"
}
],
- "time": "2023-11-16T19:33:05+00:00"
+ "time": "2024-09-25T14:11:13+00:00"
},
{
"name": "symfony/yaml",
- "version": "v5.4.31",
+ "version": "v5.4.45",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "f387675d7f5fc4231f7554baa70681f222f73563"
+ "reference": "a454d47278cc16a5db371fe73ae66a78a633371e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/f387675d7f5fc4231f7554baa70681f222f73563",
- "reference": "f387675d7f5fc4231f7554baa70681f222f73563",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/a454d47278cc16a5db371fe73ae66a78a633371e",
+ "reference": "a454d47278cc16a5db371fe73ae66a78a633371e",
"shasum": ""
},
"require": {
@@ -4231,7 +4189,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/yaml/tree/v5.4.31"
+ "source": "https://github.com/symfony/yaml/tree/v5.4.45"
},
"funding": [
{
@@ -4247,7 +4205,7 @@
"type": "tidelift"
}
],
- "time": "2023-11-03T14:41:28+00:00"
+ "time": "2024-09-25T14:11:13+00:00"
},
{
"name": "voku/anti-xss",
@@ -4334,16 +4292,16 @@
},
{
"name": "voku/portable-ascii",
- "version": "2.0.1",
+ "version": "2.0.3",
"source": {
"type": "git",
"url": "https://github.com/voku/portable-ascii.git",
- "reference": "b56450eed252f6801410d810c8e1727224ae0743"
+ "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743",
- "reference": "b56450eed252f6801410d810c8e1727224ae0743",
+ "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b1d923f88091c6bf09699efcd7c8a1b1bfd7351d",
+ "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d",
"shasum": ""
},
"require": {
@@ -4368,7 +4326,7 @@
"authors": [
{
"name": "Lars Moelleken",
- "homepage": "http://www.moelleken.org/"
+ "homepage": "https://www.moelleken.org/"
}
],
"description": "Portable ASCII library - performance optimized (ascii) string functions for php.",
@@ -4380,7 +4338,7 @@
],
"support": {
"issues": "https://github.com/voku/portable-ascii/issues",
- "source": "https://github.com/voku/portable-ascii/tree/2.0.1"
+ "source": "https://github.com/voku/portable-ascii/tree/2.0.3"
},
"funding": [
{
@@ -4404,7 +4362,7 @@
"type": "tidelift"
}
],
- "time": "2022-03-08T17:03:00+00:00"
+ "time": "2024-11-21T01:49:47+00:00"
},
{
"name": "voku/portable-utf8",
@@ -4513,16 +4471,16 @@
"packages-dev": [
{
"name": "amphp/amp",
- "version": "v2.6.2",
+ "version": "v2.6.4",
"source": {
"type": "git",
"url": "https://github.com/amphp/amp.git",
- "reference": "9d5100cebffa729aaffecd3ad25dc5aeea4f13bb"
+ "reference": "ded3d9be08f526089eb7ee8d9f16a9768f9dec2d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/amphp/amp/zipball/9d5100cebffa729aaffecd3ad25dc5aeea4f13bb",
- "reference": "9d5100cebffa729aaffecd3ad25dc5aeea4f13bb",
+ "url": "https://api.github.com/repos/amphp/amp/zipball/ded3d9be08f526089eb7ee8d9f16a9768f9dec2d",
+ "reference": "ded3d9be08f526089eb7ee8d9f16a9768f9dec2d",
"shasum": ""
},
"require": {
@@ -4534,8 +4492,8 @@
"ext-json": "*",
"jetbrains/phpstorm-stubs": "^2019.3",
"phpunit/phpunit": "^7 | ^8 | ^9",
- "psalm/phar": "^3.11@dev",
- "react/promise": "^2"
+ "react/promise": "^2",
+ "vimeo/psalm": "^3.12"
},
"type": "library",
"extra": {
@@ -4590,7 +4548,7 @@
"support": {
"irc": "irc://irc.freenode.org/amphp",
"issues": "https://github.com/amphp/amp/issues",
- "source": "https://github.com/amphp/amp/tree/v2.6.2"
+ "source": "https://github.com/amphp/amp/tree/v2.6.4"
},
"funding": [
{
@@ -4598,20 +4556,20 @@
"type": "github"
}
],
- "time": "2022-02-20T17:52:18+00:00"
+ "time": "2024-03-21T18:52:26+00:00"
},
{
"name": "amphp/byte-stream",
- "version": "v1.8.1",
+ "version": "v1.8.2",
"source": {
"type": "git",
"url": "https://github.com/amphp/byte-stream.git",
- "reference": "acbd8002b3536485c997c4e019206b3f10ca15bd"
+ "reference": "4f0e968ba3798a423730f567b1b50d3441c16ddc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/amphp/byte-stream/zipball/acbd8002b3536485c997c4e019206b3f10ca15bd",
- "reference": "acbd8002b3536485c997c4e019206b3f10ca15bd",
+ "url": "https://api.github.com/repos/amphp/byte-stream/zipball/4f0e968ba3798a423730f567b1b50d3441c16ddc",
+ "reference": "4f0e968ba3798a423730f567b1b50d3441c16ddc",
"shasum": ""
},
"require": {
@@ -4627,11 +4585,6 @@
"psalm/phar": "^3.11.4"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.x-dev"
- }
- },
"autoload": {
"files": [
"lib/functions.php"
@@ -4655,7 +4608,7 @@
}
],
"description": "A stream abstraction to make working with non-blocking I/O simple.",
- "homepage": "http://amphp.org/byte-stream",
+ "homepage": "https://amphp.org/byte-stream",
"keywords": [
"amp",
"amphp",
@@ -4665,9 +4618,8 @@
"stream"
],
"support": {
- "irc": "irc://irc.freenode.org/amphp",
"issues": "https://github.com/amphp/byte-stream/issues",
- "source": "https://github.com/amphp/byte-stream/tree/v1.8.1"
+ "source": "https://github.com/amphp/byte-stream/tree/v1.8.2"
},
"funding": [
{
@@ -4675,7 +4627,7 @@
"type": "github"
}
],
- "time": "2021-03-30T17:13:30+00:00"
+ "time": "2024-04-13T18:00:56+00:00"
},
{
"name": "composer/package-versions-deprecated",
@@ -4823,24 +4775,24 @@
},
{
"name": "composer/semver",
- "version": "3.4.0",
+ "version": "3.4.3",
"source": {
"type": "git",
"url": "https://github.com/composer/semver.git",
- "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32"
+ "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/semver/zipball/35e8d0af4486141bc745f23a29cc2091eb624a32",
- "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32",
+ "url": "https://api.github.com/repos/composer/semver/zipball/4313d26ada5e0c4edfbd1dc481a92ff7bff91f12",
+ "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12",
"shasum": ""
},
"require": {
"php": "^5.3.2 || ^7.0 || ^8.0"
},
"require-dev": {
- "phpstan/phpstan": "^1.4",
- "symfony/phpunit-bridge": "^4.2 || ^5"
+ "phpstan/phpstan": "^1.11",
+ "symfony/phpunit-bridge": "^3 || ^7"
},
"type": "library",
"extra": {
@@ -4884,7 +4836,7 @@
"support": {
"irc": "ircs://irc.libera.chat:6697/composer",
"issues": "https://github.com/composer/semver/issues",
- "source": "https://github.com/composer/semver/tree/3.4.0"
+ "source": "https://github.com/composer/semver/tree/3.4.3"
},
"funding": [
{
@@ -4900,7 +4852,7 @@
"type": "tidelift"
}
],
- "time": "2023-08-31T09:50:34+00:00"
+ "time": "2024-09-19T14:15:21+00:00"
},
{
"name": "composer/xdebug-handler",
@@ -5007,16 +4959,16 @@
},
{
"name": "doctrine/annotations",
- "version": "1.14.3",
+ "version": "1.14.4",
"source": {
"type": "git",
"url": "https://github.com/doctrine/annotations.git",
- "reference": "fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af"
+ "reference": "253dca476f70808a5aeed3a47cc2cc88c5cab915"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/annotations/zipball/fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af",
- "reference": "fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af",
+ "url": "https://api.github.com/repos/doctrine/annotations/zipball/253dca476f70808a5aeed3a47cc2cc88c5cab915",
+ "reference": "253dca476f70808a5aeed3a47cc2cc88c5cab915",
"shasum": ""
},
"require": {
@@ -5027,11 +4979,11 @@
},
"require-dev": {
"doctrine/cache": "^1.11 || ^2.0",
- "doctrine/coding-standard": "^9 || ^10",
- "phpstan/phpstan": "~1.4.10 || ^1.8.0",
+ "doctrine/coding-standard": "^9 || ^12",
+ "phpstan/phpstan": "~1.4.10 || ^1.10.28",
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
- "symfony/cache": "^4.4 || ^5.4 || ^6",
- "vimeo/psalm": "^4.10"
+ "symfony/cache": "^4.4 || ^5.4 || ^6.4 || ^7",
+ "vimeo/psalm": "^4.30 || ^5.14"
},
"suggest": {
"php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations"
@@ -5077,9 +5029,9 @@
],
"support": {
"issues": "https://github.com/doctrine/annotations/issues",
- "source": "https://github.com/doctrine/annotations/tree/1.14.3"
+ "source": "https://github.com/doctrine/annotations/tree/1.14.4"
},
- "time": "2023-02-01T09:20:38+00:00"
+ "time": "2024-09-05T10:15:52+00:00"
},
{
"name": "doctrine/instantiator",
@@ -5198,16 +5150,16 @@
},
{
"name": "felixfbecker/language-server-protocol",
- "version": "v1.5.2",
+ "version": "v1.5.3",
"source": {
"type": "git",
"url": "https://github.com/felixfbecker/php-language-server-protocol.git",
- "reference": "6e82196ffd7c62f7794d778ca52b69feec9f2842"
+ "reference": "a9e113dbc7d849e35b8776da39edaf4313b7b6c9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/6e82196ffd7c62f7794d778ca52b69feec9f2842",
- "reference": "6e82196ffd7c62f7794d778ca52b69feec9f2842",
+ "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/a9e113dbc7d849e35b8776da39edaf4313b7b6c9",
+ "reference": "a9e113dbc7d849e35b8776da39edaf4313b7b6c9",
"shasum": ""
},
"require": {
@@ -5248,9 +5200,9 @@
],
"support": {
"issues": "https://github.com/felixfbecker/php-language-server-protocol/issues",
- "source": "https://github.com/felixfbecker/php-language-server-protocol/tree/v1.5.2"
+ "source": "https://github.com/felixfbecker/php-language-server-protocol/tree/v1.5.3"
},
- "time": "2022-03-02T22:36:06+00:00"
+ "time": "2024-04-30T00:40:11+00:00"
},
{
"name": "friendsofphp/php-cs-fixer",
@@ -5646,20 +5598,20 @@
},
{
"name": "justinrainbow/json-schema",
- "version": "v5.2.13",
+ "version": "5.3.0",
"source": {
"type": "git",
- "url": "https://github.com/justinrainbow/json-schema.git",
- "reference": "fbbe7e5d79f618997bc3332a6f49246036c45793"
+ "url": "https://github.com/jsonrainbow/json-schema.git",
+ "reference": "feb2ca6dd1cebdaf1ed60a4c8de2e53ce11c4fd8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/fbbe7e5d79f618997bc3332a6f49246036c45793",
- "reference": "fbbe7e5d79f618997bc3332a6f49246036c45793",
+ "url": "https://api.github.com/repos/jsonrainbow/json-schema/zipball/feb2ca6dd1cebdaf1ed60a4c8de2e53ce11c4fd8",
+ "reference": "feb2ca6dd1cebdaf1ed60a4c8de2e53ce11c4fd8",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.1"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "~2.2.20||~2.15.1",
@@ -5670,11 +5622,6 @@
"bin/validate-json"
],
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.0.x-dev"
- }
- },
"autoload": {
"psr-4": {
"JsonSchema\\": "src/JsonSchema/"
@@ -5709,23 +5656,23 @@
"schema"
],
"support": {
- "issues": "https://github.com/justinrainbow/json-schema/issues",
- "source": "https://github.com/justinrainbow/json-schema/tree/v5.2.13"
+ "issues": "https://github.com/jsonrainbow/json-schema/issues",
+ "source": "https://github.com/jsonrainbow/json-schema/tree/5.3.0"
},
- "time": "2023-09-26T02:20:38+00:00"
+ "time": "2024-07-06T21:00:26+00:00"
},
{
"name": "myclabs/deep-copy",
- "version": "1.11.1",
+ "version": "1.13.0",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c"
+ "reference": "024473a478be9df5fdaca2c793f2232fe788e414"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
- "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/024473a478be9df5fdaca2c793f2232fe788e414",
+ "reference": "024473a478be9df5fdaca2c793f2232fe788e414",
"shasum": ""
},
"require": {
@@ -5733,11 +5680,12 @@
},
"conflict": {
"doctrine/collections": "<1.6.8",
- "doctrine/common": "<2.13.3 || >=3,<3.2.2"
+ "doctrine/common": "<2.13.3 || >=3 <3.2.2"
},
"require-dev": {
"doctrine/collections": "^1.6.8",
"doctrine/common": "^2.13.3 || ^3.2.2",
+ "phpspec/prophecy": "^1.10",
"phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13"
},
"type": "library",
@@ -5763,7 +5711,7 @@
],
"support": {
"issues": "https://github.com/myclabs/DeepCopy/issues",
- "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1"
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.13.0"
},
"funding": [
{
@@ -5771,20 +5719,20 @@
"type": "tidelift"
}
],
- "time": "2023-03-08T13:26:56+00:00"
+ "time": "2025-02-12T12:17:51+00:00"
},
{
"name": "netresearch/jsonmapper",
- "version": "v4.2.0",
+ "version": "v4.5.0",
"source": {
"type": "git",
"url": "https://github.com/cweiske/jsonmapper.git",
- "reference": "f60565f8c0566a31acf06884cdaa591867ecc956"
+ "reference": "8e76efb98ee8b6afc54687045e1b8dba55ac76e5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/f60565f8c0566a31acf06884cdaa591867ecc956",
- "reference": "f60565f8c0566a31acf06884cdaa591867ecc956",
+ "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/8e76efb98ee8b6afc54687045e1b8dba55ac76e5",
+ "reference": "8e76efb98ee8b6afc54687045e1b8dba55ac76e5",
"shasum": ""
},
"require": {
@@ -5795,7 +5743,7 @@
"php": ">=7.1"
},
"require-dev": {
- "phpunit/phpunit": "~7.5 || ~8.0 || ~9.0",
+ "phpunit/phpunit": "~7.5 || ~8.0 || ~9.0 || ~10.0",
"squizlabs/php_codesniffer": "~3.5"
},
"type": "library",
@@ -5820,31 +5768,31 @@
"support": {
"email": "cweiske@cweiske.de",
"issues": "https://github.com/cweiske/jsonmapper/issues",
- "source": "https://github.com/cweiske/jsonmapper/tree/v4.2.0"
+ "source": "https://github.com/cweiske/jsonmapper/tree/v4.5.0"
},
- "time": "2023-04-09T17:37:40+00:00"
+ "time": "2024-09-08T10:13:13+00:00"
},
{
"name": "nikic/php-parser",
- "version": "v4.18.0",
+ "version": "v4.19.4",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999"
+ "reference": "715f4d25e225bc47b293a8b997fe6ce99bf987d2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/1bcbb2179f97633e98bbbc87044ee2611c7d7999",
- "reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/715f4d25e225bc47b293a8b997fe6ce99bf987d2",
+ "reference": "715f4d25e225bc47b293a8b997fe6ce99bf987d2",
"shasum": ""
},
"require": {
"ext-tokenizer": "*",
- "php": ">=7.0"
+ "php": ">=7.1"
},
"require-dev": {
"ircmaxell/php-yacc": "^0.0.7",
- "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
+ "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
},
"bin": [
"bin/php-parse"
@@ -5876,9 +5824,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v4.18.0"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v4.19.4"
},
- "time": "2023-12-10T21:03:43+00:00"
+ "time": "2024-09-29T15:01:53+00:00"
},
{
"name": "ondram/ci-detector",
@@ -6070,20 +6018,21 @@
},
{
"name": "phar-io/manifest",
- "version": "2.0.3",
+ "version": "2.0.4",
"source": {
"type": "git",
"url": "https://github.com/phar-io/manifest.git",
- "reference": "97803eca37d319dfa7826cc2437fc020857acb53"
+ "reference": "54750ef60c58e43759730615a392c31c80e23176"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53",
- "reference": "97803eca37d319dfa7826cc2437fc020857acb53",
+ "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176",
+ "reference": "54750ef60c58e43759730615a392c31c80e23176",
"shasum": ""
},
"require": {
"ext-dom": "*",
+ "ext-libxml": "*",
"ext-phar": "*",
"ext-xmlwriter": "*",
"phar-io/version": "^3.0.1",
@@ -6124,9 +6073,15 @@
"description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
"support": {
"issues": "https://github.com/phar-io/manifest/issues",
- "source": "https://github.com/phar-io/manifest/tree/2.0.3"
+ "source": "https://github.com/phar-io/manifest/tree/2.0.4"
},
- "time": "2021-07-20T11:28:43+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/theseer",
+ "type": "github"
+ }
+ ],
+ "time": "2024-03-03T12:33:53+00:00"
},
{
"name": "phar-io/version",
@@ -6310,16 +6265,16 @@
},
{
"name": "php-parallel-lint/php-parallel-lint",
- "version": "v1.3.2",
+ "version": "v1.4.0",
"source": {
"type": "git",
"url": "https://github.com/php-parallel-lint/PHP-Parallel-Lint.git",
- "reference": "6483c9832e71973ed29cf71bd6b3f4fde438a9de"
+ "reference": "6db563514f27e19595a19f45a4bf757b6401194e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-parallel-lint/PHP-Parallel-Lint/zipball/6483c9832e71973ed29cf71bd6b3f4fde438a9de",
- "reference": "6483c9832e71973ed29cf71bd6b3f4fde438a9de",
+ "url": "https://api.github.com/repos/php-parallel-lint/PHP-Parallel-Lint/zipball/6db563514f27e19595a19f45a4bf757b6401194e",
+ "reference": "6db563514f27e19595a19f45a4bf757b6401194e",
"shasum": ""
},
"require": {
@@ -6357,13 +6312,17 @@
"email": "ahoj@jakubonderka.cz"
}
],
- "description": "This tool check syntax of PHP files about 20x faster than serial check.",
+ "description": "This tool checks the syntax of PHP files about 20x faster than serial check.",
"homepage": "https://github.com/php-parallel-lint/PHP-Parallel-Lint",
+ "keywords": [
+ "lint",
+ "static analysis"
+ ],
"support": {
"issues": "https://github.com/php-parallel-lint/PHP-Parallel-Lint/issues",
- "source": "https://github.com/php-parallel-lint/PHP-Parallel-Lint/tree/v1.3.2"
+ "source": "https://github.com/php-parallel-lint/PHP-Parallel-Lint/tree/v1.4.0"
},
- "time": "2022-02-21T12:50:22+00:00"
+ "time": "2024-03-27T12:14:49+00:00"
},
{
"name": "phpdocumentor/reflection-common",
@@ -6420,28 +6379,35 @@
},
{
"name": "phpdocumentor/reflection-docblock",
- "version": "5.3.0",
+ "version": "5.6.1",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "622548b623e81ca6d78b721c5e029f4ce664f170"
+ "reference": "e5e784149a09bd69d9a5e3b01c5cbd2e2bd653d8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170",
- "reference": "622548b623e81ca6d78b721c5e029f4ce664f170",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/e5e784149a09bd69d9a5e3b01c5cbd2e2bd653d8",
+ "reference": "e5e784149a09bd69d9a5e3b01c5cbd2e2bd653d8",
"shasum": ""
},
"require": {
+ "doctrine/deprecations": "^1.1",
"ext-filter": "*",
- "php": "^7.2 || ^8.0",
+ "php": "^7.4 || ^8.0",
"phpdocumentor/reflection-common": "^2.2",
- "phpdocumentor/type-resolver": "^1.3",
+ "phpdocumentor/type-resolver": "^1.7",
+ "phpstan/phpdoc-parser": "^1.7|^2.0",
"webmozart/assert": "^1.9.1"
},
"require-dev": {
- "mockery/mockery": "~1.3.2",
- "psalm/phar": "^4.8"
+ "mockery/mockery": "~1.3.5 || ~1.6.0",
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan": "^1.8",
+ "phpstan/phpstan-mockery": "^1.1",
+ "phpstan/phpstan-webmozart-assert": "^1.2",
+ "phpunit/phpunit": "^9.5",
+ "psalm/phar": "^5.26"
},
"type": "library",
"extra": {
@@ -6465,35 +6431,35 @@
},
{
"name": "Jaap van Otterdijk",
- "email": "account@ijaap.nl"
+ "email": "opensource@ijaap.nl"
}
],
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
"support": {
"issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
- "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0"
+ "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.1"
},
- "time": "2021-10-19T17:43:47+00:00"
+ "time": "2024-12-07T09:39:29+00:00"
},
{
"name": "phpdocumentor/type-resolver",
- "version": "1.7.3",
+ "version": "1.10.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419"
+ "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419",
- "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/679e3ce485b99e84c775d28e2e96fade9a7fb50a",
+ "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a",
"shasum": ""
},
"require": {
"doctrine/deprecations": "^1.0",
- "php": "^7.4 || ^8.0",
+ "php": "^7.3 || ^8.0",
"phpdocumentor/reflection-common": "^2.0",
- "phpstan/phpdoc-parser": "^1.13"
+ "phpstan/phpdoc-parser": "^1.18|^2.0"
},
"require-dev": {
"ext-tokenizer": "*",
@@ -6529,9 +6495,9 @@
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"support": {
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
- "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.7.3"
+ "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.10.0"
},
- "time": "2023-08-12T11:01:26+00:00"
+ "time": "2024-11-09T15:12:26+00:00"
},
{
"name": "phploc/phploc",
@@ -6679,26 +6645,27 @@
},
{
"name": "phpspec/prophecy",
- "version": "v1.18.0",
+ "version": "v1.20.0",
"source": {
"type": "git",
"url": "https://github.com/phpspec/prophecy.git",
- "reference": "d4f454f7e1193933f04e6500de3e79191648ed0c"
+ "reference": "a0165c648cab6a80311c74ffc708a07bb53ecc93"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpspec/prophecy/zipball/d4f454f7e1193933f04e6500de3e79191648ed0c",
- "reference": "d4f454f7e1193933f04e6500de3e79191648ed0c",
+ "url": "https://api.github.com/repos/phpspec/prophecy/zipball/a0165c648cab6a80311c74ffc708a07bb53ecc93",
+ "reference": "a0165c648cab6a80311c74ffc708a07bb53ecc93",
"shasum": ""
},
"require": {
"doctrine/instantiator": "^1.2 || ^2.0",
- "php": "^7.2 || 8.0.* || 8.1.* || 8.2.* || 8.3.*",
+ "php": "^7.2 || 8.0.* || 8.1.* || 8.2.* || 8.3.* || 8.4.*",
"phpdocumentor/reflection-docblock": "^5.2",
- "sebastian/comparator": "^3.0 || ^4.0 || ^5.0",
- "sebastian/recursion-context": "^3.0 || ^4.0 || ^5.0"
+ "sebastian/comparator": "^3.0 || ^4.0 || ^5.0 || ^6.0",
+ "sebastian/recursion-context": "^3.0 || ^4.0 || ^5.0 || ^6.0"
},
"require-dev": {
+ "friendsofphp/php-cs-fixer": "^3.40",
"phpspec/phpspec": "^6.0 || ^7.0",
"phpstan/phpstan": "^1.9",
"phpunit/phpunit": "^8.0 || ^9.0 || ^10.0"
@@ -6742,33 +6709,36 @@
],
"support": {
"issues": "https://github.com/phpspec/prophecy/issues",
- "source": "https://github.com/phpspec/prophecy/tree/v1.18.0"
+ "source": "https://github.com/phpspec/prophecy/tree/v1.20.0"
},
- "time": "2023-12-07T16:22:33+00:00"
+ "time": "2024-11-19T13:12:41+00:00"
},
{
"name": "phpspec/prophecy-phpunit",
- "version": "v2.1.0",
+ "version": "v2.3.0",
"source": {
"type": "git",
"url": "https://github.com/phpspec/prophecy-phpunit.git",
- "reference": "29f8114c2c319a4308e6b070902211e062efa392"
+ "reference": "8819516c1b489ecee4c60db5f5432fac1ea8ac6f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpspec/prophecy-phpunit/zipball/29f8114c2c319a4308e6b070902211e062efa392",
- "reference": "29f8114c2c319a4308e6b070902211e062efa392",
+ "url": "https://api.github.com/repos/phpspec/prophecy-phpunit/zipball/8819516c1b489ecee4c60db5f5432fac1ea8ac6f",
+ "reference": "8819516c1b489ecee4c60db5f5432fac1ea8ac6f",
"shasum": ""
},
"require": {
"php": "^7.3 || ^8",
"phpspec/prophecy": "^1.18",
- "phpunit/phpunit": "^9.1 || ^10.1"
+ "phpunit/phpunit": "^9.1 || ^10.1 || ^11.0"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "^1.10"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-master": "2.x-dev"
}
},
"autoload": {
@@ -6794,36 +6764,36 @@
],
"support": {
"issues": "https://github.com/phpspec/prophecy-phpunit/issues",
- "source": "https://github.com/phpspec/prophecy-phpunit/tree/v2.1.0"
+ "source": "https://github.com/phpspec/prophecy-phpunit/tree/v2.3.0"
},
- "time": "2023-12-08T12:48:02+00:00"
+ "time": "2024-11-19T13:24:17+00:00"
},
{
"name": "phpstan/phpdoc-parser",
- "version": "1.24.5",
+ "version": "2.1.0",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git",
- "reference": "fedf211ff14ec8381c9bf5714e33a7a552dd1acc"
+ "reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/fedf211ff14ec8381c9bf5714e33a7a552dd1acc",
- "reference": "fedf211ff14ec8381c9bf5714e33a7a552dd1acc",
+ "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/9b30d6fd026b2c132b3985ce6b23bec09ab3aa68",
+ "reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68",
"shasum": ""
},
"require": {
- "php": "^7.2 || ^8.0"
+ "php": "^7.4 || ^8.0"
},
"require-dev": {
"doctrine/annotations": "^2.0",
- "nikic/php-parser": "^4.15",
+ "nikic/php-parser": "^5.3.0",
"php-parallel-lint/php-parallel-lint": "^1.2",
"phpstan/extension-installer": "^1.0",
- "phpstan/phpstan": "^1.5",
- "phpstan/phpstan-phpunit": "^1.1",
- "phpstan/phpstan-strict-rules": "^1.0",
- "phpunit/phpunit": "^9.5",
+ "phpstan/phpstan": "^2.0",
+ "phpstan/phpstan-phpunit": "^2.0",
+ "phpstan/phpstan-strict-rules": "^2.0",
+ "phpunit/phpunit": "^9.6",
"symfony/process": "^5.2"
},
"type": "library",
@@ -6841,22 +6811,22 @@
"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/1.24.5"
+ "source": "https://github.com/phpstan/phpdoc-parser/tree/2.1.0"
},
- "time": "2023-12-16T09:33:33+00:00"
+ "time": "2025-02-19T13:28:12+00:00"
},
{
"name": "phpstan/phpstan",
- "version": "1.10.50",
+ "version": "1.12.19",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
- "reference": "06a98513ac72c03e8366b5a0cb00750b487032e4"
+ "reference": "c42ba9bab7a940ed00092ecb1c77bad98896d789"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan/zipball/06a98513ac72c03e8366b5a0cb00750b487032e4",
- "reference": "06a98513ac72c03e8366b5a0cb00750b487032e4",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/c42ba9bab7a940ed00092ecb1c77bad98896d789",
+ "reference": "c42ba9bab7a940ed00092ecb1c77bad98896d789",
"shasum": ""
},
"require": {
@@ -6899,45 +6869,41 @@
{
"url": "https://github.com/phpstan",
"type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan",
- "type": "tidelift"
}
],
- "time": "2023-12-13T10:59:42+00:00"
+ "time": "2025-02-19T15:42:21+00:00"
},
{
"name": "phpunit/php-code-coverage",
- "version": "9.2.29",
+ "version": "9.2.32",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76"
+ "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6a3a87ac2bbe33b25042753df8195ba4aa534c76",
- "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/85402a822d1ecf1db1096959413d35e1c37cf1a5",
+ "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
- "nikic/php-parser": "^4.15",
+ "nikic/php-parser": "^4.19.1 || ^5.1.0",
"php": ">=7.3",
- "phpunit/php-file-iterator": "^3.0.3",
- "phpunit/php-text-template": "^2.0.2",
- "sebastian/code-unit-reverse-lookup": "^2.0.2",
- "sebastian/complexity": "^2.0",
- "sebastian/environment": "^5.1.2",
- "sebastian/lines-of-code": "^1.0.3",
- "sebastian/version": "^3.0.1",
- "theseer/tokenizer": "^1.2.0"
+ "phpunit/php-file-iterator": "^3.0.6",
+ "phpunit/php-text-template": "^2.0.4",
+ "sebastian/code-unit-reverse-lookup": "^2.0.3",
+ "sebastian/complexity": "^2.0.3",
+ "sebastian/environment": "^5.1.5",
+ "sebastian/lines-of-code": "^1.0.4",
+ "sebastian/version": "^3.0.2",
+ "theseer/tokenizer": "^1.2.3"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^9.6"
},
"suggest": {
"ext-pcov": "PHP extension that provides line coverage",
@@ -6946,7 +6912,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "9.2-dev"
+ "dev-main": "9.2.x-dev"
}
},
"autoload": {
@@ -6975,7 +6941,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.29"
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.32"
},
"funding": [
{
@@ -6983,7 +6949,7 @@
"type": "github"
}
],
- "time": "2023-09-19T04:57:46+00:00"
+ "time": "2024-08-22T04:23:01+00:00"
},
{
"name": "phpunit/php-file-iterator",
@@ -7228,45 +7194,45 @@
},
{
"name": "phpunit/phpunit",
- "version": "9.6.15",
+ "version": "9.6.22",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "05017b80304e0eb3f31d90194a563fd53a6021f1"
+ "reference": "f80235cb4d3caa59ae09be3adf1ded27521d1a9c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/05017b80304e0eb3f31d90194a563fd53a6021f1",
- "reference": "05017b80304e0eb3f31d90194a563fd53a6021f1",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f80235cb4d3caa59ae09be3adf1ded27521d1a9c",
+ "reference": "f80235cb4d3caa59ae09be3adf1ded27521d1a9c",
"shasum": ""
},
"require": {
- "doctrine/instantiator": "^1.3.1 || ^2",
+ "doctrine/instantiator": "^1.5.0 || ^2",
"ext-dom": "*",
"ext-json": "*",
"ext-libxml": "*",
"ext-mbstring": "*",
"ext-xml": "*",
"ext-xmlwriter": "*",
- "myclabs/deep-copy": "^1.10.1",
- "phar-io/manifest": "^2.0.3",
- "phar-io/version": "^3.0.2",
+ "myclabs/deep-copy": "^1.12.1",
+ "phar-io/manifest": "^2.0.4",
+ "phar-io/version": "^3.2.1",
"php": ">=7.3",
- "phpunit/php-code-coverage": "^9.2.28",
- "phpunit/php-file-iterator": "^3.0.5",
+ "phpunit/php-code-coverage": "^9.2.32",
+ "phpunit/php-file-iterator": "^3.0.6",
"phpunit/php-invoker": "^3.1.1",
- "phpunit/php-text-template": "^2.0.3",
- "phpunit/php-timer": "^5.0.2",
- "sebastian/cli-parser": "^1.0.1",
- "sebastian/code-unit": "^1.0.6",
+ "phpunit/php-text-template": "^2.0.4",
+ "phpunit/php-timer": "^5.0.3",
+ "sebastian/cli-parser": "^1.0.2",
+ "sebastian/code-unit": "^1.0.8",
"sebastian/comparator": "^4.0.8",
- "sebastian/diff": "^4.0.3",
- "sebastian/environment": "^5.1.3",
- "sebastian/exporter": "^4.0.5",
- "sebastian/global-state": "^5.0.1",
- "sebastian/object-enumerator": "^4.0.3",
- "sebastian/resource-operations": "^3.0.3",
- "sebastian/type": "^3.2",
+ "sebastian/diff": "^4.0.6",
+ "sebastian/environment": "^5.1.5",
+ "sebastian/exporter": "^4.0.6",
+ "sebastian/global-state": "^5.0.7",
+ "sebastian/object-enumerator": "^4.0.4",
+ "sebastian/resource-operations": "^3.0.4",
+ "sebastian/type": "^3.2.1",
"sebastian/version": "^3.0.2"
},
"suggest": {
@@ -7311,7 +7277,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.15"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.22"
},
"funding": [
{
@@ -7327,7 +7293,7 @@
"type": "tidelift"
}
],
- "time": "2023-12-01T16:55:19+00:00"
+ "time": "2024-12-05T13:48:26+00:00"
},
{
"name": "rector/rector",
@@ -7452,16 +7418,16 @@
},
{
"name": "sanmai/pipeline",
- "version": "v6.9",
+ "version": "6.12",
"source": {
"type": "git",
"url": "https://github.com/sanmai/pipeline.git",
- "reference": "c48f45c22c3ce4140d071f7658fb151df1cc08ea"
+ "reference": "ad7dbc3f773eeafb90d5459522fbd8f188532e25"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sanmai/pipeline/zipball/c48f45c22c3ce4140d071f7658fb151df1cc08ea",
- "reference": "c48f45c22c3ce4140d071f7658fb151df1cc08ea",
+ "url": "https://api.github.com/repos/sanmai/pipeline/zipball/ad7dbc3f773eeafb90d5459522fbd8f188532e25",
+ "reference": "ad7dbc3f773eeafb90d5459522fbd8f188532e25",
"shasum": ""
},
"require": {
@@ -7505,7 +7471,7 @@
"description": "General-purpose collections pipeline",
"support": {
"issues": "https://github.com/sanmai/pipeline/issues",
- "source": "https://github.com/sanmai/pipeline/tree/v6.9"
+ "source": "https://github.com/sanmai/pipeline/tree/6.12"
},
"funding": [
{
@@ -7513,20 +7479,20 @@
"type": "github"
}
],
- "time": "2023-10-08T11:56:54+00:00"
+ "time": "2024-10-17T02:22:57+00:00"
},
{
"name": "sebastian/cli-parser",
- "version": "1.0.1",
+ "version": "1.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/cli-parser.git",
- "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2"
+ "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2",
- "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/2b56bea83a09de3ac06bb18b92f068e60cc6f50b",
+ "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b",
"shasum": ""
},
"require": {
@@ -7561,7 +7527,7 @@
"homepage": "https://github.com/sebastianbergmann/cli-parser",
"support": {
"issues": "https://github.com/sebastianbergmann/cli-parser/issues",
- "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1"
+ "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.2"
},
"funding": [
{
@@ -7569,7 +7535,7 @@
"type": "github"
}
],
- "time": "2020-09-28T06:08:49+00:00"
+ "time": "2024-03-02T06:27:43+00:00"
},
{
"name": "sebastian/code-unit",
@@ -7758,20 +7724,20 @@
},
{
"name": "sebastian/complexity",
- "version": "2.0.2",
+ "version": "2.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/complexity.git",
- "reference": "739b35e53379900cc9ac327b2147867b8b6efd88"
+ "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88",
- "reference": "739b35e53379900cc9ac327b2147867b8b6efd88",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a",
+ "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.7",
+ "nikic/php-parser": "^4.18 || ^5.0",
"php": ">=7.3"
},
"require-dev": {
@@ -7803,7 +7769,7 @@
"homepage": "https://github.com/sebastianbergmann/complexity",
"support": {
"issues": "https://github.com/sebastianbergmann/complexity/issues",
- "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2"
+ "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.3"
},
"funding": [
{
@@ -7811,7 +7777,7 @@
"type": "github"
}
],
- "time": "2020-10-26T15:52:27+00:00"
+ "time": "2023-12-22T06:19:30+00:00"
},
{
"name": "sebastian/environment",
@@ -7878,16 +7844,16 @@
},
{
"name": "sebastian/exporter",
- "version": "4.0.5",
+ "version": "4.0.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d"
+ "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
- "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/78c00df8f170e02473b682df15bfcdacc3d32d72",
+ "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72",
"shasum": ""
},
"require": {
@@ -7943,7 +7909,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
- "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5"
+ "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.6"
},
"funding": [
{
@@ -7951,20 +7917,20 @@
"type": "github"
}
],
- "time": "2022-09-14T06:03:37+00:00"
+ "time": "2024-03-02T06:33:00+00:00"
},
{
"name": "sebastian/global-state",
- "version": "5.0.6",
+ "version": "5.0.7",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "bde739e7565280bda77be70044ac1047bc007e34"
+ "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bde739e7565280bda77be70044ac1047bc007e34",
- "reference": "bde739e7565280bda77be70044ac1047bc007e34",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9",
+ "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9",
"shasum": ""
},
"require": {
@@ -8007,7 +7973,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
- "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.6"
+ "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.7"
},
"funding": [
{
@@ -8015,24 +7981,24 @@
"type": "github"
}
],
- "time": "2023-08-02T09:26:13+00:00"
+ "time": "2024-03-02T06:35:11+00:00"
},
{
"name": "sebastian/lines-of-code",
- "version": "1.0.3",
+ "version": "1.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/lines-of-code.git",
- "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc"
+ "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc",
- "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5",
+ "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.6",
+ "nikic/php-parser": "^4.18 || ^5.0",
"php": ">=7.3"
},
"require-dev": {
@@ -8064,7 +8030,7 @@
"homepage": "https://github.com/sebastianbergmann/lines-of-code",
"support": {
"issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
- "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3"
+ "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.4"
},
"funding": [
{
@@ -8072,7 +8038,7 @@
"type": "github"
}
],
- "time": "2020-11-28T06:42:11+00:00"
+ "time": "2023-12-22T06:20:34+00:00"
},
{
"name": "sebastian/object-enumerator",
@@ -8313,16 +8279,16 @@
},
{
"name": "sebastian/resource-operations",
- "version": "3.0.3",
+ "version": "3.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/resource-operations.git",
- "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"
+ "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
- "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
+ "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/05d5692a7993ecccd56a03e40cd7e5b09b1d404e",
+ "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e",
"shasum": ""
},
"require": {
@@ -8334,7 +8300,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -8355,8 +8321,7 @@
"description": "Provides a list of PHP built-in functions that operate on resources",
"homepage": "https://www.github.com/sebastianbergmann/resource-operations",
"support": {
- "issues": "https://github.com/sebastianbergmann/resource-operations/issues",
- "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3"
+ "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.4"
},
"funding": [
{
@@ -8364,7 +8329,7 @@
"type": "github"
}
],
- "time": "2020-09-28T06:45:17+00:00"
+ "time": "2024-03-14T16:00:52+00:00"
},
{
"name": "sebastian/type",
@@ -8477,23 +8442,23 @@
},
{
"name": "seld/jsonlint",
- "version": "1.10.1",
+ "version": "1.11.0",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/jsonlint.git",
- "reference": "76d449a358ece77d6f1d6331c68453e657172202"
+ "reference": "1748aaf847fc731cfad7725aec413ee46f0cc3a2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/76d449a358ece77d6f1d6331c68453e657172202",
- "reference": "76d449a358ece77d6f1d6331c68453e657172202",
+ "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/1748aaf847fc731cfad7725aec413ee46f0cc3a2",
+ "reference": "1748aaf847fc731cfad7725aec413ee46f0cc3a2",
"shasum": ""
},
"require": {
"php": "^5.3 || ^7.0 || ^8.0"
},
"require-dev": {
- "phpstan/phpstan": "^1.5",
+ "phpstan/phpstan": "^1.11",
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^8.5.13"
},
"bin": [
@@ -8525,7 +8490,7 @@
],
"support": {
"issues": "https://github.com/Seldaek/jsonlint/issues",
- "source": "https://github.com/Seldaek/jsonlint/tree/1.10.1"
+ "source": "https://github.com/Seldaek/jsonlint/tree/1.11.0"
},
"funding": [
{
@@ -8537,20 +8502,20 @@
"type": "tidelift"
}
],
- "time": "2023-12-18T13:03:25+00:00"
+ "time": "2024-07-11T14:55:45+00:00"
},
{
"name": "squizlabs/php_codesniffer",
- "version": "3.8.0",
+ "version": "3.11.3",
"source": {
"type": "git",
"url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
- "reference": "5805f7a4e4958dbb5e944ef1e6edae0a303765e7"
+ "reference": "ba05f990e79cbe69b9f35c8c1ac8dca7eecc3a10"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/5805f7a4e4958dbb5e944ef1e6edae0a303765e7",
- "reference": "5805f7a4e4958dbb5e944ef1e6edae0a303765e7",
+ "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/ba05f990e79cbe69b9f35c8c1ac8dca7eecc3a10",
+ "reference": "ba05f990e79cbe69b9f35c8c1ac8dca7eecc3a10",
"shasum": ""
},
"require": {
@@ -8560,11 +8525,11 @@
"php": ">=5.4.0"
},
"require-dev": {
- "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0"
+ "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.3.4"
},
"bin": [
- "bin/phpcs",
- "bin/phpcbf"
+ "bin/phpcbf",
+ "bin/phpcs"
],
"type": "library",
"extra": {
@@ -8615,22 +8580,26 @@
{
"url": "https://opencollective.com/php_codesniffer",
"type": "open_collective"
+ },
+ {
+ "url": "https://thanks.dev/phpcsstandards",
+ "type": "thanks_dev"
}
],
- "time": "2023-12-08T12:32:31+00:00"
+ "time": "2025-01-23T17:04:15+00:00"
},
{
"name": "symfony/options-resolver",
- "version": "v5.4.21",
+ "version": "v5.4.45",
"source": {
"type": "git",
"url": "https://github.com/symfony/options-resolver.git",
- "reference": "4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9"
+ "reference": "74e5b6f0db3e8589e6cfd5efb317a1fc2bb52fb6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/options-resolver/zipball/4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9",
- "reference": "4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9",
+ "url": "https://api.github.com/repos/symfony/options-resolver/zipball/74e5b6f0db3e8589e6cfd5efb317a1fc2bb52fb6",
+ "reference": "74e5b6f0db3e8589e6cfd5efb317a1fc2bb52fb6",
"shasum": ""
},
"require": {
@@ -8670,7 +8639,7 @@
"options"
],
"support": {
- "source": "https://github.com/symfony/options-resolver/tree/v5.4.21"
+ "source": "https://github.com/symfony/options-resolver/tree/v5.4.45"
},
"funding": [
{
@@ -8686,20 +8655,20 @@
"type": "tidelift"
}
],
- "time": "2023-02-14T08:03:56+00:00"
+ "time": "2024-09-25T14:11:13+00:00"
},
{
"name": "symfony/stopwatch",
- "version": "v5.4.21",
+ "version": "v5.4.45",
"source": {
"type": "git",
"url": "https://github.com/symfony/stopwatch.git",
- "reference": "f83692cd869a6f2391691d40a01e8acb89e76fee"
+ "reference": "fb2c199cf302eb207f8c23e7ee174c1c31a5c004"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/stopwatch/zipball/f83692cd869a6f2391691d40a01e8acb89e76fee",
- "reference": "f83692cd869a6f2391691d40a01e8acb89e76fee",
+ "url": "https://api.github.com/repos/symfony/stopwatch/zipball/fb2c199cf302eb207f8c23e7ee174c1c31a5c004",
+ "reference": "fb2c199cf302eb207f8c23e7ee174c1c31a5c004",
"shasum": ""
},
"require": {
@@ -8732,7 +8701,7 @@
"description": "Provides a way to profile code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/stopwatch/tree/v5.4.21"
+ "source": "https://github.com/symfony/stopwatch/tree/v5.4.45"
},
"funding": [
{
@@ -8748,7 +8717,7 @@
"type": "tidelift"
}
],
- "time": "2023-02-14T08:03:56+00:00"
+ "time": "2024-09-25T14:11:13+00:00"
},
{
"name": "symfony/var-dumper",
@@ -8980,16 +8949,16 @@
},
{
"name": "theseer/tokenizer",
- "version": "1.2.2",
+ "version": "1.2.3",
"source": {
"type": "git",
"url": "https://github.com/theseer/tokenizer.git",
- "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96"
+ "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b2ad5003ca10d4ee50a12da31de12a5774ba6b96",
- "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
+ "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
"shasum": ""
},
"require": {
@@ -9018,7 +8987,7 @@
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
"support": {
"issues": "https://github.com/theseer/tokenizer/issues",
- "source": "https://github.com/theseer/tokenizer/tree/1.2.2"
+ "source": "https://github.com/theseer/tokenizer/tree/1.2.3"
},
"funding": [
{
@@ -9026,7 +8995,7 @@
"type": "github"
}
],
- "time": "2023-11-20T00:12:19+00:00"
+ "time": "2024-03-03T12:36:25+00:00"
},
{
"name": "vimeo/psalm",
@@ -9100,10 +9069,10 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.x-dev",
- "dev-3.x": "3.x-dev",
+ "dev-1.x": "1.x-dev",
"dev-2.x": "2.x-dev",
- "dev-1.x": "1.x-dev"
+ "dev-3.x": "3.x-dev",
+ "dev-master": "4.x-dev"
}
},
"autoload": {
@@ -9248,7 +9217,7 @@
],
"aliases": [],
"minimum-stability": "stable",
- "stability-flags": [],
+ "stability-flags": {},
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
@@ -9262,6 +9231,6 @@
"ext-curl": "*",
"ext-bcmath": "*"
},
- "platform-dev": [],
+ "platform-dev": {},
"plugin-api-version": "2.6.0"
}
From 92f2a32cdaf29f97e217e88689799f5376c534da Mon Sep 17 00:00:00 2001
From: Dmitry Khomutov
Date: Sat, 1 Mar 2025 13:36:27 +0700
Subject: [PATCH 25/33] Fixed code style for TelegramNotify.
---
src/Plugin/TelegramNotify.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Plugin/TelegramNotify.php b/src/Plugin/TelegramNotify.php
index cf4318cf..dbbb0bb5 100644
--- a/src/Plugin/TelegramNotify.php
+++ b/src/Plugin/TelegramNotify.php
@@ -159,7 +159,7 @@ private function buildMessage()
/**
* Split chat group id to chat id and topic id
*
- * @param string|int $chatId
+ * @param int|string $chatId
* @return array{string, string|null}
*/
protected function splitChatIdAndTopicId($chatId)
From 2946e9512bd237b88f496373df4344cd4e0591ec Mon Sep 17 00:00:00 2001
From: Dmitry Khomutov
Date: Sat, 1 Mar 2025 13:40:53 +0700
Subject: [PATCH 26/33] Fixed broken link to PHPCI.
---
README.md | 2 +-
docs/CHANGELOG_0.x.md | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index c7d19370..2b15d20e 100644
--- a/README.md
+++ b/README.md
@@ -11,7 +11,7 @@
**PHP Censor** is an open source, self-hosted, continuous integration server for PHP projects
-([PHPCI](https://www.phptesting.org) fork). [Official twitter @php_censor](https://twitter.com/php_censor).
+([PHPCI](https://github.com/dancryer/PHPCI) fork). [Official twitter @php_censor](https://twitter.com/php_censor).
PHP Censor versions:
diff --git a/docs/CHANGELOG_0.x.md b/docs/CHANGELOG_0.x.md
index f9ce08cc..5b57c35a 100644
--- a/docs/CHANGELOG_0.x.md
+++ b/docs/CHANGELOG_0.x.md
@@ -941,7 +941,7 @@ requests as comments on Github (`php-censor.github.comments.commit` and `php-cen
## [0.1.0](https://github.com/php-censor/php-censor/tree/0.1.0) (2017-01-04)
-Initial release. Changes from [PHPCI](https://www.phptesting.org/) v1.7.1:
+Initial release. Changes from [PHPCI](https://github.com/dancryer/PHPCI) v1.7.1:
### Added
From 7a4a6fde14b0e4296e194776f088a6f3d6f2834d Mon Sep 17 00:00:00 2001
From: Dmitry Khomutov
Date: Sun, 16 Mar 2025 00:38:58 +0700
Subject: [PATCH 27/33] Updated version.
---
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index 2b15d20e..89079768 100644
--- a/README.md
+++ b/README.md
@@ -21,8 +21,8 @@ PHP Censor versions:
| `1.1` (Birdperson) | `1.1.6` | `release-1.1` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
| `1.2` (Summer Smith) | `1.2.4` | `release-1.2` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
| `1.3` (Jerry Smith) | `1.3.7` | `release-1.3` | Old version (**UNSUPPORTED**) | `>=5.6, <8.0` |
-| `2.0` (Rick Sanchez) | `2.0.13` | `release-2.0` | Last stable version ([Upgrade from v1 to v2](docs/UPGRADE_2.0.md)) | `>=7.4` |
-| `2.1` (Mr. Meeseeks) | `2.1.5` | `release-2.1` | Current stable version | `>=7.4` |
+| `2.0` (Rick Sanchez) | `2.0.14` | `release-2.0` | Last stable version ([Upgrade from v1 to v2](docs/UPGRADE_2.0.md)) | `>=7.4` |
+| `2.1` (Mr. Meeseeks) | `2.1.6` | `release-2.1` | Current stable version | `>=7.4` |
| `2.2` | WIP | `master` | Feature minor version (WIP) | `>=7.4` |
[](docs/screenshots/dashboard.png)
From f7dce7e1b44548b4dbeb46438998fca0cbacef99 Mon Sep 17 00:00:00 2001
From: Dmitry Khomutov
Date: Sun, 2 Mar 2025 23:22:14 +0700
Subject: [PATCH 28/33] Improved installation error about domain URL.
---
src/Command/InstallCommand.php | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/Command/InstallCommand.php b/src/Command/InstallCommand.php
index f688917f..f6bc9b36 100644
--- a/src/Command/InstallCommand.php
+++ b/src/Command/InstallCommand.php
@@ -227,12 +227,12 @@ private function getConfigInformation(InputInterface $input, OutputInterface $ou
/** @var $helper QuestionHelper */
$helper = $this->getHelperSet()->get('question');
- $urlValidator = function ($answer) {
- if (!\filter_var($answer, FILTER_VALIDATE_URL)) {
- throw new InvalidArgumentException('Must be a valid URL.');
+ $urlValidator = function ($domain) {
+ if (!\filter_var($domain, FILTER_VALIDATE_URL)) {
+ throw new InvalidArgumentException("${domain} is not a valid URL!");
}
- return \rtrim($answer, '/');
+ return \rtrim($domain, '/');
};
if ($url = $input->getOption('url')) {
From fd9ec6f377a5b4e4db0a99a2e7fd1e491ac4a06d Mon Sep 17 00:00:00 2001
From: Dmitry Khomutov
Date: Sat, 29 Mar 2025 22:38:09 +0700
Subject: [PATCH 29/33] Updated dependencies.
---
composer.lock | 30 +++++++++++++++---------------
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/composer.lock b/composer.lock
index 51e39b92..3cccdc79 100644
--- a/composer.lock
+++ b/composer.lock
@@ -8,7 +8,7 @@
"packages": [
{
"name": "cakephp/core",
- "version": "4.5.9",
+ "version": "4.6.0",
"source": {
"type": "git",
"url": "https://github.com/cakephp/core.git",
@@ -68,7 +68,7 @@
},
{
"name": "cakephp/database",
- "version": "4.5.9",
+ "version": "4.6.0",
"source": {
"type": "git",
"url": "https://github.com/cakephp/database.git",
@@ -124,7 +124,7 @@
},
{
"name": "cakephp/datasource",
- "version": "4.5.9",
+ "version": "4.6.0",
"source": {
"type": "git",
"url": "https://github.com/cakephp/datasource.git",
@@ -182,7 +182,7 @@
},
{
"name": "cakephp/utility",
- "version": "4.5.9",
+ "version": "4.6.0",
"source": {
"type": "git",
"url": "https://github.com/cakephp/utility.git",
@@ -6817,16 +6817,16 @@
},
{
"name": "phpstan/phpstan",
- "version": "1.12.19",
+ "version": "1.12.23",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
- "reference": "c42ba9bab7a940ed00092ecb1c77bad98896d789"
+ "reference": "29201e7a743a6ab36f91394eab51889a82631428"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan/zipball/c42ba9bab7a940ed00092ecb1c77bad98896d789",
- "reference": "c42ba9bab7a940ed00092ecb1c77bad98896d789",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/29201e7a743a6ab36f91394eab51889a82631428",
+ "reference": "29201e7a743a6ab36f91394eab51889a82631428",
"shasum": ""
},
"require": {
@@ -6871,7 +6871,7 @@
"type": "github"
}
],
- "time": "2025-02-19T15:42:21+00:00"
+ "time": "2025-03-23T14:57:32+00:00"
},
{
"name": "phpunit/php-code-coverage",
@@ -8506,16 +8506,16 @@
},
{
"name": "squizlabs/php_codesniffer",
- "version": "3.11.3",
+ "version": "3.12.0",
"source": {
"type": "git",
"url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
- "reference": "ba05f990e79cbe69b9f35c8c1ac8dca7eecc3a10"
+ "reference": "2d1b63db139c3c6ea0c927698e5160f8b3b8d630"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/ba05f990e79cbe69b9f35c8c1ac8dca7eecc3a10",
- "reference": "ba05f990e79cbe69b9f35c8c1ac8dca7eecc3a10",
+ "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/2d1b63db139c3c6ea0c927698e5160f8b3b8d630",
+ "reference": "2d1b63db139c3c6ea0c927698e5160f8b3b8d630",
"shasum": ""
},
"require": {
@@ -8582,11 +8582,11 @@
"type": "open_collective"
},
{
- "url": "https://thanks.dev/phpcsstandards",
+ "url": "https://thanks.dev/u/gh/phpcsstandards",
"type": "thanks_dev"
}
],
- "time": "2025-01-23T17:04:15+00:00"
+ "time": "2025-03-18T05:04:51+00:00"
},
{
"name": "symfony/options-resolver",
From 6434ceba03efbbfcc21ec337af3a05a1a424c6dc Mon Sep 17 00:00:00 2001
From: Dmitry Khomutov
Date: Sat, 29 Mar 2025 22:45:11 +0700
Subject: [PATCH 30/33] Fix.
---
src/Logging/BuildDBLogHandler.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Logging/BuildDBLogHandler.php b/src/Logging/BuildDBLogHandler.php
index 4b33ab3c..a0cfbd9a 100644
--- a/src/Logging/BuildDBLogHandler.php
+++ b/src/Logging/BuildDBLogHandler.php
@@ -79,7 +79,7 @@ private function sanitize(string $message): string
ROOT_DIR,
], [
'/',
- '/',
+ '//',
'/',
'/',
], $message);
From 4cb9149861d53f65ae35c25d7e43c5e2212c8825 Mon Sep 17 00:00:00 2001
From: jackieya
Date: Mon, 11 May 2026 14:35:27 +0800
Subject: [PATCH 31/33] fix: prevent OS command injection via webhook branch
parameter
Apply escapeshellarg() to the branch parameter in GitBuild and HgBuild to prevent OS command injection (CWE-78) through the unauthenticated webhook endpoint. Also remove the double-quote wrapper around the branch format-string placeholder in GitBuild so that the single quotes produced by escapeshellarg() are effective at the shell level.
---
src/Model/Build/GitBuild.php | 8 ++++----
src/Model/Build/HgBuild.php | 6 +++---
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/Model/Build/GitBuild.php b/src/Model/Build/GitBuild.php
index 77c388ab..9a4f128d 100644
--- a/src/Model/Build/GitBuild.php
+++ b/src/Model/Build/GitBuild.php
@@ -102,8 +102,8 @@ protected function cloneByHttp(Builder $builder, $cloneTo)
$cmd .= ' --depth ' . \intval($buildSettings['clone_depth']) . ' ';
}
- $cmd .= ' -b "%s" "%s" "%s"';
- $success = $builder->executeCommand($cmd, $this->getBranch(), $this->getCloneUrl(), $cloneTo);
+ $cmd .= ' -b %s "%s" "%s"';
+ $success = $builder->executeCommand($cmd, \escapeshellarg($this->getBranch()), $this->getCloneUrl(), $cloneTo);
if ($success) {
$success = $this->postCloneSetup($builder, $cloneTo);
@@ -132,10 +132,10 @@ protected function cloneBySsh(Builder $builder, $cloneTo)
$cmd .= ' --depth ' . \intval($buildSettings['clone_depth']) . ' ';
}
- $cmd .= ' -b "%s" "%s" "%s"';
+ $cmd .= ' -b %s "%s" "%s"';
$cmd = 'export GIT_SSH="' . $gitSshWrapper . '" && ' . $cmd;
- $success = $builder->executeCommand($cmd, $this->getBranch(), $this->getCloneUrl(), $cloneTo);
+ $success = $builder->executeCommand($cmd, \escapeshellarg($this->getBranch()), $this->getCloneUrl(), $cloneTo);
if ($success) {
$extra = [
diff --git a/src/Model/Build/HgBuild.php b/src/Model/Build/HgBuild.php
index 6ac11e84..046dc824 100644
--- a/src/Model/Build/HgBuild.php
+++ b/src/Model/Build/HgBuild.php
@@ -78,7 +78,7 @@ public function createWorkingCopy(Builder $builder, $buildPath)
*/
protected function cloneByHttp(Builder $builder, $cloneTo)
{
- return $builder->executeCommand('hg clone %s "%s" -r %s', $this->getCloneUrl(), $cloneTo, $this->getBranch());
+ return $builder->executeCommand('hg clone %s "%s" -r %s', $this->getCloneUrl(), $cloneTo, \escapeshellarg($this->getBranch()));
}
/**
@@ -94,7 +94,7 @@ protected function cloneBySsh(Builder $builder, $cloneTo)
// Do the hg clone:
$cmd = 'hg clone --ssh "ssh -i ' . $keyFile . '" %s "%s" -r %s';
- $success = $builder->executeCommand($cmd, $this->getCloneUrl(), $cloneTo, $this->getBranch());
+ $success = $builder->executeCommand($cmd, $this->getCloneUrl(), $cloneTo, \escapeshellarg($this->getBranch()));
if ($success) {
$success = $this->postCloneSetup($builder, $cloneTo);
@@ -121,7 +121,7 @@ protected function postCloneSetup(Builder $builder, $cloneTo, array $extra = nul
// Allow switching to a specific branch:
if (!empty($commitId)) {
$cmd = 'cd "%s" && hg checkout %s';
- $success = $builder->executeCommand($cmd, $cloneTo, $this->getBranch());
+ $success = $builder->executeCommand($cmd, $cloneTo, \escapeshellarg($this->getBranch()));
}
return $success;
From cd68d102601320bd319d590b75f7652e66f0685f Mon Sep 17 00:00:00 2001
From: jackieya
Date: Mon, 11 May 2026 14:50:51 +0800
Subject: [PATCH 32/33] fix: also escape commitId parameter in git checkout and
git log commands
The commitId parameter also originates from the unauthenticated webhook request (the 'commit' query parameter) and is passed unsanitized into git checkout and git log shell commands in postCloneSetup(). Apply escapeshellarg() to all commitId usages to close this additional injection vector.
---
src/Model/Build/GitBuild.php | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/Model/Build/GitBuild.php b/src/Model/Build/GitBuild.php
index 9a4f128d..65528935 100644
--- a/src/Model/Build/GitBuild.php
+++ b/src/Model/Build/GitBuild.php
@@ -167,7 +167,7 @@ protected function postCloneSetup(Builder $builder, $cloneTo, array $extra = nul
if (empty($this->getEnvironmentId()) && !empty($commitId)) {
$cmd = $chdir . ' && git checkout %s --quiet';
- $success = $builder->executeCommand($cmd, $cloneTo, $commitId);
+ $success = $builder->executeCommand($cmd, $cloneTo, \escapeshellarg($commitId));
}
// Always update the commit hash with the actual HEAD hash
@@ -176,11 +176,11 @@ protected function postCloneSetup(Builder $builder, $cloneTo, array $extra = nul
$this->setCommitId($commitId);
- if ($builder->executeCommand($chdir . ' && git log -1 --pretty=format:%%s %s', $cloneTo, $commitId)) {
+ if ($builder->executeCommand($chdir . ' && git log -1 --pretty=format:%%s %s', $cloneTo, \escapeshellarg($commitId))) {
$this->setCommitMessage(\trim($builder->getLastOutput()));
}
- if ($builder->executeCommand($chdir . ' && git log -1 --pretty=format:%%ae %s', $cloneTo, $commitId)) {
+ if ($builder->executeCommand($chdir . ' && git log -1 --pretty=format:%%ae %s', $cloneTo, \escapeshellarg($commitId))) {
$this->setCommitterEmail(\trim($builder->getLastOutput()));
}
}
From 7b8e6404b7126caf972a2b993a635250b54dc0da Mon Sep 17 00:00:00 2001
From: YHalo <285117859@qq.com>
Date: Sun, 31 May 2026 13:40:19 +0800
Subject: [PATCH 33/33] fix: escape svn webhook commit id in export command
---
src/Model/Build/SvnBuild.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Model/Build/SvnBuild.php b/src/Model/Build/SvnBuild.php
index 97869dcb..a1ab3498 100644
--- a/src/Model/Build/SvnBuild.php
+++ b/src/Model/Build/SvnBuild.php
@@ -111,7 +111,7 @@ protected function cloneByHttp(Builder $builder, $cloneTo)
if (!empty($this->getCommitId())) {
$cmd .= ' -r %s %s "%s"';
- $success = $builder->executeCommand($cmd, $this->getCommitId(), $this->getCloneUrl(), $cloneTo);
+ $success = $builder->executeCommand($cmd, \escapeshellarg($this->getCommitId()), $this->getCloneUrl(), $cloneTo);
} else {
$cmd .= ' %s "%s"';
$success = $builder->executeCommand($cmd, $this->getCloneUrl(), $cloneTo);