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);
-}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 51aaeb207..d71e66b73 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 sends product ids straight to message queue
### 6.1.6
* Fix iteration on API sync service
diff --git a/Model/Indexer/Dimensions/Queue/DimensionModeConfiguration.php b/Model/Indexer/Dimensions/Product/DimensionModeConfiguration.php
similarity index 94%
rename from Model/Indexer/Dimensions/Queue/DimensionModeConfiguration.php
rename to Model/Indexer/Dimensions/Product/DimensionModeConfiguration.php
index be0a4c1a7..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;
@@ -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/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 91%
rename from Model/Indexer/Dimensions/Queue/ModeSwitcherConfiguration.php
rename to Model/Indexer/Dimensions/Product/ModeSwitcherConfiguration.php
index 9ae46c674..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;
@@ -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_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/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/QueueIndexer.php b/Model/Indexer/ProductIndexer.php
similarity index 80%
rename from Model/Indexer/QueueIndexer.php
rename to Model/Indexer/ProductIndexer.php
index 645e2fab5..d6aa25841 100644
--- a/Model/Indexer/QueueIndexer.php
+++ b/Model/Indexer/ProductIndexer.php
@@ -37,48 +37,46 @@
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;
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 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;
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;
/**
- * Class QueueIndexer
- * Fetches to be indexed products from CL tables and create queues entry
- * to subsequently be sent to the message queue
+ * Class ProductIndexer
+ * Fetches product ID's from CL tables and create entries in the message queue
*/
-class QueueIndexer extends AbstractIndexer
+class ProductIndexer extends AbstractIndexer
{
- public const INDEXER_ID = 'nosto_index_product_queue';
+ public const INDEXER_ID = 'nosto_index_product';
- /** @var QueueService */
- private QueueService $queueService;
+ /** @var ProductUpdateService */
+ private ProductUpdateService $productUpdateService;
/** @var CollectionBuilder */
private CollectionBuilder $productCollectionBuilder;
- /** @var QueueModeSwitcher */
- private QueueModeSwitcher $modeSwitcher;
+ /** @var ProductModeSwitcher */
+ private ProductModeSwitcher $modeSwitcher;
/**
* Invalidate constructor.
* @param NostoHelperScope $nostoHelperScope
- * @param QueueService $queueService
+ * @param ProductUpdateService $productUpdateService
* @param NostoLogger $logger
* @param CollectionBuilder $productCollectionBuilder
- * @param QueueModeSwitcher $modeSwitcher
+ * @param ProductModeSwitcher $modeSwitcher
* @param StoreDimensionProvider $dimensionProvider
* @param Emulation $storeEmulation
* @param ProcessManager $processManager
@@ -86,18 +84,18 @@ class QueueIndexer 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 $productUpdateService,
+ NostoLogger $logger,
+ CollectionBuilder $productCollectionBuilder,
+ ProductModeSwitcher $modeSwitcher,
+ StoreDimensionProvider $dimensionProvider,
+ Emulation $storeEmulation,
+ ProcessManager $processManager,
+ InputInterface $input,
IndexerStatusServiceInterface $indexerStatusService
) {
- $this->queueService = $queueService;
+ $this->productUpdateService = $productUpdateService;
$this->productCollectionBuilder = $productCollectionBuilder;
$this->modeSwitcher = $modeSwitcher;
parent::__construct(
@@ -127,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
);
@@ -139,7 +137,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)
{
@@ -161,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/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/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/Model/Service/Sync/AbstractBulkPublisher.php b/Model/Service/Sync/AbstractBulkPublisher.php
index 1ec5ac337..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
) {
@@ -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/QueueService.php b/Model/Service/Update/ProductUpdateService.php
similarity index 76%
rename from Model/Service/Update/QueueService.php
rename to Model/Service/Update/ProductUpdateService.php
index 6dcd6be0d..2e5a4d8ed 100644
--- a/Model/Service/Update/QueueService.php
+++ b/Model/Service/Update/ProductUpdateService.php
@@ -38,69 +38,67 @@
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;
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
+class ProductUpdateService 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
+ * ProductUpdateService constructor.
* @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
* @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);
@@ -110,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,
@@ -121,39 +119,25 @@ 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));
}
}
/**
- * Sets the product ids into the delete queue
+ * Sets the product ids into the delete message queue
*
* @param $productIds
* @param Store $store
- * @throws AlreadyExistsException
*/
- 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);
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 +145,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/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/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 4d9182305..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 as 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/Observer/Product/MassProductAttributeUpdate.php b/Observer/Product/MassProductAttributeUpdate.php
index 67820f117..48ba4f592 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 $productUpdateService;
/** @var CollectionBuilder */
private CollectionBuilder $productCollectionBuilder;
@@ -63,18 +63,18 @@ class MassProductAttributeUpdate implements ObserverInterface
/**
* MassProductAttributeUpdate constructor.
- * @param QueueService $queueService
+ * @param ProductUpdateService $productUpdateService
* @param CollectionBuilder $productCollectionBuilder
* @param NostoHelperAccount $nostoHelperAccount
* @param NostoLogger $logger
*/
public function __construct(
- QueueService $queueService,
- CollectionBuilder $productCollectionBuilder,
- NostoHelperAccount $nostoHelperAccount,
- NostoLogger $logger
+ 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->addCollectionToUpsertQueue(
+ $this->productUpdateService->addCollectionToUpdateMessageQueue(
$collection,
$store
);
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/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/composer.json b/composer.json
index 98b85c82f..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": "*",
@@ -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"
}
],
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 @@