From 0d30c304da888ff43e88045b1c27bd5f3f8ff305 Mon Sep 17 00:00:00 2001 From: Cid Lopes Date: Tue, 13 Sep 2022 10:28:41 +0300 Subject: [PATCH 01/14] Bump magento/framework to bump guzzle 6.5.8 --- composer.json | 2 +- composer.lock | 1743 +++++++++++++++++++++++++++++++++---------------- 2 files changed, 1196 insertions(+), 549 deletions(-) diff --git a/composer.json b/composer.json index c471aaac9..e446ceb47 100644 --- a/composer.json +++ b/composer.json @@ -40,7 +40,7 @@ ], "require": { "php": ">=7.4.0", - "magento/framework": ">=101.0.6|~102.0", + "magento/framework": ">=101.0.6|~104.0", "ext-json": "*", "nosto/php-sdk": "^6.0" }, diff --git a/composer.lock b/composer.lock index aa04ee39f..0a907b78e 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": "84f253e1a4adfd07459e9dd3f971eb0e", + "content-hash": "70c065c15569e63c48bec8f645722025", "packages": [ { "name": "brick/math", @@ -50,6 +50,10 @@ "brick", "math" ], + "support": { + "issues": "https://github.com/brick/math/issues", + "source": "https://github.com/brick/math/tree/0.9.3" + }, "funding": [ { "url": "https://github.com/BenMorel", @@ -64,16 +68,16 @@ }, { "name": "brick/varexporter", - "version": "0.3.5", + "version": "0.3.7", "source": { "type": "git", "url": "https://github.com/brick/varexporter.git", - "reference": "05241f28dfcba2b51b11e2d750e296316ebbe518" + "reference": "3e263cd718d242594c52963760fee2059fd5833c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/varexporter/zipball/05241f28dfcba2b51b11e2d750e296316ebbe518", - "reference": "05241f28dfcba2b51b11e2d750e296316ebbe518", + "url": "https://api.github.com/repos/brick/varexporter/zipball/3e263cd718d242594c52963760fee2059fd5833c", + "reference": "3e263cd718d242594c52963760fee2059fd5833c", "shasum": "" }, "require": { @@ -83,7 +87,7 @@ "require-dev": { "php-coveralls/php-coveralls": "^2.2", "phpunit/phpunit": "^8.5 || ^9.0", - "vimeo/psalm": "4.4.1" + "vimeo/psalm": "4.23.0" }, "type": "library", "autoload": { @@ -99,20 +103,30 @@ "keywords": [ "var_export" ], - "time": "2021-02-10T13:53:07+00:00" + "support": { + "issues": "https://github.com/brick/varexporter/issues", + "source": "https://github.com/brick/varexporter/tree/0.3.7" + }, + "funding": [ + { + "url": "https://github.com/BenMorel", + "type": "github" + } + ], + "time": "2022-06-29T23:37:57+00:00" }, { "name": "colinmollenhour/credis", - "version": "v1.13.0", + "version": "v1.13.1", "source": { "type": "git", "url": "https://github.com/colinmollenhour/credis.git", - "reference": "afec8e58ec93d2291c127fa19709a048f28641e5" + "reference": "85df015088e00daf8ce395189de22c8eb45c8d49" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/colinmollenhour/credis/zipball/afec8e58ec93d2291c127fa19709a048f28641e5", - "reference": "afec8e58ec93d2291c127fa19709a048f28641e5", + "url": "https://api.github.com/repos/colinmollenhour/credis/zipball/85df015088e00daf8ce395189de22c8eb45c8d49", + "reference": "85df015088e00daf8ce395189de22c8eb45c8d49", "shasum": "" }, "require": { @@ -142,20 +156,24 @@ ], "description": "Credis is a lightweight interface to the Redis key-value store which wraps the phpredis library when available for better performance.", "homepage": "https://github.com/colinmollenhour/credis", - "time": "2022-04-07T14:57:22+00:00" + "support": { + "issues": "https://github.com/colinmollenhour/credis/issues", + "source": "https://github.com/colinmollenhour/credis/tree/v1.13.1" + }, + "time": "2022-06-20T22:56:59+00:00" }, { "name": "colinmollenhour/php-redis-session-abstract", - "version": "v1.4.5", + "version": "v1.4.6", "source": { "type": "git", "url": "https://github.com/colinmollenhour/php-redis-session-abstract.git", - "reference": "77ad0c1637ae6ea059f1f8e9fbdac6469242a16d" + "reference": "f80354dc7c20caef29c881972a7966732c8c9bbd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/colinmollenhour/php-redis-session-abstract/zipball/77ad0c1637ae6ea059f1f8e9fbdac6469242a16d", - "reference": "77ad0c1637ae6ea059f1f8e9fbdac6469242a16d", + "url": "https://api.github.com/repos/colinmollenhour/php-redis-session-abstract/zipball/f80354dc7c20caef29c881972a7966732c8c9bbd", + "reference": "f80354dc7c20caef29c881972a7966732c8c9bbd", "shasum": "" }, "require": { @@ -182,20 +200,24 @@ ], "description": "A Redis-based session handler with optimistic locking", "homepage": "https://github.com/colinmollenhour/php-redis-session-abstract", - "time": "2021-12-01T21:16:01+00:00" + "support": { + "issues": "https://github.com/colinmollenhour/php-redis-session-abstract/issues", + "source": "https://github.com/colinmollenhour/php-redis-session-abstract/tree/v1.4.6" + }, + "time": "2022-08-16T22:35:13+00:00" }, { "name": "composer/ca-bundle", - "version": "1.3.1", + "version": "1.3.3", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "4c679186f2aca4ab6a0f1b0b9cf9252decb44d0b" + "reference": "30897edbfb15e784fe55587b4f73ceefd3c4d98c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/4c679186f2aca4ab6a0f1b0b9cf9252decb44d0b", - "reference": "4c679186f2aca4ab6a0f1b0b9cf9252decb44d0b", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/30897edbfb15e784fe55587b4f73ceefd3c4d98c", + "reference": "30897edbfb15e784fe55587b4f73ceefd3c4d98c", "shasum": "" }, "require": { @@ -239,6 +261,11 @@ "ssl", "tls" ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/ca-bundle/issues", + "source": "https://github.com/composer/ca-bundle/tree/1.3.3" + }, "funding": [ { "url": "https://packagist.com", @@ -253,20 +280,20 @@ "type": "tidelift" } ], - "time": "2021-10-28T20:44:15+00:00" + "time": "2022-07-20T07:14:26+00:00" }, { "name": "composer/composer", - "version": "2.2.12", + "version": "2.2.18", "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "ba61e768b410736efe61df01b61f1ec44f51474f" + "reference": "84175907664ca8b73f73f4883e67e886dfefb9f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/ba61e768b410736efe61df01b61f1ec44f51474f", - "reference": "ba61e768b410736efe61df01b61f1ec44f51474f", + "url": "https://api.github.com/repos/composer/composer/zipball/84175907664ca8b73f73f4883e67e886dfefb9f5", + "reference": "84175907664ca8b73f73f4883e67e886dfefb9f5", "shasum": "" }, "require": { @@ -333,6 +360,11 @@ "dependency", "package" ], + "support": { + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/composer/issues", + "source": "https://github.com/composer/composer/tree/2.2.18" + }, "funding": [ { "url": "https://packagist.com", @@ -347,7 +379,7 @@ "type": "tidelift" } ], - "time": "2022-04-13T14:42:25+00:00" + "time": "2022-08-20T09:33:38+00:00" }, { "name": "composer/metadata-minifier", @@ -398,6 +430,10 @@ "composer", "compression" ], + "support": { + "issues": "https://github.com/composer/metadata-minifier/issues", + "source": "https://github.com/composer/metadata-minifier/tree/1.0.0" + }, "funding": [ { "url": "https://packagist.com", @@ -465,6 +501,10 @@ "regex", "regular expression" ], + "support": { + "issues": "https://github.com/composer/pcre/issues", + "source": "https://github.com/composer/pcre/tree/1.0.1" + }, "funding": [ { "url": "https://packagist.com", @@ -541,6 +581,11 @@ "validation", "versioning" ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.3.2" + }, "funding": [ { "url": "https://packagist.com", @@ -559,16 +604,16 @@ }, { "name": "composer/spdx-licenses", - "version": "1.5.6", + "version": "1.5.7", "source": { "type": "git", "url": "https://github.com/composer/spdx-licenses.git", - "reference": "a30d487169d799745ca7280bc90fdfa693536901" + "reference": "c848241796da2abf65837d51dce1fae55a960149" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/a30d487169d799745ca7280bc90fdfa693536901", - "reference": "a30d487169d799745ca7280bc90fdfa693536901", + "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/c848241796da2abf65837d51dce1fae55a960149", + "reference": "c848241796da2abf65837d51dce1fae55a960149", "shasum": "" }, "require": { @@ -616,6 +661,11 @@ "spdx", "validator" ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/spdx-licenses/issues", + "source": "https://github.com/composer/spdx-licenses/tree/1.5.7" + }, "funding": [ { "url": "https://packagist.com", @@ -630,7 +680,7 @@ "type": "tidelift" } ], - "time": "2021-11-18T10:14:14+00:00" + "time": "2022-05-23T07:37:50+00:00" }, { "name": "composer/xdebug-handler", @@ -677,6 +727,11 @@ "Xdebug", "performance" ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/xdebug-handler/issues", + "source": "https://github.com/composer/xdebug-handler/tree/2.0.5" + }, "funding": [ { "url": "https://packagist.com", @@ -762,28 +817,32 @@ "x509", "x690" ], + "support": { + "issues": "https://github.com/fgrosse/PHPASN1/issues", + "source": "https://github.com/fgrosse/PHPASN1/tree/v2.4.0" + }, "time": "2021-12-11T12:41:06+00:00" }, { "name": "guzzlehttp/guzzle", - "version": "6.5.5", + "version": "6.5.8", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e" + "reference": "a52f0440530b54fa079ce76e8c5d196a42cad981" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/9d4290de1cfd701f38099ef7e183b64b4b7b0c5e", - "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/a52f0440530b54fa079ce76e8c5d196a42cad981", + "reference": "a52f0440530b54fa079ce76e8c5d196a42cad981", "shasum": "" }, "require": { "ext-json": "*", "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.6.1", + "guzzlehttp/psr7": "^1.9", "php": ">=5.5", - "symfony/polyfill-intl-idn": "^1.17.0" + "symfony/polyfill-intl-idn": "^1.17" }, "require-dev": { "ext-curl": "*", @@ -812,10 +871,40 @@ "MIT" ], "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" + }, + { + "name": "Jeremy Lindblom", + "email": "jeremeamia@gmail.com", + "homepage": "https://github.com/jeremeamia" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" } ], "description": "Guzzle is a PHP HTTP client library", @@ -829,20 +918,38 @@ "rest", "web service" ], - "time": "2020-06-16T21:01:06+00:00" + "support": { + "issues": "https://github.com/guzzle/guzzle/issues", + "source": "https://github.com/guzzle/guzzle/tree/6.5.8" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", + "type": "tidelift" + } + ], + "time": "2022-06-20T22:16:07+00:00" }, { "name": "guzzlehttp/promises", - "version": "1.5.1", + "version": "1.5.2", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da" + "reference": "b94b2807d85443f9719887892882d0329d1e2598" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da", - "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da", + "url": "https://api.github.com/repos/guzzle/promises/zipball/b94b2807d85443f9719887892882d0329d1e2598", + "reference": "b94b2807d85443f9719887892882d0329d1e2598", "shasum": "" }, "require": { @@ -895,6 +1002,10 @@ "keywords": [ "promise" ], + "support": { + "issues": "https://github.com/guzzle/promises/issues", + "source": "https://github.com/guzzle/promises/tree/1.5.2" + }, "funding": [ { "url": "https://github.com/GrahamCampbell", @@ -909,20 +1020,20 @@ "type": "tidelift" } ], - "time": "2021-10-22T20:56:57+00:00" + "time": "2022-08-28T14:55:35+00:00" }, { "name": "guzzlehttp/psr7", - "version": "1.8.5", + "version": "1.9.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "337e3ad8e5716c15f9657bd214d16cc5e69df268" + "reference": "e98e3e6d4f86621a9b75f623996e6bbdeb4b9318" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/337e3ad8e5716c15f9657bd214d16cc5e69df268", - "reference": "337e3ad8e5716c15f9657bd214d16cc5e69df268", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/e98e3e6d4f86621a9b75f623996e6bbdeb4b9318", + "reference": "e98e3e6d4f86621a9b75f623996e6bbdeb4b9318", "shasum": "" }, "require": { @@ -943,7 +1054,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.7-dev" + "dev-master": "1.9-dev" } }, "autoload": { @@ -1001,6 +1112,10 @@ "uri", "url" ], + "support": { + "issues": "https://github.com/guzzle/psr7/issues", + "source": "https://github.com/guzzle/psr7/tree/1.9.0" + }, "funding": [ { "url": "https://github.com/GrahamCampbell", @@ -1015,7 +1130,7 @@ "type": "tidelift" } ], - "time": "2022-03-20T21:51:18+00:00" + "time": "2022-06-20T21:43:03+00:00" }, { "name": "justinrainbow/json-schema", @@ -1081,6 +1196,10 @@ "json", "schema" ], + "support": { + "issues": "https://github.com/justinrainbow/json-schema/issues", + "source": "https://github.com/justinrainbow/json-schema/tree/5.2.12" + }, "time": "2022-04-13T08:02:27+00:00" }, { @@ -1135,6 +1254,14 @@ "code", "laminas" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-code/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-code/issues", + "rss": "https://github.com/laminas/laminas-code/releases.atom", + "source": "https://github.com/laminas/laminas-code" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", @@ -1195,6 +1322,14 @@ "config", "laminas" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-config/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-config/issues", + "rss": "https://github.com/laminas/laminas-config/releases.atom", + "source": "https://github.com/laminas/laminas-config" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", @@ -1251,6 +1386,14 @@ "crypt", "laminas" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-crypt/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-crypt/issues", + "rss": "https://github.com/laminas/laminas-crypt/releases.atom", + "source": "https://github.com/laminas/laminas-crypt" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", @@ -1306,6 +1449,14 @@ "escaper", "laminas" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-escaper/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-escaper/issues", + "rss": "https://github.com/laminas/laminas-escaper/releases.atom", + "source": "https://github.com/laminas/laminas-escaper" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", @@ -1365,6 +1516,14 @@ "events", "laminas" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-eventmanager/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-eventmanager/issues", + "rss": "https://github.com/laminas/laminas-eventmanager/releases.atom", + "source": "https://github.com/laminas/laminas-eventmanager" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", @@ -1423,6 +1582,14 @@ "http client", "laminas" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-http/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-http/issues", + "rss": "https://github.com/laminas/laminas-http/releases.atom", + "source": "https://github.com/laminas/laminas-http" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", @@ -1476,6 +1643,14 @@ "json", "laminas" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-json/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-json/issues", + "rss": "https://github.com/laminas/laminas-json/releases.atom", + "source": "https://github.com/laminas/laminas-json" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", @@ -1524,6 +1699,14 @@ "laminas", "loader" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-loader/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-loader/issues", + "rss": "https://github.com/laminas/laminas-loader/releases.atom", + "source": "https://github.com/laminas/laminas-loader" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", @@ -1596,6 +1779,14 @@ "laminas", "mail" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-mail/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-mail/issues", + "rss": "https://github.com/laminas/laminas-mail/releases.atom", + "source": "https://github.com/laminas/laminas-mail" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", @@ -1655,6 +1846,14 @@ "laminas", "math" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-math/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-math/issues", + "rss": "https://github.com/laminas/laminas-math/releases.atom", + "source": "https://github.com/laminas/laminas-math" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", @@ -1665,16 +1864,16 @@ }, { "name": "laminas/laminas-mime", - "version": "2.9.1", + "version": "2.10.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-mime.git", - "reference": "72d21a1b4bb7086d4a4d7058c0abca180b209184" + "reference": "62a899a7c9100889c2d2386b1357003a2cb52fa9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-mime/zipball/72d21a1b4bb7086d4a4d7058c0abca180b209184", - "reference": "72d21a1b4bb7086d4a4d7058c0abca180b209184", + "url": "https://api.github.com/repos/laminas/laminas-mime/zipball/62a899a7c9100889c2d2386b1357003a2cb52fa9", + "reference": "62a899a7c9100889c2d2386b1357003a2cb52fa9", "shasum": "" }, "require": { @@ -1687,7 +1886,7 @@ "require-dev": { "laminas/laminas-coding-standard": "~2.2.1", "laminas/laminas-mail": "^2.12", - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^9.5" }, "suggest": { "laminas/laminas-mail": "Laminas\\Mail component" @@ -1708,26 +1907,34 @@ "laminas", "mime" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-mime/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-mime/issues", + "rss": "https://github.com/laminas/laminas-mime/releases.atom", + "source": "https://github.com/laminas/laminas-mime" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", "type": "community_bridge" } ], - "time": "2021-09-20T21:19:24+00:00" + "time": "2022-08-30T09:38:41+00:00" }, { "name": "laminas/laminas-modulemanager", - "version": "2.11.0", + "version": "2.12.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-modulemanager.git", - "reference": "6acf5991d10b0b38a2edb08729ed48981b2a5dad" + "reference": "cd2dd3b3dc59e75a9f2117374222c0d84b25bf19" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-modulemanager/zipball/6acf5991d10b0b38a2edb08729ed48981b2a5dad", - "reference": "6acf5991d10b0b38a2edb08729ed48981b2a5dad", + "url": "https://api.github.com/repos/laminas/laminas-modulemanager/zipball/cd2dd3b3dc59e75a9f2117374222c0d84b25bf19", + "reference": "cd2dd3b3dc59e75a9f2117374222c0d84b25bf19", "shasum": "" }, "require": { @@ -1746,7 +1953,9 @@ "laminas/laminas-loader": "^2.8", "laminas/laminas-mvc": "^3.1.1", "laminas/laminas-servicemanager": "^3.7", - "phpunit/phpunit": "^9.5.5" + "phpunit/phpunit": "^9.5.5", + "psalm/plugin-phpunit": "^0.16.1", + "vimeo/psalm": "^4.10" }, "suggest": { "laminas/laminas-console": "Laminas\\Console component", @@ -1770,13 +1979,21 @@ "laminas", "modulemanager" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-modulemanager/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-modulemanager/issues", + "rss": "https://github.com/laminas/laminas-modulemanager/releases.atom", + "source": "https://github.com/laminas/laminas-modulemanager" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", "type": "community_bridge" } ], - "time": "2021-10-13T17:05:17+00:00" + "time": "2022-09-07T11:22:27+00:00" }, { "name": "laminas/laminas-mvc", @@ -1845,6 +2062,14 @@ "laminas", "mvc" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-mvc/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-mvc/issues", + "rss": "https://github.com/laminas/laminas-mvc/releases.atom", + "source": "https://github.com/laminas/laminas-mvc" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", @@ -1908,6 +2133,14 @@ "laminas", "routing" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-router/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-router/issues", + "rss": "https://github.com/laminas/laminas-router/releases.atom", + "source": "https://github.com/laminas/laminas-router" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", @@ -1918,16 +2151,16 @@ }, { "name": "laminas/laminas-servicemanager", - "version": "3.11.2", + "version": "3.16.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-servicemanager.git", - "reference": "8a1f4d53ec93b2e18174f6f186922ef44d11a75a" + "reference": "863c66733740cd36ebf5e700f4258ef2c68a2a24" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/8a1f4d53ec93b2e18174f6f186922ef44d11a75a", - "reference": "8a1f4d53ec93b2e18174f6f186922ef44d11a75a", + "url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/863c66733740cd36ebf5e700f4258ef2c68a2a24", + "reference": "863c66733740cd36ebf5e700f4258ef2c68a2a24", "shasum": "" }, "require": { @@ -1950,14 +2183,14 @@ "require-dev": { "composer/package-versions-deprecated": "^1.0", "laminas/laminas-coding-standard": "~2.3.0", - "laminas/laminas-container-config-test": "^0.6", + "laminas/laminas-container-config-test": "^0.7", "laminas/laminas-dependency-plugin": "^2.1.2", "mikey179/vfsstream": "^1.6.10@alpha", "ocramius/proxy-manager": "^2.11", "phpbench/phpbench": "^1.1", "phpspec/prophecy-phpunit": "^2.0", "phpunit/phpunit": "^9.5.5", - "psalm/plugin-phpunit": "^0.16.1", + "psalm/plugin-phpunit": "^0.17.0", "vimeo/psalm": "^4.8" }, "suggest": { @@ -1991,40 +2224,49 @@ "service-manager", "servicemanager" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-servicemanager/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-servicemanager/issues", + "rss": "https://github.com/laminas/laminas-servicemanager/releases.atom", + "source": "https://github.com/laminas/laminas-servicemanager" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", "type": "community_bridge" } ], - "time": "2022-04-07T17:21:25+00:00" + "time": "2022-07-27T14:58:17+00:00" }, { "name": "laminas/laminas-stdlib", - "version": "3.7.1", + "version": "3.13.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-stdlib.git", - "reference": "bcd869e2fe88d567800057c1434f2380354fe325" + "reference": "66a6d03c381f6c9f1dd988bf8244f9afb9380d76" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/bcd869e2fe88d567800057c1434f2380354fe325", - "reference": "bcd869e2fe88d567800057c1434f2380354fe325", + "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/66a6d03c381f6c9f1dd988bf8244f9afb9380d76", + "reference": "66a6d03c381f6c9f1dd988bf8244f9afb9380d76", "shasum": "" }, "require": { - "php": "^7.3 || ~8.0.0 || ~8.1.0" + "php": "^7.4 || ~8.0.0 || ~8.1.0" }, "conflict": { "zendframework/zend-stdlib": "*" }, "require-dev": { "laminas/laminas-coding-standard": "~2.3.0", - "phpbench/phpbench": "^1.0", - "phpunit/phpunit": "^9.3.7", - "psalm/plugin-phpunit": "^0.16.0", - "vimeo/psalm": "^4.7" + "phpbench/phpbench": "^1.2.6", + "phpstan/phpdoc-parser": "^0.5.4", + "phpunit/phpunit": "^9.5.23", + "psalm/plugin-phpunit": "^0.17.0", + "vimeo/psalm": "^4.26" }, "type": "library", "autoload": { @@ -2042,13 +2284,21 @@ "laminas", "stdlib" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-stdlib/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-stdlib/issues", + "rss": "https://github.com/laminas/laminas-stdlib/releases.atom", + "source": "https://github.com/laminas/laminas-stdlib" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", "type": "community_bridge" } ], - "time": "2022-01-21T15:50:46+00:00" + "time": "2022-08-24T13:56:50+00:00" }, { "name": "laminas/laminas-uri", @@ -2093,6 +2343,14 @@ "laminas", "uri" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-uri/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-uri/issues", + "rss": "https://github.com/laminas/laminas-uri/releases.atom", + "source": "https://github.com/laminas/laminas-uri" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", @@ -2103,51 +2361,47 @@ }, { "name": "laminas/laminas-validator", - "version": "2.17.0", + "version": "2.23.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-validator.git", - "reference": "bdd503adc83d814a5c94e598ea0eb9fc7ca56339" + "reference": "6d61b6cc3b222f13807a18d9247cdfb084958b03" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-validator/zipball/bdd503adc83d814a5c94e598ea0eb9fc7ca56339", - "reference": "bdd503adc83d814a5c94e598ea0eb9fc7ca56339", + "url": "https://api.github.com/repos/laminas/laminas-validator/zipball/6d61b6cc3b222f13807a18d9247cdfb084958b03", + "reference": "6d61b6cc3b222f13807a18d9247cdfb084958b03", "shasum": "" }, "require": { - "container-interop/container-interop": "^1.1", - "laminas/laminas-stdlib": "^3.6", - "php": "^7.3 || ~8.0.0 || ~8.1.0" + "laminas/laminas-servicemanager": "^3.12.0", + "laminas/laminas-stdlib": "^3.10", + "php": "^7.4 || ~8.0.0 || ~8.1.0" }, "conflict": { "zendframework/zend-validator": "*" }, "require-dev": { - "laminas/laminas-cache": "^2.6.1", - "laminas/laminas-coding-standard": "~2.2.1", + "laminas/laminas-coding-standard": "~2.3.0", "laminas/laminas-db": "^2.7", - "laminas/laminas-filter": "^2.6", + "laminas/laminas-filter": "^2.14.0", "laminas/laminas-http": "^2.14.2", - "laminas/laminas-i18n": "^2.6", - "laminas/laminas-math": "^2.6", - "laminas/laminas-servicemanager": "^2.7.11 || ^3.0.3", - "laminas/laminas-session": "^2.8", - "laminas/laminas-uri": "^2.7", + "laminas/laminas-i18n": "^2.15.0", + "laminas/laminas-session": "^2.12.1", + "laminas/laminas-uri": "^2.9.1", "phpspec/prophecy-phpunit": "^2.0", - "phpunit/phpunit": "^9.5.5", - "psalm/plugin-phpunit": "^0.15.0", + "phpunit/phpunit": "^9.5.21", + "psalm/plugin-phpunit": "^0.17.0", "psr/http-client": "^1.0", "psr/http-factory": "^1.0", "psr/http-message": "^1.0", - "vimeo/psalm": "^4.3" + "vimeo/psalm": "^4.24.0" }, "suggest": { "laminas/laminas-db": "Laminas\\Db component, required by the (No)RecordExists validator", "laminas/laminas-filter": "Laminas\\Filter component, required by the Digits validator", "laminas/laminas-i18n": "Laminas\\I18n component to allow translation of validation error messages", "laminas/laminas-i18n-resources": "Translations of validator messages", - "laminas/laminas-math": "Laminas\\Math component, required by the Csrf validator", "laminas/laminas-servicemanager": "Laminas\\ServiceManager component to allow using the ValidatorPluginManager and validator chains", "laminas/laminas-session": "Laminas\\Session component, ^2.8; required by the Csrf validator", "laminas/laminas-uri": "Laminas\\Uri component, required by the Uri and Sitemap\\Loc validators", @@ -2175,26 +2429,34 @@ "laminas", "validator" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-validator/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-validator/issues", + "rss": "https://github.com/laminas/laminas-validator/releases.atom", + "source": "https://github.com/laminas/laminas-validator" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", "type": "community_bridge" } ], - "time": "2022-03-08T18:16:51+00:00" + "time": "2022-07-27T19:17:59+00:00" }, { "name": "laminas/laminas-view", - "version": "2.20.0", + "version": "2.22.1", "source": { "type": "git", "url": "https://github.com/laminas/laminas-view.git", - "reference": "2cd6973a3e042be3d244260fe93f435668f5c2b4" + "reference": "dd4f49fccdc45ce9c39ec03b533d86f0ace62345" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-view/zipball/2cd6973a3e042be3d244260fe93f435668f5c2b4", - "reference": "2cd6973a3e042be3d244260fe93f435668f5c2b4", + "url": "https://api.github.com/repos/laminas/laminas-view/zipball/dd4f49fccdc45ce9c39ec03b533d86f0ace62345", + "reference": "dd4f49fccdc45ce9c39ec03b533d86f0ace62345", "shasum": "" }, "require": { @@ -2205,8 +2467,8 @@ "laminas/laminas-escaper": "^2.5", "laminas/laminas-eventmanager": "^3.4", "laminas/laminas-json": "^3.3", - "laminas/laminas-servicemanager": "^3.10", - "laminas/laminas-stdlib": "^3.6", + "laminas/laminas-servicemanager": "^3.14.0", + "laminas/laminas-stdlib": "^3.10.1", "php": "^7.4 || ~8.0.0 || ~8.1.0", "psr/container": "^1 || ^2" }, @@ -2237,7 +2499,7 @@ "phpspec/prophecy": "^1.12", "phpspec/prophecy-phpunit": "^2.0", "phpunit/phpunit": "^9.5.5", - "psalm/plugin-phpunit": "^0.16.1", + "psalm/plugin-phpunit": "^0.17.0", "vimeo/psalm": "^4.10" }, "suggest": { @@ -2274,26 +2536,34 @@ "laminas", "view" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-view/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-view/issues", + "rss": "https://github.com/laminas/laminas-view/releases.atom", + "source": "https://github.com/laminas/laminas-view" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", "type": "community_bridge" } ], - "time": "2022-02-22T13:52:44+00:00" + "time": "2022-08-17T21:06:17+00:00" }, { "name": "laminas/laminas-zendframework-bridge", - "version": "1.5.0", + "version": "1.6.1", "source": { "type": "git", "url": "https://github.com/laminas/laminas-zendframework-bridge.git", - "reference": "7f049390b756d34ba5940a8fb47634fbb51f79ab" + "reference": "e112dd2c099f4f6142c16fc65fda89a638e06885" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/7f049390b756d34ba5940a8fb47634fbb51f79ab", - "reference": "7f049390b756d34ba5940a8fb47634fbb51f79ab", + "url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/e112dd2c099f4f6142c16fc65fda89a638e06885", + "reference": "e112dd2c099f4f6142c16fc65fda89a638e06885", "shasum": "" }, "require": { @@ -2330,21 +2600,27 @@ "laminas", "zf" ], + "support": { + "forum": "https://discourse.laminas.dev/", + "issues": "https://github.com/laminas/laminas-zendframework-bridge/issues", + "rss": "https://github.com/laminas/laminas-zendframework-bridge/releases.atom", + "source": "https://github.com/laminas/laminas-zendframework-bridge" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", "type": "community_bridge" } ], - "time": "2022-02-22T22:17:01+00:00" + "time": "2022-07-29T13:28:29+00:00" }, { "name": "magento/framework", - "version": "103.0.3-p2", + "version": "103.0.3-p3", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/framework/magento-framework-103.0.3.0-patch2.zip", - "shasum": "415322da8c479e67ee0b6dc4e7199d71839a765e" + "url": "https://repo.magento.com/archives/magento/framework/magento-framework-103.0.3.0-patch3.zip", + "shasum": "8a09d0765c150331dc82402fcf214b044ec484cc" }, "require": { "colinmollenhour/php-redis-session-abstract": "~1.4.0", @@ -2444,20 +2720,24 @@ "ZF1", "framework" ], + "support": { + "issues": "https://github.com/magento/zf1/issues", + "source": "https://github.com/magento/zf1/tree/1.14.3" + }, "time": "2019-11-26T15:09:40+00:00" }, { "name": "monolog/monolog", - "version": "1.27.0", + "version": "1.27.1", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "52ebd235c1f7e0d5e1b16464b695a28335f8e44a" + "reference": "904713c5929655dc9b97288b69cfeedad610c9a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/52ebd235c1f7e0d5e1b16464b695a28335f8e44a", - "reference": "52ebd235c1f7e0d5e1b16464b695a28335f8e44a", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/904713c5929655dc9b97288b69cfeedad610c9a1", + "reference": "904713c5929655dc9b97288b69cfeedad610c9a1", "shasum": "" }, "require": { @@ -2516,6 +2796,10 @@ "logging", "psr-3" ], + "support": { + "issues": "https://github.com/Seldaek/monolog/issues", + "source": "https://github.com/Seldaek/monolog/tree/1.27.1" + }, "funding": [ { "url": "https://github.com/Seldaek", @@ -2526,20 +2810,20 @@ "type": "tidelift" } ], - "time": "2022-03-13T20:29:46+00:00" + "time": "2022-06-09T08:53:42+00:00" }, { "name": "nikic/php-parser", - "version": "v4.13.2", + "version": "v4.15.1", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "210577fe3cf7badcc5814d99455df46564f3c077" + "reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/210577fe3cf7badcc5814d99455df46564f3c077", - "reference": "210577fe3cf7badcc5814d99455df46564f3c077", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/0ef6c55a3f47f89d7a374e6f835197a0b5fcf900", + "reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900", "shasum": "" }, "require": { @@ -2578,7 +2862,11 @@ "parser", "php" ], - "time": "2021-11-30T19:35:32+00:00" + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.1" + }, + "time": "2022-09-04T07:30:47+00:00" }, { "name": "nosto/php-sdk", @@ -2638,16 +2926,16 @@ }, { "name": "paragonie/constant_time_encoding", - "version": "v2.5.0", + "version": "v2.6.3", "source": { "type": "git", "url": "https://github.com/paragonie/constant_time_encoding.git", - "reference": "9229e15f2e6ba772f0c55dd6986c563b937170a8" + "reference": "58c3f47f650c94ec05a151692652a868995d2938" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/9229e15f2e6ba772f0c55dd6986c563b937170a8", - "reference": "9229e15f2e6ba772f0c55dd6986c563b937170a8", + "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/58c3f47f650c94ec05a151692652a868995d2938", + "reference": "58c3f47f650c94ec05a151692652a868995d2938", "shasum": "" }, "require": { @@ -2696,7 +2984,12 @@ "hex2bin", "rfc4648" ], - "time": "2022-01-17T05:32:27+00:00" + "support": { + "email": "info@paragonie.com", + "issues": "https://github.com/paragonie/constant_time_encoding/issues", + "source": "https://github.com/paragonie/constant_time_encoding" + }, + "time": "2022-06-14T06:56:20+00:00" }, { "name": "paragonie/random_compat", @@ -2741,33 +3034,42 @@ "pseudorandom", "random" ], + "support": { + "email": "info@paragonie.com", + "issues": "https://github.com/paragonie/random_compat/issues", + "source": "https://github.com/paragonie/random_compat" + }, "time": "2020-10-15T08:29:30+00:00" }, { "name": "phpoption/phpoption", - "version": "1.8.1", + "version": "1.9.0", "source": { "type": "git", "url": "https://github.com/schmittjoh/php-option.git", - "reference": "eab7a0df01fe2344d172bff4cd6dbd3f8b84ad15" + "reference": "dc5ff11e274a90cc1c743f66c9ad700ce50db9ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/eab7a0df01fe2344d172bff4cd6dbd3f8b84ad15", - "reference": "eab7a0df01fe2344d172bff4cd6dbd3f8b84ad15", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/dc5ff11e274a90cc1c743f66c9ad700ce50db9ab", + "reference": "dc5ff11e274a90cc1c743f66c9ad700ce50db9ab", "shasum": "" }, "require": { - "php": "^7.0 || ^8.0" + "php": "^7.2.5 || ^8.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "phpunit/phpunit": "^6.5.14 || ^7.5.20 || ^8.5.19 || ^9.5.8" + "bamarni/composer-bin-plugin": "^1.8", + "phpunit/phpunit": "^8.5.28 || ^9.5.21" }, "type": "library", "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": true + }, "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "1.9-dev" } }, "autoload": { @@ -2798,6 +3100,10 @@ "php", "type" ], + "support": { + "issues": "https://github.com/schmittjoh/php-option/issues", + "source": "https://github.com/schmittjoh/php-option/tree/1.9.0" + }, "funding": [ { "url": "https://github.com/GrahamCampbell", @@ -2808,20 +3114,20 @@ "type": "tidelift" } ], - "time": "2021-12-04T23:24:31+00:00" + "time": "2022-07-30T15:51:26+00:00" }, { "name": "phpseclib/phpseclib", - "version": "3.0.14", + "version": "3.0.16", "source": { "type": "git", "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "2f0b7af658cbea265cbb4a791d6c29a6613f98ef" + "reference": "7181378909ed8890be4db53d289faac5b77f8b05" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/2f0b7af658cbea265cbb4a791d6c29a6613f98ef", - "reference": "2f0b7af658cbea265cbb4a791d6c29a6613f98ef", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/7181378909ed8890be4db53d289faac5b77f8b05", + "reference": "7181378909ed8890be4db53d289faac5b77f8b05", "shasum": "" }, "require": { @@ -2833,6 +3139,7 @@ "phpunit/phpunit": "*" }, "suggest": { + "ext-dom": "Install the DOM extension to load XML formatted public keys.", "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", @@ -2899,6 +3206,10 @@ "x.509", "x509" ], + "support": { + "issues": "https://github.com/phpseclib/phpseclib/issues", + "source": "https://github.com/phpseclib/phpseclib/tree/3.0.16" + }, "funding": [ { "url": "https://github.com/terrafrost", @@ -2913,7 +3224,7 @@ "type": "tidelift" } ], - "time": "2022-04-04T05:15:45+00:00" + "time": "2022-09-05T18:03:08+00:00" }, { "name": "psr/container", @@ -2957,6 +3268,10 @@ "container-interop", "psr" ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/1.1.2" + }, "time": "2021-11-05T16:50:12+00:00" }, { @@ -3003,6 +3318,10 @@ "psr", "psr-14" ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, "time": "2019-01-08T18:20:26+00:00" }, { @@ -3052,6 +3371,9 @@ "psr", "psr-18" ], + "support": { + "source": "https://github.com/php-fig/http-client/tree/master" + }, "time": "2020-06-29T06:28:15+00:00" }, { @@ -3104,6 +3426,9 @@ "request", "response" ], + "support": { + "source": "https://github.com/php-fig/http-factory/tree/master" + }, "time": "2019-04-30T12:38:16+00:00" }, { @@ -3154,6 +3479,9 @@ "request", "response" ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/master" + }, "time": "2016-08-06T14:39:51+00:00" }, { @@ -3201,6 +3529,9 @@ "psr", "psr-3" ], + "support": { + "source": "https://github.com/php-fig/log/tree/1.1.4" + }, "time": "2021-05-03T11:20:27+00:00" }, { @@ -3241,6 +3572,10 @@ } ], "description": "A polyfill for getallheaders.", + "support": { + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" + }, "time": "2019-03-08T08:55:37+00:00" }, { @@ -3306,6 +3641,10 @@ "queue", "set" ], + "support": { + "issues": "https://github.com/ramsey/collection/issues", + "source": "https://github.com/ramsey/collection/tree/1.2.2" + }, "funding": [ { "url": "https://github.com/ramsey", @@ -3397,6 +3736,11 @@ "identifier", "uuid" ], + "support": { + "issues": "https://github.com/ramsey/uuid/issues", + "rss": "https://github.com/ramsey/uuid/releases.atom", + "source": "https://github.com/ramsey/uuid" + }, "funding": [ { "url": "https://github.com/ramsey", @@ -3469,6 +3813,10 @@ "promise", "promises" ], + "support": { + "issues": "https://github.com/reactphp/promise/issues", + "source": "https://github.com/reactphp/promise/tree/v2.9.0" + }, "funding": [ { "url": "https://github.com/WyriHaximus", @@ -3529,6 +3877,10 @@ "parser", "validator" ], + "support": { + "issues": "https://github.com/Seldaek/jsonlint/issues", + "source": "https://github.com/Seldaek/jsonlint/tree/1.9.0" + }, "funding": [ { "url": "https://github.com/Seldaek", @@ -3543,16 +3895,16 @@ }, { "name": "seld/phar-utils", - "version": "1.2.0", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/Seldaek/phar-utils.git", - "reference": "9f3452c93ff423469c0d56450431562ca423dcee" + "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/9f3452c93ff423469c0d56450431562ca423dcee", - "reference": "9f3452c93ff423469c0d56450431562ca423dcee", + "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/ea2f4014f163c1be4c601b9b7bd6af81ba8d701c", + "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c", "shasum": "" }, "require": { @@ -3583,7 +3935,11 @@ "keywords": [ "phar" ], - "time": "2021-12-10T11:20:11+00:00" + "support": { + "issues": "https://github.com/Seldaek/phar-utils/issues", + "source": "https://github.com/Seldaek/phar-utils/tree/1.2.1" + }, + "time": "2022-08-31T10:31:18+00:00" }, { "name": "spomky-labs/aes-key-wrap", @@ -3649,6 +4005,10 @@ "padding", "wrap" ], + "support": { + "issues": "https://github.com/Spomky-Labs/aes-key-wrap/issues", + "source": "https://github.com/Spomky-Labs/aes-key-wrap/tree/v6.0.0" + }, "time": "2020-08-01T14:07:55+00:00" }, { @@ -3700,6 +4060,10 @@ "safe", "url" ], + "support": { + "issues": "https://github.com/Spomky-Labs/base64url/issues", + "source": "https://github.com/Spomky-Labs/base64url/tree/v2.0.4" + }, "funding": [ { "url": "https://github.com/Spomky", @@ -3714,16 +4078,16 @@ }, { "name": "symfony/config", - "version": "v5.4.8", + "version": "v5.4.11", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "9f8964f56f7234f8ace16f66cb3fbae950c04e68" + "reference": "ec79e03125c1d2477e43dde8528535d90cc78379" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/9f8964f56f7234f8ace16f66cb3fbae950c04e68", - "reference": "9f8964f56f7234f8ace16f66cb3fbae950c04e68", + "url": "https://api.github.com/repos/symfony/config/zipball/ec79e03125c1d2477e43dde8528535d90cc78379", + "reference": "ec79e03125c1d2477e43dde8528535d90cc78379", "shasum": "" }, "require": { @@ -3772,6 +4136,9 @@ ], "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" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -3786,20 +4153,20 @@ "type": "tidelift" } ], - "time": "2022-04-12T16:02:29+00:00" + "time": "2022-07-20T13:00:38+00:00" }, { "name": "symfony/console", - "version": "v4.4.41", + "version": "v4.4.45", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "0e1e62083b20ccb39c2431293de060f756af905c" + "reference": "28b77970939500fb04180166a1f716e75a871ef8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/0e1e62083b20ccb39c2431293de060f756af905c", - "reference": "0e1e62083b20ccb39c2431293de060f756af905c", + "url": "https://api.github.com/repos/symfony/console/zipball/28b77970939500fb04180166a1f716e75a871ef8", + "reference": "28b77970939500fb04180166a1f716e75a871ef8", "shasum": "" }, "require": { @@ -3859,6 +4226,9 @@ ], "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/console/tree/v4.4.45" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -3873,20 +4243,20 @@ "type": "tidelift" } ], - "time": "2022-04-12T15:19:55+00:00" + "time": "2022-08-17T14:50:19+00:00" }, { "name": "symfony/debug", - "version": "v4.4.41", + "version": "v4.4.44", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "6637e62480b60817b9a6984154a533e8e64c6bd5" + "reference": "1a692492190773c5310bc7877cb590c04c2f05be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/6637e62480b60817b9a6984154a533e8e64c6bd5", - "reference": "6637e62480b60817b9a6984154a533e8e64c6bd5", + "url": "https://api.github.com/repos/symfony/debug/zipball/1a692492190773c5310bc7877cb590c04c2f05be", + "reference": "1a692492190773c5310bc7877cb590c04c2f05be", "shasum": "" }, "require": { @@ -3924,6 +4294,9 @@ ], "description": "Provides tools to ease debugging PHP code", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/debug/tree/v4.4.44" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -3938,20 +4311,21 @@ "type": "tidelift" } ], - "time": "2022-04-12T15:19:55+00:00" + "abandoned": "symfony/error-handler", + "time": "2022-07-28T16:29:46+00:00" }, { "name": "symfony/dependency-injection", - "version": "v5.4.8", + "version": "v5.4.11", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "855e29cd715ad62bb840c9841fe09a7cde50811f" + "reference": "a8b9251016e9476db73e25fa836904bc0bf74c62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/855e29cd715ad62bb840c9841fe09a7cde50811f", - "reference": "855e29cd715ad62bb840c9841fe09a7cde50811f", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/a8b9251016e9476db73e25fa836904bc0bf74c62", + "reference": "a8b9251016e9476db73e25fa836904bc0bf74c62", "shasum": "" }, "require": { @@ -4010,6 +4384,9 @@ ], "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.11" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4024,11 +4401,11 @@ "type": "tidelift" } ], - "time": "2022-04-26T13:08:29+00:00" + "time": "2022-07-20T13:00:38+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v2.5.1", + "version": "v2.5.2", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", @@ -4074,6 +4451,9 @@ ], "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" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4092,16 +4472,16 @@ }, { "name": "symfony/error-handler", - "version": "v4.4.41", + "version": "v4.4.44", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "529feb0e03133dbd5fd3707200147cc4903206da" + "reference": "be731658121ef2d8be88f3a1ec938148a9237291" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/529feb0e03133dbd5fd3707200147cc4903206da", - "reference": "529feb0e03133dbd5fd3707200147cc4903206da", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/be731658121ef2d8be88f3a1ec938148a9237291", + "reference": "be731658121ef2d8be88f3a1ec938148a9237291", "shasum": "" }, "require": { @@ -4139,6 +4519,9 @@ ], "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/error-handler/tree/v4.4.44" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4153,20 +4536,20 @@ "type": "tidelift" } ], - "time": "2022-04-12T15:19:55+00:00" + "time": "2022-07-28T16:29:46+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v4.4.37", + "version": "v4.4.44", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "3ccfcfb96ecce1217d7b0875a0736976bc6e63dc" + "reference": "1e866e9e5c1b22168e0ce5f0b467f19bba61266a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/3ccfcfb96ecce1217d7b0875a0736976bc6e63dc", - "reference": "3ccfcfb96ecce1217d7b0875a0736976bc6e63dc", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/1e866e9e5c1b22168e0ce5f0b467f19bba61266a", + "reference": "1e866e9e5c1b22168e0ce5f0b467f19bba61266a", "shasum": "" }, "require": { @@ -4220,6 +4603,9 @@ ], "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/v4.4.44" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4234,11 +4620,11 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:41:36+00:00" + "time": "2022-07-20T09:59:04+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v1.1.12", + "version": "v1.1.13", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", @@ -4296,6 +4682,9 @@ "interoperability", "standards" ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v1.1.13" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4314,16 +4703,16 @@ }, { "name": "symfony/filesystem", - "version": "v5.4.7", + "version": "v5.4.12", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "3a4442138d80c9f7b600fb297534ac718b61d37f" + "reference": "2d67c1f9a1937406a9be3171b4b22250c0a11447" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/3a4442138d80c9f7b600fb297534ac718b61d37f", - "reference": "3a4442138d80c9f7b600fb297534ac718b61d37f", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/2d67c1f9a1937406a9be3171b4b22250c0a11447", + "reference": "2d67c1f9a1937406a9be3171b4b22250c0a11447", "shasum": "" }, "require": { @@ -4357,6 +4746,9 @@ ], "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/filesystem/tree/v5.4.12" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4371,20 +4763,20 @@ "type": "tidelift" } ], - "time": "2022-04-01T12:33:59+00:00" + "time": "2022-08-02T13:48:16+00:00" }, { "name": "symfony/finder", - "version": "v5.4.8", + "version": "v5.4.11", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "9b630f3427f3ebe7cd346c277a1408b00249dad9" + "reference": "7872a66f57caffa2916a584db1aa7f12adc76f8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/9b630f3427f3ebe7cd346c277a1408b00249dad9", - "reference": "9b630f3427f3ebe7cd346c277a1408b00249dad9", + "url": "https://api.github.com/repos/symfony/finder/zipball/7872a66f57caffa2916a584db1aa7f12adc76f8c", + "reference": "7872a66f57caffa2916a584db1aa7f12adc76f8c", "shasum": "" }, "require": { @@ -4417,6 +4809,9 @@ ], "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v5.4.11" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4431,20 +4826,20 @@ "type": "tidelift" } ], - "time": "2022-04-15T08:07:45+00:00" + "time": "2022-07-29T07:37:50+00:00" }, { "name": "symfony/http-client-contracts", - "version": "v2.5.1", + "version": "v2.5.2", "source": { "type": "git", "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "1a4f708e4e87f335d1b1be6148060739152f0bd5" + "reference": "ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/1a4f708e4e87f335d1b1be6148060739152f0bd5", - "reference": "1a4f708e4e87f335d1b1be6148060739152f0bd5", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70", + "reference": "ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70", "shasum": "" }, "require": { @@ -4492,6 +4887,9 @@ "interoperability", "standards" ], + "support": { + "source": "https://github.com/symfony/http-client-contracts/tree/v2.5.2" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4506,20 +4904,20 @@ "type": "tidelift" } ], - "time": "2022-03-13T20:07:29+00:00" + "time": "2022-04-12T15:48:08+00:00" }, { "name": "symfony/http-foundation", - "version": "v5.4.8", + "version": "v5.4.12", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "ff2818d1c3d49860bcae1f2cbb5eb00fcd3bf9e2" + "reference": "f4bfe9611b113b15d98a43da68ec9b5a00d56791" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/ff2818d1c3d49860bcae1f2cbb5eb00fcd3bf9e2", - "reference": "ff2818d1c3d49860bcae1f2cbb5eb00fcd3bf9e2", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/f4bfe9611b113b15d98a43da68ec9b5a00d56791", + "reference": "f4bfe9611b113b15d98a43da68ec9b5a00d56791", "shasum": "" }, "require": { @@ -4531,8 +4929,11 @@ "require-dev": { "predis/predis": "~1.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", - "symfony/mime": "^4.4|^5.0|^6.0" + "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4", + "symfony/mime": "^4.4|^5.0|^6.0", + "symfony/rate-limiter": "^5.2|^6.0" }, "suggest": { "symfony/mime": "To use the file extension guesser" @@ -4562,6 +4963,9 @@ ], "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.12" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4576,20 +4980,20 @@ "type": "tidelift" } ], - "time": "2022-04-22T08:14:12+00:00" + "time": "2022-08-19T07:33:17+00:00" }, { "name": "symfony/http-kernel", - "version": "v4.4.41", + "version": "v4.4.45", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "7f8ce5bffc3939c63b7da32de5a546c98eb67698" + "reference": "4f2d38e9a3c6997ea0886ede5aaf337dfd0fc938" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/7f8ce5bffc3939c63b7da32de5a546c98eb67698", - "reference": "7f8ce5bffc3939c63b7da32de5a546c98eb67698", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/4f2d38e9a3c6997ea0886ede5aaf337dfd0fc938", + "reference": "4f2d38e9a3c6997ea0886ede5aaf337dfd0fc938", "shasum": "" }, "require": { @@ -4663,6 +5067,9 @@ ], "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-kernel/tree/v4.4.45" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4677,20 +5084,20 @@ "type": "tidelift" } ], - "time": "2022-04-27T17:13:11+00:00" + "time": "2022-08-26T14:34:48+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.25.0", + "version": "v1.26.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "30885182c981ab175d4d034db0f6f469898070ab" + "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/30885182c981ab175d4d034db0f6f469898070ab", - "reference": "30885182c981ab175d4d034db0f6f469898070ab", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4", + "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4", "shasum": "" }, "require": { @@ -4705,7 +5112,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.26-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4742,6 +5149,9 @@ "polyfill", "portable" ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.26.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4756,20 +5166,20 @@ "type": "tidelift" } ], - "time": "2021-10-20T20:35:02+00:00" + "time": "2022-05-24T11:49:31+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.25.0", + "version": "v1.26.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "749045c69efb97c70d25d7463abba812e91f3a44" + "reference": "59a8d271f00dd0e4c2e518104cc7963f655a1aa8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/749045c69efb97c70d25d7463abba812e91f3a44", - "reference": "749045c69efb97c70d25d7463abba812e91f3a44", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/59a8d271f00dd0e4c2e518104cc7963f655a1aa8", + "reference": "59a8d271f00dd0e4c2e518104cc7963f655a1aa8", "shasum": "" }, "require": { @@ -4783,7 +5193,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.26-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4826,6 +5236,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.26.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4840,20 +5253,20 @@ "type": "tidelift" } ], - "time": "2021-09-14T14:02:44+00:00" + "time": "2022-05-24T11:49:31+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.25.0", + "version": "v1.26.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8" + "reference": "219aa369ceff116e673852dce47c3a41794c14bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8", - "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/219aa369ceff116e673852dce47c3a41794c14bd", + "reference": "219aa369ceff116e673852dce47c3a41794c14bd", "shasum": "" }, "require": { @@ -4865,7 +5278,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.26-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4907,6 +5320,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.26.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4921,20 +5337,20 @@ "type": "tidelift" } ], - "time": "2021-02-19T12:13:01+00:00" + "time": "2022-05-24T11:49:31+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.25.0", + "version": "v1.26.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825" + "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825", - "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e", + "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e", "shasum": "" }, "require": { @@ -4949,7 +5365,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.26-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4987,6 +5403,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.26.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5001,20 +5420,20 @@ "type": "tidelift" } ], - "time": "2021-11-30T18:21:41+00:00" + "time": "2022-05-24T11:49:31+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.25.0", + "version": "v1.26.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "9a142215a36a3888e30d0a9eeea9766764e96976" + "reference": "bf44a9fd41feaac72b074de600314a93e2ae78e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9a142215a36a3888e30d0a9eeea9766764e96976", - "reference": "9a142215a36a3888e30d0a9eeea9766764e96976", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/bf44a9fd41feaac72b074de600314a93e2ae78e2", + "reference": "bf44a9fd41feaac72b074de600314a93e2ae78e2", "shasum": "" }, "require": { @@ -5023,7 +5442,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.26-dev" }, "thanks": { "name": "symfony/polyfill", @@ -5060,6 +5479,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-php72/tree/v1.26.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5074,20 +5496,20 @@ "type": "tidelift" } ], - "time": "2021-05-27T09:17:38+00:00" + "time": "2022-05-24T11:49:31+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.25.0", + "version": "v1.26.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "cc5db0e22b3cb4111010e48785a97f670b350ca5" + "reference": "e440d35fa0286f77fb45b79a03fedbeda9307e85" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/cc5db0e22b3cb4111010e48785a97f670b350ca5", - "reference": "cc5db0e22b3cb4111010e48785a97f670b350ca5", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/e440d35fa0286f77fb45b79a03fedbeda9307e85", + "reference": "e440d35fa0286f77fb45b79a03fedbeda9307e85", "shasum": "" }, "require": { @@ -5096,7 +5518,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.26-dev" }, "thanks": { "name": "symfony/polyfill", @@ -5136,6 +5558,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-php73/tree/v1.26.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5150,20 +5575,20 @@ "type": "tidelift" } ], - "time": "2021-06-05T21:20:04+00:00" + "time": "2022-05-24T11:49:31+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.25.0", + "version": "v1.26.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "4407588e0d3f1f52efb65fbe92babe41f37fe50c" + "reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/4407588e0d3f1f52efb65fbe92babe41f37fe50c", - "reference": "4407588e0d3f1f52efb65fbe92babe41f37fe50c", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/cfa0ae98841b9e461207c13ab093d76b0fa7bace", + "reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace", "shasum": "" }, "require": { @@ -5172,7 +5597,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.26-dev" }, "thanks": { "name": "symfony/polyfill", @@ -5216,6 +5641,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.26.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5230,20 +5658,20 @@ "type": "tidelift" } ], - "time": "2022-03-04T08:16:47+00:00" + "time": "2022-05-10T07:21:04+00:00" }, { "name": "symfony/polyfill-php81", - "version": "v1.25.0", + "version": "v1.26.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "5de4ba2d41b15f9bd0e19b2ab9674135813ec98f" + "reference": "13f6d1271c663dc5ae9fb843a8f16521db7687a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/5de4ba2d41b15f9bd0e19b2ab9674135813ec98f", - "reference": "5de4ba2d41b15f9bd0e19b2ab9674135813ec98f", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/13f6d1271c663dc5ae9fb843a8f16521db7687a1", + "reference": "13f6d1271c663dc5ae9fb843a8f16521db7687a1", "shasum": "" }, "require": { @@ -5252,7 +5680,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.26-dev" }, "thanks": { "name": "symfony/polyfill", @@ -5292,6 +5720,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-php81/tree/v1.26.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5306,20 +5737,20 @@ "type": "tidelift" } ], - "time": "2021-09-13T13:58:11+00:00" + "time": "2022-05-24T11:49:31+00:00" }, { "name": "symfony/process", - "version": "v4.4.41", + "version": "v4.4.44", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "9eedd60225506d56e42210a70c21bb80ca8456ce" + "reference": "5cee9cdc4f7805e2699d9fd66991a0e6df8252a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/9eedd60225506d56e42210a70c21bb80ca8456ce", - "reference": "9eedd60225506d56e42210a70c21bb80ca8456ce", + "url": "https://api.github.com/repos/symfony/process/zipball/5cee9cdc4f7805e2699d9fd66991a0e6df8252a2", + "reference": "5cee9cdc4f7805e2699d9fd66991a0e6df8252a2", "shasum": "" }, "require": { @@ -5351,6 +5782,9 @@ ], "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v4.4.44" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5365,20 +5799,20 @@ "type": "tidelift" } ], - "time": "2022-04-04T10:19:07+00:00" + "time": "2022-06-27T13:16:42+00:00" }, { "name": "symfony/service-contracts", - "version": "v2.5.1", + "version": "v2.5.2", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "24d9dc654b83e91aa59f9d167b131bc3b5bea24c" + "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/24d9dc654b83e91aa59f9d167b131bc3b5bea24c", - "reference": "24d9dc654b83e91aa59f9d167b131bc3b5bea24c", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c", + "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c", "shasum": "" }, "require": { @@ -5431,6 +5865,9 @@ "interoperability", "standards" ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v2.5.2" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5445,20 +5882,20 @@ "type": "tidelift" } ], - "time": "2022-03-13T20:07:29+00:00" + "time": "2022-05-30T19:17:29+00:00" }, { "name": "symfony/var-dumper", - "version": "v5.4.8", + "version": "v5.4.11", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "cdcadd343d31ad16fc5e006b0de81ea307435053" + "reference": "b8f306d7b8ef34fb3db3305be97ba8e088fb4861" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/cdcadd343d31ad16fc5e006b0de81ea307435053", - "reference": "cdcadd343d31ad16fc5e006b0de81ea307435053", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/b8f306d7b8ef34fb3db3305be97ba8e088fb4861", + "reference": "b8f306d7b8ef34fb3db3305be97ba8e088fb4861", "shasum": "" }, "require": { @@ -5517,6 +5954,9 @@ "debug", "dump" ], + "support": { + "source": "https://github.com/symfony/var-dumper/tree/v5.4.11" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5531,7 +5971,7 @@ "type": "tidelift" } ], - "time": "2022-04-26T13:19:20+00:00" + "time": "2022-07-20T13:00:38+00:00" }, { "name": "tedivm/jshrink", @@ -5577,6 +6017,10 @@ "javascript", "minifier" ], + "support": { + "issues": "https://github.com/tedious/JShrink/issues", + "source": "https://github.com/tedious/JShrink/tree/v1.4.0" + }, "funding": [ { "url": "https://tidelift.com/funding/github/packagist/tedivm/jshrink", @@ -5718,6 +6162,10 @@ "MIT" ], "description": "PHP core functions that throw exceptions instead of returning FALSE on error", + "support": { + "issues": "https://github.com/thecodingmachine/safe/issues", + "source": "https://github.com/thecodingmachine/safe/tree/v1.3.3" + }, "time": "2020-10-28T17:51:34+00:00" }, { @@ -5781,6 +6229,10 @@ "env", "environment" ], + "support": { + "issues": "https://github.com/vlucas/phpdotenv/issues", + "source": "https://github.com/vlucas/phpdotenv/tree/v3.6.10" + }, "funding": [ { "url": "https://github.com/GrahamCampbell", @@ -5958,6 +6410,10 @@ "jwt", "symfony" ], + "support": { + "issues": "https://github.com/web-token/jwt-framework/issues", + "source": "https://github.com/web-token/jwt-framework/tree/v2.2.11" + }, "funding": [ { "url": "https://github.com/Spomky", @@ -6013,6 +6469,10 @@ "safe writer", "webimpress" ], + "support": { + "issues": "https://github.com/webimpress/safe-writer/issues", + "source": "https://github.com/webimpress/safe-writer/tree/2.2.0" + }, "funding": [ { "url": "https://github.com/michalbundyra", @@ -6023,21 +6483,21 @@ }, { "name": "webmozart/assert", - "version": "1.10.0", + "version": "1.11.0", "source": { "type": "git", "url": "https://github.com/webmozarts/assert.git", - "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25" + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25", - "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0", - "symfony/polyfill-ctype": "^1.8" + "ext-ctype": "*", + "php": "^7.2 || ^8.0" }, "conflict": { "phpstan/phpstan": "<0.12.20", @@ -6073,7 +6533,11 @@ "check", "validate" ], - "time": "2021-03-09T10:59:23+00:00" + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.11.0" + }, + "time": "2022-06-03T18:03:27+00:00" }, { "name": "wikimedia/less.php", @@ -6138,6 +6602,10 @@ "php", "stylesheet" ], + "support": { + "issues": "https://github.com/wikimedia/less.php/issues", + "source": "https://github.com/wikimedia/less.php/tree/v3.1.0" + }, "time": "2020-12-11T19:33:31+00:00" } ], @@ -6192,6 +6660,10 @@ "constructor", "instantiate" ], + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/1.4.1" + }, "funding": [ { "url": "https://www.doctrine-project.org/sponsorship.html", @@ -6250,6 +6722,10 @@ "stubs", "symfony" ], + "support": { + "issues": "https://github.com/Drenso/PhanExtensions/issues", + "source": "https://github.com/Drenso/PhanExtensions/tree/v3.5.1" + }, "time": "2021-06-08T10:46:31+00:00" }, { @@ -6291,6 +6767,10 @@ } ], "description": "A more advanced JSONRPC implementation", + "support": { + "issues": "https://github.com/felixfbecker/php-advanced-json-rpc/issues", + "source": "https://github.com/felixfbecker/php-advanced-json-rpc/tree/v3.2.1" + }, "time": "2021-06-11T22:34:44+00:00" }, { @@ -6344,6 +6824,14 @@ "captcha", "laminas" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-captcha/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-captcha/issues", + "rss": "https://github.com/laminas/laminas-captcha/releases.atom", + "source": "https://github.com/laminas/laminas-captcha" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", @@ -6407,6 +6895,14 @@ "db", "laminas" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-db/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-db/issues", + "rss": "https://github.com/laminas/laminas-db/releases.atom", + "source": "https://github.com/laminas/laminas-db" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", @@ -6465,6 +6961,14 @@ "laminas", "recaptcha" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-recaptcha/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-recaptcha/issues", + "rss": "https://github.com/laminas/laminas-recaptcha/releases.atom", + "source": "https://github.com/laminas/laminas-recaptcha" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", @@ -6475,39 +6979,40 @@ }, { "name": "laminas/laminas-session", - "version": "2.12.1", + "version": "2.13.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-session.git", - "reference": "888c6a344e9a4c9f34ab6e09346640eac9be3fcf" + "reference": "9f8a6077dd22b3b253583b1be84ddd5bf6fa1ef4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-session/zipball/888c6a344e9a4c9f34ab6e09346640eac9be3fcf", - "reference": "888c6a344e9a4c9f34ab6e09346640eac9be3fcf", + "url": "https://api.github.com/repos/laminas/laminas-session/zipball/9f8a6077dd22b3b253583b1be84ddd5bf6fa1ef4", + "reference": "9f8a6077dd22b3b253583b1be84ddd5bf6fa1ef4", "shasum": "" }, "require": { - "laminas/laminas-eventmanager": "^3.4", - "laminas/laminas-stdlib": "^3.6", - "php": "^7.3 || ~8.0.0 || ~8.1.0" + "laminas/laminas-eventmanager": "^3.5", + "laminas/laminas-servicemanager": "^3.15.1", + "laminas/laminas-stdlib": "^3.10.1", + "php": "^7.4 || ~8.0.0 || ~8.1.0" }, "conflict": { "zendframework/zend-session": "*" }, "require-dev": { - "container-interop/container-interop": "^1.1", - "laminas/laminas-cache": "3.0.x-dev", - "laminas/laminas-cache-storage-adapter-memory": "2.0.x-dev", - "laminas/laminas-coding-standard": "~2.2.1", + "laminas/laminas-cache": "^3.1.3", + "laminas/laminas-cache-storage-adapter-memory": "^2.0.0", + "laminas/laminas-coding-standard": "~2.3.0", "laminas/laminas-db": "^2.13.4", "laminas/laminas-http": "^2.15", - "laminas/laminas-servicemanager": "^3.7", "laminas/laminas-validator": "^2.15", - "mongodb/mongodb": "v1.9.x-dev", + "mongodb/mongodb": "~1.12.0", "php-mock/php-mock-phpunit": "^1.1.2 || ^2.0", "phpspec/prophecy-phpunit": "^2.0", - "phpunit/phpunit": "^9.5.9" + "phpunit/phpunit": "^9.5.9", + "psalm/plugin-phpunit": "^0.17.0", + "vimeo/psalm": "^4.24.0" }, "suggest": { "laminas/laminas-cache": "Laminas\\Cache component", @@ -6539,13 +7044,21 @@ "laminas", "session" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-session/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-session/issues", + "rss": "https://github.com/laminas/laminas-session/releases.atom", + "source": "https://github.com/laminas/laminas-session" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", "type": "community_bridge" } ], - "time": "2022-02-15T16:38:29+00:00" + "time": "2022-07-22T10:26:33+00:00" }, { "name": "laminas/laminas-text", @@ -6589,6 +7102,14 @@ "laminas", "text" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-text/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-text/issues", + "rss": "https://github.com/laminas/laminas-text/releases.atom", + "source": "https://github.com/laminas/laminas-text" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", @@ -6599,20 +7120,20 @@ }, { "name": "magento-ecg/coding-standard", - "version": "4.5.0", + "version": "4.5.1", "source": { "type": "git", "url": "https://github.com/magento-ecg/coding-standard.git", - "reference": "fe4185e22e2fec6988b69b5ef05e5dc331ae84e8" + "reference": "ab09fd7f66ac15f8cd599be5cbacabd011d42798" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/magento-ecg/coding-standard/zipball/fe4185e22e2fec6988b69b5ef05e5dc331ae84e8", - "reference": "fe4185e22e2fec6988b69b5ef05e5dc331ae84e8", + "url": "https://api.github.com/repos/magento-ecg/coding-standard/zipball/ab09fd7f66ac15f8cd599be5cbacabd011d42798", + "reference": "ab09fd7f66ac15f8cd599be5cbacabd011d42798", "shasum": "" }, "require": { - "php": "^7.1" + "php": "^7.1||^8.1" }, "type": "phpcodesniffer-standard", "notification-url": "https://packagist.org/downloads/", @@ -6628,7 +7149,11 @@ ], "description": "A set of PHP_CodeSniffer rules and sniffs.", "homepage": "https://github.com/magento-ecg/coding-standard", - "time": "2022-01-29T10:23:37+00:00" + "support": { + "issues": "https://github.com/magento-ecg/coding-standard/issues", + "source": "https://github.com/magento-ecg/coding-standard/tree/4.5.1" + }, + "time": "2022-09-02T08:03:44+00:00" }, { "name": "magento/framework-bulk", @@ -6659,11 +7184,11 @@ }, { "name": "magento/framework-message-queue", - "version": "100.4.4", + "version": "100.4.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/framework-message-queue/magento-framework-message-queue-100.4.4.0.zip", - "shasum": "38ba5f46176d13cea8e3a52b6c293fb6c6e3c93d" + "url": "https://repo.magento.com/archives/magento/framework-message-queue/magento-framework-message-queue-100.4.5.0.zip", + "shasum": "6b31ce9cba29824f5c2f2d29841ecc889c8c2a2d" }, "require": { "magento/framework": "103.0.*", @@ -6721,6 +7246,10 @@ "AFL-3.0" ], "description": "A set of Magento specific PHP CodeSniffer rules.", + "support": { + "issues": "https://github.com/magento/magento-coding-standard/issues", + "source": "https://github.com/magento/magento-coding-standard/tree/v5" + }, "time": "2019-11-04T22:08:27+00:00" }, { @@ -6761,11 +7290,11 @@ }, { "name": "magento/module-authorization", - "version": "100.4.4", + "version": "100.4.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-authorization/magento-module-authorization-100.4.4.0.zip", - "shasum": "7f94d3c40f8d836c84bd6547889047e00692ca09" + "url": "https://repo.magento.com/archives/magento/module-authorization/magento-module-authorization-100.4.5.0.zip", + "shasum": "06afa70d3b4b0cc033421bbac7c5aa3d24bebdbb" }, "require": { "magento/framework": "103.0.*", @@ -6789,11 +7318,11 @@ }, { "name": "magento/module-backend", - "version": "102.0.4", + "version": "102.0.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-backend/magento-module-backend-102.0.4.0.zip", - "shasum": "4f75d59880b3a8af1c8b0299e47f322e4b38ebba" + "url": "https://repo.magento.com/archives/magento/module-backend/magento-module-backend-102.0.5.0.zip", + "shasum": "2a4f15e0c559c680151184e75d318c077c78d306" }, "require": { "magento/framework": "103.0.*", @@ -6837,11 +7366,11 @@ }, { "name": "magento/module-backup", - "version": "100.4.4", + "version": "100.4.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-backup/magento-module-backup-100.4.4.0.zip", - "shasum": "2ed47abed34b081913c248bc52ba6dafc151f809" + "url": "https://repo.magento.com/archives/magento/module-backup/magento-module-backup-100.4.5.0.zip", + "shasum": "9d5b5a27ddb44e4f657973e8b1a9bac810cad8b3" }, "require": { "magento/framework": "103.0.*", @@ -6914,16 +7443,15 @@ }, { "name": "magento/module-captcha", - "version": "100.4.4", + "version": "100.4.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-captcha/magento-module-captcha-100.4.4.0.zip", - "shasum": "290e51dafbf7038c28629ff5cd8e312176e984d1" + "url": "https://repo.magento.com/archives/magento/module-captcha/magento-module-captcha-100.4.5.0.zip", + "shasum": "034fd81fcb31abf823863c1a12b2646b890f8868" }, "require": { - "laminas/laminas-captcha": "^2.11.0", + "laminas/laminas-captcha": "^2.12", "laminas/laminas-db": "^2.13.4", - "laminas/laminas-session": "^2.12.0", "magento/framework": "103.0.*", "magento/module-authorization": "100.4.*", "magento/module-backend": "102.0.*", @@ -7007,11 +7535,11 @@ }, { "name": "magento/module-catalog-import-export", - "version": "101.1.4", + "version": "101.1.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-catalog-import-export/magento-module-catalog-import-export-101.1.4.0.zip", - "shasum": "7de989e9b9128c4048d95d3add36ea42996ded52" + "url": "https://repo.magento.com/archives/magento/module-catalog-import-export/magento-module-catalog-import-export-101.1.5.0.zip", + "shasum": "8630a9ad0887181f35ed10b153d9fa31a4523efb" }, "require": { "ext-ctype": "*", @@ -7045,11 +7573,11 @@ }, { "name": "magento/module-catalog-inventory", - "version": "100.4.4", + "version": "100.4.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-catalog-inventory/magento-module-catalog-inventory-100.4.4.0.zip", - "shasum": "f6fe6467ba5fb05307ef1071466375d1d045ed2a" + "url": "https://repo.magento.com/archives/magento/module-catalog-inventory/magento-module-catalog-inventory-100.4.5.0.zip", + "shasum": "919dbee1a07ec5f1f4728f23262534936ba05e9b" }, "require": { "magento/framework": "103.0.*", @@ -7079,11 +7607,11 @@ }, { "name": "magento/module-catalog-rule", - "version": "101.2.4", + "version": "101.2.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-catalog-rule/magento-module-catalog-rule-101.2.4.0.zip", - "shasum": "0b46c28faedfbb1ad98dfa7928f7207901592b5e" + "url": "https://repo.magento.com/archives/magento/module-catalog-rule/magento-module-catalog-rule-101.2.5.0.zip", + "shasum": "44e412c064b910bf20bb83b36e7152f925d4d98f" }, "require": { "magento/framework": "103.0.*", @@ -7158,11 +7686,11 @@ }, { "name": "magento/module-catalog-url-rewrite", - "version": "100.4.4", + "version": "100.4.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-catalog-url-rewrite/magento-module-catalog-url-rewrite-100.4.4.0.zip", - "shasum": "ea899afea444a981d3e468118038a280c75f86a8" + "url": "https://repo.magento.com/archives/magento/module-catalog-url-rewrite/magento-module-catalog-url-rewrite-100.4.5.0.zip", + "shasum": "1bd5ff2eb854696a84be74c33892c42e622ecc90" }, "require": { "magento/framework": "103.0.*", @@ -7196,11 +7724,11 @@ }, { "name": "magento/module-checkout", - "version": "100.4.4", + "version": "100.4.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-checkout/magento-module-checkout-100.4.4.0.zip", - "shasum": "7565754344c67aea344a07fb2058cf53561127e3" + "url": "https://repo.magento.com/archives/magento/module-checkout/magento-module-checkout-100.4.5.0.zip", + "shasum": "c29a27d1314282080c7f89bc05cb6f80194a22dd" }, "require": { "magento/framework": "103.0.*", @@ -7246,11 +7774,11 @@ }, { "name": "magento/module-cms", - "version": "104.0.4", + "version": "104.0.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-cms/magento-module-cms-104.0.4.0.zip", - "shasum": "c3b0a5b87f4245732334fd9571d41a382f3bf5db" + "url": "https://repo.magento.com/archives/magento/module-cms/magento-module-cms-104.0.5.0.zip", + "shasum": "46493eaca20ee9f1fdc01cb9ad0ad4ce8d884b1a" }, "require": { "magento/framework": "103.0.*", @@ -7285,11 +7813,11 @@ }, { "name": "magento/module-cms-url-rewrite", - "version": "100.4.3", + "version": "100.4.4", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-cms-url-rewrite/magento-module-cms-url-rewrite-100.4.3.0.zip", - "shasum": "5a8de8093d7d4e6ffe8f9cb9bc42f8259dee97a0" + "url": "https://repo.magento.com/archives/magento/module-cms-url-rewrite/magento-module-cms-url-rewrite-100.4.4.0.zip", + "shasum": "58feb0325230324416a662735e85a2c5a4689dd6" }, "require": { "magento/framework": "103.0.*", @@ -7315,11 +7843,11 @@ }, { "name": "magento/module-config", - "version": "101.2.4", + "version": "101.2.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-config/magento-module-config-101.2.4.0.zip", - "shasum": "9392da7243f39fad1e90ff4709394ab3dd6657d7" + "url": "https://repo.magento.com/archives/magento/module-config/magento-module-config-101.2.5.0.zip", + "shasum": "29b1ef19022f790adc92d434b63aa673c2d49da4" }, "require": { "magento/framework": "103.0.*", @@ -7427,11 +7955,11 @@ }, { "name": "magento/module-cron", - "version": "100.4.4", + "version": "100.4.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-cron/magento-module-cron-100.4.4.0.zip", - "shasum": "3ac0f4fc89416ac589e7a22749f1825bf8c0ae36" + "url": "https://repo.magento.com/archives/magento/module-cron/magento-module-cron-100.4.5.0.zip", + "shasum": "21c72975a3851a4cdb57380674a0afff02379d22" }, "require": { "magento/framework": "103.0.*", @@ -7458,11 +7986,11 @@ }, { "name": "magento/module-customer", - "version": "103.0.4", + "version": "103.0.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-customer/magento-module-customer-103.0.4.0.zip", - "shasum": "a9b5e4fb9a4bd904bc6c4fd8951a42c5f28f1f4f" + "url": "https://repo.magento.com/archives/magento/module-customer/magento-module-customer-103.0.5.0.zip", + "shasum": "a54992e45b4d2aee5007a683f25eeea0079c9dba" }, "require": { "magento/framework": "103.0.*", @@ -7508,11 +8036,11 @@ }, { "name": "magento/module-deploy", - "version": "100.4.4", + "version": "100.4.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-deploy/magento-module-deploy-100.4.4.0.zip", - "shasum": "d019c83f5d2117b74ede903f9e8e4f9efc807886" + "url": "https://repo.magento.com/archives/magento/module-deploy/magento-module-deploy-100.4.5.0.zip", + "shasum": "a213853f0a0fdb9c4253dd3fc733e5a0fd73ba60" }, "require": { "magento/framework": "103.0.*", @@ -7540,11 +8068,11 @@ }, { "name": "magento/module-developer", - "version": "100.4.4", + "version": "100.4.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-developer/magento-module-developer-100.4.4.0.zip", - "shasum": "130d066e02afc49ea5e499a38c2d207b316897bf" + "url": "https://repo.magento.com/archives/magento/module-developer/magento-module-developer-100.4.5.0.zip", + "shasum": "dfa60efc615392b056754cb6a81c78a6ffef80f8" }, "require": { "magento/framework": "103.0.*", @@ -7600,11 +8128,11 @@ }, { "name": "magento/module-downloadable", - "version": "100.4.4", + "version": "100.4.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-downloadable/magento-module-downloadable-100.4.4.0.zip", - "shasum": "9612442d3c202c19dfbbced3e118cc084cef6878" + "url": "https://repo.magento.com/archives/magento/module-downloadable/magento-module-downloadable-100.4.5.0.zip", + "shasum": "78a7f641efd6f7297cd5f046bfda9565de415192" }, "require": { "magento/framework": "103.0.*", @@ -7646,11 +8174,11 @@ }, { "name": "magento/module-eav", - "version": "102.1.4", + "version": "102.1.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-eav/magento-module-eav-102.1.4.0.zip", - "shasum": "c3be158f50ef1f618bfde852c22555cb12e31840" + "url": "https://repo.magento.com/archives/magento/module-eav/magento-module-eav-102.1.5.0.zip", + "shasum": "c340cf0993448f1abd5ad0caf61734249611943e" }, "require": { "magento/framework": "103.0.*", @@ -7678,11 +8206,11 @@ }, { "name": "magento/module-email", - "version": "101.1.4", + "version": "101.1.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-email/magento-module-email-101.1.4.0.zip", - "shasum": "d1af5680086a5a9bf12f25164d4b4e9acbb10688" + "url": "https://repo.magento.com/archives/magento/module-email/magento-module-email-101.1.5.0.zip", + "shasum": "ca393c2beae425fdcbc56cafa12718a0a6e1b440" }, "require": { "magento/framework": "103.0.*", @@ -7717,11 +8245,11 @@ }, { "name": "magento/module-gift-message", - "version": "100.4.3", + "version": "100.4.4", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-gift-message/magento-module-gift-message-100.4.3.0.zip", - "shasum": "599c56fecf3c26ff9d1b59011255ab32eb9ed4e3" + "url": "https://repo.magento.com/archives/magento/module-gift-message/magento-module-gift-message-100.4.4.0.zip", + "shasum": "921b0e4ec989c1e9038b96a32a747498f3932b94" }, "require": { "magento/framework": "103.0.*", @@ -7799,11 +8327,11 @@ }, { "name": "magento/module-import-export", - "version": "101.0.4", + "version": "101.0.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-import-export/magento-module-import-export-101.0.4.0.zip", - "shasum": "3087bdbb3e5e28efa45f1fd7b7e0b347480d2225" + "url": "https://repo.magento.com/archives/magento/module-import-export/magento-module-import-export-101.0.5.0.zip", + "shasum": "d83b1dd4c0dac78116eb9c750c3ce0e50a5bd514" }, "require": { "ext-ctype": "*", @@ -7833,11 +8361,11 @@ }, { "name": "magento/module-indexer", - "version": "100.4.4", + "version": "100.4.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-indexer/magento-module-indexer-100.4.4.0.zip", - "shasum": "d5fd2a2d9db69e8f9901b9b84059fc7b50a003f3" + "url": "https://repo.magento.com/archives/magento/module-indexer/magento-module-indexer-100.4.5.0.zip", + "shasum": "6b16b0e77c9b562b93a6489dacc3602726f0f970" }, "require": { "magento/framework": "103.0.*", @@ -7861,11 +8389,11 @@ }, { "name": "magento/module-integration", - "version": "100.4.4", + "version": "100.4.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-integration/magento-module-integration-100.4.4.0.zip", - "shasum": "9822538189688906a2a4805b9d29c50823305517" + "url": "https://repo.magento.com/archives/magento/module-integration/magento-module-integration-100.4.5.0.zip", + "shasum": "9128a75504ec75ae3f6c9eb241e47cd59ca0a79a" }, "require": { "magento/framework": "103.0.*", @@ -7895,11 +8423,11 @@ }, { "name": "magento/module-media-storage", - "version": "100.4.3", + "version": "100.4.4", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-media-storage/magento-module-media-storage-100.4.3.0.zip", - "shasum": "d6d7bda754468621063b5b238fc3e84079cae0ee" + "url": "https://repo.magento.com/archives/magento/module-media-storage/magento-module-media-storage-100.4.4.0.zip", + "shasum": "6e3b469674fe41e8f8bd36b296908734028fd45b" }, "require": { "magento/framework": "103.0.*", @@ -7930,11 +8458,11 @@ }, { "name": "magento/module-msrp", - "version": "100.4.3", + "version": "100.4.4", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-msrp/magento-module-msrp-100.4.3.0.zip", - "shasum": "5e15e57618e975581e0096857d1624d0f6d5a010" + "url": "https://repo.magento.com/archives/magento/module-msrp/magento-module-msrp-100.4.4.0.zip", + "shasum": "bd055d354e6ac6d952af52deb3b4cffd58f20b26" }, "require": { "magento/framework": "103.0.*", @@ -7966,11 +8494,11 @@ }, { "name": "magento/module-newsletter", - "version": "100.4.4", + "version": "100.4.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-newsletter/magento-module-newsletter-100.4.4.0.zip", - "shasum": "cf43af43a4d0f074c640c1f9b25fe0305fe736b5" + "url": "https://repo.magento.com/archives/magento/module-newsletter/magento-module-newsletter-100.4.5.0.zip", + "shasum": "fb7c42f608275e4c6a234287edb5a89f1c9a2d58" }, "require": { "magento/framework": "103.0.*", @@ -8002,15 +8530,16 @@ }, { "name": "magento/module-page-cache", - "version": "100.4.4", + "version": "100.4.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-page-cache/magento-module-page-cache-100.4.4.0.zip", - "shasum": "86488eb5329f143529d35dfbb6a8108e471d8198" + "url": "https://repo.magento.com/archives/magento/module-page-cache/magento-module-page-cache-100.4.5.0.zip", + "shasum": "b6c3ab1dad0318b147d8a722d994e8241e2681a8" }, "require": { "magento/framework": "103.0.*", "magento/module-backend": "102.0.*", + "magento/module-catalog": "104.0.*", "magento/module-config": "101.2.*", "magento/module-store": "101.1.*", "php": "~7.4.0||~8.1.0" @@ -8032,11 +8561,11 @@ }, { "name": "magento/module-payment", - "version": "100.4.4", + "version": "100.4.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-payment/magento-module-payment-100.4.4.0.zip", - "shasum": "ba16255ab4a4e232de422128c83fb3817ea4aea0" + "url": "https://repo.magento.com/archives/magento/module-payment/magento-module-payment-100.4.5.0.zip", + "shasum": "1729b982a9c1ce9419459e06991ed8d63b4af6cc" }, "require": { "magento/framework": "103.0.*", @@ -8066,11 +8595,11 @@ }, { "name": "magento/module-product-alert", - "version": "100.4.3", + "version": "100.4.4", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-product-alert/magento-module-product-alert-100.4.3.0.zip", - "shasum": "4d6c67208028fdb74bcc1bde4336ae70b2246d9e" + "url": "https://repo.magento.com/archives/magento/module-product-alert/magento-module-product-alert-100.4.4.0.zip", + "shasum": "d46bb9bd950e11d3d012a44d1a3602858559b2f4" }, "require": { "magento/framework": "103.0.*", @@ -8148,11 +8677,11 @@ }, { "name": "magento/module-reports", - "version": "100.4.4", + "version": "100.4.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-reports/magento-module-reports-100.4.4.0.zip", - "shasum": "54cdf7898e9ce88835c70bd98e6bf3768da1c0a8" + "url": "https://repo.magento.com/archives/magento/module-reports/magento-module-reports-100.4.5.0.zip", + "shasum": "f83a31e94a46f6ffdbf2c62d6ec0db87e7ebdd34" }, "require": { "magento/framework": "103.0.*", @@ -8288,11 +8817,11 @@ }, { "name": "magento/module-rule", - "version": "100.4.3", + "version": "100.4.4", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-rule/magento-module-rule-100.4.3.0.zip", - "shasum": "1165df5b96f157a0cc5fad73926fc5385b26d90b" + "url": "https://repo.magento.com/archives/magento/module-rule/magento-module-rule-100.4.4.0.zip", + "shasum": "98fe15231d183581f48dcfe72813705fe3327389" }, "require": { "lib-libxml": "*", @@ -8515,11 +9044,11 @@ }, { "name": "magento/module-security", - "version": "100.4.4", + "version": "100.4.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-security/magento-module-security-100.4.4.0.zip", - "shasum": "8dc34acc5886991e372557e64df325bae8ff1e68" + "url": "https://repo.magento.com/archives/magento/module-security/magento-module-security-100.4.5.0.zip", + "shasum": "324e5973bdf16cf28690873edb6b2cf21edefb4f" }, "require": { "magento/framework": "103.0.*", @@ -8549,11 +9078,11 @@ }, { "name": "magento/module-shipping", - "version": "100.4.4", + "version": "100.4.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-shipping/magento-module-shipping-100.4.4.0.zip", - "shasum": "503a898158ff301be00856671a270ca5dff7bda9" + "url": "https://repo.magento.com/archives/magento/module-shipping/magento-module-shipping-100.4.5.0.zip", + "shasum": "325b2b9f9b77143187698d4a2d815887e6a563f8" }, "require": { "ext-gd": "*", @@ -8633,11 +9162,11 @@ }, { "name": "magento/module-tax", - "version": "100.4.4", + "version": "100.4.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-tax/magento-module-tax-100.4.4.0.zip", - "shasum": "a65794f2053094a757a16a33dba14c4588e1d5e1" + "url": "https://repo.magento.com/archives/magento/module-tax/magento-module-tax-100.4.5.0.zip", + "shasum": "3753012abcbffe5ce171a1b0b9d545f56c49f1d3" }, "require": { "magento/framework": "103.0.*", @@ -8677,11 +9206,11 @@ }, { "name": "magento/module-theme", - "version": "101.1.4", + "version": "101.1.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-theme/magento-module-theme-101.1.4.0.zip", - "shasum": "0d42df06aec2580a16f87d2fb0deaa46fcf64fe3" + "url": "https://repo.magento.com/archives/magento/module-theme/magento-module-theme-101.1.5.0.zip", + "shasum": "ba3c3fbb5755319774bf11d3104b302637bc7dcb" }, "require": { "magento/framework": "103.0.*", @@ -8719,15 +9248,16 @@ }, { "name": "magento/module-translation", - "version": "100.4.4", + "version": "100.4.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-translation/magento-module-translation-100.4.4.0.zip", - "shasum": "cf12c0a7493629dcf952f7af91a95eb30784f194" + "url": "https://repo.magento.com/archives/magento/module-translation/magento-module-translation-100.4.5.0.zip", + "shasum": "a8ff494922576f2874b66a913f14528f9ee1418b" }, "require": { "magento/framework": "103.0.*", "magento/module-backend": "102.0.*", + "magento/module-deploy": "100.4.*", "magento/module-developer": "100.4.*", "magento/module-store": "101.1.*", "magento/module-theme": "101.1.*", @@ -8753,11 +9283,11 @@ }, { "name": "magento/module-ui", - "version": "101.2.4", + "version": "101.2.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-ui/magento-module-ui-101.2.4.0.zip", - "shasum": "285bbc4d9c6241512eaf9dafbf0c1259fefcab03" + "url": "https://repo.magento.com/archives/magento/module-ui/magento-module-ui-101.2.5.0.zip", + "shasum": "7a2f25eba5ec07a4b26bdda98b60fb393f5bfff4" }, "require": { "magento/framework": "103.0.*", @@ -8788,11 +9318,11 @@ }, { "name": "magento/module-url-rewrite", - "version": "102.0.3", + "version": "102.0.4", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-url-rewrite/magento-module-url-rewrite-102.0.3.0.zip", - "shasum": "f624555ea5fbb891aacd64901b43b472bd2f8aab" + "url": "https://repo.magento.com/archives/magento/module-url-rewrite/magento-module-url-rewrite-102.0.4.0.zip", + "shasum": "ff14fc9bc2d9153a4ace238d20cd7e3524839a26" }, "require": { "magento/framework": "103.0.*", @@ -8822,11 +9352,11 @@ }, { "name": "magento/module-user", - "version": "101.2.4", + "version": "101.2.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-user/magento-module-user-101.2.4.0.zip", - "shasum": "787d34763f773826e23a9e4d696507e677aff4da" + "url": "https://repo.magento.com/archives/magento/module-user/magento-module-user-101.2.5.0.zip", + "shasum": "7940b349b7adaac56d97b87d85304a28c21d6592" }, "require": { "magento/framework": "103.0.*", @@ -8856,11 +9386,11 @@ }, { "name": "magento/module-variable", - "version": "100.4.2", + "version": "100.4.3", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-variable/magento-module-variable-100.4.2.0.zip", - "shasum": "b67c8e4a7e13590bbf6040844ae8e2a189687a8b" + "url": "https://repo.magento.com/archives/magento/module-variable/magento-module-variable-100.4.3.0.zip", + "shasum": "2246cbc8bf2a87ec0a6f2bae77e3b73813b18bb9" }, "require": { "magento/framework": "103.0.*", @@ -8887,11 +9417,11 @@ }, { "name": "magento/module-widget", - "version": "101.2.4", + "version": "101.2.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-widget/magento-module-widget-101.2.4.0.zip", - "shasum": "b803c2b00d38a63b52c9d0ec45a58043f41d5d02" + "url": "https://repo.magento.com/archives/magento/module-widget/magento-module-widget-101.2.5.0.zip", + "shasum": "eed0cbbc112ec23dada39cc6f1556de69550c2db" }, "require": { "magento/framework": "103.0.*", @@ -8925,11 +9455,11 @@ }, { "name": "magento/module-wishlist", - "version": "101.2.4", + "version": "101.2.5", "dist": { "type": "zip", - "url": "https://repo.magento.com/archives/magento/module-wishlist/magento-module-wishlist-101.2.4.0.zip", - "shasum": "5d298143aab4b1abbd2e0618cbdc9a61bbe99f1d" + "url": "https://repo.magento.com/archives/magento/module-wishlist/magento-module-wishlist-101.2.5.0.zip", + "shasum": "f7f5356260017811c073b2ee7058cd862ac6c36b" }, "require": { "magento/framework": "103.0.*", @@ -9008,6 +9538,10 @@ } ], "description": "Tolerant PHP-to-AST parser designed for IDE usage scenarios", + "support": { + "issues": "https://github.com/microsoft/tolerant-php-parser/issues", + "source": "https://github.com/microsoft/tolerant-php-parser/tree/v0.1.1" + }, "time": "2021-07-16T21:28:12+00:00" }, { @@ -9051,6 +9585,10 @@ "github", "pmd" ], + "support": { + "issues": "https://github.com/mridang/pmd-annotations/issues", + "source": "https://github.com/mridang/pmd-annotations/tree/0.0.2" + }, "funding": [ { "url": "https://github.com/mridang", @@ -9106,6 +9644,10 @@ "object", "object graph" ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.11.0" + }, "funding": [ { "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", @@ -9158,20 +9700,25 @@ } ], "description": "Map nested JSON structures onto PHP classes", + "support": { + "email": "cweiske@cweiske.de", + "issues": "https://github.com/cweiske/jsonmapper/issues", + "source": "https://github.com/cweiske/jsonmapper/tree/v4.0.0" + }, "time": "2020-12-01T19:48:11+00:00" }, { "name": "pdepend/pdepend", - "version": "2.10.3", + "version": "2.12.1", "source": { "type": "git", "url": "https://github.com/pdepend/pdepend.git", - "reference": "da3166a06b4a89915920a42444f707122a1584c9" + "reference": "7a892d56ceafd804b4a2ecc85184640937ce9e84" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pdepend/pdepend/zipball/da3166a06b4a89915920a42444f707122a1584c9", - "reference": "da3166a06b4a89915920a42444f707122a1584c9", + "url": "https://api.github.com/repos/pdepend/pdepend/zipball/7a892d56ceafd804b4a2ecc85184640937ce9e84", + "reference": "7a892d56ceafd804b4a2ecc85184640937ce9e84", "shasum": "" }, "require": { @@ -9205,13 +9752,17 @@ "BSD-3-Clause" ], "description": "Official version of pdepend to be handled with Composer", + "support": { + "issues": "https://github.com/pdepend/pdepend/issues", + "source": "https://github.com/pdepend/pdepend/tree/2.12.1" + }, "funding": [ { "url": "https://tidelift.com/funding/github/packagist/pdepend/pdepend", "type": "tidelift" } ], - "time": "2022-02-23T07:53:09+00:00" + "time": "2022-09-08T19:30:37+00:00" }, { "name": "phan/phan", @@ -9286,6 +9837,10 @@ "php", "static" ], + "support": { + "issues": "https://github.com/phan/phan/issues", + "source": "https://github.com/phan/phan/tree/5.3.0" + }, "time": "2021-11-13T16:53:42+00:00" }, { @@ -9342,6 +9897,10 @@ } ], "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" + }, "time": "2021-07-20T11:28:43+00:00" }, { @@ -9389,20 +9948,24 @@ } ], "description": "Library for handling version information and constraints", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.2.1" + }, "time": "2022-02-21T01:04:05+00:00" }, { "name": "phing/phing", - "version": "2.17.2", + "version": "2.17.4", "source": { "type": "git", "url": "https://github.com/phingofficial/phing.git", - "reference": "8b8cee3eb12c24502fc4c227ac5889746248a140" + "reference": "9f3bc8c72e65452686dcf64497e02a082f138908" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phingofficial/phing/zipball/8b8cee3eb12c24502fc4c227ac5889746248a140", - "reference": "8b8cee3eb12c24502fc4c227ac5889746248a140", + "url": "https://api.github.com/repos/phingofficial/phing/zipball/9f3bc8c72e65452686dcf64497e02a082f138908", + "reference": "9f3bc8c72e65452686dcf64497e02a082f138908", "shasum": "" }, "require": { @@ -9482,6 +10045,11 @@ "task", "tool" ], + "support": { + "irc": "irc://irc.freenode.net/phing", + "issues": "https://www.phing.info/trac/report", + "source": "https://github.com/phingofficial/phing/tree/2.17.4" + }, "funding": [ { "url": "https://github.com/mrook", @@ -9496,7 +10064,7 @@ "type": "patreon" } ], - "time": "2022-02-09T09:50:58+00:00" + "time": "2022-07-08T09:07:07+00:00" }, { "name": "phpdocumentor/reflection-common", @@ -9545,6 +10113,10 @@ "reflection", "static analysis" ], + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", + "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" + }, "time": "2020-06-27T09:03:43+00:00" }, { @@ -9598,6 +10170,10 @@ } ], "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" + }, "time": "2021-10-19T17:43:47+00:00" }, { @@ -9644,26 +10220,30 @@ } ], "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.1" + }, "time": "2022-03-15T21:29:03+00:00" }, { "name": "phpmd/phpmd", - "version": "2.12.0", + "version": "2.13.0", "source": { "type": "git", "url": "https://github.com/phpmd/phpmd.git", - "reference": "c0b678ba71902f539c27c14332aa0ddcf14388ec" + "reference": "dad0228156856b3ad959992f9748514fa943f3e3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpmd/phpmd/zipball/c0b678ba71902f539c27c14332aa0ddcf14388ec", - "reference": "c0b678ba71902f539c27c14332aa0ddcf14388ec", + "url": "https://api.github.com/repos/phpmd/phpmd/zipball/dad0228156856b3ad959992f9748514fa943f3e3", + "reference": "dad0228156856b3ad959992f9748514fa943f3e3", "shasum": "" }, "require": { "composer/xdebug-handler": "^1.0 || ^2.0 || ^3.0", "ext-xml": "*", - "pdepend/pdepend": "^2.10.3", + "pdepend/pdepend": "^2.12.1", "php": ">=5.3.9" }, "require-dev": { @@ -9716,96 +10296,38 @@ "phpmd", "pmd" ], + "support": { + "irc": "irc://irc.freenode.org/phpmd", + "issues": "https://github.com/phpmd/phpmd/issues", + "source": "https://github.com/phpmd/phpmd/tree/2.13.0" + }, "funding": [ { "url": "https://tidelift.com/funding/github/packagist/phpmd/phpmd", "type": "tidelift" } ], - "time": "2022-03-24T13:33:01+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.15.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/bbcd7380b0ebf3961ee21409db7b38bc31d69a13", - "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.2", - "php": "^7.2 || ~8.0, <8.2", - "phpdocumentor/reflection-docblock": "^5.2", - "sebastian/comparator": "^3.0 || ^4.0", - "sebastian/recursion-context": "^3.0 || ^4.0" - }, - "require-dev": { - "phpspec/phpspec": "^6.0 || ^7.0", - "phpunit/phpunit": "^8.0 || ^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Prophecy\\": "src/Prophecy" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2021-12-08T12:19:24+00:00" + "time": "2022-09-10T08:44:15+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "9.2.15", + "version": "9.2.17", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "2e9da11878c4202f97915c1cb4bb1ca318a63f5f" + "reference": "aa94dc41e8661fe90c7316849907cba3007b10d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2e9da11878c4202f97915c1cb4bb1ca318a63f5f", - "reference": "2e9da11878c4202f97915c1cb4bb1ca318a63f5f", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/aa94dc41e8661fe90c7316849907cba3007b10d8", + "reference": "aa94dc41e8661fe90c7316849907cba3007b10d8", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.13.0", + "nikic/php-parser": "^4.14", "php": ">=7.3", "phpunit/php-file-iterator": "^3.0.3", "phpunit/php-text-template": "^2.0.2", @@ -9852,13 +10374,17 @@ "testing", "xunit" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.17" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2022-03-07T09:28:20+00:00" + "time": "2022-08-30T12:24:04+00:00" }, { "name": "phpunit/php-file-iterator", @@ -9908,6 +10434,10 @@ "filesystem", "iterator" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -9967,6 +10497,10 @@ "keywords": [ "process" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -10022,6 +10556,10 @@ "keywords": [ "template" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -10077,6 +10615,10 @@ "keywords": [ "timer" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -10087,16 +10629,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.5.20", + "version": "9.5.24", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "12bc8879fb65aef2138b26fc633cb1e3620cffba" + "reference": "d0aa6097bef9fd42458a9b3c49da32c6ce6129c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/12bc8879fb65aef2138b26fc633cb1e3620cffba", - "reference": "12bc8879fb65aef2138b26fc633cb1e3620cffba", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d0aa6097bef9fd42458a9b3c49da32c6ce6129c5", + "reference": "d0aa6097bef9fd42458a9b3c49da32c6ce6129c5", "shasum": "" }, "require": { @@ -10111,7 +10653,6 @@ "phar-io/manifest": "^2.0.3", "phar-io/version": "^3.0.2", "php": ">=7.3", - "phpspec/prophecy": "^1.12.1", "phpunit/php-code-coverage": "^9.2.13", "phpunit/php-file-iterator": "^3.0.5", "phpunit/php-invoker": "^3.1.1", @@ -10126,13 +10667,9 @@ "sebastian/global-state": "^5.0.1", "sebastian/object-enumerator": "^4.0.3", "sebastian/resource-operations": "^3.0.3", - "sebastian/type": "^3.0", + "sebastian/type": "^3.1", "sebastian/version": "^3.0.2" }, - "require-dev": { - "ext-pdo": "*", - "phpspec/prophecy-phpunit": "^2.0.1" - }, "suggest": { "ext-soap": "*", "ext-xdebug": "*" @@ -10172,6 +10709,10 @@ "testing", "xunit" ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.24" + }, "funding": [ { "url": "https://phpunit.de/sponsors.html", @@ -10182,7 +10723,7 @@ "type": "github" } ], - "time": "2022-04-01T12:37:26+00:00" + "time": "2022-08-30T07:42:16+00:00" }, { "name": "sabre/event", @@ -10243,6 +10784,11 @@ "reactor", "signal" ], + "support": { + "forum": "https://groups.google.com/group/sabredav-discuss", + "issues": "https://github.com/sabre-io/event/issues", + "source": "https://github.com/fruux/sabre-event" + }, "time": "2021-11-04T06:51:17+00:00" }, { @@ -10289,6 +10835,10 @@ ], "description": "Library for parsing CLI options", "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" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -10341,6 +10891,10 @@ ], "description": "Collection of value objects that represent the PHP code units", "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -10392,6 +10946,10 @@ ], "description": "Looks up which function or method a line of code belongs to", "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -10462,6 +11020,10 @@ "compare", "equality" ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -10515,6 +11077,10 @@ ], "description": "Library for calculating the complexity of PHP code units", "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -10577,6 +11143,10 @@ "unidiff", "unified diff" ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -10636,6 +11206,10 @@ "environment", "hhvm" ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.4" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -10709,6 +11283,10 @@ "export", "exporter" ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.4" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -10769,6 +11347,10 @@ "keywords": [ "global state" ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -10822,6 +11404,10 @@ ], "description": "Library for counting the lines of code in PHP source code", "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" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -10875,6 +11461,10 @@ ], "description": "Traverses array structures and object graphs to enumerate all referenced objects", "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -10926,6 +11516,10 @@ ], "description": "Allows reflection of object attributes, including inherited and non-public ones", "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -10983,6 +11577,10 @@ ], "description": "Copy/Paste Detector (CPD) for PHP code.", "homepage": "https://github.com/sebastianbergmann/phpcpd", + "support": { + "issues": "https://github.com/sebastianbergmann/phpcpd/issues", + "source": "https://github.com/sebastianbergmann/phpcpd/tree/6.0.3" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -11042,6 +11640,10 @@ ], "description": "Provides functionality to recursively process PHP variables", "homepage": "http://www.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" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -11093,6 +11695,10 @@ ], "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" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -11103,16 +11709,16 @@ }, { "name": "sebastian/type", - "version": "3.0.0", + "version": "3.2.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "b233b84bc4465aff7b57cf1c4bc75c86d00d6dad" + "reference": "fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b233b84bc4465aff7b57cf1c4bc75c86d00d6dad", - "reference": "b233b84bc4465aff7b57cf1c4bc75c86d00d6dad", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e", + "reference": "fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e", "shasum": "" }, "require": { @@ -11124,7 +11730,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "3.2-dev" } }, "autoload": { @@ -11145,13 +11751,17 @@ ], "description": "Collection of value objects that represent the types of the PHP type system", "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/3.2.0" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2022-03-15T09:54:48+00:00" + "time": "2022-09-12T14:47:03+00:00" }, { "name": "sebastian/version", @@ -11194,6 +11804,10 @@ ], "description": "Library that helps with managing the version number of Git-hosted PHP projects", "homepage": "https://github.com/sebastianbergmann/version", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -11204,16 +11818,16 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "3.6.2", + "version": "3.7.1", "source": { "type": "git", "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "5e4e71592f69da17871dba6e80dd51bce74a351a" + "reference": "1359e176e9307e906dc3d890bcc9603ff6d90619" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/5e4e71592f69da17871dba6e80dd51bce74a351a", - "reference": "5e4e71592f69da17871dba6e80dd51bce74a351a", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/1359e176e9307e906dc3d890bcc9603ff6d90619", + "reference": "1359e176e9307e906dc3d890bcc9603ff6d90619", "shasum": "" }, "require": { @@ -11251,20 +11865,25 @@ "phpcs", "standards" ], - "time": "2021-12-12T21:44:58+00:00" + "support": { + "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues", + "source": "https://github.com/squizlabs/PHP_CodeSniffer", + "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki" + }, + "time": "2022-06-18T07:21:10+00:00" }, { "name": "staabm/annotate-pull-request-from-checkstyle", - "version": "1.8.2", + "version": "1.8.3", "source": { "type": "git", "url": "https://github.com/staabm/annotate-pull-request-from-checkstyle.git", - "reference": "0a4a54c13d3db7e389981e866d20c3db03776acb" + "reference": "4d2b7cd5cd5fb8f172e16ba81d4e80a97aec383d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/staabm/annotate-pull-request-from-checkstyle/zipball/0a4a54c13d3db7e389981e866d20c3db03776acb", - "reference": "0a4a54c13d3db7e389981e866d20c3db03776acb", + "url": "https://api.github.com/repos/staabm/annotate-pull-request-from-checkstyle/zipball/4d2b7cd5cd5fb8f172e16ba81d4e80a97aec383d", + "reference": "4d2b7cd5cd5fb8f172e16ba81d4e80a97aec383d", "shasum": "" }, "require": { @@ -11288,13 +11907,17 @@ "name": "Markus Staab" } ], + "support": { + "issues": "https://github.com/staabm/annotate-pull-request-from-checkstyle/issues", + "source": "https://github.com/staabm/annotate-pull-request-from-checkstyle/tree/1.8.3" + }, "funding": [ { "url": "https://github.com/staabm", "type": "github" } ], - "time": "2022-01-03T09:04:06+00:00" + "time": "2022-06-25T09:02:33+00:00" }, { "name": "theseer/tokenizer", @@ -11334,6 +11957,10 @@ } ], "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" + }, "funding": [ { "url": "https://github.com/theseer", @@ -11344,30 +11971,38 @@ }, { "name": "tysonandre/var_representation_polyfill", - "version": "0.1.1", + "version": "0.1.3", "source": { "type": "git", "url": "https://github.com/TysonAndre/var_representation_polyfill.git", - "reference": "0a942e74e18af5514749895507bc6ca7ab96399a" + "reference": "e9116c2c352bb0835ca428b442dde7767c11ad32" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TysonAndre/var_representation_polyfill/zipball/0a942e74e18af5514749895507bc6ca7ab96399a", - "reference": "0a942e74e18af5514749895507bc6ca7ab96399a", + "url": "https://api.github.com/repos/TysonAndre/var_representation_polyfill/zipball/e9116c2c352bb0835ca428b442dde7767c11ad32", + "reference": "e9116c2c352bb0835ca428b442dde7767c11ad32", "shasum": "" }, "require": { "ext-tokenizer": "*", "php": "^7.2.0|^8.0.0" }, + "provide": { + "ext-var_representation": "*" + }, "require-dev": { - "phan/phan": "^4.0", + "phan/phan": "^5.4.1", "phpunit/phpunit": "^8.5.0" }, "suggest": { - "ext-var_representation": "*" + "ext-var_representation": "For best performance" }, "type": "library", + "extra": { + "branch-alias": { + "dev-main": "0.1.3-dev" + } + }, "autoload": { "files": [ "src/var_representation.php" @@ -11390,7 +12025,11 @@ "var_export", "var_representation" ], - "time": "2021-08-16T00:12:50+00:00" + "support": { + "issues": "https://github.com/TysonAndre/var_representation_polyfill/issues", + "source": "https://github.com/TysonAndre/var_representation_polyfill/tree/0.1.3" + }, + "time": "2022-08-31T12:59:22+00:00" }, { "name": "webonyx/graphql-php", @@ -11442,6 +12081,10 @@ "api", "graphql" ], + "support": { + "issues": "https://github.com/webonyx/graphql-php/issues", + "source": "https://github.com/webonyx/graphql-php/tree/0.13.x" + }, "funding": [ { "url": "https://opencollective.com/webonyx-graphql-php", @@ -11483,6 +12126,10 @@ "AFL-3.0" ], "description": "Yotpo Reviews extension for Magento2", + "support": { + "issues": "https://github.com/YotpoLtd/magento2-module-yotpo-reviews/issues", + "source": "https://github.com/YotpoLtd/magento2-module-yotpo-reviews/tree/master" + }, "time": "2019-11-14T09:42:06+00:00" } ], From 0a1c7b1da9b25629a7b23f957ae58093b129db5f Mon Sep 17 00:00:00 2001 From: Cid Lopes Date: Tue, 1 Nov 2022 11:57:24 +0200 Subject: [PATCH 02/14] Remove second indexer. Nosto indexer now only sends to message queue --- .../DimensionModeConfiguration.php | 66 ---- .../QueueProcessor/ModeSwitcher.php | 97 ------ .../ModeSwitcherConfiguration.php | 87 ----- Model/Indexer/QueueProcessorIndexer.php | 151 --------- Model/Product/Queue/QueueBuilder.php | 111 ------- Model/Product/Queue/QueueRepository.php | 113 ------- Model/Service/Sync/AbstractBulkPublisher.php | 8 +- .../Service/Update/QueueProcessorService.php | 296 ------------------ Model/Service/Update/QueueService.php | 48 +-- Plugin/ProductQueueUpdate.php | 89 ------ etc/di.xml | 26 -- etc/indexer.xml | 4 - etc/mview.xml | 6 - 13 files changed, 18 insertions(+), 1084 deletions(-) delete mode 100644 Model/Indexer/Dimensions/QueueProcessor/DimensionModeConfiguration.php delete mode 100644 Model/Indexer/Dimensions/QueueProcessor/ModeSwitcher.php delete mode 100644 Model/Indexer/Dimensions/QueueProcessor/ModeSwitcherConfiguration.php delete mode 100644 Model/Indexer/QueueProcessorIndexer.php delete mode 100644 Model/Product/Queue/QueueBuilder.php delete mode 100644 Model/Product/Queue/QueueRepository.php delete mode 100644 Model/Service/Update/QueueProcessorService.php delete mode 100644 Plugin/ProductQueueUpdate.php diff --git a/Model/Indexer/Dimensions/QueueProcessor/DimensionModeConfiguration.php b/Model/Indexer/Dimensions/QueueProcessor/DimensionModeConfiguration.php deleted file mode 100644 index 3484f5b12..000000000 --- a/Model/Indexer/Dimensions/QueueProcessor/DimensionModeConfiguration.php +++ /dev/null @@ -1,66 +0,0 @@ - - * @copyright 2020 Nosto Solutions Ltd - * @license http://opensource.org/licenses/BSD-3-Clause BSD 3-Clause - * - */ - -namespace Nosto\Tagging\Model\Indexer\Dimensions\QueueProcessor; - -use Nosto\Tagging\Model\Indexer\Dimensions\AbstractDimensionModeConfiguration; - -class DimensionModeConfiguration extends AbstractDimensionModeConfiguration -{ - /** - * @var string - */ - private string $currentMode = ''; - - /** - * @return string - */ - public function getCurrentMode(): string - { - if ($this->currentMode === '') { - $mode = $this->scopeConfig->getValue( - ModeSwitcherConfiguration::XML_PATH_PRODUCT_QUEUE_PROCESSOR_DIMENSIONS_MODE - ); - if ($mode) { - $this->currentMode = $mode; - } else { - $this->currentMode = self::DIMENSION_NONE; - } - } - - return $this->currentMode; - } -} diff --git a/Model/Indexer/Dimensions/QueueProcessor/ModeSwitcher.php b/Model/Indexer/Dimensions/QueueProcessor/ModeSwitcher.php deleted file mode 100644 index cf6fa57e2..000000000 --- a/Model/Indexer/Dimensions/QueueProcessor/ModeSwitcher.php +++ /dev/null @@ -1,97 +0,0 @@ - - * @copyright 2020 Nosto Solutions Ltd - * @license http://opensource.org/licenses/BSD-3-Clause BSD 3-Clause - * - */ - -namespace Nosto\Tagging\Model\Indexer\Dimensions\QueueProcessor; - -use Magento\Indexer\Model\DimensionMode; -use Magento\Indexer\Model\DimensionModes; -use Nosto\Tagging\Model\Indexer\Dimensions\ModeSwitcherInterface; - -class ModeSwitcher implements ModeSwitcherInterface -{ - /** - * @var DimensionModeConfiguration - */ - private DimensionModeConfiguration $dimensionModeConfiguration; - - /** - * @var ModeSwitcherConfiguration - */ - private ModeSwitcherConfiguration $modeSwitcherConfiguration; - - /** - * ModeSwitcher constructor. - * @param DimensionModeConfiguration $dimensionModeConfiguration - * @param ModeSwitcherConfiguration $modeSwitcherConfiguration - */ - public function __construct( - DimensionModeConfiguration $dimensionModeConfiguration, - ModeSwitcherConfiguration $modeSwitcherConfiguration - ) { - $this->dimensionModeConfiguration = $dimensionModeConfiguration; - $this->modeSwitcherConfiguration = $modeSwitcherConfiguration; - } - - /** - * @inheritDoc - */ - public function getDimensionModes(): DimensionModes - { - $dimensionsList = []; - foreach ($this->dimensionModeConfiguration->getDimensionModes() as $dimension => $modes) { - $dimensionsList[] = new DimensionMode($dimension, $modes); - } - - return new DimensionModes($dimensionsList); - } - - /** - * @inheritDoc - */ - public function switchMode(string $currentMode, string $previousMode) // @codingStandardsIgnoreLine - { - $this->modeSwitcherConfiguration->saveMode($currentMode); - } - - /** - * @return string - */ - public function getMode(): string - { - return $this->dimensionModeConfiguration->getCurrentMode(); - } -} diff --git a/Model/Indexer/Dimensions/QueueProcessor/ModeSwitcherConfiguration.php b/Model/Indexer/Dimensions/QueueProcessor/ModeSwitcherConfiguration.php deleted file mode 100644 index 9b02ad847..000000000 --- a/Model/Indexer/Dimensions/QueueProcessor/ModeSwitcherConfiguration.php +++ /dev/null @@ -1,87 +0,0 @@ - - * @copyright 2020 Nosto Solutions Ltd - * @license http://opensource.org/licenses/BSD-3-Clause BSD 3-Clause - * - */ - -namespace Nosto\Tagging\Model\Indexer\Dimensions\QueueProcessor; - -use InvalidArgumentException; -use Magento\Framework\App\Cache\TypeListInterface; -use Magento\Framework\App\Config\ConfigResource\ConfigInterface; - -class ModeSwitcherConfiguration -{ - // phpcs:ignore Generic.Files.LineLength - public const XML_PATH_PRODUCT_QUEUE_PROCESSOR_DIMENSIONS_MODE = 'indexer/nosto_index_product_queue_processor/dimensions_mode'; - - /** - * ConfigInterface - * - * @var ConfigInterface - */ - private ConfigInterface $configWriter; - - /** - * TypeListInterface - * - * @var TypeListInterface - */ - private TypeListInterface $cacheTypeList; - - /** - * ModeSwitcherConfiguration constructor. - * @param ConfigInterface $configWriter - * @param TypeListInterface $cacheTypeList - */ - public function __construct( - ConfigInterface $configWriter, - TypeListInterface $cacheTypeList - ) { - $this->configWriter = $configWriter; - $this->cacheTypeList = $cacheTypeList; - } - - /** - * Save switcher mode and invalidate reindex. - * - * @param string $mode - * @return void - * @throws InvalidArgumentException - */ - public function saveMode(string $mode) - { - $this->configWriter->saveConfig(self::XML_PATH_PRODUCT_QUEUE_PROCESSOR_DIMENSIONS_MODE, $mode); - $this->cacheTypeList->cleanType('config'); - } -} diff --git a/Model/Indexer/QueueProcessorIndexer.php b/Model/Indexer/QueueProcessorIndexer.php deleted file mode 100644 index 5da350a77..000000000 --- a/Model/Indexer/QueueProcessorIndexer.php +++ /dev/null @@ -1,151 +0,0 @@ - - * @copyright 2020 Nosto Solutions Ltd - * @license http://opensource.org/licenses/BSD-3-Clause BSD 3-Clause - * - */ - -namespace Nosto\Tagging\Model\Indexer; - -use Exception; -use Magento\Indexer\Model\ProcessManager; -use Magento\Store\Model\App\Emulation; -use Magento\Store\Model\Store; -use Nosto\Tagging\Helper\Scope as NostoHelperScope; -use Nosto\Tagging\Logger\Logger as NostoLogger; -use Nosto\Tagging\Model\Indexer\Dimensions\QueueProcessor\ModeSwitcher as QueueProcessorModeSwitcher; -use Nosto\Tagging\Model\Indexer\Dimensions\ModeSwitcherInterface; -use Nosto\Tagging\Model\Indexer\Dimensions\StoreDimensionProvider; -use Nosto\Tagging\Model\ResourceModel\Product\Update\Queue\QueueCollection; -use Nosto\Tagging\Model\ResourceModel\Product\Update\Queue\QueueCollectionBuilder; -use Nosto\Tagging\Model\Service\Indexer\IndexerStatusServiceInterface; -use Nosto\Tagging\Model\Service\Update\QueueProcessorService; -use Symfony\Component\Console\Input\InputInterface; - -/** - * Class Invalidate - * This class is responsible for listening to product changes - * and setting the `is_dirty` value in `nosto_product_index` table - */ -class QueueProcessorIndexer extends AbstractIndexer -{ - public const INDEXER_ID = 'nosto_index_product_queue_processor'; - - /** @var QueueProcessorService */ - private QueueProcessorService $queueProcessorService; - - /** @var QueueCollectionBuilder */ - private QueueCollectionBuilder $queueCollectionBuilder; - - /** @var QueueProcessorModeSwitcher */ - private QueueProcessorModeSwitcher $modeSwitcher; - - /** - * QueueProcessorIndexer constructor. - * @param NostoHelperScope $nostoHelperScope - * @param QueueProcessorService $queueProcessorService - * @param NostoLogger $logger - * @param QueueCollectionBuilder $queueCollectionBuilder - * @param QueueProcessorModeSwitcher $modeSwitcher - * @param StoreDimensionProvider $dimensionProvider - * @param Emulation $storeEmulation - * @param ProcessManager $processManager - * @param InputInterface $input - * @param IndexerStatusServiceInterface $indexerStatusService - */ - public function __construct( - NostoHelperScope $nostoHelperScope, - QueueProcessorService $queueProcessorService, - NostoLogger $logger, - QueueCollectionBuilder $queueCollectionBuilder, - QueueProcessorModeSwitcher $modeSwitcher, - StoreDimensionProvider $dimensionProvider, - Emulation $storeEmulation, - ProcessManager $processManager, - InputInterface $input, - IndexerStatusServiceInterface $indexerStatusService - ) { - $this->queueProcessorService = $queueProcessorService; - $this->queueCollectionBuilder = $queueCollectionBuilder; - $this->modeSwitcher = $modeSwitcher; - parent::__construct( - $nostoHelperScope, - $logger, - $dimensionProvider, - $storeEmulation, - $input, - $indexerStatusService, - $processManager - ); - } - - /** - * @inheritDoc - */ - public function getModeSwitcher(): ModeSwitcherInterface - { - return $this->modeSwitcher; - } - - /** - * @inheritDoc - * @throws Exception - */ - // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter - public function doIndex(Store $store, array $ids = []) - { - $collection = $this->getCollection($store); - $this->queueProcessorService->processQueueCollection($collection, $store); - } - - /** - * @inheritDoc - */ - public function getIndexerId(): string - { - return self::INDEXER_ID; - } - - /** - * @param Store $store - * @return QueueCollection - */ - public function getCollection(Store $store) - { - // Fetch always all queue entries having status new. - // It makes the merging of queues more efficient. - return $this->queueCollectionBuilder - ->initDefault($store) - ->withStatusNew() - ->build(); - } -} diff --git a/Model/Product/Queue/QueueBuilder.php b/Model/Product/Queue/QueueBuilder.php deleted file mode 100644 index 7b41d0bd1..000000000 --- a/Model/Product/Queue/QueueBuilder.php +++ /dev/null @@ -1,111 +0,0 @@ - - * @copyright 2020 Nosto Solutions Ltd - * @license http://opensource.org/licenses/BSD-3-Clause BSD 3-Clause - * - */ - -namespace Nosto\Tagging\Model\Product\Queue; - -use Magento\Framework\Stdlib\DateTime\TimezoneInterface; -use Magento\Store\Api\Data\StoreInterface; -use Nosto\Tagging\Api\Data\ProductUpdateQueueInterface; -use Nosto\Tagging\Model\Product\Update\Queue as QueueModel; -use Nosto\Tagging\Model\Product\Update\QueueFactory; - -class QueueBuilder -{ - /** @var QueueFactory */ - private QueueFactory $queueFactory; - - /** @var TimezoneInterface */ - private TimezoneInterface $magentoTimeZone; - - /** - * Builder constructor. - * @param QueueFactory $queueFactory - * @param TimezoneInterface $magentoTimeZone - */ - public function __construct( - QueueFactory $queueFactory, - TimezoneInterface $magentoTimeZone - ) { - $this->queueFactory = $queueFactory; - $this->magentoTimeZone = $magentoTimeZone; - } - - /** - * @param StoreInterface $store - * @param array $productIds - * @return QueueModel - */ - public function build( - StoreInterface $store, - array $productIds - ) { - $queueModel = $this->queueFactory->create(); - $queueModel->setProductIds(array_values($productIds)); - $queueModel->setCreatedAt($this->magentoTimeZone->date()); - $queueModel->setStore($store); - $queueModel->setStatus(ProductUpdateQueueInterface::STATUS_VALUE_NEW); - $queueModel->setProductIdCount(count($productIds)); - return $queueModel; - } - - /** - * @param StoreInterface $store - * @param array $productIds - * @return QueueModel - */ - public function buildForUpsert( - StoreInterface $store, - array $productIds - ) { - $queueModel = $this->build($store, $productIds); - $queueModel->setAction(ProductUpdateQueueInterface::ACTION_VALUE_UPSERT); - return $queueModel; - } - - /** - * @param StoreInterface $store - * @param array $productIds - * @return QueueModel - */ - public function buildForDeletion( - StoreInterface $store, - array $productIds - ) { - $queueModel = $this->build($store, $productIds); - $queueModel->setAction(ProductUpdateQueueInterface::ACTION_VALUE_DELETE); - return $queueModel; - } -} diff --git a/Model/Product/Queue/QueueRepository.php b/Model/Product/Queue/QueueRepository.php deleted file mode 100644 index ec56112c8..000000000 --- a/Model/Product/Queue/QueueRepository.php +++ /dev/null @@ -1,113 +0,0 @@ - - * @copyright 2020 Nosto Solutions Ltd - * @license http://opensource.org/licenses/BSD-3-Clause BSD 3-Clause - * - */ - -namespace Nosto\Tagging\Model\Product\Queue; - -use Exception; -use Magento\Framework\Exception\AlreadyExistsException; -use Magento\Store\Api\Data\StoreInterface; -use Magento\Store\Model\Store; -use Nosto\Tagging\Api\Data\ProductUpdateQueueInterface; -use Nosto\Tagging\Api\ProductUpdateQueueRepositoryInterface; -use Nosto\Tagging\Model\ResourceModel\Product\Update\Queue as QueueResource; -use Nosto\Tagging\Model\ResourceModel\Product\Update\Queue\QueueCollection; -use Nosto\Tagging\Model\ResourceModel\Product\Update\Queue\QueueCollectionFactory; - -class QueueRepository implements ProductUpdateQueueRepositoryInterface -{ - /** @var QueueCollectionFactory */ - private QueueCollectionFactory $queueCollectionFactory; - - /** @var QueueResource */ - private QueueResource $queueResource; - - /** - * IndexRepository constructor. - * - * @param QueueResource $queueResource - * @param QueueCollectionFactory $queueCollectionFactory - */ - public function __construct( - QueueResource $queueResource, - QueueCollectionFactory $queueCollectionFactory - ) { - $this->queueResource = $queueResource; - $this->queueCollectionFactory = $queueCollectionFactory; - } - - public function getTotalCount(Store $store) - { - $collection = $this->queueCollectionFactory->create(); - if ((int)$store->getId() !== 0) { - $collection->addStoreFilter($store); - } - return $collection->getSize(); - } - - /** - * @param StoreInterface $store - * @return QueueCollection - */ - public function getByStore(StoreInterface $store) - { - /* @var QueueCollection $collection */ - return $this->queueCollectionFactory->create() - ->addStoreFilter($store); - } - - /** - * @param ProductUpdateQueueInterface $entry - * @return ProductUpdateQueueInterface|QueueResource - * @throws AlreadyExistsException - * @noinspection PhpParamsInspection - */ - public function save(ProductUpdateQueueInterface $entry) - { - /** @phan-suppress-next-line PhanTypeMismatchArgument */ - return $this->queueResource->save($entry); - } - - /** - * @param ProductUpdateQueueInterface $entry - * @throws Exception - * @noinspection PhpParamsInspection - */ - public function delete(ProductUpdateQueueInterface $entry) - { - /** @phan-suppress-next-line PhanTypeMismatchArgument */ - $this->queueResource->delete($entry); - } -} diff --git a/Model/Service/Sync/AbstractBulkPublisher.php b/Model/Service/Sync/AbstractBulkPublisher.php index 1ec5ac337..99cbb8e5c 100644 --- a/Model/Service/Sync/AbstractBulkPublisher.php +++ b/Model/Service/Sync/AbstractBulkPublisher.php @@ -153,9 +153,6 @@ private function publishCollectionToQueue( $bulkDescription ); if (!$result) { - /** - * Argument is of type string but array is expected - */ /** @phan-suppress-next-line PhanTypeMismatchArgumentProbablyReal */ throw new LocalizedException(__('Something went wrong while processing the request.')); } @@ -166,10 +163,7 @@ private function publishCollectionToQueue( */ private function canUseAsyncOperations(): bool { - if ($this->manager->isEnabled('Magento_AsynchronousOperations')) { - return true; - } - return false; + return $this->manager->isEnabled('Magento_AsynchronousOperations'); } /** diff --git a/Model/Service/Update/QueueProcessorService.php b/Model/Service/Update/QueueProcessorService.php deleted file mode 100644 index e48490bc2..000000000 --- a/Model/Service/Update/QueueProcessorService.php +++ /dev/null @@ -1,296 +0,0 @@ - - * @copyright 2020 Nosto Solutions Ltd - * @license http://opensource.org/licenses/BSD-3-Clause BSD 3-Clause - * - */ - -namespace Nosto\Tagging\Model\Service\Update; - -use Exception; -use Magento\Framework\Exception\AlreadyExistsException; -use Magento\Framework\Stdlib\DateTime\TimezoneInterface; -use Magento\Store\Model\Store; -use Nosto\Tagging\Api\Data\ProductUpdateQueueInterface; -use Nosto\Tagging\Helper\Account as NostoAccountHelper; -use Nosto\Tagging\Helper\Data as NostoDataHelper; -use Nosto\Tagging\Logger\Logger as NostoLogger; -use Nosto\Tagging\Model\Product\Queue\QueueRepository; -use Nosto\Tagging\Model\Product\Update\Queue; -use Nosto\Tagging\Model\ResourceModel\Product\Update\Queue\QueueCollection; -use Nosto\Tagging\Model\ResourceModel\Product\Update\Queue\QueueCollectionBuilder; -use Nosto\Tagging\Model\Service\AbstractService; -use Nosto\Tagging\Model\Service\Sync\BulkPublisherInterface; - -/** - * Class QueueService - */ -class QueueProcessorService extends AbstractService -{ - /** @var BulkPublisherInterface */ - private BulkPublisherInterface $upsertBulkPublisher; - - /** @var QueueRepository */ - private QueueRepository $queueRepository; - - /** @var TimezoneInterface */ - private TimezoneInterface $magentoTimeZone; - - /** @var QueueCollectionBuilder */ - private QueueCollectionBuilder $queueCollectionBuilder; - - /** @var BulkPublisherInterface */ - private BulkPublisherInterface $deleteBulkPublisher; - - /** @var int */ - private int $maxProductsInBatch; - - /** @var int */ - private int $cleanupInterval; - - /** - * @param NostoLogger $logger - * @param NostoDataHelper $nostoDataHelper - * @param NostoAccountHelper $nostoAccountHelper - * @param BulkPublisherInterface $upsertBulkPublisher - * @param BulkPublisherInterface $deleteBulkPublisher - * @param QueueRepository $queueRepository - * @param TimezoneInterface $magentoTimeZone - * @param QueueCollectionBuilder $queueCollectionBuilder - * @param $maxProductsInBatch - * @param $cleanUpInterval - */ - public function __construct( - NostoLogger $logger, - NostoDataHelper $nostoDataHelper, - NostoAccountHelper $nostoAccountHelper, - BulkPublisherInterface $upsertBulkPublisher, - BulkPublisherInterface $deleteBulkPublisher, - QueueRepository $queueRepository, - TimezoneInterface $magentoTimeZone, - QueueCollectionBuilder $queueCollectionBuilder, - $maxProductsInBatch, - $cleanUpInterval - ) { - parent::__construct($nostoDataHelper, $nostoAccountHelper, $logger); - $this->upsertBulkPublisher = $upsertBulkPublisher; - $this->deleteBulkPublisher = $deleteBulkPublisher; - $this->queueRepository = $queueRepository; - $this->magentoTimeZone = $magentoTimeZone; - $this->queueCollectionBuilder = $queueCollectionBuilder; - $this->maxProductsInBatch = $maxProductsInBatch; - $this->cleanupInterval = $cleanUpInterval; - } - - /** - * Processes a collection of queue entries - * - merges product ids from queue entries within the same store - * @param QueueCollection $collection - * @param Store $store - */ - public function processQueueCollection(QueueCollection $collection, Store $store) - { - $initialCollectionSize = $collection->getSize(); - $this->logDebugWithStore( - sprintf( - 'Started processing %d of queue entries', - $initialCollectionSize - ), - $store - ); - if ($initialCollectionSize === 0) { - $this->logInfoWithStore('No unprocessed queue entries in the update queue for the store', $store); - return; - } - $this->capCollection($collection, $store); - $this->setStatusToProcessing($collection); - $merged = $this->mergeQueues($collection, $store); - foreach ($merged as $storeId => $actions) { - foreach ($actions as $action => $productIds) { - if ($action === ProductUpdateQueueInterface::ACTION_VALUE_UPSERT) { - $this->upsertBulkPublisher->execute($storeId, $productIds); - } else { - $this->deleteBulkPublisher->execute($storeId, $productIds); - } - } - } - $this->setStatusToDone($collection); - $this->cleanupUpdateQueue($store); - $this->logDebugWithStore( - sprintf( - 'Processed %d of queue entries', - // phpcs:ignore - $collection->count() - ), - $store - ); - } - - /** - * Caps the collection to the max amount of products in one batch - * - * @param QueueCollection $collection - * @param Store $store - */ - private function capCollection(QueueCollection $collection, Store $store) - { - // phpcs:ignore - $originalSize = $collection->count(); - $productIdCount = 0; - $leftIds = 0; - /** @var Queue $entry */ - foreach ($collection as $key => $entry) { - if ($productIdCount > $this->maxProductsInBatch) { - $leftIds += $entry->getProductIdCount(); - $collection->removeItemByKey($key); - } - $productIdCount += $entry->getProductIdCount(); - } - // phpcs:ignore - $sizeAfterCap = $collection->count(); - if ($sizeAfterCap < $originalSize) { - $this->logDebugWithStore( - sprintf( - 'QueueCollection capped from %d to %d - %d non-unique product ids remain in the queue', - $originalSize, - $sizeAfterCap, - $leftIds - ), - $store - ); - } - } - - /** - * Merges productIds from QueueCollection into an array containing only unique product ids per store - * - * @param QueueCollection $collection - * @param Store $store - * @return array - */ - private function mergeQueues(QueueCollection $collection, Store $store) - { - $merged = []; - $totalCount = 0; - /* @var ProductUpdateQueueInterface $queueEntry */ - foreach ($collection as $queueEntry) { - if (!isset($merged[$queueEntry->getStoreId()])) { - $merged[$queueEntry->getStoreId()] = [ - ProductUpdateQueueInterface::ACTION_VALUE_UPSERT => [], - ProductUpdateQueueInterface::ACTION_VALUE_DELETE => [] - ]; - } - $totalCount += $queueEntry->getProductIdCount(); - foreach ($queueEntry->getProductIds() as $productId) { - $merged[$queueEntry->getStoreId()][$queueEntry->getAction()][$productId] = $productId; - } - } - $mergedCount = 0; - foreach ($merged as $arr) { - foreach ($arr as $ids) { - // phpcs:ignore - $mergedCount += count($ids); - } - } - $this->logDebugWithStore( - sprintf( - 'Merged total of %d product ids into %d', - $totalCount, - $mergedCount - ), - $store - ); - return $merged; - } - - /** - * Sets the timestamp for started at & updates the status to be processing - * - * @param QueueCollection $collection - */ - private function setStatusToProcessing(QueueCollection $collection) - { - /* @var ProductUpdateQueueInterface $queueEntry */ - foreach ($collection as $queueEntry) { - $queueEntry->setStartedAt($this->magentoTimeZone->date()); - $queueEntry->setStatus(ProductUpdateQueueInterface::STATUS_VALUE_PROCESSING); - } - } - - /** - * Sets the timestamp for completed at & updates the status to be done - * - * @param QueueCollection $collection - */ - private function setStatusToDone(QueueCollection $collection) - { - /* @var ProductUpdateQueueInterface $queueEntry */ - foreach ($collection as $queueEntry) { - $queueEntry->setCompletedAt($this->magentoTimeZone->date()); - $queueEntry->setStatus(ProductUpdateQueueInterface::STATUS_VALUE_DONE); - try { - // phpcs:ignore - $this->queueRepository->save($queueEntry); - } catch (AlreadyExistsException $e) { - $this->getLogger()->exception($e); - } - } - } - - /** - * Cleans up completed entries from the queue table - * @param Store $store - */ - private function cleanupUpdateQueue(Store $store) - { - try { - $processed = $this->queueCollectionBuilder - ->init() - ->withCompletedHrsAgo($this->cleanupInterval) - ->build(); - $this->logDebugWithStore( - sprintf( - 'Cleaning up %d entries from update queue completed %d < hours ago', - $processed->count(), - $this->cleanupInterval - ), - $store - ); - foreach ($processed as $queueItem) { - // phpcs:ignore - $this->queueRepository->delete($queueItem); - } - } catch (Exception $e) { - $this->getLogger()->exception($e); - } - } -} diff --git a/Model/Service/Update/QueueService.php b/Model/Service/Update/QueueService.php index 6dcd6be0d..6d9df85d6 100644 --- a/Model/Service/Update/QueueService.php +++ b/Model/Service/Update/QueueService.php @@ -45,55 +45,54 @@ use Nosto\Tagging\Helper\Account as NostoAccountHelper; use Nosto\Tagging\Helper\Data as NostoDataHelper; use Nosto\Tagging\Logger\Logger as NostoLogger; -use Nosto\Tagging\Model\Product\Queue\QueueBuilder; -use Nosto\Tagging\Model\Product\Queue\QueueRepository; use Nosto\Tagging\Model\Product\Repository as NostoProductRepository; use Nosto\Tagging\Model\ResourceModel\Magento\Product\Collection as ProductCollection; use Nosto\Tagging\Model\Service\AbstractService; use Nosto\Tagging\Util\PagingIterator; +use Nosto\Tagging\Model\Service\Sync\BulkPublisherInterface; class QueueService extends AbstractService { - /** @var QueueRepository */ - private QueueRepository $queueRepository; - - /** @var QueueBuilder */ - private QueueBuilder $queueBuilder; - /** @var NostoProductRepository $nostoProductRepository */ private NostoProductRepository $nostoProductRepository; /** @var int $batchSize */ private int $batchSize; + /** @var BulkPublisherInterface */ + private BulkPublisherInterface $upsertBulkPublisher; + + /** @var BulkPublisherInterface */ + private BulkPublisherInterface $deleteBulkPublisher; + /** * QueueService constructor. - * @param QueueRepository $queueRepository - * @param QueueBuilder $queueBuilder * @param NostoLogger $logger * @param NostoDataHelper $nostoDataHelper * @param NostoAccountHelper $nostoAccountHelper * @param NostoProductRepository $nostoProductRepository + * @param BulkPublisherInterface $upsertBulkPublisher + * @param BulkPublisherInterface $deleteBulkPublisher * @param int $batchSize */ public function __construct( - QueueRepository $queueRepository, - QueueBuilder $queueBuilder, NostoLogger $logger, NostoDataHelper $nostoDataHelper, NostoAccountHelper $nostoAccountHelper, NostoProductRepository $nostoProductRepository, + BulkPublisherInterface $upsertBulkPublisher, + BulkPublisherInterface $deleteBulkPublisher, int $batchSize ) { parent::__construct($nostoDataHelper, $nostoAccountHelper, $logger); - $this->queueRepository = $queueRepository; - $this->queueBuilder = $queueBuilder; $this->nostoProductRepository = $nostoProductRepository; + $this->upsertBulkPublisher = $upsertBulkPublisher; + $this->deleteBulkPublisher = $deleteBulkPublisher; $this->batchSize = $batchSize; } /** - * Sets the products into the update queue + * Sets the products into the message queue * * @param ProductCollection $collection * @param Store $store @@ -121,13 +120,7 @@ public function addCollectionToUpsertQueue(ProductCollection $collection, Store ); /** @var ProductCollection $page */ foreach ($iterator as $page) { - $queueEntry = $this->queueBuilder->buildForUpsert( - $store, - $this->toParentProductIds($page) - ); - if (!empty($queueEntry->getProductIds())) { - $this->queueRepository->save($queueEntry); // @codingStandardsIgnoreLine - } + $this->upsertBulkPublisher->execute($store->getId(), $this->toParentProductIds($page)); } } @@ -145,15 +138,8 @@ public function addIdsToDeleteQueue($productIds, Store $store) return; } $batchedIds = array_chunk($productIds, $this->batchSize); - /** @var ProductCollection $page */ foreach ($batchedIds as $idBatch) { - $queueEntry = $this->queueBuilder->buildForDeletion( - $store, - $idBatch - ); - if (!empty($queueEntry->getProductIds())) { - $this->queueRepository->save($queueEntry); // @codingStandardsIgnoreLine - } + $this->deleteBulkPublisher->execute($store->getId(), $idBatch); } } @@ -161,7 +147,7 @@ public function addIdsToDeleteQueue($productIds, Store $store) * @param ProductCollection $collection * @return array */ - private function toParentProductIds(ProductCollection $collection) + private function toParentProductIds(ProductCollection $collection): array { $productIds = []; /** @var ProductInterface $product */ diff --git a/Plugin/ProductQueueUpdate.php b/Plugin/ProductQueueUpdate.php deleted file mode 100644 index 36b259250..000000000 --- a/Plugin/ProductQueueUpdate.php +++ /dev/null @@ -1,89 +0,0 @@ - - * @copyright 2020 Nosto Solutions Ltd - * @license http://opensource.org/licenses/BSD-3-Clause BSD 3-Clause - * - */ - -namespace Nosto\Tagging\Plugin; - -use Closure; -use Magento\Framework\Indexer\IndexerRegistry; -use Magento\Framework\Model\AbstractModel; -use Nosto\Tagging\Model\Indexer\QueueProcessorIndexer; -use Nosto\Tagging\Model\ResourceModel\Product\Update\Queue as QueueResource; - -/** - * Plugin for product updates - */ -class ProductQueueUpdate -{ - /** @var IndexerRegistry */ - private IndexerRegistry $indexerRegistry; - - /** @var QueueProcessorIndexer */ - private QueueProcessorIndexer $queueProcessorIndexer; - - /** - * ProductInvalidate constructor. - * @param IndexerRegistry $indexerRegistry - * @param QueueProcessorIndexer $queueProcessorIndexer - */ - public function __construct( - IndexerRegistry $indexerRegistry, - QueueProcessorIndexer $queueProcessorIndexer - ) { - $this->indexerRegistry = $indexerRegistry; - $this->queueProcessorIndexer = $queueProcessorIndexer; - } - - /** - * @param QueueResource $queueResource - * @param Closure $proceed - * @param AbstractModel $queue - * @return mixed - */ - public function aroundSave( - QueueResource $queueResource, - Closure $proceed, - AbstractModel $queue - ) { - $mageIndexer = $this->indexerRegistry->get(QueueProcessorIndexer::INDEXER_ID); - if (!$mageIndexer->isScheduled()) { - $queueResource->addCommitCallback(function () use ($queue) { - $this->queueProcessorIndexer->executeRow($queue->getId()); - }); - } - - return $proceed($queue); - } -} diff --git a/etc/di.xml b/etc/di.xml index 4aeeaa7d5..af0eefeee 100644 --- a/etc/di.xml +++ b/etc/di.xml @@ -53,9 +53,6 @@ - - - Nosto\Tagging\Helper\Account\Proxy @@ -181,9 +178,6 @@ Nosto\Tagging\Model\Indexer\Dimensions\Queue\ModeSwitcher - - Nosto\Tagging\Model\Indexer\Dimensions\QueueProcessor\ModeSwitcher - @@ -191,7 +185,6 @@ nosto_index_product_queue - nosto_index_product_queue_processor @@ -202,13 +195,6 @@ - - - - Nosto\Tagging\Model\Indexer\Dimensions\StoreDimensionProvider - - - @@ -237,18 +223,6 @@ 100 - - - - Nosto\Tagging\Model\Service\Sync\Upsert\AsyncBulkPublisher - - - Nosto\Tagging\Model\Service\Sync\Delete\AsyncBulkPublisher - - 1000 - 1 - - 500 diff --git a/etc/indexer.xml b/etc/indexer.xml index ee9c8b336..5181d2fa7 100644 --- a/etc/indexer.xml +++ b/etc/indexer.xml @@ -38,8 +38,4 @@ Nosto Product Queue Populates queue for product ids to be sent to Nosto - - Nosto Product Queue Processor - Processes the update queue - diff --git a/etc/mview.xml b/etc/mview.xml index fceca2af2..f6e528b04 100644 --- a/etc/mview.xml +++ b/etc/mview.xml @@ -64,10 +64,4 @@ - - - -
- - From 49082cd0cf22d3555c3db9edc104cf7134c30ea2 Mon Sep 17 00:00:00 2001 From: Cid Lopes Date: Tue, 1 Nov 2022 12:18:03 +0200 Subject: [PATCH 03/14] PhpStorm fix --- Model/Service/Update/QueueService.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/Model/Service/Update/QueueService.php b/Model/Service/Update/QueueService.php index 6d9df85d6..71d19e8f4 100644 --- a/Model/Service/Update/QueueService.php +++ b/Model/Service/Update/QueueService.php @@ -38,7 +38,6 @@ use Exception; use Magento\Catalog\Api\Data\ProductInterface; -use Magento\Framework\Exception\AlreadyExistsException; use Magento\Store\Model\Store; use Nosto\NostoException; use Nosto\Tagging\Exception\ParentProductDisabledException; @@ -129,7 +128,6 @@ public function addCollectionToUpsertQueue(ProductCollection $collection, Store * * @param $productIds * @param Store $store - * @throws AlreadyExistsException */ public function addIdsToDeleteQueue($productIds, Store $store) { From d8464916dc9db4aabb8615156b16cb41286ff962 Mon Sep 17 00:00:00 2001 From: Cid Lopes Date: Tue, 1 Nov 2022 12:37:55 +0200 Subject: [PATCH 04/14] PhpStorm fix --- Model/Indexer/QueueIndexer.php | 6 ++---- Observer/Order/Save.php | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/Model/Indexer/QueueIndexer.php b/Model/Indexer/QueueIndexer.php index 645e2fab5..6ed348b2b 100644 --- a/Model/Indexer/QueueIndexer.php +++ b/Model/Indexer/QueueIndexer.php @@ -37,7 +37,6 @@ namespace Nosto\Tagging\Model\Indexer; use Exception; -use Magento\Framework\Exception\AlreadyExistsException; use Magento\Indexer\Model\ProcessManager; use Magento\Store\Model\App\Emulation; use Magento\Store\Model\Store; @@ -56,11 +55,11 @@ /** * Class QueueIndexer - * Fetches to be indexed products from CL tables and create queues entry - * to subsequently be sent to the message queue + * Fetches to be indexed products from CL tables and create entries in the message queue */ class QueueIndexer extends AbstractIndexer { + // @TODO: Rename this to ProductIndexer public const INDEXER_ID = 'nosto_index_product_queue'; /** @var QueueService */ @@ -139,7 +138,6 @@ public function doIndex(Store $store, array $ids = []) * @param Store $store * @param array $givenIds * @throws NostoException - * @throws AlreadyExistsException */ private function handleDeletedProducts(ProductCollection $existingCollection, Store $store, array $givenIds) { diff --git a/Observer/Order/Save.php b/Observer/Order/Save.php index 4d9182305..0d676f8a4 100644 --- a/Observer/Order/Save.php +++ b/Observer/Order/Save.php @@ -57,7 +57,7 @@ use Nosto\Tagging\Logger\Logger as NostoLogger; use Nosto\Tagging\Model\Customer\Customer as NostoCustomer; use Nosto\Tagging\Model\Customer\Repository as CustomerRepository; -use Nosto\Tagging\Model\Indexer\QueueIndexer as QueueIndexer; +use Nosto\Tagging\Model\Indexer\QueueIndexer; use Nosto\Tagging\Model\Order\Builder as NostoOrderBuilder; use Nosto\Tagging\Model\Order\Status\Builder as NostoOrderStatusBuilder; use Nosto\Types\Signup\AccountInterface; From 3bc62d563725812aa4481673e3a5ed3eb1dd8772 Mon Sep 17 00:00:00 2001 From: Cid Lopes Date: Tue, 1 Nov 2022 12:38:23 +0200 Subject: [PATCH 05/14] Remove Queue objects and table --- Model/Product/Update/Queue.php | 208 ------------------ Model/ResourceModel/Product/Update/Queue.php | 55 ----- .../Product/Update/Queue/QueueCollection.php | 184 ---------------- .../Update/Queue/QueueCollectionBuilder.php | 205 ----------------- etc/db_schema.xml | 17 -- 5 files changed, 669 deletions(-) delete mode 100644 Model/Product/Update/Queue.php delete mode 100644 Model/ResourceModel/Product/Update/Queue.php delete mode 100644 Model/ResourceModel/Product/Update/Queue/QueueCollection.php delete mode 100644 Model/ResourceModel/Product/Update/Queue/QueueCollectionBuilder.php diff --git a/Model/Product/Update/Queue.php b/Model/Product/Update/Queue.php deleted file mode 100644 index 55a83928a..000000000 --- a/Model/Product/Update/Queue.php +++ /dev/null @@ -1,208 +0,0 @@ - - * @copyright 2020 Nosto Solutions Ltd - * @license http://opensource.org/licenses/BSD-3-Clause BSD 3-Clause - * - */ - -namespace Nosto\Tagging\Model\Product\Update; - -use DateTime; -use Magento\Framework\Model\AbstractModel; -use Magento\Store\Api\Data\StoreInterface; -use Nosto\Tagging\Api\Data\ProductUpdateQueueInterface; -use Nosto\Tagging\Model\ResourceModel\Product\Update\Queue as QueueResource; - -class Queue extends AbstractModel implements ProductUpdateQueueInterface -{ - /** - * @inheritDoc - */ - public function getProductIdCount() - { - return $this->getData(self::PRODUCT_ID_COUNT); - } - - /** - * @inheritDoc - */ - public function setProductIdCount(int $count) - { - return $this->setData(self::PRODUCT_ID_COUNT, $count); - } - - /** - * @inheritDoc - */ - public function getAction() - { - return $this->getData(self::ACTION); - } - - /** - * @inheritDoc - */ - public function setAction(string $action) - { - return $this->setData(self::ACTION, $action); - } - - /** - * @inheritDoc - */ - public function getStatus() - { - return $this->getData(self::STATUS); - } - - /** - * @inheritDoc - */ - public function setStatus(string $status) - { - return $this->setData(self::STATUS, $status); - } - - /** - * @inheritDoc - */ - public function getProductIds() - { - return $this->getData(self::PRODUCT_IDS); - } - - /** - * @inheritDoc - */ - public function setProductIds(array $productIds) - { - return $this->setData(self::PRODUCT_IDS, $productIds); - } - - /** - * @inheritDoc - */ - public function getId() - { - return $this->getData(self::ID); - } - - /** - * @inheritDoc - */ - public function getStoreId() - { - return $this->getData(self::STORE_ID); - } - - /** - * @inheritDoc - */ - public function getCreatedAt() - { - return $this->getData(self::CREATED_AT); - } - - /** - * @inheritDoc - */ - public function getStartedAt() - { - return $this->getData(self::STARTED_AT); - } - - /** - * @inheritDoc - */ - public function getCompletedAt() - { - return $this->getData(self::COMPLETED_AT); - } - - /** - * @inheritDoc - */ - public function setId($id) - { - return $this->setData(self::ID, $id); - } - - /** - * @inheritDoc - */ - public function setCreatedAt(DateTime $createdAt) - { - return $this->setData(self::CREATED_AT, $createdAt); - } - - /** - * @inheritDoc - */ - public function setStartedAt(DateTime $startedAt) - { - return $this->setData(self::STARTED_AT, $startedAt); - } - - /** - * @inheritDoc - */ - public function setCompletedAt(DateTime $completedAt) - { - return $this->setData(self::COMPLETED_AT, $completedAt); - } - - /** - * @inheritDoc - */ - public function setStoreId(int $storeId) - { - return $this->setData(self::STORE_ID, $storeId); - } - - /** - * @inheritDoc - */ - public function setStore(StoreInterface $store) - { - return $this->setStoreId($store->getId()); - } - - /** - * Initialize resource model - * - * @return void - */ - public function _construct() - { - $this->_init(QueueResource::class); - } -} diff --git a/Model/ResourceModel/Product/Update/Queue.php b/Model/ResourceModel/Product/Update/Queue.php deleted file mode 100644 index a1e79fdbe..000000000 --- a/Model/ResourceModel/Product/Update/Queue.php +++ /dev/null @@ -1,55 +0,0 @@ - - * @copyright 2020 Nosto Solutions Ltd - * @license http://opensource.org/licenses/BSD-3-Clause BSD 3-Clause - * - */ - -namespace Nosto\Tagging\Model\ResourceModel\Product\Update; - -use Magento\Framework\Model\ResourceModel\Db\AbstractDb; -use Nosto\Tagging\Api\Data\ProductUpdateQueueInterface; - -class Queue extends AbstractDb -{ - public const TABLE_NAME = 'nosto_tagging_product_update_queue'; - /** - * Initialize resource model - * - * @return void - */ - public function _construct() - { - $this->_serializableFields = [ProductUpdateQueueInterface::PRODUCT_IDS => [[], []]]; - $this->_init(self::TABLE_NAME, ProductUpdateQueueInterface::ID); - } -} diff --git a/Model/ResourceModel/Product/Update/Queue/QueueCollection.php b/Model/ResourceModel/Product/Update/Queue/QueueCollection.php deleted file mode 100644 index a79790718..000000000 --- a/Model/ResourceModel/Product/Update/Queue/QueueCollection.php +++ /dev/null @@ -1,184 +0,0 @@ - - * @copyright 2020 Nosto Solutions Ltd - * @license http://opensource.org/licenses/BSD-3-Clause BSD 3-Clause - * - */ - -namespace Nosto\Tagging\Model\ResourceModel\Product\Update\Queue; - -use DateTimeInterface; -use Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection; -use Magento\Store\Api\Data\StoreInterface; -use Nosto\Tagging\Api\Data\ProductUpdateQueueInterface; -use Nosto\Tagging\Model\Product\Update\Queue; -use Nosto\Tagging\Model\ResourceModel\Product\Update\Queue as QueueResource; - -class QueueCollection extends AbstractCollection -{ - /** - * Define resource model - * - * @return void - */ - public function _construct() - { - $this->_init( - Queue::class, - QueueResource::class - ); - } - - /** - * @param StoreInterface $store - * @return QueueCollection - */ - public function addStoreFilter(StoreInterface $store): QueueCollection - { - return $this->addStoreIdFilter($store->getId()); - } - - /** - * @param array $ids - * @return QueueCollection - */ - public function addIdsFilter(array $ids): QueueCollection - { - return $this->addFieldToFilter( - ProductUpdateQueueInterface::ID, - ['in' => $ids] - ); - } - - /** - * Filters collection by store id - * - * @param int $storeId - * @return QueueCollection - */ - public function addStoreIdFilter(int $storeId): QueueCollection - { - return $this->addFieldToFilter( - ProductUpdateQueueInterface::STORE_ID, - ['eq' => $storeId] - ); - } - - /** - * Filters collection by status - * - * @param string $status - * @return QueueCollection - */ - public function addStatusFilter(string $status): QueueCollection - { - return $this->addFieldToFilter( - ProductUpdateQueueInterface::STATUS, - ['eq' => $status] - ); - } - - /** - * Filters collection by completed by - * - * @param DateTimeInterface $dateTime - * @return QueueCollection - */ - public function addCompletedBeforeFilter(DateTimeInterface $dateTime): QueueCollection - { - return $this->addFieldToFilter( - ProductUpdateQueueInterface::COMPLETED_AT, - ['lteq' => $dateTime->format('Y-m-d H:i:s')] - ); - } - - /** - * Filters collection by id (primary key) - * - * @param int $indexId - * @return QueueCollection - */ - public function addIdFilter(int $indexId): QueueCollection - { - return $this->addFieldToFilter( - ProductUpdateQueueInterface::ID, - ['eq' => $indexId] - ); - } - - /** - * Sets a limit to this query - * - * @param int $limit - * @return QueueCollection - */ - public function limitResults(int $limit) - { - $this->getSelect()->limit($limit); - return $this; - } - - /** - * Add sortby to query - * - * @param string $field - * @param string $sort - * @return QueueCollection - */ - public function orderBy(string $field, string $sort) - { - $this->getSelect()->order($field . ' ' . $sort); - return $this; - } - - /** - * Deserialize fields - * - * @return QueueCollection - */ - protected function _afterLoad() - { - parent::_afterLoad(); - foreach ($this->getItems() as $item) { - /** - * Argument is of type Magento\Framework\DataObject - * but \Magento\Framework\Model\AbstractModel is expected - */ - /** @phan-suppress-next-next-line PhanTypeMismatchArgumentSuperType */ - /** @noinspection PhpParamsInspection */ - $this->getResource()->unserializeFields($item); - /** @noinspection PhpPossiblePolymorphicInvocationInspection */ - $item->setDataChanges(false); - } - return $this; - } -} diff --git a/Model/ResourceModel/Product/Update/Queue/QueueCollectionBuilder.php b/Model/ResourceModel/Product/Update/Queue/QueueCollectionBuilder.php deleted file mode 100644 index c349fb01a..000000000 --- a/Model/ResourceModel/Product/Update/Queue/QueueCollectionBuilder.php +++ /dev/null @@ -1,205 +0,0 @@ - - * @copyright 2020 Nosto Solutions Ltd - * @license http://opensource.org/licenses/BSD-3-Clause BSD 3-Clause - * - */ - -namespace Nosto\Tagging\Model\ResourceModel\Product\Update\Queue; - -use DateInterval; -use DateTime; -use Exception; -use Magento\Sales\Api\Data\EntityInterface; -use Magento\Store\Model\Store; -use Nosto\Tagging\Api\Data\ProductUpdateQueueInterface; - -/** - * A builder class for building update queue collection with the most common filters - */ -class QueueCollectionBuilder -{ - /** @var QueueCollection */ - private QueueCollection $queueCollection; - - /** - * Collection constructor. - * @param QueueCollection $queueCollection - */ - public function __construct( - QueueCollection $queueCollection - ) { - $this->queueCollection = $queueCollection; - } - - /** - * @return QueueCollection - */ - public function build(): QueueCollection - { - return $this->queueCollection; - } - - /** - * Sets the store filter - * - * @param Store $store - * @return $this - */ - public function withStore(Store $store) - { - $this->queueCollection->addStoreFilter($store); - return $this; - } - - /** - * Sets the filter to only done (completed) queue entries - * - * @return $this - */ - public function withStatusNew() - { - $this->queueCollection->addStatusFilter(ProductUpdateQueueInterface::STATUS_VALUE_NEW); - return $this; - } - - /** - * Sets the filter to only entries completed before given date time - * - * @param int $hrs - * @return $this - * @throws Exception - */ - public function withCompletedHrsAgo(int $hrs) - { - $date = new DateTime('now'); - $interval = new DateInterval('PT' . $hrs . 'H'); - $date->sub($interval); - $this->queueCollection->addCompletedBeforeFilter($date); - return $this->withStatusCompleted(); - } - - /** - * Sets the filter to only new (unprocessed) - * - * @return $this - */ - public function withStatusCompleted() - { - $this->queueCollection->addStatusFilter(ProductUpdateQueueInterface::STATUS_VALUE_DONE); - return $this; - } - - /** - * Sets the filter to only for given ids - * - * @param array $ids - * @return $this - */ - public function withIds(array $ids) - { - $this->queueCollection->addIdsFilter($ids); - return $this; - } - - /** - * Sets the sort for the collection - * - * @param string $field - * @param string $sortOrder - * @return $this - */ - public function setSort(string $field, string $sortOrder) - { - $this->queueCollection->setOrder($field, $sortOrder); - return $this; - } - - /** - * Sets the page size - * - * @param $pageSize - * @return $this - */ - public function setPageSize($pageSize) - { - $this->queueCollection->setPageSize($pageSize); - return $this; - } - - /** - * Sets the current page - * - * @param $currentPage - * @return $this - */ - public function setCurrentPage($currentPage) - { - $this->queueCollection->setCurPage($currentPage); - return $this; - } - - /** - * Resets the data and filters in collection - * @return $this - */ - public function reset() - { - return $this->init(); - } - - /** - * Initializes the collection - * - * @return $this - */ - public function init() - { - $this->queueCollection->resetData(); - return $this; - } - - /** - * Initializes the collection with store filter and defaults - * - * @param Store $store - * @return QueueCollectionBuilder - */ - public function initDefault(Store $store) - { - /** @var QueueCollection $queueCollection */ - return $this - ->reset() - ->withStore($store) - ->setSort(EntityInterface::CREATED_AT, $this->queueCollection::SORT_ORDER_ASC); - } -} diff --git a/etc/db_schema.xml b/etc/db_schema.xml index ace370572..75cd6e2cc 100644 --- a/etc/db_schema.xml +++ b/etc/db_schema.xml @@ -21,21 +21,4 @@
- - - - - - - - - - - - - - - -
- From e4b86dc4f06817f8deefb56c683688fe16eefcad Mon Sep 17 00:00:00 2001 From: Cid Lopes Date: Tue, 1 Nov 2022 12:49:34 +0200 Subject: [PATCH 06/14] Rename QueueIndexer to ProductIndexer --- .../Queue/ModeSwitcherConfiguration.php | 2 +- .../{QueueIndexer.php => ProductIndexer.php} | 7 +++--- Observer/Adminhtml/Config.php | 16 +++++++------- Observer/Order/Save.php | 4 ++-- Observer/Product/Base.php | 16 +++++++------- Plugin/ProductUpdate.php | 22 +++++++++---------- etc/di.xml | 6 ++--- etc/indexer.xml | 2 +- etc/mview.xml | 2 +- 9 files changed, 38 insertions(+), 39 deletions(-) rename Model/Indexer/{QueueIndexer.php => ProductIndexer.php} (97%) diff --git a/Model/Indexer/Dimensions/Queue/ModeSwitcherConfiguration.php b/Model/Indexer/Dimensions/Queue/ModeSwitcherConfiguration.php index 9ae46c674..30ed3e025 100644 --- a/Model/Indexer/Dimensions/Queue/ModeSwitcherConfiguration.php +++ b/Model/Indexer/Dimensions/Queue/ModeSwitcherConfiguration.php @@ -42,7 +42,7 @@ class ModeSwitcherConfiguration { - public const XML_PATH_PRODUCT_QUEUE_DIMENSIONS_MODE = 'indexer/nosto_index_product_queue/dimensions_mode'; + public const XML_PATH_PRODUCT_QUEUE_DIMENSIONS_MODE = 'indexer/nosto_index_product/dimensions_mode'; /** * ConfigInterface diff --git a/Model/Indexer/QueueIndexer.php b/Model/Indexer/ProductIndexer.php similarity index 97% rename from Model/Indexer/QueueIndexer.php rename to Model/Indexer/ProductIndexer.php index 6ed348b2b..cbee3e365 100644 --- a/Model/Indexer/QueueIndexer.php +++ b/Model/Indexer/ProductIndexer.php @@ -54,13 +54,12 @@ use Symfony\Component\Console\Input\InputInterface; /** - * Class QueueIndexer + * Class ProductIndexer * Fetches to be indexed products from CL tables and create entries in the message queue */ -class QueueIndexer extends AbstractIndexer +class ProductIndexer extends AbstractIndexer { - // @TODO: Rename this to ProductIndexer - public const INDEXER_ID = 'nosto_index_product_queue'; + public const INDEXER_ID = 'nosto_index_product'; /** @var QueueService */ private QueueService $queueService; diff --git a/Observer/Adminhtml/Config.php b/Observer/Adminhtml/Config.php index 2036c34bb..fc5828983 100644 --- a/Observer/Adminhtml/Config.php +++ b/Observer/Adminhtml/Config.php @@ -47,7 +47,7 @@ use Nosto\Tagging\Helper\Data as NostoHelperData; use Nosto\Tagging\Helper\Scope as NostoHelperScope; use Nosto\Tagging\Logger\Logger as NostoLogger; -use Nosto\Tagging\Model\Indexer\QueueIndexer; +use Nosto\Tagging\Model\Indexer\ProductIndexer; /** * Observer to mark all indexed products as dirty if settings have changed @@ -69,8 +69,8 @@ class Config implements ObserverInterface /** @var NostoAccountHelper */ private NostoAccountHelper $nostoAccountHelper; - /** var QueueIndexer */ - private QueueIndexer $queueIndexer; + /** var ProductIndexer */ + private ProductIndexer $productIndexer; /** @var IndexerRegistry */ private IndexerRegistry $indexerRegistry; @@ -83,7 +83,7 @@ class Config implements ObserverInterface * @param NostoHelperScope $nostoHelperScope * @param NostoAccountHelper $nostoAccountHelper * @param IndexerRegistry $indexerRegistry - * @param QueueIndexer $queueIndexer + * @param ProductIndexer $productIndexer */ public function __construct( NostoLogger $logger, @@ -91,13 +91,13 @@ public function __construct( NostoHelperScope $nostoHelperScope, NostoAccountHelper $nostoAccountHelper, IndexerRegistry $indexerRegistry, - QueueIndexer $queueIndexer + ProductIndexer $productIndexer ) { $this->logger = $logger; $this->moduleManager = $moduleManager; $this->nostoHelperScope = $nostoHelperScope; $this->nostoAccountHelper = $nostoAccountHelper; - $this->queueIndexer = $queueIndexer; + $this->productIndexer = $productIndexer; $this->indexerRegistry = $indexerRegistry; } @@ -155,7 +155,7 @@ private function reindexAll(Store $store) $this ); - $indexer = $this->indexerRegistry->get(QueueIndexer::INDEXER_ID); + $indexer = $this->indexerRegistry->get(ProductIndexer::INDEXER_ID); if (!$indexer->isScheduled()) { $this->logger->infoWithSource( 'Not performing full Nosto reindex as the indexer is not scheduled', @@ -164,7 +164,7 @@ private function reindexAll(Store $store) ); } else { try { - $this->queueIndexer->doIndex($store); + $this->productIndexer->doIndex($store); } catch (Exception $e) { $this->logger->exception($e); } diff --git a/Observer/Order/Save.php b/Observer/Order/Save.php index 0d676f8a4..81df6eaeb 100644 --- a/Observer/Order/Save.php +++ b/Observer/Order/Save.php @@ -57,7 +57,7 @@ use Nosto\Tagging\Logger\Logger as NostoLogger; use Nosto\Tagging\Model\Customer\Customer as NostoCustomer; use Nosto\Tagging\Model\Customer\Repository as CustomerRepository; -use Nosto\Tagging\Model\Indexer\QueueIndexer; +use Nosto\Tagging\Model\Indexer\ProductIndexer; use Nosto\Tagging\Model\Order\Builder as NostoOrderBuilder; use Nosto\Tagging\Model\Order\Status\Builder as NostoOrderStatusBuilder; use Nosto\Types\Signup\AccountInterface; @@ -111,7 +111,7 @@ public function __construct( $this->nostoOrderBuilder = $orderBuilder; $this->orderStatusBuilder = $orderStatusBuilder; $this->customerRepository = $customerRepository; - $this->indexer = $indexerRegistry->get(QueueIndexer::INDEXER_ID); + $this->indexer = $indexerRegistry->get(ProductIndexer::INDEXER_ID); $this->nostoHelperUrl = $nostoHelperUrl; $this->magentoCustomerRepository = $magentoCustomerRepository; $this->intervalForNew = $intervalForNew; diff --git a/Observer/Product/Base.php b/Observer/Product/Base.php index 57e2a882b..256018955 100644 --- a/Observer/Product/Base.php +++ b/Observer/Product/Base.php @@ -45,7 +45,7 @@ use Magento\Framework\Indexer\IndexerRegistry; use Magento\Framework\Module\Manager as ModuleManager; use Nosto\Tagging\Helper\Data as NostoHelperData; -use Nosto\Tagging\Model\Indexer\QueueIndexer as QueueIndexer; +use Nosto\Tagging\Model\Indexer\ProductIndexer; abstract class Base implements ObserverInterface { @@ -61,8 +61,8 @@ abstract class Base implements ObserverInterface /** @var IndexerInterface */ public IndexerInterface $indexer; - /** @var QueueIndexer $queueIndexer */ - public QueueIndexer $queueIndexer; + /** @var ProductIndexer $productIndexer */ + public ProductIndexer $productIndexer; /** * Base constructor. @@ -70,20 +70,20 @@ abstract class Base implements ObserverInterface * @param ProductRepository $productRepository * @param NostoHelperData $dataHelper * @param IndexerRegistry $indexerRegistry - * @param QueueIndexer $indexerInvalidate + * @param ProductIndexer $productIndexer */ public function __construct( ModuleManager $moduleManager, ProductRepository $productRepository, NostoHelperData $dataHelper, IndexerRegistry $indexerRegistry, - QueueIndexer $indexerInvalidate + ProductIndexer $productIndexer ) { $this->moduleManager = $moduleManager; $this->productRepository = $productRepository; $this->dataHelper = $dataHelper; - $this->indexer = $indexerRegistry->get(QueueIndexer::INDEXER_ID); - $this->queueIndexer = $indexerInvalidate; + $this->indexer = $indexerRegistry->get(ProductIndexer::INDEXER_ID); + $this->productIndexer = $productIndexer; } /** @@ -99,7 +99,7 @@ public function execute(Observer $observer) $product = $this->extractProduct($observer); if ($product instanceof Product && $product->getId()) { - $this->queueIndexer->executeRow($product->getId()); + $this->productIndexer->executeRow($product->getId()); } } } diff --git a/Plugin/ProductUpdate.php b/Plugin/ProductUpdate.php index b98a965b6..895582654 100644 --- a/Plugin/ProductUpdate.php +++ b/Plugin/ProductUpdate.php @@ -41,7 +41,7 @@ use Magento\Framework\Indexer\IndexerRegistry; use Magento\Framework\Model\AbstractModel; use Nosto\Tagging\Exception\ParentProductDisabledException; -use Nosto\Tagging\Model\Indexer\QueueIndexer; +use Nosto\Tagging\Model\Indexer\ProductIndexer; use Nosto\Tagging\Model\Product\Repository as NostoProductRepository; use Nosto\Tagging\Logger\Logger as NostoLogger; @@ -53,8 +53,8 @@ class ProductUpdate /** @var IndexerRegistry */ private IndexerRegistry $indexerRegistry; - /** @var QueueIndexer */ - private QueueIndexer $queueIndexer; + /** @var ProductIndexer */ + private ProductIndexer $productIndexer; /** @var NostoProductRepository */ private NostoProductRepository $nostoProductRepository; @@ -65,18 +65,18 @@ class ProductUpdate /** * ProductUpdate constructor. * @param IndexerRegistry $indexerRegistry - * @param QueueIndexer $queueIndexer + * @param ProductIndexer $productIndexer * @param NostoProductRepository $nostoProductRepository * @param NostoLogger $logger */ public function __construct( IndexerRegistry $indexerRegistry, - QueueIndexer $queueIndexer, + ProductIndexer $productIndexer, NostoProductRepository $nostoProductRepository, NostoLogger $logger ) { $this->indexerRegistry = $indexerRegistry; - $this->queueIndexer = $queueIndexer; + $this->productIndexer = $productIndexer; $this->nostoProductRepository = $nostoProductRepository; $this->logger = $logger; } @@ -92,10 +92,10 @@ public function aroundSave( Closure $proceed, AbstractModel $product ) { - $mageIndexer = $this->indexerRegistry->get(QueueIndexer::INDEXER_ID); + $mageIndexer = $this->indexerRegistry->get(ProductIndexer::INDEXER_ID); if (!$mageIndexer->isScheduled()) { $productResource->addCommitCallback(function () use ($product) { - $this->queueIndexer->executeRow($product->getId()); + $this->productIndexer->executeRow($product->getId()); }); } @@ -115,7 +115,7 @@ public function aroundDelete( Closure $proceed, AbstractModel $product ) { - $mageIndexer = $this->indexerRegistry->get(QueueIndexer::INDEXER_ID); + $mageIndexer = $this->indexerRegistry->get(ProductIndexer::INDEXER_ID); if (!$mageIndexer->isScheduled()) { try { @@ -127,12 +127,12 @@ public function aroundDelete( if (empty($productIds)) { $productResource->addCommitCallback(function () use ($product) { - $this->queueIndexer->executeRow($product->getId()); + $this->productIndexer->executeRow($product->getId()); }); } if (is_array($productIds) && !empty($productIds)) { $productResource->addCommitCallback(function () use ($productIds) { - $this->queueIndexer->executeList($productIds); + $this->productIndexer->executeList($productIds); }); } } diff --git a/etc/di.xml b/etc/di.xml index af0eefeee..065999e5a 100644 --- a/etc/di.xml +++ b/etc/di.xml @@ -175,7 +175,7 @@ - + Nosto\Tagging\Model\Indexer\Dimensions\Queue\ModeSwitcher @@ -184,11 +184,11 @@ - nosto_index_product_queue + nosto_index_product - + Nosto\Tagging\Model\Indexer\Dimensions\StoreDimensionProvider diff --git a/etc/indexer.xml b/etc/indexer.xml index 5181d2fa7..c52e93c32 100644 --- a/etc/indexer.xml +++ b/etc/indexer.xml @@ -34,7 +34,7 @@ ~ --> - + Nosto Product Queue Populates queue for product ids to be sent to Nosto diff --git a/etc/mview.xml b/etc/mview.xml index f6e528b04..232767d84 100644 --- a/etc/mview.xml +++ b/etc/mview.xml @@ -34,7 +34,7 @@ ~ --> - + From d2a4132d348c110e801ed3138e50debc39e48ec3 Mon Sep 17 00:00:00 2001 From: Cid Lopes Date: Wed, 2 Nov 2022 07:19:57 +0200 Subject: [PATCH 07/14] Rename QueueService to ProductUpdateService --- Model/Indexer/ProductIndexer.php | 26 +++++++++---------- ...ueService.php => ProductUpdateService.php} | 2 +- .../Product/MassProductAttributeUpdate.php | 16 ++++++------ etc/di.xml | 2 +- etc/indexer.xml | 4 +-- 5 files changed, 25 insertions(+), 25 deletions(-) rename Model/Service/Update/{QueueService.php => ProductUpdateService.php} (99%) diff --git a/Model/Indexer/ProductIndexer.php b/Model/Indexer/ProductIndexer.php index cbee3e365..a319e68cf 100644 --- a/Model/Indexer/ProductIndexer.php +++ b/Model/Indexer/ProductIndexer.php @@ -49,7 +49,7 @@ use Nosto\Tagging\Model\ResourceModel\Magento\Product\Collection as ProductCollection; use Nosto\Tagging\Model\ResourceModel\Magento\Product\CollectionBuilder; use Nosto\Tagging\Model\Service\Indexer\IndexerStatusServiceInterface; -use Nosto\Tagging\Model\Service\Update\QueueService; +use Nosto\Tagging\Model\Service\Update\ProductUpdateService; use Nosto\Tagging\Util\PagingIterator; use Symfony\Component\Console\Input\InputInterface; @@ -61,8 +61,8 @@ class ProductIndexer extends AbstractIndexer { public const INDEXER_ID = 'nosto_index_product'; - /** @var QueueService */ - private QueueService $queueService; + /** @var ProductUpdateService */ + private ProductUpdateService $queueService; /** @var CollectionBuilder */ private CollectionBuilder $productCollectionBuilder; @@ -73,7 +73,7 @@ class ProductIndexer extends AbstractIndexer /** * Invalidate constructor. * @param NostoHelperScope $nostoHelperScope - * @param QueueService $queueService + * @param ProductUpdateService $queueService * @param NostoLogger $logger * @param CollectionBuilder $productCollectionBuilder * @param QueueModeSwitcher $modeSwitcher @@ -84,15 +84,15 @@ class ProductIndexer extends AbstractIndexer * @param IndexerStatusServiceInterface $indexerStatusService */ public function __construct( - NostoHelperScope $nostoHelperScope, - QueueService $queueService, - NostoLogger $logger, - CollectionBuilder $productCollectionBuilder, - QueueModeSwitcher $modeSwitcher, - StoreDimensionProvider $dimensionProvider, - Emulation $storeEmulation, - ProcessManager $processManager, - InputInterface $input, + NostoHelperScope $nostoHelperScope, + ProductUpdateService $queueService, + NostoLogger $logger, + CollectionBuilder $productCollectionBuilder, + QueueModeSwitcher $modeSwitcher, + StoreDimensionProvider $dimensionProvider, + Emulation $storeEmulation, + ProcessManager $processManager, + InputInterface $input, IndexerStatusServiceInterface $indexerStatusService ) { $this->queueService = $queueService; diff --git a/Model/Service/Update/QueueService.php b/Model/Service/Update/ProductUpdateService.php similarity index 99% rename from Model/Service/Update/QueueService.php rename to Model/Service/Update/ProductUpdateService.php index 71d19e8f4..def4bcf49 100644 --- a/Model/Service/Update/QueueService.php +++ b/Model/Service/Update/ProductUpdateService.php @@ -50,7 +50,7 @@ use Nosto\Tagging\Util\PagingIterator; use Nosto\Tagging\Model\Service\Sync\BulkPublisherInterface; -class QueueService extends AbstractService +class ProductUpdateService extends AbstractService { /** @var NostoProductRepository $nostoProductRepository */ private NostoProductRepository $nostoProductRepository; diff --git a/Observer/Product/MassProductAttributeUpdate.php b/Observer/Product/MassProductAttributeUpdate.php index 67820f117..2d2705e2e 100644 --- a/Observer/Product/MassProductAttributeUpdate.php +++ b/Observer/Product/MassProductAttributeUpdate.php @@ -44,13 +44,13 @@ use Nosto\Tagging\Logger\Logger as NostoLogger; use Nosto\Tagging\Model\ResourceModel\Magento\Product\Collection as ProductCollection; use Nosto\Tagging\Model\ResourceModel\Magento\Product\CollectionBuilder; -use Nosto\Tagging\Model\Service\Update\QueueService; +use Nosto\Tagging\Model\Service\Update\ProductUpdateService; class MassProductAttributeUpdate implements ObserverInterface { - /** @var QueueService */ - private QueueService $queueService; + /** @var ProductUpdateService */ + private ProductUpdateService $queueService; /** @var CollectionBuilder */ private CollectionBuilder $productCollectionBuilder; @@ -63,16 +63,16 @@ class MassProductAttributeUpdate implements ObserverInterface /** * MassProductAttributeUpdate constructor. - * @param QueueService $queueService + * @param ProductUpdateService $queueService * @param CollectionBuilder $productCollectionBuilder * @param NostoHelperAccount $nostoHelperAccount * @param NostoLogger $logger */ public function __construct( - QueueService $queueService, - CollectionBuilder $productCollectionBuilder, - NostoHelperAccount $nostoHelperAccount, - NostoLogger $logger + ProductUpdateService $queueService, + CollectionBuilder $productCollectionBuilder, + NostoHelperAccount $nostoHelperAccount, + NostoLogger $logger ) { $this->queueService = $queueService; $this->productCollectionBuilder = $productCollectionBuilder; diff --git a/etc/di.xml b/etc/di.xml index 065999e5a..21bf19594 100644 --- a/etc/di.xml +++ b/etc/di.xml @@ -223,7 +223,7 @@ 100 - + 500 diff --git a/etc/indexer.xml b/etc/indexer.xml index c52e93c32..00183f6ee 100644 --- a/etc/indexer.xml +++ b/etc/indexer.xml @@ -35,7 +35,7 @@ --> - Nosto Product Queue - Populates queue for product ids to be sent to Nosto + Nosto Product Indexer + Populates message queue with product ids to be sent to Nosto From 0599eeb1ea5f2f0169afef4cbaa948eae973cb4f Mon Sep 17 00:00:00 2001 From: Cid Lopes Date: Wed, 2 Nov 2022 07:20:07 +0200 Subject: [PATCH 08/14] Remove dangling ProductUpdateQueueInterface & ProductUpdateQueueRepositoryInterface --- Api/Data/ProductUpdateQueueInterface.php | 197 ------------------ Api/ProductUpdateQueueRepositoryInterface.php | 64 ------ 2 files changed, 261 deletions(-) delete mode 100644 Api/Data/ProductUpdateQueueInterface.php delete mode 100644 Api/ProductUpdateQueueRepositoryInterface.php diff --git a/Api/Data/ProductUpdateQueueInterface.php b/Api/Data/ProductUpdateQueueInterface.php deleted file mode 100644 index d141c4e13..000000000 --- a/Api/Data/ProductUpdateQueueInterface.php +++ /dev/null @@ -1,197 +0,0 @@ - - * @copyright 2020 Nosto Solutions Ltd - * @license http://opensource.org/licenses/BSD-3-Clause BSD 3-Clause - * - */ - -namespace Nosto\Tagging\Api\Data; - -use DateTime; -use Magento\Store\Api\Data\StoreInterface; - -/** - * Interface ProductUpdateQueueInterface - */ -interface ProductUpdateQueueInterface -{ - public const ID = 'id'; - public const CREATED_AT = 'created_at'; - public const STARTED_AT = 'started_at'; - public const COMPLETED_AT = 'completed_at'; - public const STORE_ID = 'store_id'; - public const PRODUCT_IDS = 'product_ids'; - public const PRODUCT_ID_COUNT = 'product_id_count'; - public const ACTION = 'action'; - public const ACTION_VALUE_UPSERT = 'upsert'; - public const ACTION_VALUE_DELETE = 'delete'; - public const STATUS = 'status'; - public const STATUS_VALUE_NEW = 'new'; - public const STATUS_VALUE_PROCESSING = 'processing'; - public const STATUS_VALUE_DONE = 'done'; - - /** - * Get row id - * - * @return int|null - */ - public function getId(); - - /** - * Get created at time - * - * @return DateTime - */ - public function getCreatedAt(); - - /** - * Get started at time - * - * @return DateTime - */ - public function getStartedAt(); - - /** - * Get completed at time - * - * @return DateTime - */ - public function getCompletedAt(); - - /** - * Get store id - * - * @return int - */ - public function getStoreId(); - - /** - * Get product data - * - * @return string|null - */ - public function getProductIds(); - - /** - * Get the queue status - * - * @return string - */ - public function getStatus(); - - /** - * Get the queue action - * - * @return string - */ - public function getAction(); - - /** - * Get the count of product ids in entry - * - * @return int - */ - public function getProductIdCount(); - - /** - * Set id - * - * @param int $id - * @return self - * @SuppressWarnings(PHPMD.ShortVariable) - */ - public function setId(int $id); - - /** - * Set product id - * - * @param array $productIds - * @return self - */ - public function setProductIds(array $productIds); - - /** - * Set store id - * - * @param int $storeId - * @return self - */ - public function setStoreId(int $storeId); - - /** - * Set created at time - * - * @param DateTime $createdAt - * @return self - */ - public function setCreatedAt(DateTime $createdAt); - - /** - * Set started at time - * - * @param DateTime $startedAt - * @return self - */ - public function setStartedAt(DateTime $startedAt); - - /** - * Set completed at time - * - * @param DateTime $completedAt - * @return self - */ - public function setCompletedAt(DateTime $completedAt); - - /** - * @param StoreInterface $store - * @return self - */ - public function setStore(StoreInterface $store); - - /** - * @param string $status - * @return self - */ - public function setStatus(string $status); - - /** - * @param string $action - * @return self - */ - public function setAction(string $action); - - /** - * @param int $count - * @return self - */ - public function setProductIdCount(int $count); -} diff --git a/Api/ProductUpdateQueueRepositoryInterface.php b/Api/ProductUpdateQueueRepositoryInterface.php deleted file mode 100644 index d978486cb..000000000 --- a/Api/ProductUpdateQueueRepositoryInterface.php +++ /dev/null @@ -1,64 +0,0 @@ - - * @copyright 2020 Nosto Solutions Ltd - * @license http://opensource.org/licenses/BSD-3-Clause BSD 3-Clause - * - */ - -namespace Nosto\Tagging\Api; - -use Magento\Store\Api\Data\StoreInterface; -use Nosto\Tagging\Api\Data\ProductUpdateQueueInterface; - -interface ProductUpdateQueueRepositoryInterface -{ - /** - * Save Queue entry - * - * @param ProductUpdateQueueInterface $entry - * @return ProductUpdateQueueInterface - */ - public function save(ProductUpdateQueueInterface $entry); - - /** - * Delete productIndex - * - * @param ProductUpdateQueueInterface $entry - */ - public function delete(ProductUpdateQueueInterface $entry); - - /** - * @param StoreInterface $store - * @return ProductUpdateQueueInterface|null - */ - public function getByStore(StoreInterface $store); -} From ea2d4a23240acf6c8cb4a180683a71dbe9c968e3 Mon Sep 17 00:00:00 2001 From: Cid Lopes Date: Wed, 2 Nov 2022 07:33:18 +0200 Subject: [PATCH 09/14] Make it clear Queue and Message queue usages --- .../Queue/DimensionModeConfiguration.php | 2 +- .../Dimensions/Queue/ModeSwitcherConfiguration.php | 4 ++-- Model/Indexer/ProductIndexer.php | 14 +++++++------- Model/Service/Sync/AbstractBulkPublisher.php | 4 ++-- Model/Service/Update/ProductUpdateService.php | 10 +++++----- Observer/Product/MassProductAttributeUpdate.php | 2 +- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/Model/Indexer/Dimensions/Queue/DimensionModeConfiguration.php b/Model/Indexer/Dimensions/Queue/DimensionModeConfiguration.php index be0a4c1a7..1cdd55b4a 100644 --- a/Model/Indexer/Dimensions/Queue/DimensionModeConfiguration.php +++ b/Model/Indexer/Dimensions/Queue/DimensionModeConfiguration.php @@ -52,7 +52,7 @@ public function getCurrentMode(): string { if ($this->currentMode === '') { $mode = $this->scopeConfig->getValue( - ModeSwitcherConfiguration::XML_PATH_PRODUCT_QUEUE_DIMENSIONS_MODE + ModeSwitcherConfiguration::XML_PATH_PRODUCT_INDEX_DIMENSIONS_MODE ); if ($mode) { $this->currentMode = $mode; diff --git a/Model/Indexer/Dimensions/Queue/ModeSwitcherConfiguration.php b/Model/Indexer/Dimensions/Queue/ModeSwitcherConfiguration.php index 30ed3e025..faf1d611d 100644 --- a/Model/Indexer/Dimensions/Queue/ModeSwitcherConfiguration.php +++ b/Model/Indexer/Dimensions/Queue/ModeSwitcherConfiguration.php @@ -42,7 +42,7 @@ class ModeSwitcherConfiguration { - public const XML_PATH_PRODUCT_QUEUE_DIMENSIONS_MODE = 'indexer/nosto_index_product/dimensions_mode'; + public const XML_PATH_PRODUCT_INDEX_DIMENSIONS_MODE = 'indexer/nosto_index_product/dimensions_mode'; /** * ConfigInterface @@ -80,7 +80,7 @@ public function __construct( */ public function saveMode(string $mode) { - $this->configWriter->saveConfig(self::XML_PATH_PRODUCT_QUEUE_DIMENSIONS_MODE, $mode); + $this->configWriter->saveConfig(self::XML_PATH_PRODUCT_INDEX_DIMENSIONS_MODE, $mode); $this->cacheTypeList->cleanType('config'); } } diff --git a/Model/Indexer/ProductIndexer.php b/Model/Indexer/ProductIndexer.php index a319e68cf..073d95fcf 100644 --- a/Model/Indexer/ProductIndexer.php +++ b/Model/Indexer/ProductIndexer.php @@ -55,14 +55,14 @@ /** * Class ProductIndexer - * Fetches to be indexed products from CL tables and create entries in the message queue + * Fetches product ID's from CL tables and create entries in the message queue */ class ProductIndexer extends AbstractIndexer { public const INDEXER_ID = 'nosto_index_product'; /** @var ProductUpdateService */ - private ProductUpdateService $queueService; + private ProductUpdateService $productUpdateService; /** @var CollectionBuilder */ private CollectionBuilder $productCollectionBuilder; @@ -73,7 +73,7 @@ class ProductIndexer extends AbstractIndexer /** * Invalidate constructor. * @param NostoHelperScope $nostoHelperScope - * @param ProductUpdateService $queueService + * @param ProductUpdateService $productUpdateService * @param NostoLogger $logger * @param CollectionBuilder $productCollectionBuilder * @param QueueModeSwitcher $modeSwitcher @@ -85,7 +85,7 @@ class ProductIndexer extends AbstractIndexer */ public function __construct( NostoHelperScope $nostoHelperScope, - ProductUpdateService $queueService, + ProductUpdateService $productUpdateService, NostoLogger $logger, CollectionBuilder $productCollectionBuilder, QueueModeSwitcher $modeSwitcher, @@ -95,7 +95,7 @@ public function __construct( InputInterface $input, IndexerStatusServiceInterface $indexerStatusService ) { - $this->queueService = $queueService; + $this->productUpdateService = $productUpdateService; $this->productCollectionBuilder = $productCollectionBuilder; $this->modeSwitcher = $modeSwitcher; parent::__construct( @@ -125,7 +125,7 @@ public function getModeSwitcher(): ModeSwitcherInterface public function doIndex(Store $store, array $ids = []) { $collection = $this->getCollection($store, $ids); - $this->queueService->addCollectionToUpsertQueue( + $this->productUpdateService->addCollectionToUpdateMessageQueue( $collection, $store ); @@ -158,7 +158,7 @@ private function handleDeletedProducts(ProductCollection $existingCollection, St } } if (count($removed) > 0) { - $this->queueService->addIdsToDeleteQueue($removed, $store); + $this->productUpdateService->addIdsToDeleteMessageQueue($removed, $store); } } } diff --git a/Model/Service/Sync/AbstractBulkPublisher.php b/Model/Service/Sync/AbstractBulkPublisher.php index 99cbb8e5c..13ea007d5 100644 --- a/Model/Service/Sync/AbstractBulkPublisher.php +++ b/Model/Service/Sync/AbstractBulkPublisher.php @@ -103,7 +103,7 @@ public function __construct(// @codingStandardsIgnoreLine public function execute(int $storeId, array $productIds = []) { if (!empty($productIds)) { - $this->publishCollectionToQueue($storeId, $productIds); + $this->publishCollectionToMessageQueue($storeId, $productIds); } } @@ -113,7 +113,7 @@ public function execute(int $storeId, array $productIds = []) * @throws LocalizedException * @throws Exception */ - private function publishCollectionToQueue( + private function publishCollectionToMessageQueue( $storeId, $productIds ) { diff --git a/Model/Service/Update/ProductUpdateService.php b/Model/Service/Update/ProductUpdateService.php index def4bcf49..2e5a4d8ed 100644 --- a/Model/Service/Update/ProductUpdateService.php +++ b/Model/Service/Update/ProductUpdateService.php @@ -65,7 +65,7 @@ class ProductUpdateService extends AbstractService private BulkPublisherInterface $deleteBulkPublisher; /** - * QueueService constructor. + * ProductUpdateService constructor. * @param NostoLogger $logger * @param NostoDataHelper $nostoDataHelper * @param NostoAccountHelper $nostoAccountHelper @@ -98,7 +98,7 @@ public function __construct( * @throws NostoException * @throws Exception */ - public function addCollectionToUpsertQueue(ProductCollection $collection, Store $store) + public function addCollectionToUpdateMessageQueue(ProductCollection $collection, Store $store) { if ($this->getAccountHelper()->findAccount($store) === null) { $this->logDebugWithStore('No nosto account found for the store', $store); @@ -108,7 +108,7 @@ public function addCollectionToUpsertQueue(ProductCollection $collection, Store $iterator = new PagingIterator($collection); $this->getLogger()->debugWithSource( sprintf( - 'Adding %d products to queue for store %s - batch size is %s, total amount of pages %d', + 'Adding %d products to message queue for store %s - batch size is %s, total amount of pages %d', $collection->getSize(), $store->getCode(), $this->batchSize, @@ -124,12 +124,12 @@ public function addCollectionToUpsertQueue(ProductCollection $collection, Store } /** - * Sets the product ids into the delete queue + * Sets the product ids into the delete message queue * * @param $productIds * @param Store $store */ - public function addIdsToDeleteQueue($productIds, Store $store) + public function addIdsToDeleteMessageQueue($productIds, Store $store) { if ($this->getAccountHelper()->findAccount($store) === null) { $this->logDebugWithStore('No nosto account found for the store', $store); diff --git a/Observer/Product/MassProductAttributeUpdate.php b/Observer/Product/MassProductAttributeUpdate.php index 2d2705e2e..3f3c4b4ef 100644 --- a/Observer/Product/MassProductAttributeUpdate.php +++ b/Observer/Product/MassProductAttributeUpdate.php @@ -106,7 +106,7 @@ private function indexProductsPerStore(Store $store, array $ids) { $collection = $this->getCollection($store, $ids); try { - $this->queueService->addCollectionToUpsertQueue( + $this->queueService->addCollectionToUpdateMessageQueue( $collection, $store ); From 9e66a083cd412af8e6df23ada8dd81fa3aa94904 Mon Sep 17 00:00:00 2001 From: Cid Lopes Date: Wed, 2 Nov 2022 07:36:09 +0200 Subject: [PATCH 10/14] Rename queueService to productUpdateService usages --- Observer/Product/MassProductAttributeUpdate.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Observer/Product/MassProductAttributeUpdate.php b/Observer/Product/MassProductAttributeUpdate.php index 3f3c4b4ef..48ba4f592 100644 --- a/Observer/Product/MassProductAttributeUpdate.php +++ b/Observer/Product/MassProductAttributeUpdate.php @@ -50,7 +50,7 @@ class MassProductAttributeUpdate implements ObserverInterface { /** @var ProductUpdateService */ - private ProductUpdateService $queueService; + private ProductUpdateService $productUpdateService; /** @var CollectionBuilder */ private CollectionBuilder $productCollectionBuilder; @@ -63,18 +63,18 @@ class MassProductAttributeUpdate implements ObserverInterface /** * MassProductAttributeUpdate constructor. - * @param ProductUpdateService $queueService + * @param ProductUpdateService $productUpdateService * @param CollectionBuilder $productCollectionBuilder * @param NostoHelperAccount $nostoHelperAccount * @param NostoLogger $logger */ public function __construct( - ProductUpdateService $queueService, + ProductUpdateService $productUpdateService, CollectionBuilder $productCollectionBuilder, NostoHelperAccount $nostoHelperAccount, NostoLogger $logger ) { - $this->queueService = $queueService; + $this->productUpdateService = $productUpdateService; $this->productCollectionBuilder = $productCollectionBuilder; $this->nostoHelperAccount = $nostoHelperAccount; $this->logger = $logger; @@ -106,7 +106,7 @@ private function indexProductsPerStore(Store $store, array $ids) { $collection = $this->getCollection($store, $ids); try { - $this->queueService->addCollectionToUpdateMessageQueue( + $this->productUpdateService->addCollectionToUpdateMessageQueue( $collection, $store ); From c502e34f685bd4d23dac0f5e51366cddd38b21e9 Mon Sep 17 00:00:00 2001 From: Cid Lopes Date: Wed, 2 Nov 2022 07:36:30 +0200 Subject: [PATCH 11/14] Rename Queue dimensions to Product Dimensions --- .../{Queue => Product}/DimensionModeConfiguration.php | 2 +- Model/Indexer/Dimensions/{Queue => Product}/ModeSwitcher.php | 2 +- .../Dimensions/{Queue => Product}/ModeSwitcherConfiguration.php | 2 +- Model/Indexer/ProductIndexer.php | 2 +- etc/di.xml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) rename Model/Indexer/Dimensions/{Queue => Product}/DimensionModeConfiguration.php (97%) rename Model/Indexer/Dimensions/{Queue => Product}/ModeSwitcher.php (98%) rename Model/Indexer/Dimensions/{Queue => Product}/ModeSwitcherConfiguration.php (98%) diff --git a/Model/Indexer/Dimensions/Queue/DimensionModeConfiguration.php b/Model/Indexer/Dimensions/Product/DimensionModeConfiguration.php similarity index 97% rename from Model/Indexer/Dimensions/Queue/DimensionModeConfiguration.php rename to Model/Indexer/Dimensions/Product/DimensionModeConfiguration.php index 1cdd55b4a..28fe424cc 100644 --- a/Model/Indexer/Dimensions/Queue/DimensionModeConfiguration.php +++ b/Model/Indexer/Dimensions/Product/DimensionModeConfiguration.php @@ -34,7 +34,7 @@ * */ -namespace Nosto\Tagging\Model\Indexer\Dimensions\Queue; +namespace Nosto\Tagging\Model\Indexer\Dimensions\Product; use Nosto\Tagging\Model\Indexer\Dimensions\AbstractDimensionModeConfiguration; diff --git a/Model/Indexer/Dimensions/Queue/ModeSwitcher.php b/Model/Indexer/Dimensions/Product/ModeSwitcher.php similarity index 98% rename from Model/Indexer/Dimensions/Queue/ModeSwitcher.php rename to Model/Indexer/Dimensions/Product/ModeSwitcher.php index 08b7d1b51..122b98954 100644 --- a/Model/Indexer/Dimensions/Queue/ModeSwitcher.php +++ b/Model/Indexer/Dimensions/Product/ModeSwitcher.php @@ -35,7 +35,7 @@ * */ -namespace Nosto\Tagging\Model\Indexer\Dimensions\Queue; +namespace Nosto\Tagging\Model\Indexer\Dimensions\Product; use Magento\Indexer\Model\DimensionMode; use Magento\Indexer\Model\DimensionModes; diff --git a/Model/Indexer/Dimensions/Queue/ModeSwitcherConfiguration.php b/Model/Indexer/Dimensions/Product/ModeSwitcherConfiguration.php similarity index 98% rename from Model/Indexer/Dimensions/Queue/ModeSwitcherConfiguration.php rename to Model/Indexer/Dimensions/Product/ModeSwitcherConfiguration.php index faf1d611d..8ed82a708 100644 --- a/Model/Indexer/Dimensions/Queue/ModeSwitcherConfiguration.php +++ b/Model/Indexer/Dimensions/Product/ModeSwitcherConfiguration.php @@ -34,7 +34,7 @@ * */ -namespace Nosto\Tagging\Model\Indexer\Dimensions\Queue; +namespace Nosto\Tagging\Model\Indexer\Dimensions\Product; use InvalidArgumentException; use Magento\Framework\App\Cache\TypeListInterface; diff --git a/Model/Indexer/ProductIndexer.php b/Model/Indexer/ProductIndexer.php index 073d95fcf..66a5fa9e4 100644 --- a/Model/Indexer/ProductIndexer.php +++ b/Model/Indexer/ProductIndexer.php @@ -43,7 +43,7 @@ use Nosto\NostoException; use Nosto\Tagging\Helper\Scope as NostoHelperScope; use Nosto\Tagging\Logger\Logger as NostoLogger; -use Nosto\Tagging\Model\Indexer\Dimensions\Queue\ModeSwitcher as QueueModeSwitcher; +use Nosto\Tagging\Model\Indexer\Dimensions\Product\ModeSwitcher as QueueModeSwitcher; use Nosto\Tagging\Model\Indexer\Dimensions\ModeSwitcherInterface; use Nosto\Tagging\Model\Indexer\Dimensions\StoreDimensionProvider; use Nosto\Tagging\Model\ResourceModel\Magento\Product\Collection as ProductCollection; diff --git a/etc/di.xml b/etc/di.xml index 21bf19594..636487890 100644 --- a/etc/di.xml +++ b/etc/di.xml @@ -176,7 +176,7 @@ - Nosto\Tagging\Model\Indexer\Dimensions\Queue\ModeSwitcher + Nosto\Tagging\Model\Indexer\Dimensions\Product\ModeSwitcher From 1035c45ce2cb0a27563a0f7980e7ab030425a81b Mon Sep 17 00:00:00 2001 From: Cid Lopes Date: Wed, 2 Nov 2022 07:41:05 +0200 Subject: [PATCH 12/14] Rename QueueModeSwitcher to ProductModeSwitcher --- Model/Indexer/ProductIndexer.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Model/Indexer/ProductIndexer.php b/Model/Indexer/ProductIndexer.php index 66a5fa9e4..d6aa25841 100644 --- a/Model/Indexer/ProductIndexer.php +++ b/Model/Indexer/ProductIndexer.php @@ -43,7 +43,7 @@ use Nosto\NostoException; use Nosto\Tagging\Helper\Scope as NostoHelperScope; use Nosto\Tagging\Logger\Logger as NostoLogger; -use Nosto\Tagging\Model\Indexer\Dimensions\Product\ModeSwitcher as QueueModeSwitcher; +use Nosto\Tagging\Model\Indexer\Dimensions\Product\ModeSwitcher as ProductModeSwitcher; use Nosto\Tagging\Model\Indexer\Dimensions\ModeSwitcherInterface; use Nosto\Tagging\Model\Indexer\Dimensions\StoreDimensionProvider; use Nosto\Tagging\Model\ResourceModel\Magento\Product\Collection as ProductCollection; @@ -67,8 +67,8 @@ class ProductIndexer extends AbstractIndexer /** @var CollectionBuilder */ private CollectionBuilder $productCollectionBuilder; - /** @var QueueModeSwitcher */ - private QueueModeSwitcher $modeSwitcher; + /** @var ProductModeSwitcher */ + private ProductModeSwitcher $modeSwitcher; /** * Invalidate constructor. @@ -76,7 +76,7 @@ class ProductIndexer extends AbstractIndexer * @param ProductUpdateService $productUpdateService * @param NostoLogger $logger * @param CollectionBuilder $productCollectionBuilder - * @param QueueModeSwitcher $modeSwitcher + * @param ProductModeSwitcher $modeSwitcher * @param StoreDimensionProvider $dimensionProvider * @param Emulation $storeEmulation * @param ProcessManager $processManager @@ -88,7 +88,7 @@ public function __construct( ProductUpdateService $productUpdateService, NostoLogger $logger, CollectionBuilder $productCollectionBuilder, - QueueModeSwitcher $modeSwitcher, + ProductModeSwitcher $modeSwitcher, StoreDimensionProvider $dimensionProvider, Emulation $storeEmulation, ProcessManager $processManager, From d4bff1f11f0ea1e08471abc76be1d57915acce5c Mon Sep 17 00:00:00 2001 From: Cid Lopes Date: Tue, 8 Nov 2022 10:27:51 +0200 Subject: [PATCH 13/14] Update version and changelog --- CHANGELOG.md | 2 ++ composer.json | 2 +- etc/module.xml | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 51aaeb207..6f7dd1f60 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning. +### 7.0.0-RC1 +* Remove queue processor indexer. Product indexer now only send product id's straight to message queue ### 6.1.6 * Fix iteration on API sync service diff --git a/composer.json b/composer.json index e54028a5b..aaee8548b 100644 --- a/composer.json +++ b/composer.json @@ -2,7 +2,7 @@ "name": "nosto/module-nostotagging", "description": "Increase your conversion rate and average order value by delivering your customers personalized product recommendations throughout their shopping journey.", "type": "magento2-module", - "version": "6.1.6", + "version": "7.0.0-rc1", "require-dev": { "phpmd/phpmd": "^2.5", "sebastian/phpcpd": "*", diff --git a/etc/module.xml b/etc/module.xml index 222886f54..ea362bfe2 100755 --- a/etc/module.xml +++ b/etc/module.xml @@ -37,5 +37,5 @@ - + From 4bdc49cbdb220beed8965d3321a9eccbcb43cc4b Mon Sep 17 00:00:00 2001 From: Dair Baidauletov Date: Tue, 8 Nov 2022 12:52:49 +0200 Subject: [PATCH 14/14] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f7dd1f60..d71e66b73 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning. ### 7.0.0-RC1 -* Remove queue processor indexer. Product indexer now only send product id's straight to message queue +* Remove queue processor indexer. Product indexer now only sends product ids straight to message queue ### 6.1.6 * Fix iteration on API sync service